Très bon résumé de l’informatique d’aujourd’hui!
Pascal A- Livres et vidéos
- Vade-mecum de l'informatique contemporaine - (TCP, SOA, Linux, Python, Docker, HDFS, RDF, Adam, OWASP, KPI, UML, Scrum…)
Vade-mecum de l'informatique contemporaine (TCP, SOA, Linux, Python, Docker, HDFS, RDF, Adam, OWASP, KPI, UML, Scrum…)
1 avis
Ce livre se veut le compagnon indispensable des étudiants et des professionnels en informatique. Rédigé dans l’esprit « TL;DR », pour « Too Long; Didn’t Read », typique des échanges techniques entre informaticiens modernes, il revendique une approche condensée, exhaustive et didactique permettant l’assimilation aisée de notions informatiques parfois jugées compliquées. Pour préparer un entretien, un concours ou lors d’une transition professionnelle, il répondra aux exigences des...
Consulter des extraits du livre en ligne
Aperçu du livre papier
- Niveau Initié à Confirmé
- Nombre de pages 570 pages
- Parution mars 2024
- Niveau Initié à Confirmé
- Parution mars 2024
Ce livre se veut le compagnon indispensable des étudiants et des professionnels en informatique. Rédigé dans l’esprit « TL;DR », pour « Too Long; Didn’t Read », typique des échanges techniques entre informaticiens modernes, il revendique une approche condensée, exhaustive et didactique permettant l’assimilation aisée de notions informatiques parfois jugées compliquées. Pour préparer un entretien, un concours ou lors d’une transition professionnelle, il répondra aux exigences des développeurs, chefs de projet, architectes des SI, assistants à la maîtrise d’ouvrage ou futurs responsables informatiques.
Le livre couvre des sujets essentiels de tous les domaines de l’informatique tels que le fonctionnement des UC, l’architecture lambda du Big Data, la modélisation de bases de données, la Programmation Orientée Objet, le langage UML, l’algorithmique, le web, les réseaux, la sécurité, le web sémantique et ses ontologies, ainsi que Linux, Bash ou encore Docker.
Le lecteur y trouvera également les informations essentielles pour la mise en œuvre du management de projet contemporain avec Scrum/SAFe et DevOps ainsi que les principaux concepts utiles aux consultants en organisation informatique, allant des outils SWOT, PDCA et IGOEs aux tableaux de bords informatiques, en passant par la sécurité ou le PCA, comportant une définition claire et précise des KPI à surveiller.
En initiation au langage Python, le livre est un guide didactique, à même d’induire de bonnes habitudes de programmation, adaptées à un usage professionnel.
Ensuite, une check-list exhaustive et commentée des items de la documentation d’un projet est un allié indispensable pour ceux qui évoluent dans de nouvelles fonctions ou pour les responsables informatiques qui envisagent d’augmenter le niveau de maturité de leur organisation, le cas échéant en visant une certification CMMi.
Les nombreux aide-mémoires de ce livre, de l’assembleur à Docker, en passant par SQL, Git, Pandas, Linux ou les réseaux, s’avèrent des outils structurés et précis pour un usage quotidien ou une révision rapide.
Le livre couvre des sujets essentiels de tous les domaines de l’informatique tels que le fonctionnement des UC, l’architecture lambda du Big Data, la modélisation de bases de données, la Programmation Orientée Objet, le langage UML, l’algorithmique, le web, les réseaux, la sécurité, le web sémantique et ses ontologies, ainsi que Linux, Bash ou encore Docker.
Le lecteur y trouvera également les informations essentielles pour la mise en œuvre du management de projet contemporain avec Scrum/SAFe et DevOps ainsi que les principaux concepts utiles aux consultants en organisation informatique, allant des outils SWOT, PDCA et IGOEs aux tableaux de bords informatiques, en passant par la sécurité ou le PCA, comportant une définition claire et précise des KPI à surveiller.
En initiation au langage Python, le livre est un guide didactique, à même d’induire de bonnes habitudes de programmation, adaptées à un usage professionnel.
Ensuite, une check-list exhaustive et commentée des items de la documentation d’un projet est un allié indispensable pour ceux qui évoluent dans de nouvelles fonctions ou pour les responsables informatiques qui envisagent d’augmenter le niveau de maturité de leur organisation, le cas échéant en visant une certification CMMi.
Les nombreux aide-mémoires de ce livre, de l’assembleur à Docker, en passant par SQL, Git, Pandas, Linux ou les réseaux, s’avèrent des outils structurés et précis pour un usage quotidien ou une révision rapide.
Téléchargements
Introduction "TL;DR"
- Introduction
Au cœur de la machine
- Présentation du processeur central de l’ordinateur
- Fonctionnement du processeur et assembleur
- 1. Zoom sur une unité centrale de traitement(CPU)
- 2. Programmation assembleur
- 3. Pourquoi apprendre l’assembleur ?
- Autour du CPU
- 1. Début de la séquence de démarraged’un ordinateur
- 2. Agencement des différents composants matériels à mettreen œuvre
- Les ordinateurs actuels calculent en binaire
- 1. Petites réflexions au sujet de la représentationdécimale des entiers (base 10)
- 2. Introduction aux calculs en hexadécimal (base16)
- a. Conversion hexadécimal vers décimal
- b. Conversion décimal vers hexadécimal
- 3. L’octal
- 4. Le binaire
- a. Binaire vers décimal
- b. Trucs, remarques et astuces
- 1. Les réseaux locaux, introduction
- 2. Le protocole TCP/IP
- 3. Les adresses IP
- a. IPv4
- b. IPv6
- c. Adresses IP à connaître
- d. Relation entre IPv4 et IPv6
Méthodes - Les bases
- Introduction
- Assurer la convergence d’une action ou d’un projet
- 1. Penser le projet en se mettant en mode « PDCA »
- a. Zoom sur le SWOT
- b. Zoom sur le diagramme d’Ishikawa
- 1. Penser le projet en se mettant en mode « PDCA »
- 2. Évaluer les principales phases d’unprojet en mode cascadé (waterfall)
- 3. Cycle en V
- 4. Agilité
- a. SCRUM, la référence actuelle desméthodes agiles
- b. SAFe
- c. Git
- d. DevOps CI/CD
- 5. KPI et mesures
- a. Mesurer la performance d’un projet
- b. Le cas de la performance d’un projet agile
- c. Tableau de bord de la sécurité
- d. Tableau de bord du plan de secours informatique
- e. Tableau de bord DevOps
- f. Tableau de bord de l’exploitation informatique
- 1. Algorithmes
- a. Exemple préliminaire
- b. Test des algorithmes
- a. Utilisation de la modélisation UML pour différentsstyles de programmation
- b. Diagramme de cas d’utilisation (use case)
- c. Diagramme de classe (héritage, composition,association message)
- d. Diagramme de séquence
- a. SOA : Architectures Orientées Services
- b. Les services du cloud computing
- 1. Méthode générale pour aborderune étude de cas
- 2. Compléments concernant les choix de solutionsinformatiques fonctionnelles
- a. Liste de progiciels fonctionnels
- b. Choix de progiciels ou de solutions « clésen main »
- c. Exemples de critères de choix de progiciels
Méthodes - Bien gérer les données
- Introduction
- Les concepts CRUD, 3NF, ACID, OLTP (et pas OLAP !)
- 1. CRUD
- 2. Les formes normales, en se limitant au niveau 3NF
- a. Relations (associations)
- b. Les trois formes importantes : 1FN, 2FN,3FN
- 3. Les propriétés ACID
- 4. L’OLTP
- 1. OLAP
- 2. Le BIGDATA - architecture de référence
- a. Un exemple d’architecture "Lambda"
- b. Hadoop et ses principales distributions
- c. MapReduce, un algorithme exceptionnel
- d. Apache Spark (Release 3.1.x)
- e. Apache Hadoop vs Apache Spark
Découvrir l’algorithmique
- Notions élémentaires
- 1. Un premier exemple d’algorithme
- 2. Un peu d’histoire…
- 3. La place de l’algorithme dans le développementd’un programme
- Algorithme et programmation
- 1. L’objectif de l’algorithme
- 2. Exécution pas à pas d’unexemple pour induire un principe plus général
- 3. Décomposer par analyse descendante
- 4. Définir l’environnement de l’algorithme
- 5. Le cadre de l’algorithme : objectif,principe, exemple(s), décomposition et environnement
- Rudiments de formalisation
- 1. Données et actions élémentaires
- a. Le type numérique NUM
- b. Le type caractère CAR
- c. Le type chaîne de caractères CHA
- d. Le type logique LOG
- e. Le type date DAT
- f. Le type composé : CMP
- 1. Données et actions élémentaires
- 2. La déclaration et la portée desdonnées
- a. Sans affectation
- b. Avec affectation
- 3. Interaction utilisateurs
- 4. Schéma conditionnel
- 5. L’itération
- a. Le schéma : POUR _ FAIRE _ FINFAIRE
- b. Le schéma : TANTQUE _ FAIRE _ FINFAIRE
- 6. Écriture modulaire
- a. Les procédures
- b. Les fonctions
- 7. Traduction vers un langage de programmation
- a. Algorithme de calcul du reste de la division de deuxentiers écrit en pseudo-code
- b. Récursivité
- 1. Le load balancing
- 2. La transformée de Fourier rapide
- 3. Optimisation au travers d’un gradient stochastique,le cas Adam
- 4. Algorithmes génétiques, application à larecherche d’un optimum
- a. Sélection des parents
- b. Crossover (croisement)
- c. Mutations
- d. Coder un algorithme génétique
Code et Web
- Introduction
- Connaissance, ontologie, markup language, web sémantique
- HTML5 et CSS3
- 1. En bref
- 2. Exemple de page web triviale
- Le DOM
- JavaScript
- 1. Exemple de JavaScript
- 2. Insertion de code JavaScript dans une page HTML
- 3. Page web via Python, apartés sur Flask, POSTet GET
Linux, Shell, Conteneurs, WSL - quésako ?
- En guise d’introduction
- Survivre avec Linux - Le minimum à savoir
- 1. Points de repère
- 2. Manipuler un fichier
- 3. Redirection, pipe, grep
- 4. Installation, en bref
- 5. Permissions
- Daemons (divinités ou démons) et cron
- Suggestions pour une utilisation plus professionnelle de Linux
- 1. Apprendre le shell bash
- 2. Étudier et implémenter "Systemd"et travailler sur les "cgroups"
- 3. Suggestions - Réseau et services
- 4. Suggestions - Sécurité
- Conteneurs et Docker
- 1. Docker, VM, services, en bref
- a. Démarrer avec Docker
- b. Persistance
- 1. Docker, VM, services, en bref
- 2. Exemple d’architecture multiconteneurs
Python - "starter" TL;DR
- L’esprit de ce starter Python
- Dénominations et conventions
- Zen de Python
- Contexte de travail
- Pour commencer
- 1. Python, comme une calculette
- 2. Faire des choix
- 3. Structures de contrôle itératives
- 4. Créer ses propres fonctions
- a. Portée des variables et passage de paramètres
- b. Mourir vite
- 5. Créer ses propres bibliothèquesde fonction
- 6. Vos deux premiers types built-in composés
- a. Les t_uplets (tuple)
- b. map et lambda
- c. Les ensembles (set)
- 1. Utiliser la fonction print et découvrir lesstrings
- 2. Utiliser les listes
- 3. Créer et transformer des listes
- a. Les bases
- b. Effectuer une boucle sur une liste
- c. Manipulation vectorielle d’une liste
- a. Manipulations de bases
- b. Sauvegarde et accès intelligent à untenseur
- 1. Introduction aux dictionnaires
- 2. Se doter d’une fonction print pour les structurescomplexes via pprint
- 3. Manipulation des dictionnaires
- 1. Création de classes et d’objets
- 2. Création de classe et notion d’encapsulation
- 3. Les méthodes spéciales
- 4. Les décorateurs
- a. Le décorateur méthodes de classespour créer des bibliothèques de fonctions
- b. Le décorateur "property" pour simplifierl’appel des "getters"
- a. Passage d’arguments par position ou par nom(arg et kwargs)
- b. Création du décorateur @singleton
Développement, savoir-faire complémentaires
- Introduction
- Manipulation de données avec Pandas
- 1. Introduction à Pandas
- 2. Lecture d’un fichier csv et transformationvia Pandas
- 3. Pandas et SQL
- Valider et affecter des types simples en toute sécurité
- Gestion des exceptions, en bref
- Tri récursif d’un vecteur de données (liste)
- Gérer les dates de façon normalisée et efficace, datetime & pytz
- Un programme utilisable en ligne de commande
Documenter tous les aspects d’un projet : check-list
- Introduction
- Principales caractéristiques de la documentation d’un projet informatique
- Documentation des enjeux et des modes de gestion du projet
- 1. Besoins motivant la création du projet
- 2. Champ d’application et situation
- a. Définition du problème
- b. Positionnement du produit ou de la solution
- c. Contexte
- 3. Définition et objectifs
- 4. Décrire un ou plusieurs scénario(s)pour le projet
- 5. Trajectoire du projet
- 6. Calendrier global du projet
- 7. Bénéfices attendus
- 8. Évaluation des coûts
- 9. Planifier et budgétiser le sous-projet informatique
- 10. Gestion des risques
- 11. Qualité de projet
- 12. Plan de communication
- a. Communication initiale
- b. Communication pendant le projet
- c. Go !
- 1. Personnalisation de l’architecture globale
- 2. Portée de l’architecture globale
- a. Définitions, acronymes et abréviations
- b. Synthèse pour les non-techniciens
- a. Introduction
- b. Contexte métier
- c. Processus métier
- d. Événements métier
- e. Impacts métier
- a. Composition des fonctions/services
- b. Fonctionnalités et cas d’utilisationles plus importants
- c. Communication et interactions fonctionnelles
- d. Impacts fonctionnels
- e. Traçabilité métier
- f. Modèle de données ou modèlesémantique (ontologie)
- g. Cycles de vie des objets
- h. Données de référence
- i. Traçabilité fonctionnelle
- j. Conformité à l’architectured’entreprise
- a. Composition de l’application
- b. Dépendances d’Application
- c. Services d’Applications
- d. Flux et interactions des applications
- e. Impacts sur une application existante
- f. Traçabilité fonctionnelle
- g. Bases de données et nomenclatures de référence
- h. Conformité à l’architecturegénérale de l’entreprise
- a. Taille et performances
- b. Autres exigences et contraintes
- a. Composition Technique
- b. Réutilisation
- c. Traçabilité de l’Application
- a. Déploiement Géographique
- b. Infrastructure
- c. Contraintes Opérationnelles
- a. Conformité aux Normes et Standards
- b. Conformité de l’Architecture Fonctionnelled’entreprise
- c. Risques IT, analyse en profondeur
Aide-mémoire
- Introduction
- Aide-mémoire : directives et commandes assembleur
- 1. Directives assembleur
- a. SECTION
- b. EXTERN
- c. EQU
- d. DB
- e. DW
- 1. Directives assembleur
- 2. Commandes assembleur
- a. MOV
- b. ADD
- c. SUB
- d. CMP
- e. JMP
- f. CALL
- 1. Afficher les informations de base sur un fichier
- 2. Gestion des fichiers et des répertoires
- 3. Transfert de fichiers entre HDFS et le systèmede fichiers local
- 1. Clause WHERE - utilisation avec SELECT/UPDATE/DELETE/INSERT
- a. SELECT avec WHERE
- b. UPDATE avec WHERE
- c. DELETE avec WHERE
- d. INSERT avec WHERE
- e. SELECT DISTINCT avec WHERE
- a. Jointure interne (INNER JOIN)
- b. Jointure externe (LEFT JOIN)
- 1. Initialisation d’un dépôtGit
- 2. Gestion des branches Git
- 3. Gestion des commits Git
- 4. Gestion des conflits de fusion
- 5. Gestion des tags Git
- 1. Gestion de fichiers
- 2. Gestion des processus
- 3. Gestion des utilisateurs
- 4. Gestion des paquets
- 5. Gestion des archives
- 1. Changer le propriétaire et le groupe d’unfichier
- 2. Modifier les permissions par défaut pourles nouveaux fichiers
- 3. Changer les permissions d’un fichier
- 4. Modifier l’heure de modification d’unfichier
- 1. Création d’une tâche cron
- 2. Syntaxe de la planification des tâches
- 3. Exemples de tâches cron
- 4. Gestion des erreurs
- 5. Sécurité
- 1. Afficher les informations d’interface réseau
- 2. Afficher les informations de routage
- 3. Afficher les informations DNS
- 4. Afficher les informations ARP
- 5. Afficher les informations de connexion réseau
- 1. Les bases
- 2. Les variables
- 3. Les conditions
- 4. Les boucles
- 5. Les fonctions
- 1. Démarrer, arrêter et redémarrerApache2
- 2. Gestion des fichiers de configuration
- 3. Gestion des hôtes virtuels
- 4. Gestion des journaux
- 5. Gestion de la sécurité
- 1. Configurer un pare-feu avec iptables
- 2. Configurer un pare-feu avec firewalld
- 3. Configurer un pare-feu avec ufw
- 4. Configurer un pare-feu avec nftables
- 5. Configurer un pare-feu avec Shorewall
- 1. Connexion à un serveur distant via SSH
- 2. Gestion des clés SSH
- 3. Configuration du serveur SSH
- 4. Gestion des sessions SSH
- 1. Création d’un certificat SSL autosigné
- 2. Création d’un certificat SSL signé parune autorité de certification
- 3. Conversion de formats de clés et de certificats
- 1. Démarrer un nouveau conteneur
- 2. Gérer les images Docker
- 3. Gérer les conteneurs Docker
- 4. Gérer les réseaux Docker
- 1. Créer un volume
- 2. Utiliser un volume
- 3. Copier des fichiers vers/depuis un volume
- 4. Sauvegarder/restaurer des volumes
- 5. Synchroniser des volumes entre les hôtes
- 1. Créer une image Docker
- 2. Créer un utilisateur non privilégié
- 3. Installer des dépendances
- 4. Utiliser des variables d’environnement
- 5. Utiliser des arguments de construction
- 1. Création d’un service
- 2. Lancement d’un service
- 3. Arrêt et suppression d’un service
- 4. Gestion des réseaux
- 5. Gestion des volumes
- 1. Création d’un DataFrame
- 2. Manipulation rapide d’un DataFrame
- 3. Indexation et sélection
- 4. Complément utile : Manipulationde chaînes de caractères (strings)
Annexes
- Bibliothèque d’algorithmes
- 1. Algorithmes à la mode ces dernièresannées
- 2. Algorithmes autour des graphes
- 3. Algorithmes qui ouvrent des perspectives
- Types MIME
- 1. Applications
- a. Applications génériques
- b. Applications bureautiques
- 1. Applications
- 2. Images
- 3. Multiparts
- 4. Texts
- 5. Vidéos
- 6. Syntaxe MIME, en bref
- 1. NameNodes, code en syntaxe PlantUML
- 2. Tableau de topologies, code en syntaxe PlantUML
- 3. Vocabulaire réseau, code en syntaxe PlantUML
- 4. Plan d’adressage IP et DMZ, code en pythonutilisant le package diagrams
- 5. Diagramme de séquence OAuth2, code en syntaxePlantUML
- 6. PDCA, roue de Deming, code en syntaxe GraphViz
- 7. Cas d’utilisation (use case), code en syntaxePlantUML
- 8. Diagramme de classes, code en syntaxe PlantUML
- 9. Symbolique SDL adaptée aux processus, codeen syntaxe PlantUML
- 10. Un algorithme c’est un chemin, code en syntaxePlantUML
Christian GOGLIN
Christian GOGLIN a travaillé près de 20 ans dans l'ingénierie puis le conseil en solutions logicielles de trading, valorisation de produits dérivés et gestion des risques bancaires. Par la suite, il obtient un Doctorat en finance comportementale primé par la FNEGE en 2018 pour son caractère transdisciplinaire. Il s'oriente alors vers l’enseignement et la recherche et occupe aujourd'hui le poste de Professeur Associé à l'ICD Business School Paris où il enseigne notamment l’algorithmique, l'Intelligence Artificielle et les Instruments Financiers. Il mène par ailleurs des travaux de recherche en éthique de l'Intelligence Artificielle et dirige le Centre d’Expertise en Data et IA (CEDIA) de l'ICD.
En savoir plusEva LAUDE
Eva LAUDE a dispensé de nombreuses formations sur le machine learning et les sciences de la donnée dans différents établissements supérieurs ou organismes privés. Elle a exercé des activités de conseil dans des secteurs variés (INSEE, entreprises de biotechnologies ou ESN) et participé à la revue académique "Management & Data Science". Geek et passionnée, elle s'exprime au travers d'une "stack" logicielle très étendue, dans des contextes de développement en Python ou R, et intervient dans des environnements Linux particulièrement sensibles en termes de disponibilité et de confidentialité.
En savoir plusHenri LAUDE
Henri LAUDE est un professionnel reconnu des Computer Sciences. Il a encadré de nombreux travaux de R&D sur les data sciences, l'IA, les Fintech, la détection de fraudes et le déploiement d’architectures Big Data. Il est co-fondateur d’Advanced Research Partners, où il anime la conception d'algorithmes très novateurs. Primé à plusieurs reprises pour ses solutions innovantes, comme au Data Intelligence Forum avec une IA spécialisée dans l’intelligence économique nommée DxM (pour Deus eX Machina), il intervient sur des projets aussi variés que l’élaboration d’un exosquelette intelligent ou les IA de cyber protection.
En savoir plus