Eni

  • Ce livre s'adresse à toute personne désireuse d'apprendre à programmer avec le langage Kotlin (en version 1.4 au moment de l'écriture). Que le lecteur soit débutant ou qu'il ait déjà de l'expérience avec un ou plusieurs langages de programmation, il trouvera dans ce livre, articulé en cinq grandes parties, toutes les connaissances nécessaires à la prise en main de Kotlin, largement illustrées par de nombreux exemples, pour une utilisation dans un contexte JVM (Java Virtual Machine).

    La première partie permet au lecteur de préparer son environnement de travail et d'appréhender les bases de la programmation en Kotlin grâce aux variables, conditions, boucles, tableaux et fonctions. La deuxième partie détaille toutes les possibilités du langage Kotlin autour du concept de programmation orientée objet permettant ainsi au lecteur d'étudier les notions de classes, d'héritage, d'interfaces, d'énumérations, de généricité...

    Une troisième partie donne la possibilité de progresser dans son apprentissage de la programmation avec Kotlin en se familiarisant avec des notions avancées contenues directement dans le langage (conversion de type, réification de type, fonctions de portée...), avant de poursuivre avec une partie dédiée aux collections.

    La dernière partie de ce livre implique le lecteur dans la manipulation de bibliothèques tierces utiles pour la gestion de la programmation asynchrone, de channels, de flows, de requêtes web ou encore de sérialisation JSON.

    L'auteur conclut avec un chapitre dans lequel il propose une mise en application des différentes notions étudiées avec le développement, étape par étape, d'un programme Kotlin destiné à la JVM.

  • Cet ouvrage s'adresse aux développeurs qui souhaitent apprendre à développer une application web avec le Framework JavaScript de Google : Angular. Le lecteur est placé dans un cadre méthodologique Agile Scrum lui permettant d'assimiler les mécanismes de développement dans un contexte professionnel.
    Rédigé en deux parties, l'auteur détaille dans la première partie du livre les concepts du langage JavaScript, basiques comme plus avancés, en les illustrant par des exemples. Le lecteur peut ainsi se familiariser avec l'installation de l'IDE, les types de données, les boucles et conditions, les fonctions ou encore la programmation orientée objet avec JavaScript. Un chapitre consacré à TypeScript permet au lecteur de faire le lien entre le langage JavaScript et le framework Angular.
    Dans la seconde partie, l'auteur étudie ensuite pas à pas et par la pratique les mécanismes d'Angular avec le développement d'une application « fil rouge » étoffée de chapitre en chapitre grâce aux nouveaux concepts acquis. Le lecteur peut ainsi mettre en oeuvre les composants et leur hiérarchie, les gabarits, les API, les formulaires, le routage, la programmation réactive, les tests unitaires et de bout en bout, l'authentification, l'exploitation d'une base de données avec FireBase et l'intégration continue avec Travis pour aboutir très rapidement à une application pleinement fonctionnelle. Plusieurs outils sont également étudiés pour être en mesure de qualifier et auditer son propre code et ainsi gagner en productivité.
    Des éléments complémentaires sont disponibles en téléchargement sur le site www.editions-eni.fr.

  • Ce livre s'adresse à toute personne qui souhaite apprendre la programmation orientée objet avec le langage Delphi (en version 10.3 Community Edition) pour développer une application fenêtrée ou un service en environnement Windows. Tout au long du livre, l'auteur agrémente son propos de schémas UML afin que le lecteur puisse constater avec quelle facilité il est possible de programmer pour Windows avec Delphi.

    Après une présentation de l'environnement de développement et un rappel sur les fonctions de base héritées du langage Pascal, le lecteur étudie l'architecture et les principes de la programmation orientée objet en Delphi, illustrés par des programmes d'exemple mettant en oeuvre les bibliothèques fournies par Delphi 10.3 Community Edition. La manipulation de la bibliothèque graphique Visual Component Library lui permet ainsi d'appréhender concrètement la création d'applications fenêtrées attrayantes, robustes et performantes.

    Dans la suite du livre, l'auteur familiarise le lecteur avec la création de librairies dll ou de composants Delphi que l'on peut inclure dans l'environnement de développement avant de détailler la notion de sérialisation de données aux formats XML et JSON ainsi que l'élaboration de services système. Des chapitres dédiés présentent le concept de parallélisation de tâches sous Windows ainsi que les différentes méthodes pour communiquer entre applications, sans oublier la connexion aux bases de données grâce au moteur d'accès aux données FireDAC.

    Pour finir, le lecteur a l'occasion de découvrir le framework FireMonkey associé au moteur de LiveBinding qui offre la portabilité du langage Delphi vers de nombreuses plateformes (Linux, Android ou iOS), ainsi que l'élaboration et la consommation de webservices REST.

    Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

  • Ce livre sur l'algorithmique s'adresse à toute personne désireuse de maîtriser les bases essentielles de la programmation. Pour apprendre à programmer, il faut d'abord comprendre ce qu'est vraiment un ordinateur, comment il fonctionne et surtout comment il peut faire fonctionner des programmes, comment il manipule et stocke les données et les instructions, quelle est sa logique. Alors, au fur et à mesure, le reste devient évidence : variables, tests, conditions, boucles, tableaux, fonctions, fichiers, jusqu'aux notions avancées comme les pointeurs et les objets.

    Dans ce livre, le langage algorithmique (ou la syntaxe du pseudo-code des algorithmes) reprend celui couramment utilisé dans les écoles d'informatique et dans les formations comme les BTS, DUT, classes préparatoires, premières années d'ingénierie à qui ce livre est en partie destiné et conseillé.

    Une fois les notions de base acquises, le lecteur trouvera dans ce livre de quoi évoluer vers des notions plus avancées : deux chapitres, l'un sur les pointeurs et les références, l'autre sur les arbres et les objets, ouvrent les portes de la programmation dans des langages évolués et puissants comme le C, le C++, Java et PHP. De nombreux exercices ponctuent chaque chapitre.

    La plupart des algorithmes de ce livre sont traduits en PHP et les sources, directement utilisables, sont disponibles en téléchargement sur le site www.editions-eni.fr.

  • Ce livre sur les fondamentaux du langage SQL s'adresse aux développeurs et informaticiens débutants appelés à travailler avec un Système de Gestion de Bases de Données Relationnelles (SGBDR) pour stocker et manipuler des données. Son objectif est de décrire les ordres principaux les plus utilisés du langage SQL (indépendamment des déclinaisons réalisées par les éditeurs de SGBDR) pour permettre au lecteur de prendre en main rapidement une base de données relationnelle et être capable de créer des tables, de les interroger, de les modifier, d'insérer et de supprimer des lignes.

    Le livre débute par un bref historique sur la création de la norme SQL puis présente quelques notions sur le modèle relationnel. Ensuite, chaque chapitre présente une subdivision de SQL : la création et la manipulation des tables puis la gestion des données dans ces tables en incluant les dernières évolutions comme les fonctions de fenêtrage. L'auteur enchaîne avec la sécurité des données et quelques notions de transactions, puis présente la programmation avec quelques éléments de PL/SQL et l'étude des déclencheurs. Le livre se termine en abordant des thèmes un peu plus complexes comme les chargements en masse, les imports et exports de tables, les notions de performances ou encore les objets système.

    Les exemples utilisés dans ce livre ont été réalisés avec la version Oracle 19c DB Developer VM, SQL Server 2019 SP1 Developer Edition, MySQL version 8, PostgreSQL en version 12.2 et sont en téléchargement sur le site www.editions-eni.fr.

  • Cette troisième édition du livre s'adresse aux étudiants et aux développeurs ayant déjà une première expérience de la programmation structurée et qui sont désireux de passer à la Programmation Orientée Objet (POO) avec le langage Java, pour développer des applications portables.

    Après un historique de la POO et du langage Java l'auteur explique pourquoi ce type de programmation est devenu incontournable pour développer dans les environnements graphiques événementiels. Les notions d'objet, de classe et de référence sont présentées puis les fondements de la POO que sont l'encapsulation, l'héritage, le polymorphisme et l'abstraction. Les différentes étapes d'un développement objet avec les principes de modélisation UML sont exposées.

    L'auteur présente ensuite la machine virtuelle Java, son intérêt, sa richesse et un environnement de développement avec IntelliJ IDEA de la société JetBrains. Le lecteur découvre comment Java reproduit les principes de la POO en suivant des explications simples, des exemples concrets et en réalisant des exercices d'entraînement. Il découvre également les types de base du développement Java et leur utilisation, comment exploiter un IDE pour simplifier la saisie des programmes et les mettre au point. Les programmes d'essais sont de type console ou graphique, basés sur l'utilisation de Swing pour illustrer les communications entre objets. Quand ils sont pertinents, des parallèles sont menés avec les langages de programmation objet C++ et C#. La programmation multithread permettant l'exécution simultanée de plusieurs flux d'instructions est présentée, suivie d'une introduction aux tests unitaires tellement importants pour fiabiliser les objets. Une partie consacrée à la réflexion en Java promet quelques surprises. Enfin, le dernier chapitre est consacré aux classes anonymes et aux expressions lambda.

    à la fin de ce livre, le lecteur disposera de bases solides pour appréhender les puissantes API Java et réaliser des programmes objet modulaires, fiables et extensibles.

    Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

  • Ce livre sur GNU/Linux s'adresse à tout informaticien désireux de maîtriser les principes de base de ce système d'exploitation ou d'organiser et consolider des connaissances acquises sur le terrain.

    Il présente de façon détaillée les principes de base du système et décrit très précisément les commandes essentielles à la manipulation de la ligne de commande shell, en les illustrant de nombreux exemples : l'arborescence Linux, la manipulation des fichiers, l'éditeur de fichiers texte, les droits d'accès, la gestion des processus, le shell Bash, les scripts Bash, la gestion des comptes utilisateurs, les outils Linux...

    Les notions présentées dans ce livre, si elles sont essentielles pour comprendre le fonctionnement du système GNU/Linux au niveau utilisateur, sont tout aussi indispensables au lecteur qui désire poursuivre en administration système. Ce livre peut être utilisé comme ouvrage de référence donnant ainsi au lecteur les moyens d'acquérir son autonomie, aussi bien en environnement graphique qu'en ligne de commande.

    Avec cette nouvelle édition, vous découvrirez les nouveautés et particularités accompagnant les dernières distributions Linux disponibles.

  • Ce livre sur l'administration du système Linux s'adresse à tout informaticien appelé à gérer ce système d'exploitation et désireux d'apprendre ou de consolider des bases acquises sur le terrain.
    Quelle que soit la distribution Linux utilisée (que ce soit en entreprise ou à la maison), toutes les méthodes et commandes d'administration de Linux sont présentées et détaillées. Cette nouvelle édition du livre tient compte des dernières évolutions de Linux.
    Le livre fait le tour des connaissances nécessaires à l'installation d'une distribution : la gestion des paquetages logiciels, la compilation depuis les sources, les bibliothèques partagées, les principales commandes GNU et les scripts shell, la gestion des disques, systèmes de fichiers et quotas, la mise en place de volumes RAID et LVM, le démarrage et l'arrêt du système et des services avec systemd, l'impression et les tâches d'administration communes dont la gestion des utilisateurs et l'automatisation des tâches, la configuration du réseau et des services de base associés, le noyau et sa compilation, les bases de la sécurité et des firewalls, la configuration de l'environnement graphique.
    Tous les points traités sont agrémentés d'exemples et leur maîtrise fera de vous un administrateur système Linux compétent.

  • Ce livre s'adresse à de grands débutants en développement informatique, qui n'ont jamais programmé avec HTML5, CSS3 et JavaScript. L'auteur guide le lecteur en lui enseignant des méthodes efficaces et actuelles pour créer son premier site web, en partant vraiment de zéro et en allant jusqu'à un niveau suffisant pour qu'il soit ensuite autonome.

    Dès le début du livre l'auteur présente un tour d'horizon du développement sur le Web ; les langages côté client et serveur, les formats d'images, les navigateurs... afin que le lecteur comprenne les mécanismes par lesquels le contenu d'une page s'affiche sur un écran. Le chapitre suivant enseigne les règles générales à observer pour développer de manière efficace : lisibilité du code, organisation des dossiers, utilisation des éditeurs de code, référencement...

    Ensuite, l'auteur entre dans le vif du sujet et présente tout d'abord le langage HTML5 qui permet de structurer une page, de disposer les éléments visuels très précisément. Le second langage présenté est le CSS3, qui permet quant à lui d'ajouter des styles, des effets visuels rendant inutile l'utilisation d'images et permettant d'adapter l'affichage aussi bien sur un téléphone que sur un ordinateur. Pour avoir une bonne connaissance des langages utilisés côté client, le troisième présenté dans ce livre est le JavaScript. C'est ce langage qui va permettre d'ajouter de l'interactivité sur les pages, de faire des comparaisons, de répéter des actions, d'utiliser une base de données côté client...

  • Ce livre sur l'apprentissage de la Programmation Orientée Objet avec le langage Python s'adresse à toute personne désirant maîtriser ce type de programmation. Des connaissances de base en développement et sur la syntaxe du langage Python sont des prérequis indispensables pour tirer le meilleur profit du livre.

    Dans une première partie l'auteur présente en détail les concepts de la POO : sa puissance d'expression qui lui a conféré son succès, les classes avec leurs attributs et méthodes, l'héritage qui ouvre la voie au polymorphisme, l'encapsulation qui permet un contrôle précis sur l'exposition des données... Avec des exemples simples et détaillés, la théorie de ce paradigme de programmation devient clairement accessible.

    Ensuite, après quelques conseils pour installer un environnement de travail performant (utilitaire de gestion de modules externes, documentation du langage, outils de tests...), l'auteur propose la mise en application des chapitres précédents avec du code Python. Chaque concept de POO est explicité en profondeur et illustré par du code pertinent. Là encore, des exemples complets et commentés permettent d'appréhender parfaitement la puissance qu'offre le langage.

    Au-delà du périmètre de la POO, les chapitres suivants traitent de sujets que n'importe quel développeur rencontrera au cours de sa carrière, et qui lui serviront au quotidien : la présentation de quelques design patterns pour une mise en pratique concrète des notions vues précédemment, et des exemples d'utilisation de bibliothèques Python spécialisées dans différents domaines de l'informatique (XML, interface graphique, multithreading...).

    Et enfin, parce que la programmation ne consiste pas uniquement à écrire du code, l'auteur partage sa vision du métier de développeur, avec des conseils pour s'améliorer continuellement, travailler en bonne harmonie avec une équipe, ou encore savoir utiliser les bons outils dans les bonnes situations.

    À la fin de chaque chapitre, l'auteur propose des exercices avec leurs corrigés pour permettre au lecteur de consolider ses acquis. Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

  • Ce livre s'adresse aux administrateurs système, débutants comme plus expérimentés, qui souhaitent, à partir d'un serveur sur lequel seul le système d'exploitation est installé, configurer un serveur internet d'entreprise fonctionnel, prêt à être mis en production.

    Pour bien appréhender la lecture, un minimum de connaissances sur Unix/Linux, sur le fonctionnement de l'interface en ligne de commande et sur la configuration à l'aide des fichiers texte est conseillée. La connaissance de commandes de base telles que cd, ls, cat, less, tar et gzip est également un plus.

    Après un chapitre sur les bases d'un système Unix/Linux, l'auteur amène rapidement le lecteur au coeur de l'administration système avec la mise en oeuvre de la configuration d'un serveur, illustrée avec plusieurs systèmes d'exploitation tels que FreeBSD, Debian et CentOS.

    A l'aide d'exemples de configuration et de commandes, l'auteur explique étape par étape l'installation et la configuration d'un pare-feu, d'un serveur DNS, d'un serveur web (Apache ou Nginx) et d'un serveur mail.

    Il détaille également le chiffrement par SSL/TLS des connexions (web et courriels) ainsi que la gestion dans un annuaire LDAP des utilisateurs n'ayant pas besoin de l'accès shell. Ce livre propose également des pistes pour l'analyse de problèmes éventuels, pour la maintenance quotidienne et les sauvegardes ainsi que pour donner la possibilité à l'administrateur système de faire évoluer le serveur.

    Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

  • Ce livre sur les réseaux s'adresse aussi bien aux personnes désireuses de comprendre les réseaux informatiques et les systèmes d'exploitation, qu'aux informaticiens plus expérimentés souhaitant renforcer et mettre à jour leurs connaissances.
    Le lecteur identifie les contextes d'accès aux réseaux d'aujourd'hui grâce notamment à des illustrations détaillant clairement les composants et technologies mis en jeu. De nombreux exemples reposant sur une approche client/serveur lui permettent de passer en revue les systèmes d'exploitation les plus courants, ainsi que les matériels associés. La tolérance de panne et le stockage sont également détaillés avec les différentes typologies de disque ainsi que les notions telles que NAS, SAN, zoning, Fibre Channel, FCoE ou encore iSCSI. Les protocoles de réplication entre baies sont également décrits ainsi que le fonctionnement de la déduplication pour les sauvegardes et le principe des WAAS. Une synthèse sur la virtualisation est proposée permettant au lecteur de bien comprendre les enjeux, les avantages et inconvénients apportés par les différentes solutions du marché.
    Avec une approche pragmatique, l'auteur permet ensuite au lecteur de mieux comprendre le modèle OSI en couches réseau de référence. Puis, de manière exhaustive, les principes de base sont présentés (normes, architectures courantes, câblages, codage des données, topologie, réseaux sans fil, interconnexions de réseaux...) puis les différents protocoles qui comptent dans les réseaux informatiques (PXE, WOL, Ethernet, Wi-Fi, Bluetooth, ADSL, WiMax, téléphonie 2G à 5G...) sont déclinés d'un point de vue opérationnel sans noyer le lecteur dans un discours trop théorique. Un panorama des objets connectés IoT est également proposé.
    Les couches basses sont décrites de façon détaillée en proposant de nombreuses illustrations sur la connectique et les matériels utilisés (codage, signaux, connectique coaxiale, cuivre, fibre). La configuration réseau est examinée pour Windows, Linux, MacOS, iOS et Android. Les méthodes d'accès au support CSMA/CA, CSMA/CD ainsi que le jeton passant sont expliqués. D'un point de vue réseau, les équipements agissant au niveau des différentes couches OSI sont examinés : répéteur, pont, routeur, passerelle. L'algorithme du Spanning Tree ainsi que le fonctionnement des VLANs sont expliqués au travers d'exemples détaillés. Le fonctionnement de VSS et les protocoles liés au routage (RIP, OSPF, BGP, HSRP) sont passés en revue. Des exemples de configuration sont proposés au travers de Packet Tracer et les technologies FDDI, ATM, SONET et autres relais de trames sont également étudiés.
    Les protocoles TCP/IP sont présentés en détail, en particulier la décomposition en sous-réseaux en IPv4, ainsi qu'une approche complète de l'adressage IPv6 (dont la voix sur IP). Les services réseau tels que DHCP, DNS, NTP ou SNMP sont également décrits. Un chapitre traite des principes de base de la sécurité face aux menaces qui pèsent sur un réseau en proposant de nombreux liens vers des sites gratuits d'investigation.
    En annexe est fournie une liste des acronymes les plus significatifs dans le monde des réseaux informatiques.

  • Ce livre sur les fondamentaux du langage Python 3 (en version 3.8 beta au moment de l'écriture) s'adresse à tout professionnel de l'informatique, ingénieur, étudiant (et particulièrement en BTS Services Informatiques Organisations), enseignant ou même autodidacte, qui souhaite maîtriser ce langage très abouti. Il couvre un périmètre relativement large, détaille tout le coeur du langage et du traitement de données et ouvre des perspectives importantes sur tout ce que Python 3 permet de faire (de la création d'un site web au développement de jeux en passant par la conception d'une interface graphique avec Gtk). Le livre est consacré à la branche 3 de Python, et présente bien sûr les nouveautés apportées par la version 3.8. Toutefois, comme le langage Python 2 est encore très présent, lorsqu'elles existent, l'auteur présente les différences importantes avec la branche antérieure de Python.
    La première partie du livre détaille les atouts de Python 3 pour répondre aux besoins des entreprises quel que soit le domaine informatique concerné.
    La seconde partie est un guide à destination des débutants, que ce soit en Python ou en développement en général, elle permet d'aborder en douceur les concepts clés autour de projets servant de fil rouge et propose la réalisation de quelques exercices.
    La troisième partie porte sur les fondamentaux du langage : les notions sont présentées progressivement avec des exemples de code qui illustrent chaque propos. L'auteur a souhaité que le lecteur atteigne une autonomie réelle dans son apprentissage, avec pour chaque notion présentée deux objectifs distincts : permettre à celui qui ne connaît pas la notion de se l'approprier correctement, notamment en respectant son rôle, et permettre à celui qui la connaît de trouver des angles d'attaques originaux pour aller le plus loin possible dans son exploitation.
    La quatrième partie permet d'avoir un aperçu de l'utilisation des fonctionnalités de Python 3 pour la manipulation de fichiers ou de bases de données.
    Enfin, la dernière partie de l'ouvrage est un vaste tutoriel qui permet de mettre en pratique, dans un cadre professionnel, tout ce qui a été vu précédemment en créant une application qui couvre tous les domaines courants du développement (données, Web avec Pyramid, interface graphique avec Gtk, script système...) et ainsi de présenter des solutions efficaces de développement utilisant Python 3.
    Le code source des parties 2, 4 et 5 est intégralement téléchargeable sur le site www.editions-eni.fr pour permettre au lecteur de tester le programme et de le modifier à sa guise de manière à faire ses propres expériences.

  • Ce livre sur les réseaux s'adresse particulièrement aux étudiants engagés dans un BTS du domaine Informatique, dans un cursus universitaire, en école d'ingénieurs, et à tous les stagiaires de la formation professionnelle dans les titres liés à l'informatique (assistance, réseaux et télécommunication...). Il sera également très utile aux professionnels du secteur, déjà en poste, qui ont besoin d'actualiser leurs connaissances.

    Les premiers chapitres permettent au lecteur d'acquérir les connaissances fondamentales pour comprendre les bases des réseaux et la configuration initiale des routeurs et des commutateurs. Ces connaissances transverses sont utiles autant dans la suite de l'ouvrage que de façon globale dans le métier d'administrateur réseau. Une présentation des différents réseaux, des principales tendances technologiques et des principales commandes vient compléter l'introduction de l'ouvrage.

    L'auteur détaille les réseaux en utilisant le découpage classique du modèle en couches OSI, depuis les couches basses vers les couches hautes. Le chapitre sur la couche physique présente les principaux médias physiques utilisés aujourd'hui. Celui sur la couche liaison offre une première approche à Ethernet qui domine actuellement le monde des technologies de communication dans les réseaux locaux. La partie sur la couche réseau s'axe principalement sur le protocole IPv4 (afin d'assurer une immersion progressive du lecteur) : celui-ci comprendra les enjeux de cette couche, se formera aux techniques d'adressage et maîtrisera les informations contenues dans les en-têtes. Les routeurs Cisco y sont également présentés. Un chapitre est dédié à IPv6 afin de présenter le besoin qui se cache derrière le nouvel adressage, d'expliquer le fonctionnement de ce protocole et d'évoquer les différentes techniques de cohabitation avec IPv4. Le chapitre sur la couche transport est dédié aux deux protocoles majeurs que sont TCP et UDP et en explique les fonctions majeures. Le chapitre sur la couche application fournit les fondements indispensables de quelques protocoles clés de l'Internet dont DNS, Telnet, SMTP, POP3 et HTTP.

  • Ce livre sur Oracle 19c s'adresse à tout informaticien désireux de maîtriser les tâches d'administration des bases de données Oracle. Après une présentation générale de l'architecture interne d'un serveur Oracle (mémoire, processus), ce livre détaille les différentes tâches d'administration d'une base de données : installation (sous Windows et sous Linux), configuration Oracle Net, création d'une nouvelle base de données, gestion de la mémoire, gestion du stockage, gestion des utilisateurs et des droits, sauvegardes et restaurations avec RMAN (Recovery Manager).

    Un chapitre spécial est consacré à la gestion de l'architecture Multitenant apparue en version 12c, et qui deviendra la norme à partir de la version 20c. Dans ce chapitre, vous apprendrez à gérer les bases de données enfichables (Pluggable Database - PDB) et découvrirez les similitudes et les différences qui peuvent exister entre l'administration d'une base de données traditionnelle et l'administration d'une base de données de conteneurs.

    L'ouvrage contient de nombreux conseils pratiques et recommandations et présente les solutions qui peuvent être apportées aux problèmes les plus courants.

  • Ce livre s'adresse aux développeurs qui souhaitent concevoir des WebApps, ces applications web légères, intégrant des fonctionnalités proches de celles des applications natives, qui fonctionnent directement via un navigateur internet sans qu'il soit nécessaire de les installer sur un ordinateur ou un téléphone. L'objectif de ce livre est de proposer une approche complète pour maîtriser, aussi bien côté client que côté serveur, la création d'une WebApp responsive à l'aide des langages JavaScript/jQuery, HTML/CSS et PHP et de bases de données MySQL/MariaDB.
    Au fil des chapitres, le lecteur découvre ainsi les grandes étapes du développement, illustrées par de nombreux exemples :
    - Les principes d'une WebApp à travers l'utilisation du protocole HTTP, la communication Ajax et la structure du document HTML ;
    - L'utilisation des styles pour la mise en forme du texte ou la création de titres dynamiques et d'animations ;
    - La mise en page d'une page au moyen des grilles et le positionnement des blocs ;
    - L'utilisation de JavaScript pour gérer des tableaux, des objets ou des dates ;
    - L'utilisation de jQuery pour gérer les sélecteurs, les évènements et manipuler le DOM ;
    - La mise en place de formulaires mettant en oeuvre l'envoi de fichier Ajax, la validation des données avec des expressions régulières ou encore l'accès en lecture et écriture à la base de données ;
    - L'utilisation de services web ;
    - Le stockage de données locales et l'utilisation de bases de données locales ;
    - L'affichage adaptatif pour les différents types de supports.
    Pour finir, l'auteur propose au lecteur un chapitre qui présente par la pratique l'installation d'une WebApp sur terminal mobile.

  • L'intelligence artificielle est aujourd'hui incontournable. Cependant, les approches pédagogiques réalisées par les ouvrages et sites internet dédiés à l'intelligence artificielle restent souvent complexes. Ce livre a pour objectif de présenter de façon simple et concrète la création de projets basés sur de l'intelligence artificielle en mettant de côté les formules mathématiques et statistiques décourageantes pour la plupart des novices. Il permet ainsi de rendre compréhensibles et applicables les concepts du Machine Learning et du Deep Learning à toute personne âgée de 15 à 99 ans !
    La démarche proposée par cet ouvrage se veut progressive et l'auteur entremêle théorie et cas pratiques.
    Après une introduction à l'intelligence artificielle et aux craintes qu'elle suscite, deux chapitres proposent un bref rappel sur les fondamentaux du langage Python, sur des notions statistiques ainsi qu'une présentation des algorithmes du Machine Learning et de leur champ d'application. Le lecteur peut ensuite, grâce aux trois chapitres qui suivent, découvrir comment donner la faculté à sa machine de prédire des valeurs et de réaliser des classifications. Vient ensuite la découverte de l'apprentissage non supervisé puis de la classification de texte. Enfin, à travers trois chapitres successifs traitant des réseaux de neurones, le lecteur découvre comment les neurosciences ont eu un impact sur l'intelligence artificielle. L'ouvrage se termine par la réalisation de cas pratiques : un premier mêlant réseau de neurones et parole et un second relatif au premier chatBot.

  • Ce livre sur Ubuntu présente de façon progressive tous les atouts de cette distribution de référence pour apprendre à utiliser Linux. L'administrateur système trouvera les réponses aux questions qu'il se pose, vis à vis des autres distributions Linux et à propos de la mise en place des outils spécifiques Ubuntu. Le lecteur simplement désireux de s'informer trouvera, quant à lui, les bases nécessaires pour une mise en pratique facile et complète de la distribution.
    La lecture peut être progressive : chapitre après chapitre dans l'optique de la découverte du système, ou en ciblant les chapitres liés à des concepts, à une pratique ou à un thème. Les thèmes traités permettent à cet ouvrage de se placer comme référence pour l'apprentissage et l'enseignement du système Linux. Ils sont illustrés par de nombreux exemples et des exercices de synthèse.
    Après un historique de cette distribution Linux, le lecteur découvre les particularités des nombreuses déclinaisons d'Ubuntu, les prérequis et le processus d'installation, ainsi qu'une prise en main rapide de cette distribution. Trois chapitres sont consacrés à l'utilisation de la ligne de commande, véritable outil de travail de l'administrateur, à la configuration et à la mise à jour du système par l'intermédiaire des paquets. Un chapitre permet de bien comprendre le fonctionnement du système graphique et des environnements de travail. Le lecteur apprend ensuite à maîtriser la gestion des utilisateurs, les tâches courantes d'administration, la gestion des ressources ainsi que le contrôle du stockage. Un chapitre est consacré à la sécurité du système et du réseau. Le dernier chapitre propose des pistes pour résoudre les problèmes les plus fréquents.
    Cette nouvelle édition du livre est basée sur la version 20.04 Focal Fossa (Long Time Support).

  • Ce livre s'adresse à toute personne désireuse d'apprendre à administrer une base de données transactionnelle SQL Server 2019 ; administrateur de base de données mais aussi développeur.

    Il présente les différents éléments nécessaires à cette administration ainsi que l'ensemble des manipulations à réaliser par l'administrateur, depuis l'installation jusqu'aux opérations de sauvegarde et de restauration, en passant par la gestion de l'espace disque, la gestion des utilisateurs, la gestion de la réplication.

    Les différents outils permettant l'optimisation du serveur sont présentés, tels que l'analyseur de performances, SQL Profiler et l'assistant de paramétrage de base de données.

    Les différentes opérations sont réalisées depuis SQL Server Management Studio et en Transact SQL.

    Des exercices avec leurs corrigés sont proposés au lecteur pour une mise en pratique immédiate des concepts présentés. Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

  • Ce livre présente la version BI 4.3 de SAP BusinessObjects Web Intelligence (WebI) qui s'inscrit dans la continuité des versions précédentes. Il s'adresse à tout utilisateur (du simple collaborateur au décideur) appelé à travailler avec cette application pour interroger et croiser des données d'entreprise au sein de rapports statiques et dynamiques fiables et pertinents. Il vous permettra de découvrir également le caractère innovant et la simplicité d'utilisation de cet outil.

    Vous apprendrez ainsi à maîtriser les différentes fonctionnalités de WebI BI 4.3 tout en construisant des documents de qualité : création de requêtes (sur la base de nouveaux fournisseurs de données), mise en forme de rapports (tableaux croisés, diagrammes, sections, ruptures, palmarès et mises en forme conditionnelles, etc.) analyse des données (filtres dynamiques, contrôles d'entrées, exploration ascendante et descendante, fonctions et variables, etc.). Pour vous aider dans votre apprentissage, vous suivrez de nombreux exemples adaptés à des problématiques couramment rencontrées ou vous permettant d'utiliser pleinement les nouvelles fonctionnalités de cette version telles que les contrôles d'entrées en cascade ou les graphiques de type cartographique.

    Vous découvrirez également des techniques permettant de répondre à des besoins plus complexes d'analyse ou de mise en forme : rapports interactifs avec notion d'invite, requêtes avancées et SQL à la carte, utilisation de fichiers personnels de données, liaison entre sources de données, insertion de calculs dans un document. Les nouveautés fonctionnelles et la nouvelle IHM de cette version majeure de WebI seront particulièrement mises en relief.

    Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

  • Ce livre sur SQL Server 2019 s'adresse aussi bien aux étudiants en informatique désirant apprendre le SQL avec SQL Server qu'aux informaticiens qui souhaitent actualiser leurs compétences sur SQL Server 2019 pour comprendre et maîtriser les fonctionnalités qui permettent de concevoir et réaliser une base de données.

    Le livre permet de détailler l'ensemble des instructions nécessaires à la définition des tables et au paramétrage de la base de données ainsi qu'à la manipulation des données : les différentes instructions SQL et Transact SQL (procédures, fonctions, déclencheurs) sont présentées et illustrées afin de bien comprendre l'intérêt des différentes fonctionnalités exposées. Pour ces différents points, les auteurs proposent de nombreux exercices (et leur correction) afin que le lecteur puisse s'exercer et bien appréhender ces concepts.

    La gestion des données non structurées (FILESTREAM) ou les structures hiérarchiques et les données géographiques, sont développées. Les principales fonctionnalités qui permettent d'obtenir une gestion des données plus efficace sont également détaillées, comme le XML ou l'intégration du code CLR (Common Langage Runtime). La bibliothèque de programmation SMO et sa manipulation en PowerShell sont également présentées.

    La base de données qui est construite au fur et à mesure de la lecture du livre ainsi que tous les codes SQL des corrections des exercices sont en téléchargement sur le site www.editions-eni.fr.

  • Vous rêvez de découvrir la programmation tout en réalisant des projets ludiques, vous souhaitez connaître les astuces du langage Python devenu incontournable cette décennie, alors ce livre, rédigé par un expert, vous permettra d'atteindre ces objectifs.
    Tout d'abord, vous êtes guidé pour choisir et mettre en place votre environnement Python sur PC et sur Mac. Après cela, l'auteur vous propose de vous enseigner de façon ludique et pédagogique ce langage accessible à tous et très puissant grâce à une centaine d'exercices corrigés de difficulté progressive. Ainsi, trois chapitres permettent d'assimiler les bases de la programmation : variables, types, conditions, boucles, liste et fonctions et d'anticiper les pièges à éviter.
    Puis l'auteur vous propose de tester la facilité d'approche de Python et la créativité offerte par ses librairies en dépassant vos limites grâce à quarante projets guidés. Leur niveau de difficulté indiqué par des ? vous permet de faire évoluer rapidement vos compétences. Un chapitre dédié à la spécialité Numérique et Sciences Informatiques des classes de lycée propose des cours complets et des projets en adéquation avec le programme officiel 2019 du Ministère de l'Education Nationale.
    Dans les deux derniers chapitres, vous pourrez aller plus loin dans la mise en pratique de vos apprentissages avec la création de plusieurs jeux d'arcade avec Pygame et dans la découverte d'algorithmes d'Intelligence Artificielle orientés images et jeu de stratégie. Les codes sources complets des projets sont téléchargeables sur le site www.editions-eni.fr.

  • Ce livre s'adresse aussi bien au lecteur qui souhaite disposer des connaissances nécessaires pour apprendre à développer des applications web avec PHP et le framework Symfony (en version 5 au moment de l'écriture), qu'à celui disposant déjà de connaissances en PHP et qui souhaiterait approfondir sa connaissance du framework. Partant des bases jusqu'à mener le lecteur progressivement vers des notions plus avancées, la lecture de ce livre ne nécessite aucune connaissance préalable dans le domaine du développement.

    Après une introduction sur la manière dont fonctionne un site web et sur les outils nécessaires pour le développer, l'auteur présente les notions de base essentielles du langage PHP : variables, fonctions, types, opérateurs de comparaison... Il approfondit ensuite son propos avec la notion de langage objet et la découverte de l'outil Composer.

    Une fois les concepts fondamentaux de PHP présentés, le lecteur est ensuite invité à découvrir Symfony en commençant par la construction d'un site basique. Puis, petit à petit, il se familiarise avec des notions plus complexes telles que le routage, le moteur de templates Twig, l'utilisation de Webpack Encore, l'installation de dépendances avec Symfony Flex, la gestion de bases de données avec Doctrine, les formulaires, la sécurité (y compris d'une API), les services ou encore l'utilisation de la classe SwiftMailer, pour finir avec l'étude du déploiement d'une application.

    À chaque étape, des exemples illustrent les concepts transmis, que le lecteur peut reproduire à l'aide du code source proposé en téléchargement sur le site www.editions-eni.fr, et une référence à la documentation Symfony est donnée pour aller encore plus loin dans l'exploration du framework.

  • Ce livre sur le langage HTML5 (en version 5.2 au moment de l'écriture) et les feuilles de styles CSS3, langages fondateurs dans la création de sites web, s'adresse aux développeurs qui souhaitent disposer des connaissances nécessaires pour créer et faire évoluer des sites web dans le respect des bonnes pratiques.

    Le livre est rédigé de façon à permettre un apprentissage progressif des éléments HTML et des propriétés CSS les plus couramment utilisés. Il n'a pas pour objectif de présenter l'ensemble des syntaxes mais uniquement celles couramment exploitées dans la création de sites web modernes. Les exemples de code présentés par l'auteur sont illustrés par des captures d'écran afin que le lecteur puisse se faire une idée de l'affichage obtenu.

    Dans la première partie du livre, l'auteur donne les informations nécessaires pour bien appréhender la conception de site web. Il présente les spécifications techniques du HTML et des CSS (les fameuses recommandations proposées par le W3C), le rôle essentiel des navigateurs et leur compatibilité avec les éléments HTML et les propriétés CSS, ainsi que les bonnes pratiques de conception de sites web pour obtenir des contenus sémantiques bien conçus.

    Dans la deuxième partie, le lecteur apprend à concevoir la structure des pages web avec des éléments HTML sémantiques dédiés. Il étudie ensuite les éléments qui permettent d'insérer du texte, des liens, des tableaux, des images, des formulaires, sans oublier des contenus multimédias. Un chapitre est consacré aux Microdata permettant d'obtenir un site sémantique et d'optimiser son référencement.

    La troisième partie permet au lecteur d'exploiter les CSS afin de mettre en forme et de mettre en page un site web. Il y apprend la syntaxe des CSS et des sélecteurs puis étudie les notions d'héritage et de cascade. Ensuite, il découvre comment mettre en forme chaque composant d'une page web : le texte, les images, les formulaires ainsi que les boîtes conteneurs. Les nouvelles techniques de mise en page avec les modules Flexbox et Grid sont détaillées dans un chapitre dédié et la conception des sites Responsive est également abordée. L'auteur termine avec l'étude des modules CSS dédiés aux animations pour dynamiser des pages web.

empty