Objectifs de la formation

  • Réaliser un produit logiciel en suivant une approche agile.
  • Expérimenter l’approche DevOps en pratique et observer ses bénéfices pour toutes les parties prenantes d’un projet de développement logiciel.
  • Comprendre le processus CI/CD (Intégration Continue /Déploiement Continu), la conteneurisation et l’IaC (Infrastructure as code).

Description générale

Le mouvement DevOps a pour objectif de repenser le processus de développement et de livraison des logiciels pour satisfaire les exigences d’un marché en constante évolution.  L’idée fondatrice du mouvement DevOps est de mettre fin au cloisonnement entre les équipes de développement (dev) en charge du développement du logiciel et les équipes d’opérationnalisation (ops) en charge de l’exploitation et de la mise en production. Les développeurs sont contraints de livrer le plus rapidement possible en développant/modifiant des briques du logiciel, alors que les opérateurs ont pour mission d’assurer la stabilité du logiciel une fois mis en production. DevOps privilégie alors une culture de collaboration entre ces deux équipes en proposant une démarche unifiée selon une approche agile, faisant appel à une panoplie d’outils pour maitriser le processus de construction du logiciel et assurer un passage sécuritaire d’une phase à l’autre, réduisant ainsi le cloisonnement entre les Devs & Ops.

A l’issue de la formation, vous développerez un socle de connaissances très prisées vous permettant de vous ouvrir à un champ d’opportunités nouvelles et accéder à une large palette de métiers tels que : ingénieur DevOps, Ingénieur Automatisation, Ingénieur Production, Testeur, etc.

Population cible

La formation s’adresse à tout public.

Si vous êtes susceptible d’intervenir dans un projet de développement logiciel en entreprise ou en recherche, ou si vous désirez tout simplement développer des compétences pour s’ouvrir sur de nouvelles opportunités.

Organisation

La formation en DevOps est de courte durée organisée par l’Ecole des Sciences de l’Information(ESI). Elle est organisée en temps aménagé.

  • Lieu : Ecole des sciences de l’information (ESI) ou en ligne.
  • Date : Ouverture sur demande, minimum 6 personnes
  • Volume horaire: 40h
  • Intervenant : Hnida Meriem
  • Coût :

Conditions d’admission et prérequis

Pour suivre et profiter pleinement de cette formation, il est recommandé d’avoir des connaissances de base en développement informatique.

Attestation

Les personnes ayant suivi le module de formation DevOps reçoivent une attestation de suivi d’études de ce module de la part de l’Ecole des Sciences de l’Information.

Plan de formation

Approche DevOps

  1. Méthodologie agile
  2. Intégration continue / Livraison Continue / Déploiement Continu
  3. Devs VS Ops
  4. Processus DEVOPS
  5. L’usine logicielle

Automatisation

  1. Démarrer rapidement une application (Microservice, Java, JEE, Spring Boot, etc) avec Maven.
  2. Récupérer des plugins depuis: https://mvnrepository.com/
  3. Construire, tester, mettre en paquet des artefacts logiciels (exécutables, tests, documentations, archives, etc.).
  4. Générer la documentation technique du projet

Livraison continue

  1. Conception de worflow de build (pipeline de build)
  2. Automatisation de la construction du projet logiciel depuis la scrutation de github jusqu’à la génération d’archives déployables du projet.
  3. Archivage du projet dans nexus ou artifactory

Atelier Développement Collaboratif

  1. Installation d’un outil de gestion de versions (SVN, GIT ou Mercurial).
  2. Création d’un dépôt sur GitHub, Bitbucket, Gitlab.
  3. Synchronisation du projet avec le dépôt.
  4. Récupérer le projet de mon équipe , le modifier et envoyer les changements.
  5. Maîtriser la différence entre Push, Pull, Commit et Update, etc.
  6. Maintenir plusieurs environnements  (développement  ,test, production) en utilisant des branches.

Intégration continue

  1. Découvrir le serveur d’intégration continue
  2. Créer un Job de compilation d’une application.
  3. Lancer un build manuellement Vs automatique (périodique).
  4. Envoyer une notification par mail à l’équipe de développement en cas d’instabilité ou d’erreur du build.
  5. Générer des rapports de tests avec Junit.
  6. Lier le serveur d’Intégration Continue avec un dépôt Github.
  7. Scrutation automatique du dépôt, exécution automatisée des tests et génération des différents rapports et paquetage du projet en cas de succès

Déploiement Continu

  1. Installation et configuration de Docker
  2. Déployer le projet sous forme d’une image Docker
  3. Publication de l’image dans le dépôt Docker Hub.
  4. Tester une image docker.
  5. Création d’une pipeline DevOps de bout en bout.