OBJECTIFS
Ce parcours de formation très pratique permettra aux candidats d’apprendre le métier d’intégrateur DevOps. Ils apprendront les fondamentaux des langages Python et Perl, les bases d’un système Linux ainsi que la méthode et l’organisation DevOps. Ils verront également comment déployer et administrer les applications avec Java/JEE, l’intégration continue, le contrôle des versions avec Git et bien d’autres sujets.
PROGRAMME
>
Comprendre l'informatique
>
Développement Python/langage Perl
-
La syntaxe du langage Python.
-
La programmation objet en Python.
-
La programmation orientée objet avancée.
-
Le déploiement et la qualité.
-
Les expressions régulières.
-
Les fonctions, les procédures et les modules.
-
La gestion des fichiers et des répertoires.
Travaux pratiques
Installation et prise en main de l'interpréteur Python. Pratique des différents concepts objet au travers de l'implantation de l'étude de cas. Installation de l'interpréteur Perl. Manipulation du langage à travers l'écriture de différents programmes.
>
Linux, mise en œuvre
-
Qu'est-ce que Linux ?
-
Le démarrage d'un système Linux.
-
L'environnement de travail.
-
L'environnement graphique.
-
Gestion des fichiers.
-
Gérer les processus.
-
Linux en réseau et cohabitation avec Windows.
-
Installer Linux.
-
Compléments d'administration.
Travaux pratiques
Travaux pratiques. Le démarrage commenté d'un système Linux en mode "pas à pas". Personnalisation de son environnement de travail (prompt, alias, PATH, .bashrc...). Mise en œuvre de liens symboliques pertinents. Accéder à des partages de données distants.
>
Java/JEE/intégration continue
-
Introduction au langage et à la plateforme.
-
Une plateforme, différentes architectures.
-
Le packaging des applications et l'intégration.
-
Le déploiement d'applications JEE.
-
Monitoring d'applications JEE.
-
La performance des applications JEE.
-
La gestion des versions.
-
L’automatisation des tests.
-
Le serveur d'intégration continue.
Travaux pratiques
Manipulation d'un dépôt Git. Mise en place de la construction d'un projet simple (Maven).Publication d'artefacts dans Nexus. Mise en place de tests automatisés avec JUnit. Configuration du projet sur un serveur d'intégration continue Jenkins. Mise en place des outils de métriques.
>
Le contrôle des versions avec le système Git
-
Les concepts de base du contrôle de version.
-
Le système GIT.
-
La gestion locale des fichiers.
-
La gestion des branches.
Travaux pratiques
Installation et configuration de GIT sous Windows. Création et initialisation d’un dépôt. Utilisation de l’outil de visualisation Gitk.
>
Maven, gérer le cycle de vie d'un projet
-
Mise en place d'un premier projet Maven.
-
Les dépendances.
-
Les repositories.
-
Utilisation courante.
-
Génération d'un site Maven.
-
Les rapports Maven.
-
Intégration continue.
Exercice
Installation de Maven et création d'un premier projet Maven. Paramétrage de dépendances simples et transitives. Migration d'un projet non structuré vers Maven. Paramétrage de dépendances et de "repositories". Configuration du cycle de vie complet d'un projet. Génération d'un site personnalisé.
>
Jenkins, mettre en place l'intégration continue en Java
-
Mise en place et automatisation du Build.
-
La qualité du code.
-
L’automatisation des tests.
-
L’automatisation du déploiement.
-
L’administration d'un serveur Jenkins.
Exercice
Création et configuration d'un Projet Maven Jenkins basé sur un repo Git. Adaptation du projet Jenkins pour inclure les outils d'analyse de qualité de code et suivi de la qualité dans le temps. Adaptation du projet Jenkins pour inclure JUnit et suivi des tests de performance avec JMeter.
>
DevOps, méthode et organisation
-
DevOps : les fondamentaux.
-
Culture/partage : de la coordination à l'intelligence collective.
-
L’automatisation. Dégager de la valeur sur la chaîne de production logicielle.
-
Mesure : collecter du feedback et s'améliorer en continu.
Travaux pratiques
Ateliers collaboratifs pour mettre en pratique l'auto-gouvernance, établir les bases d'une communication efficace et développer l'intelligence collective. Définir un "Backlog DevOps" permettant de construire une chaîne de déploiement continu. Priorisation et définition du plan d'itérations.
>
Docker/Chef
-
De la virtualisation à Docker.
-
Présentation de Docker.
-
Mise en œuvre en ligne de commande.
-
Création de conteneur personnalisé.
-
Principe de fonctionnement
-
Le serveur et client Chef.
-
Les nodes, ressources et recettes.
Travaux pratiques
Créer une machine virtuelle pour réaliser un maquettage. Configurer un conteneur en ligne de commande. Installer et configurer Chef Server. Déployer, configurer et manipuler le client Chef. Manipuler les variables.
>
Ansible et Puppet
-
Positionnement d’Ansible.
-
Installation et configuration.
-
Les commandes Ad Hoc.
-
Prise en main du langage de Puppet.
-
Connecter des agents au Puppet master.
Travaux pratiques
Installation d'Ansible et configuration de plusieurs nœuds clients, création de l'inventaire et utilisation des premières commandes. Installation et configuration initiale des outils. Prise en main de l'environnement. Gérer les utilisateurs et les groupes.
PARTICIPANTS
Toute personne souhaitant devenir intégrateur DevOps.
PRÉ-REQUIS
Être attiré par les nouvelles technologies. Être titulaire d’un diplôme de niveau BAC+3/5 de filière scientifique (mathématiques, physique, biologie, chimie, électronique…) ou informatique.
VALIDATION DES ACQUIS
Les apprenants réaliseront un projet de fin de parcours
qu’ils présenteront lors d’une soutenance. Cette dernière
étape permettra d’évaluer les connaissances acquise
tout au long du parcours.
POSTULER