Eni
-
Apprendre la programmation orientée objet avec le langage Java : (avec exercices pratiques et corrigés)
Luc Gervais
- Eni
- Ressources Informatiques
- 11 Décembre 2024
- 9782409047428
Cette quatrième édition de ce 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. -
Apprendre à développer avec JavaScript : Des bases à l'utilisation de frameworks
Christian Vigouroux
- Eni
- Ressources Informatiques
- 8 Octobre 2024
- 9782409046506
Ce livre sur l'apprentissage du langage JavaScript s'adresse à des lecteurs qui souhaitent maîtriser cette brique incontournable et omniprésente dans le développement de sites web (intranet, extranet, internet) et dans celui d'applications hybrides pour smartphones et tablettes. La maîtrise du langage JavaScript est un atout essentiel pour acquérir une expertise dans le domaine des technologies du Web 2.0.
En prenant le parti que le lecteur n'a que des connaissances minimales en programmation, l'auteur débute par des rappels ou des apports en algorithmique puis explique les bases du langage JavaScript en détail. Les différents concepts, principes ou fonctionnalités sont mis en oeuvre au travers d'exemples concrets facilement réutilisables.
Dans la mesure où le langage JavaScript interagit avec d'autres technologies web (ou langages) comme l'incontournable HTML, les feuilles de styles CSS, les langages de script orientés serveurs comme PHP, ce livre vous permettra aussi de faire vos premiers pas sur ces différentes technologies.
Des chapitres proposent de découvrir les principaux frameworks JavaScript tels que Svelte et React qui facilitent le développement d'applications web. Le framework React Native (déclinaison de React) permettant de développer aisément des applications pour mobiles en approche hybride, déployables sur plateformes Android et iOS (iPhone et iPad) est aussi présenté.
Dans cette cinquième édition, une partie sur Vue3.js vient compléter la liste des frameworks JavaScript orientés web. Un chapitre est dédié à des librairies logicielles JavaScript disponibles dans le domaine de l'Intelligence artificielle telles que Math.js et TensorFlow.js.
Tous les chapitres du livre intègrent de nombreux exemples largement commentés et en progression logique. Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. Vous y trouverez aussi des applications «bonus», non décrites dans le livre. -
Apprendre la Programmation Orientée Objet avec le langage Python : (avec exercices pratiques et corrigés)
Vincent Boucheny
- Eni
- Ressources Informatiques
- 12 Février 2025
- 9782409048227
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 (JSON, 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. -
Power Apps : Créer 5 applications low-code
Yvan Picot
- Eni
- Solutions Business
- 11 Décembre 2024
- 9782409047619
Aujourd'hui, il suffit d'un compte Microsoft 365 pour créer des applications métier répondant à ses besoins. En effet, Power Apps permet de développer rapidement des interfaces fonctionnelles et efficaces qui peuvent agrémenter une feuille de calcul Excel ou une liste SharePoint.
L'objectif de cet ouvrage est de vous apprendre à concevoir en low-code des applications exploitables aussi bien dans un navigateur que sur un smartphone. Que vous ayez quelques notions de programmation ou que vous soyez totalement débutant, vous découvrirez ici différents aspects de Power Apps mais aussi les bonnes pratiques d'écriture.
Après une présentation de l'environnement et du contexte Power Apps, vous mettrez en place 5 applications grâce à une approche très progressive et pragmatique. Ainsi, vous serez guidé pas à pas pour réaliser :
- un carnet d'adresses, ou comment créer une application en quelques minutes
- une liste des tâches (todo list), dans laquelle vous lèverez le voile sur le fonctionnement d'une application et aborderez le langage de formule Power Fx qui se rapproche du langage utilisé dans les formules Excel.
- un jeu de combat, qui vous permettra de comprendre certains fondamentaux de Power Apps tels que les variables et les collections, ainsi que les interactions entre les différents composants
- une application de demande et de validation de congés avec envoi d'e-mails
- une application d'état des lieux grâce à laquelle vous apprendrez, entre autres, à utiliser l'appareil photo d'un smartphone. -
C++ : Des fondamentaux du langage aux applications
Brice-Arnaud Guérin
- Eni
- Ressources Informatiques
- 10 Juin 2024
- 9782409045141
Ce livre s'adresse à tout développeur désireux d'apprendre le langage C++, dans le cadre de ses études ou pour consolider son expérience professionnelle.
Le premier chapitre présente les bases de la syntaxe du langage ainsi que l'organisation des programmes. Le chapitre suivant est une transition vers C++, il explique les notions clés pour créer ses premières applications : structures, pointeurs, bibliothèques standards... Le troisième chapitre détaille la programmation orientée objet et les mécanismes spécifiques au langage (héritage, modèles de classes...). Vient ensuite l'étude de la STL (Standard Template Library), présentée à travers ses mécanismes les plus importants : les chaînes, les structures de données et les parcours de collection. Les évolutions du C++ moderne telles que les lambda-expressions, les smart-pointers et l'inférence de type sont également étudiées en préalable à la bibliothèque boost. Un chapitre ouvre C++ sur ses univers, tels que l'environnement managé .NET C++ CLI et les applications Win32.
Comme illustration des capacités de C++ à créer tout type d'applications, l'auteur propose un exemple complet de tableur graphique, un interprète du langage tiny-Lisp, un programme de compression de fichiers ou encore un réseau de neurones appliqué à un démonstrateur de calculs.
L'ouvrage se termine par un chapitre appliquant des algorithmes essentiels en C++ traitant de la reconnaissance de motifs, la recherche dans un graphe et de compression de données.
Le code source des exemples du livre est disponible en téléchargement sur www.editions-eni.fr. Les exemples sont réalisés avec Visual Studio Community Edition sous Windows et avec Eclipse sous Linux Ubuntu. -
Business Intelligence avec Python : Créez vos outils BI de A à Z
Gaël Penessot
- Eni
- Expert It
- 8 Janvier 2025
- 9782409048043
Ce livre sur la Business Intelligence avec Python est un guide complet qui plonge les lecteurs dans l'univers de l'analyse de données d'entreprise. Tout en mettant l'accent sur l'aspect pratique et opérationnel de la BI, il se distingue par son approche globale, couvrant l'ensemble du processus de BI, de la collecte des données brutes à la création de tableaux de bord pour une prise de décision éclairée, en passant par l'analyse et la visualisation de données. Il constitue une ressource indispensable pour les professionnels de la data, les analystes et les étudiants désireux d'acquérir des compétences pratiques en BI pour maîtriser l'art de transformer les données en insights stratégiques à l'aide de Python.
L'ouvrage débute par une introduction aux fondamentaux de la BI et explique pourquoi Python est devenu un outil incontournable dans ce domaine. Il guide ensuite le lecteur à travers l'installation et la configuration d'un environnement de développement robuste, en mettant l'accent sur les bonnes pratiques de codage et de gestion de projet.
Les chapitres suivants abordent en profondeur les aspects essentiels de la BI avec Python :
- l'extraction et le nettoyage des données à partir de diverses sources (fichiers, bases de données, API, web scraping) ;
- l'analyse statistique approfondie, incluant des techniques descriptives et inférentielles ;
- la conception et l'implémentation de data warehouses ;
- l'automatisation des pipelines de données avec des outils comme Airflow et Luigi ;
- la création de tableaux de bord interactifs et de rapports percutants avec Streamlit, Taipy et Dash ;
- et les considérations éthiques, de sécurité et de conformité au RGPD dans les projets de BI.
Chaque chapitre est enrichi d'exemples concrets, de cas d'études et d'exercices pratiques, permettant aux lecteurs de mettre immédiatement en application les concepts appris. -
Symfony 6 : Développez des sites web PHP structurés et performants
Etienne Langlet
- Eni
- Expert It
- 8 Octobre 2024
- 9782409046582
Ce livre sur Symfony 6 s'adresse aux développeurs, chefs de projets, architectes techniques, qui souhaitent, grâce à ce framework, structurer et organiser leurs développements PHP au sein d'un environnement de construction d'applications robuste et professionnel. La maîtrise de la programmation objet avec PHP est un prérequis indispensable pour tirer le meilleur parti de ces pages.
Le livre couvre les principaux composants de Symfony 6, considéré aujourd'hui comme le framework PHP de référence. Il fournit les connaissances de base qui permettent non seulement de créer un site ou une application web, mais également de comprendre et maîtriser son fonctionnement en détail. Un chapitre entier est par exemple consacré à l'architecture du framework.
Les sujets détaillés vont de l'installation de Symfony à la création de tests unitaires et fonctionnels. La gestion des formulaires, des interactions avec une base de données, des templates, de la journalisation ou même de la sécurité de l'application sont autant de thèmes exposés dans le livre.
Le temps de chargement des pages d'un site web étant un élément crucial, un chapitre délivre les techniques et astuces pour fortement améliorer les performances d'une application. Enfin, les contraintes de mise en production sont également évoquées dans un chapitre dédié au déploiement d'une application Symfony.
L'auteur a structuré les chapitres pour faciliter l'apprentissage de Symfony 6 et dévoile au fil des pages des conseils, bonnes pratiques et exemples détaillés.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. -
HTML5 et CSS 3 : Exploiter les standards du Web (5e édition)
Christophe Aubry
- Eni
- Objectif Web
- 10 Juillet 2024
- 9782409045547
Ce livre sur le langage HTML5 et les feuilles de styles CSS 3, langages fondateurs de la création de sites web, s'adresse aux concepteurs et designers qui souhaitent maîtriser ces langages standards pour créer et personnaliser des sites web.
Le livre débute par une présentation de l'évolution et de l'usage des standards du Web selon le W3C et le WHATWG avant d'aborder la syntaxe HTML avec les éléments constitutifs des pages web et les attributs des balises.
Le chapitre suivant traite des conteneurs sémantiques qui vont permettre de structurer efficacement les pages web. Tous les éléments constitutifs utilisés pour le texte sont ensuite étudiés ainsi que les tableaux et les formulaires. Pour illustrer et animer de manière efficace vos pages web, vous verrez ensuite comment y intégrer des médias : les images mais aussi les vidéos et l'audio.
Dans la deuxième partie de ce livre, vous apprendrez à exploiter les feuilles de styles (CSS) afin de parfaire la mise en page et la mise en forme des pages web. Tous les éléments de syntaxe des CSS sont abordés : les règles, les unités, les valeurs, les couleurs et les déclarations. Les principaux sélecteurs sont détaillés à l'aide d'exemples précis. Vous verrez également l'application des styles basée sur les notions de cascade et d'héritage.
Vous exploiterez les styles pour concevoir des mises en page structurées avec des boîtes et vous verrez comment leur appliquer des styles de mise en forme : marges, remplissage, bordures, largeur, hauteur, arrière-plan... La mise en forme des contenus repose sur de nombreux exemples permettant de mettre en forme les caractères, le texte, les tableaux, les formulaires et les colonnes.
La mise en page des sites modernes utilise les boîtes flexibles (CSS Flexible Box Layout) et les grilles de mise en page (CSS Grid Layout). Ces techniques sont étudiées en détail et illustrées de nombreux exemples. Enfin, pour terminer, le Responsive Web Design, ou mise en page adaptative, vous permettra de concevoir des sites web qui seront correctement affichés quel que soit le support : ordinateur, tablette ou smartphone.
Vous aurez ainsi tous les éléments nécessaires pour concevoir et/ou personnaliser des sites web modernes et attractifs. -
Python 3 : Traitement de données et techniques de programmation
Sébastien Chazallet
- Eni
- Expert It
- 10 Avril 2024
- 9782409044441
Ce livre sur le langage Python 3 s'adresse à tout professionnel de l'informatique, ingénieur, étudiant, enseignant ou même autodidacte qui souhaite maîtriser ce langage très abouti. L'objectif de ce livre est de montrer au lecteur ce que l'on peut faire avec le langage, du traitement de données à la création d'un site web, en passant par la gestion du système et du réseau. Pour bien appréhender son contenu, la lecture du livre dont il est la suite, Python 3 - Les fondamentaux du langage chez le même éditeur, est recommandée.
La première partie couvre le traitement de données avec la manipulation de fichiers, les fichiers de configuration, les formats d'import/export, la gestion de la compression ou encore les flux XML ou la génération de documents.
La seconde partie présente la programmation système, la programmation réseau, la programmation web et la programmation scientifique, qui sont autant de niches dans lesquelles le langage Python excelle par sa simplicité d'utilisation autant que par sa couverture fonctionnelle exceptionnelle.
La troisième partie présente tous les outils de programmation concurrente, qu'il s'agisse de programmation asynchrone, parallèle ou distribuée. On notera que l'accent est mis sur de nombreuses techniques asynchrones, car il s'agit de l'un des points majeurs de l'évolution récente du langage Python.
Le code source des exemples du livre est intégralement téléchargeable sur 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. -
Apprenez les langages HTML5, CSS3 et JavaScript pour créer votre premier site web
Denis Matarazzo
- Eni
- Ressources Informatiques
- 7 Février 2024
- 9782409043468
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 animations, 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...
Au travers d'exemples concrets et au-delà de l'aspect purement technique de cet apprentissage, l'auteur transmet au lecteur les principales règles de mise en page à respecter pour rendre le site agréable à l'oeil, convivial et facile d'utilisation ainsi que les bonnes méthodes de développement et les pièges à éviter. Après la lecture de ce livre, le lecteur pourra créer un site web fonctionnel dont il pourra être fier.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. -
Scratch 3 : S'initier à la programmation, à la robotique et à l'IA par le jeu
Sarah Lacaze
- Eni
- La Fabrique
- 17 Mai 2024
- 9782409044885
Ce livre sur Scratch 3 est un outil pédagogique pour toute personne qui souhaite découvrir, ou faire découvrir, la démarche de la programmation informatique d'une façon ludique. Autant adapté à un public d'adultes que d'enfants, aucun prérequis n'est nécessaire si ce n'est savoir utiliser les fonctionnalités de base d'un ordinateur.
Le livre est constitué de trois grandes parties. Après une présentation de l'interface et des éditeurs, les différents blocs utilisés pour créer des programmes sont décrits. L'auteure exploite le côté simple et intuitif de Scratch pour introduire les notions propres à tout langage de programmation que sont les variables, les boucles et même les procédures. Deux chapitres sont ensuite consacrés aux techniques dédiées à l'animation et aux jeux vidéo.
La seconde partie du livre est consacrée à la création de jeux : jeu de labyrinthe, jeu de tir, jeu de cible, jeu de course de voitures... La création d'un jeu, ou d'une animation, nécessite l'intervention de plusieurs spécialistes : Game designer, Graphiste, Sound designer, Programmeur et Scratch permet d'endosser tous ces rôles à la fois. Grâce à la palette graphique et aux bibliothèques présentes dans Scratch vous pouvez créer vos personnages et vos arrière-plans, ou les importer. Grâce à l'éditeur audio et à la bibliothèque de sons vous pouvez facilement importer des sons et les modifier. Grâce aux blocs de programmes qui s'assemblent pour former des piles de codes, la programmation avec Scratch devient un jeu d'enfant. Les jeux proposés ouvrent la voie à l'imagination des lecteurs.
La dernière partie du livre traite des extensions disponibles, pour s'initier à l'électronique et à la robotique (cartes Makey Makey et micro:bit - Lego Boost), ainsi que des plateformes développées à partir de Scratch pour découvrir l'Intelligence artificielle et le Machine Learning. -
Drupal 10 : Le guide complet pour le développement de solutions web robustes
Nicolas Bede
- Eni
- Expert It
- 11 Décembre 2024
- 9782409047381
Ce guide approfondi sur Drupal 10 est destiné aux développeurs, gestionnaires de contenu et administrateurs Drupal qui aspirent à acquérir des bases solides et des techniques avancées dans le développement de solutions web robustes et évolutives avec Drupal. Les lecteurs y trouveront de nombreux conseils pratiques, astuces, et exemples d'application qui illustrent les meilleures pratiques de développement. Bien qu'axées sur Drupal 10, une grande majorité des notions abordées restent pertinentes pour les futures versions de Drupal.
Il commence par un aperçu historique de Drupal, de ses évolutions récentes et des avantages qui en font un choix privilégié pour les développeurs, comme sa modularité, sa sécurité, et sa communauté active. L'auteur compare Drupal à d'autres CMS populaires, comme WordPress et Joomla!, en soulignant ses atouts en termes de personnalisation et de flexibilité de design.
Ensuite, le livre explore l'installation de l'environnement de développement, en passant par Docker et DDEV, avant de détailler l'installation de Drupal 10. Vous apprendrez à créer et à configurer des modules personnalisés, à gérer des types de contenus, et à travailler avec des entités personnalisées. Le chapitre sur les structures Drupal explore la taxonomie, les blocs, les menus et les modes d'affichage, tandis que celui sur les utilisateurs et les permissions explique comment gérer les comptes et les rôles.
Les Views, un outil puissant pour afficher du contenu, sont également couvertes, avec des instructions sur leur création et leur gestion. L'auteur se penche ensuite sur la manipulation des entités, les configurations et l'internationalisation. Le livre met également un accent particulier sur les APIs de Drupal 10. Les formulaires ainsi que des techniques avancées comme la création de services personnalisés, les tâches planifiées et la gestion des événements sont ainsi abordés.
Pour finir, ce livre traite de l'optimisation des performances et de la gestion du cache, des tests, et de la mise en production, offrant un véritable guide complet pour maîtriser Drupal dans divers contextes de développement web. -
Automatisez vos tests avec Robot Framework
Yassine Sidki
- Eni
- Ressources Informatiques
- 12 Février 2025
- 9782409048302
Que vous soyez débutant ou expert, ce livre est le compagnon idéal pour maîtriser l'automatisation des tests avec Robot Framework, offrant des conseils pratiques et des exemples concrets pour réussir vos projets d'automatisation.
Dès les premières pages, vous apprendrez les bases de l'automatisation des tests. Vous découvrirez ainsi ce qu'est un test automatisé, quels types de tests automatiser et quand le faire. Vous appréhenderez également les limites de l'automatisation et l'importance des tests manuels.
Un chapitre est dédié à l'installation et à la configuration de Robot Framework, avec des conseils pour éviter les erreurs courantes. Ensuite, vous mettrez en pratique vos connaissances avec des exemples concrets, de la première exécution d'un test à l'analyse des rapports et la correction des erreurs.
Le livre vous montrera comment structurer un projet, créer des suites de tests, utiliser et écrire des bibliothèques et bien plus encore. Vous explorerez les différentes méthodes d'exécution des tests, de l'utilisation de RIDE à l'exécution en ligne de commande, en passant par l'analyse des rapports et la réexécution des tests échoués.
Pour aller plus loin, vous approfondirez vos compétences avec des fonctionnalités avancées telles que l'exécution parallèle, la fusion de rapports et l'intégration à une chaîne CI/CD. Enfin, vous découvrirez le potentiel caché de Robot Framework avec des intégrations IA et des techniques innovantes.
Ce livre est votre compagnon idéal pour maîtriser l'automatisation des tests avec Robot Framework, offrant des conseils pratiques et des exemples concrets pour réussir vos projets d'automatisation. -
Kubernetes : Gérez la plateforme de déploiement de vos applications conteneurisées
Yannig Perré
- Eni
- Expert It
- 11 Décembre 2024
- 9782409047343
Ce livre s'adresse aux administrateurs système qui souhaitent maîtriser le déploiement de Kubernetes et comprendre en quoi il répond aux nouveaux enjeux informatiques liés à l'arrivée des conteneurs. Le lecteur découvre ainsi les différentes fonctionnalités de Kubernetes qui lui permettront de gérer des conteneurs et leur cycle de vie et de mettre en place toutes les briques indispensables à un cluster de production.
Pour appréhender au mieux la lecture de ce livre, des notions sur l'administration d'un système Linux, sur le principe de fonctionnement des couches réseau, sur l'utilisation de Git ainsi que la connaissance d'un environnement Cloud sont recommandées. Tout au long du livre, l'auteur s'appuie sur des exemples concrets pour aider le lecteur dans sa découverte de Kubernetes et dans l'assimilation des concepts étudiés.
Après l'installation de l'environnement et des outils indispensables pour suivre les exemples du livre, l'auteur familiarise le lecteur avec les concepts propres à Kubernetes tels que le cycle de vie d'un conteneur, les pods, les services ou le tableau de bord. Au fur et à mesure, le lecteur découvre des concepts plus avancés comme la persistance des données, l'hébergement d'applications en cluster, la mise en place de réplications entre plusieurs pods, la mise en place d'outils de sécurité, l'utilisation de règles de haute disponibilité, la gestion des briques internes de Kubernetes ou le gestionnaire de paquets Helm.
Puis l'auteur présente comment installer et configurer Kubernetes afin d'aider le lecteur à mettre en place un cluster, dans le cloud ou sur des machines classiques, avant de détailler l'exposition d'une application sur Internet, les polices réseau, la sécurisation SSL, les montées en charge, le choix des machines dans le cloud, la surveillance applicative ou encore la mise en place de règles d'hébergement. Pour finir, le lecteur trouve dans les derniers chapitres une introduction au maillage de services avec Istio, ainsi que des informations sur la gestion des droits d'accès, sur la notion d'opérateur ou encore sur la gestion de l'application dans un système d'intégration continue.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. -
C# 12 : Développez des applications Windows avec Visual Studio 2022
Jérôme Hugon
- Eni
- Expert It
- 10 Avril 2024
- 9782409044403
Ce livre sur le développement d'applications Windows avec le langage C# (en version 12) et Visual Studio 2022 est destiné aux développeurs qui débutent avec le framework .NET. Il leur permet d'apprendre les bases du langage C# et introduit des concepts plus avancés leur donnant une vue d'ensemble des possibilités offertes par le langage C#, Visual Studio et le framework .NET en général. L'auteur a choisi une approche pas à pas tout en construisant une application fonctionnelle tout au long de l'ouvrage pour illustrer de manière pratique et cohérente les concepts abordés.
L'apprentissage commence par la familiarisation avec l'interface de Visual Studio 2022 ainsi qu'avec le concept de l'architecture .NET. Les détails du langage C#, sa syntaxe et ses fonctionnalités comme les classes, l'héritage, les interfaces, les types génériques ou encore les délégués et les évènements sont ensuite expliqués avant d'aborder la conception d'interfaces utilisateur.
La conception de l'interface utilisateur couvre toutes les phases utiles pour créer des applications Windows à la fois fonctionnelles et ergonomiques, allant de la création de formulaires à la création de contrôles en passant par l'implémentation de gestionnaire d'évènements et la validation des données saisies. Une introduction à la conception d'application WPF est également incluse.
Les outils de Visual Studio qui permettent de réaliser les tests et le débogage des applications sont également détaillés en présentant les techniques de gestion des erreurs mais aussi les concepts permettant de surveiller les applications comme le traçage, l'interaction avec les journaux d'évènements et l'utilisation des compteurs de performance.
L'utilisation de Entity Framework est détaillée au sein d'exemples concrets permettant de comprendre rapidement comment créer des modèles de données et comment les utiliser pour communiquer avec une base de données, tout en apprenant à utiliser le langage de requête LINQ pour interagir avec des données sous différents formats (objets, SQL ou XML). L'alternative au stockage de données d'une application sur le système de fichiers et l'utilisation du concept de la sérialisation sont également détaillées, fournissant ainsi une vision globale des possibilités offertes par le framework .NET concernant la gestion des données.
Des concepts plus avancés sont également abordés afin d'exposer une gamme plus large des possibilités offertes par le langage C# et Visual Studio : l'utilisation des expressions régulières, le développement d'applications multitâches et asynchrones, la globalisation et la localisation d'une application, la sécurité du code, l'implémentation d'applications client/serveur, le dessin avec GDI+ ainsi que la réflexion font partie des sujets introduits... -
Java 17 : les fondamentaux du langage (avec exercices pratiques et corrigés)
Thierry Richard
- Eni
- Ressources Informatiques
- 16 Mars 2022
- 9782409034558
Ce livre, qui couvre jusqu'à la version 17 de Java, s'adresse à tout informaticien désirant développer sous Java. Que le lecteur soit débutant ou qu'il ait déjà une première expérience avec un autre langage, il trouvera dans cet ouvrage toutes les bases nécessaires pour se familiariser rapidement avec un des langages les plus utilisés au monde.
Après une présentation de la plateforme Java SE, de son installation sous Windows et Linux et de l'environnement de développement utilisé dans le cadre de l'ouvrage (Eclipse, MySQL), le lecteur étudie les bases du langage et la programmation orientée objet. Parmi la richesse de l'API Java, un focus est fait sur l'API de gestion des dates, sur les nouvelles possibilités offertes par les interfaces et sur la notion de modules.
Les expressions lambda et les API sous-jacentes comme l'API java.util.function ou l'API Stream sont détaillées avant de passer à l'étude du développement d'applications graphiques avec la bibliothèque Swing. Le développement d'applications client/serveur est également présenté avec l'API JDBC assurant l'accès aux bases de données relationnelles.
Le déploiement étant une étape importante du succès d'une application, le dernier chapitre présente la distribution d'une application avec la solution classique des fichiers d'archives ou l'utilisation des outils jlink et jpackage.
De nombreux exercices avec leurs corrigés permettent au lecteur de valider ses connaissances et de mettre en pratique immédiatement les notions étudiées.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
-
C# 12 et Visual Studio Code : Les fondamentaux du langage
Christophe Mommer
- Eni
- Ressources Informatiques
- 17 Mai 2024
- 9782409044786
Ce livre s'adresse aux développeurs qui souhaitent maîtriser le développement d'applications .NET grâce au langage C#, ici dans sa version 12.
Après une introduction rapide sur le fonctionnement de C# 12 et de son framework associé .NET, le lecteur installe l'environnement de développement multi-plateforme, Visual Studio Code, lui permettant de réaliser les exercices du livre.
Le lecteur étudie ensuite la syntaxe de base du langage ainsi que les éléments associés pour écrire des programmes simples rapidement. Il appréhende également un concept fondamental et central : la programmation orientée objet, paradigme utilisé dans l'utilisation de nombreux langages de développement.
Pour créer des programmes robustes et performants, le lecteur découvre les principaux éléments algorithmiques du langage comme les boucles, les collections ou encore la gestion des erreurs.
Le langage de requête LINQ est présenté en profondeur et illustré d'exemples concrets ponctués d'exercices.
D'autres notions essentielles telles que l'asynchronisme, le fonctionnement des flux de données, la sérialisation en binaire, XML ou encore JSON sont couvertes afin de compléter le panorama des possibilités du langage.
Pour permettre au lecteur d'étendre sa réflexion pour ses projets futurs, un chapitre propose un tour d'horizon des applications qu'il est possible de développer avec à C#, comme des applications web, Windows ou mobile, le tout illustré par des exemples. Un ultime chapitre propose un glossaire qui servira d'aide-mémoire aux développeurs. -
Algorithmique : Des bases à la programmation orientée objet en Java (avec exercices et corrigés)
Hervé Boisgontier
- Eni
- Ressources Informatiques
- 8 Novembre 2023
- 9782409042393
Tous les langages de programmation ont leurs spécificités mais lorsqu'un développeur crée un nouveau programme, la première étape est toujours la même : réfléchir à l'enchaînement des différentes actions à réaliser par la machine. L'objectif de ce livre est de vous apprendre à comprendre et concevoir les algorithmes permettant le fonctionnement d'un programme.
Pour cela, après une introduction générale sur l'algorithmique, vous apprenez les bases de la programmation en utilisant du pseudo-code : variables, conditionnelles, boucles, tableaux, procédures et fonctions.
Ensuite, ce livre présente les concepts de la programmation orientée objet, utilisée par la plupart des langages actuels, en utilisant l'algorithmique mais également comment programmer en orienté objet avec Java. Ainsi, vous apprenez à créer des classes et des instances de celles-ci, à créer des associations entre elles, à utiliser la notion d'héritage, de classes abstraites et d'interfaces. Vous serez capable de traiter des exceptions et de traquer les bugs de vos applications. Vous apprendrez à utiliser la généricité afin de coder des méthodes, des interfaces et des classes génériques.
Un chapitre du livre est consacré à l'organisation de la mémoire afin de mieux comprendre le fonctionnement de la programmation.
Enfin, le dernier chapitre du livre présente la notion de complexité d'un algorithme en illustrant cela au travers de différents algorithmes de tris de tableaux.
Afin de vous aider à mettre en pratique et à développer votre maîtrise de l'algorithmique et de Java, des exercices sont proposés avec leurs corrections en pseudo-code ainsi que leurs implémentations en Java.
La plupart des algorithmes (exemples et exercices) de ce livre sont implémentés en Java et les sources, directement utilisables, sont disponibles en téléchargement sur le site www.editions-eni.fr. -
Traitement automatique du langage naturel avec Python : Le NLP avec spaCy et NLTK
Benoît Prieur
- Eni
- Expert It
- 17 Mai 2024
- 9782409044984
Cet ouvrage sur le traitement automatique du langage naturel (NLP) avec le langage Python est un guide pratique pour les professionnels, étudiants ou passionnés, ayant des bases minimales en Python, désireux d'explorer les horizons de l'intelligence artificielle et de la linguistique.
Dès les premières pages, le livre établit des fondations solides en IA et en linguistique, essentielles pour comprendre le NLP. Vous serez guidé à travers les concepts clés et les outils de NLP, comme l'analyse syntaxique et le POS-tagging, qui sont présentés avec clarté et précision. Le livre couvre ensuite une gamme étendue de domaines d'application en NLP : la traduction automatique et génération de texte, l'extraction de caractéristiques, la classification de documents, la reconnaissance de la parole ou encore l'analyse de sentiments.
L'approche très pratique, utilise systématiquement spaCy ou NLTK, au cours de mini-projets qui mobilisent également Jupyter, Gensim (Word2Vec), Scikit-Learn, Pytorch ou encore les modèles GPTs d'OpenAI. Le Web Scraping, un aspect crucial de la collecte de données en NLP, pour construire des jeux de données, est également abordé.
Que vous souhaitiez développer une application de reconnaissance vocale, analyser des sentiments sur les réseaux sociaux ou simplement approfondir vos connaissances en NLP, ce livre constitue une ressource utile, voire indispensable. -
Selenium : Maîtrisez vos tests fonctionnels avec python
Ludivine Crepin
- Eni
- Expert It
- 10 Juin 2024
- 9782409045066
Dans un monde numérique où la qualité logicielle est cruciale, les tests garantissent la robustesse et la fiabilité des applications. Ce livre, richement illustré de cas pratiques, est le guide pensé pour les développeurs pour apprendre à écrire et automatiser des tests fonctionnels avec Selenium, le framework Python incontournable en la matière.
Le livre commence par présenter l'importance des tests et en propose une typologie détaillée pour mieux appréhender les différentes techniques à mettre en oeuvre. Il offre également des rappels technologiques indispensables sur la structure d'une application web et sur les bases du langage Python.
Vous plongez ensuite dans le monde des tests unitaires en Python en explorant les assertions, les expressions régulières et les différentes bibliothèques disponibles, avec un focus sur l'utilisation de Pytest pour une meilleure gestion des tests.
Les premières étapes avec Selenium depuis son installation jusqu'à la mise en place des scénarios de tests et à leur exécution sont ensuite détaillées avant de découvrir comment, avec le framework, simuler le comportement des applications dans un navigateur et comment récupérer un élément d'une page HTML.
Vous étudiez ensuite le comportement de l'application web en fonction des actions des utilisateurs et la capture de données (Data Capture) qui permet de récupérer et d'extraire des données d'une page web pour vérifier et valider le contenu affiché. Les Waits, mécanismes utilisés pour gérer le temps d'attente des interactions avec les éléments d'une page web pendant l'exécution des tests, sont également présentés.
Ce livre vous propose également d'appréhender les meilleures pratiques de conception de pages avec Page Object Model et de découvrir comment exécuter vos tests sur plusieurs navigateurs simultanément grâce à Selenium Grid.
En fin de lecture, des chapitres optionnels vous conduisent vers des notions plus avancées liées aux tests de données (Data Driven Test). -
Machine Learning : Implémentation en Python avec Scikit-learn
Virginie Mathivet
- Eni
- Expert It
- 17 Mai 2024
- 9782409044823
Ce livre présente à des personnes non Data Scientists, et sans connaissances particulières en mathématiques, la méthodologie du Machine Learning, ses concepts, ses principaux algorithmes et l'implémentation de ceux-ci en Python avec Scikit-learn.
Il commence par une présentation du Machine Learning puis de la méthode CRISP où chaque phase est détaillée avec ses différentes étapes. Les premiers chapitres s'intéressent donc aux phases de Business Understanding (compréhension métier), Data Understanding (ou compréhension des données) et de Data Preparation (préparation des données). Dans ces chapitres sont présentés des analyses statistiques de datasets, que cela soit sous forme numérique ou graphique ainsi que les principales techniques utilisées pour la préparation des données, avec leur rôle et des conseils sur leur utilisation.
Ensuite, plusieurs chapitres sont dédiés chacun à une tâche de Machine Learning : la classification, la régression, avec le cas particulier de la prédiction, ainsi que le clustering et plus globalement l'apprentissage non supervisé. Pour chaque tâche qui est présentée sont successivement détaillés les critères d'évaluation, les concepts derrière les principaux algorithmes puis leur implémentation avec Scikit-learn.
Pour illustrer les différents chapitres, les techniques et algorithmes présentés sont appliqués sur des datasets souvent utilisés : Iris (classification de fleurs), Boston (prévision de prix de vente d'appartements) et Titanic (prévision de la chance de survie des passagers du bateau). Le code Python est commenté et disponible en téléchargement (sous la forme de notebooks Jupyter) sur le site www.editions-eni.fr. -
Ce livre sur JavaScript s'adresse à des développeurs soucieux de progresser dans leurs compétences JavaScript et de passer de la maîtrise syntaxique à la maîtrise du cycle de développement complet. Une première expérience du développement avec JavaScript, dans sa syntaxe de base, est indispensable à la bonne compréhension de cet ouvrage.
JavaScript est un langage particulièrement puissant avec une expressivité assez libre. Cette liberté mal maîtrisée devient vite une source de difficultés notamment à l'obtention d'un code de qualité en un temps raisonnable. Après la lecture de ce livre, vous saurez démarrer rapidement vos projets, créer un code portable et efficace, reprendre votre travail dans des contextes et supports variés. Pour cela, l'auteur a mis l'accent sur les bonnes pratiques comme l'organisation du code en modules indépendants, la réalisation de tests unitaires, le débogage, le choix de librairies externes...
Vous serez capable de gérer des projets de taille variable sans jamais perdre de vue l'architecture de vos applications, que vous soyez seul ou en équipe. Vous serez à l'aise dans vos projets web pour un usage classique comme pour un usage mobile. Grâce à TypeScript, vous apprendrez à dépasser les limites de JavaScript. Enfin, vous saurez créer, utiliser et étendre plus facilement des frameworks web adaptés à votre contexte d'exploitation comme jQuery, Dojo...
Vous bénéficierez des dernières évolutions importantes du langage grâce à la dernière norme ECMAScript pour favoriser un véritable développement objet et fonctionnel.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr. -
Windows PowerShell : administration de postes clients windows
Julien Musy
- Eni
- Expert It
- 6 Décembre 2023
- 9782409042270
Ce livre s'adresse bien sûr aux administrateurs systèmes Windows, mais également à tous ceux qui souhaitent administrer et gérer un parc informatique en entreprise avec le langage de script PowerShell. Cette quatrième édition de l'ouvrage est basée sur la version 5.1 de Windows PowerShell (mais est compatible avec la dernière version PowerShell 7) et l'auteur présente l'administration de postes clients sous Windows 11. Les opérations d'administration décrites sont également compatibles avec Windows 10. Les nombreux exemples proposés vous permettront de développer vos propres scripts afin d'automatiser de nombreuses tâches administratives et d'augmenter la productivité et l'efficacité de vos actions quotidiennes.
Après un rappel des commandelettes PowerShell de base sur la manipulation de ressources (fichiers, registres, certificats, etc.), l'auteur décrit de nombreuses cmdlets permettant d'administrer le système d'exploitation Windows (incluant ses paramètres et la sécurité), mais aussi la gestion des logiciels ou encore celle des périphériques connectés à l'ordinateur (réseaux, stockage, imprimantes).
Un chapitre est dédié à la recherche et la collecte d'informations : recherche de fichiers, variables d'environnement mais aussi exploitation de WMI pour la récupération des innombrables informations qui peuvent être utilisées pour monter des structures conditionnelles dans les scripts, ou plus simplement pour auditer des postes de travail.
L'auteur développe également l'installation d'applications via le gestionnaire de paquets qui facilite la préparation des postes de travail dans un milieu professionnel. L'administration à distance des postes clients avec la fonctionnalité PowerShell Remoting est décrite, permettant ainsi aux administrateurs d'envoyer des commandes, mais aussi des scripts sur un ou plusieurs ordinateurs distants.La partie scripting n'est pas oubliée : l'auteur présente le développement et le débogage de scripts dans Windows PowerShell ISE, mais aussi le déploiement de scripts par GPO. De nombreux conseils et recommandations sont décrits, comme l'utilisation de fichiers XML et JSON pour stocker les informations relatives aux différents environnements d'exécution des scripts.
Les scripts présentés dans le livre sont en téléchargement sur le site www.editions-eni.fr et peuvent être adaptés à votre infrastructure. -
Le deep learning pour le traitement d'images : Classification, détection et segmentation avec Python et TensorFlow
Daphne Wallach
- Eni
- Expert It
- 10 Janvier 2024
- 9782409043208
Cet ouvrage s'adresse à toutes les personnes désireuses de comprendre et développer des applications de traitement d'images basées sur le deep learning. Il fournit non seulement une base théorique solide, mais également des informations très pratiques, des « trucs et astuces » et des exemples sous forme de scripts Python basés sur TensorFlow.
Après une introduction à l'intelligence artificielle, le matériel et les logiciels nécessaires à sa pratique sont détaillés. Suivent ensuite des explications progressives des réseaux de neurones convolutionnels, en décrivant tout d'abord les classifieurs linéaires, puis les réseaux de neurones profonds, et enfin les réseaux convolutionnels. Ces trois chapitres sont accompagnés de scripts Python utilisant TensorFlow, et suivis d'astuces pour améliorer la performance et limiter les biais potentiels du réseau et l'impact carbone lié à son apprentissage et son utilisation. L'apprentissage par transfert, qui consiste à adapter un réseau pré-entraîné à une nouvelle tâche, est ensuite présenté, et accompagné d'un exemple basé sur TensorFlow.
Les chapitres suivants décrivent les réseaux convolutionnels appliqués à d'autres tâches que la classification, comme la détection et la segmentation. Ces chapitres sont accompagnés de scripts présentant l'utilisation des bibliothèques TensorFlow Object Detection et de l'architecture Unet.
Le lecteur trouve une description de plusieurs méthodes permettant de visualiser le fonctionnement du réseau et d'améliorer son explicabilité, puis cet ouvrage explique pourquoi surveiller les performances d'un modèle après son déploiement, et comment organiser une telle surveillance en pratique. Le script accompagnant ce chapitre décrit le fonctionnement de la librairie tf_explain, qui implémente plusieurs des méthodes présentées.
Vient ensuite un exposé des critères définis par la Commission européenne pour juger qu'un modèle d'intelligence artificielle est ""responsable"", et une traduction de ces critères en bonnes pratiques à adopter lors du développement et du déploiement.
Enfin, le livre conclut avec des conseils pour améliorer vos compétences et vous tenir au courant des évolutions récentes dans le domaine de l'apprentissage profond appliqué au traitement d'images.