03 20 61 95 06

Formation CI/CD PHP/JavaScript avec Jenkins, Docker, Ansible et JMeter


  • 2B-CICD
  • Durée : 4 jours
  • Tarif : 2570€ HT
97%

Taux de satisfaction clients
(sur 1940 évaluations du 19/05/21 au 07/10/26)

Voir les avis

Objectifs

A l’issue de la formation le participant sera capable de :
Conteneuriser une application PHP/JavaScript avec Docker et Docker Compose.

Configurer Jenkins et créer des pipelines CI/CD déclaratifs.
Automatiser l’exécution des tests unitaires et leur intégration dans les pipelines Jenkins.
Déployer des applications avec Ansible en utilisant des playbooks, rôles et templates.
Sécuriser les déploiements grâce à la gestion des identifiants et des secrets.
Concevoir et exécuter des tests de performance avec Apache JMeter.
Intégrer des contrôles de qualité et de performance pour bloquer les déploiements non conformes.
Mettre en œuvre une chaîne CI/CD complète, du dépôt GitLab jusqu’au déploiement en production.
Fil rouge : Application TaskApp (API PHP natif + front JS/Nginx + MySQL). Dépôt GitLab, VMs ci / staging / prod.

Prérequis

Posséder des connaissances de base en développement PHP et JavaScript.

Maîtriser les fondamentaux de Git et les commandes courantes sous Linux.
Avoir des notions de base en administration système, réseaux et déploiement d’applications.
Une première expérience de Docker ou des outils CI/CD est un plus, mais n’est pas obligatoire.
Un entretien en amont avec notre expert permet de prendre en compte le profil de chaque participant (niveau, objectifs et résultats attendus, contexte professionnel, enjeux…) et d’adapter le contenu de la formation si besoin. Cette formation ne peut être financée que dans le cadre d’un projet d’entreprise (prise en charge entreprise ou OPCO). Les dossiers à financement personnel et CPF ne sont pas pris en compte.

Public

Professionnels de l’informatique

Dernière mise à jour

Programme mis à jour le 21 octobre 2026
enveloppe Cette formation vous intéresse ? Contactez-nous
Bon à savoir
Evaluez votre niveau
Pour vous aider à bien choisir votre formation, nous vous proposons soit un entretien avec le formateur soit un test d’évaluation. Cela vous assurera que vous disposez des connaissances nécessaires pour suivre la formation dans des conditions optimales.
Sessions garanties

La majorité de nos sessions proposées en distanciel sont garanties. Elles peuvent être enregistrées à la demande.

Travaux pratiques
Nos formations comprennent de nombreux travaux pratiques pour un meilleur apprentissage (60 % de pratique). Nous proposons également de travailler sur vos données pour une meilleure expérience.
Nos prestations
Nous réalisons certaines prestations IT pour vous : développement sur-mesure, refonte logicielle, TMA, interfaçage ERP.
modules

Les Modules
de formation

Module1
Découverte du projet

• Architecture cible : Git → Jenkins → tests unitaires → Ansible → staging → JMeter → prod

• Parcours du dépôt, rappel Git, accès aux VMs
• Diagnostic Docker pratique
• Validation : dépôt cloné, accès vérifiés
Module2
Conteneuriser l'application avec Docker

• Image, conteneur, couches, cycle de vie

• Dockerfile back (php:8.x-apache + PDO), front (nginx + proxy /api/), MySQL + init.sql
• Réseaux, volumes, .env
• Docker Compose, healthcheck, depends_on
• Diagnostic : logs, exec, inspect, prune
• Validation : docker compose up donne une application fonctionnelle, avec des données persistantes
Module3
Jenkins et intégration des tests unitaires

• Introduction à Jenkins : controller / agents, plugins, credentials

• Micro-exercice : pipeline « hello »
• Jenkinsfile déclaratif : agent, stages, environment, parameters, post
• Pipeline from SCM
• Tests unitaires (fournis) : 
o rôle des tests dans la CI
o lecture d’un test PHPUnit
o exécution dans un conteneur (phpunit.phar, sans Composer)
o publication junit, build rouge si un test échoue
• Déclenchement : 
o par push : pollSCM
o par Merge Request : Multibranch Pipeline, scan périodique, when { branch }
• Validation : un push et une MR déclenchent le pipeline, un test cassé rend le build rouge
Module4
Infrastructure et déploiement avec Ansible

• Agentless, inventaire (staging / prod, group_vars), ad hoc

• Playbooks : modules, variables, when, loop, handlers
• Templates Jinja2, paramétrage par environnement
• Rôles : ansible-galaxy init, structure
• Ansible Vault : secrets de la base
• Projet : 
o rôle docker
o rôle taskapp : sources, .env et compose.yml en templates, docker compose up –build, smoke test uri
o playbook deploy.yml
• Validation : déploiement sur staging et prod en ligne de commande, idempotence vérifiée, aucun secret en clair
Module5
Tests de performance avec JMeter

• Notions : charge, montée en charge, temps de réponse, débit, taux d’erreur, percentiles

• Plan de test : 
o Thread Group
o HTTP Request Sampler, HTTP Request Defaults, Header Manager
o CSV Data Set
• Assertions : Response Assertion, Duration Assertion
• Paramétrage : ${__P(host)}, ${__P(users)}
• Exécution : 
o en CLI avec l’image Docker JMeter : -n -t plan.jmx -l results.jtl -e -o report/
o lecture du rapport HTML
• Projet : scénario TaskApp (consultation + création de tâches) exécuté contre staging
• Validation : .jmx versionné, rapport généré et interprété
Module6
Pipeline complet : déploiement et porte de performance

• Credentials Jenkins : clé SSH, mot de passe Vault

• Stage Deploy staging : Ansible depuis Jenkins, sur develop
• Stage Performance : 
o JMeter en conteneur contre staging
o rapport HTML archivé (archiveArtifacts / HTML Publisher)
o échec si les seuils sont dépassés
• Stage Deploy prod : sur main, approbation input, seulement si les stages précédents ont réussi
• Démonstration finale : MR → tests → merge → staging → JMeter → prod, plus une régression de performance volontaire bloquée par le pipeline
• Validation : chaîne complète fonctionnelle

Cette formation vous intéresse ? Contactez-nous !

    Les données personnelles collectées sont destinées à Access IT Company...