Pré-requis : Notions d'administration systèmes
Objectifs : Comprendre les principes DevOps - Mettre en place une solution de configuration logicielle basée sur Git - Gérer les versions des projets du dépôt de données - Mettre en œuvre et exploiter un serveur d'inte?gration continue - Ge?rer les interconnexions avec un syste?me de build et de tests
Sanction : Attestation de fin de formation mentionnant le résultat des acquis
Taux de retour à l’emploi : Aucune donnée disponible
Référence : PHP101039-F
Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins
Contact : commercial@dawan.fr
2 975,00 € HT
Le manifeste Agile
De la vision à la livraison, la
chronologie du projet
Le système sensoriel pour suivre
l’évolution du projet
La planification et la gestion de
l’inconnu
Le rythme : travailler de façon itérative
La
mutation : amélioration progressive et continue du projet et
des process
Quelques principes : KISS, YAGNI, empirisme,
transparence, …
Le Lean Management : objectif, principes
Kanban :
principe, avantage, cycle de vie d'une étiquette
Pratiques XP
(eXtreme Programming)
Le cadre Scrum, distribution des
rôles
Time boxes : Sprint planning, Sprint Review, Sprint
Retrospective, Daily Scrum
Artéfacts : Product Backlog,
Sprint Backlog, Burndown chart
Principes de gestion de contrôle de source (SCM)
Historique,
contrôle local, centralisé et distribué
Fonctionnement des
instantanées, comparaison avec les différences
Installation
(Linux, MacOS, Windows)
Accès au manuel : man /
help
Configuration initiale de Git : préférences, profil
utilisateur
Initialisation d’un dépôt local
Atelier : Installation de Git - Création d'un projet
Concepts, de répertoire de travail, index et dépôt
Vérifier
l’état de la copie de travail : status
Indexer ses
modifications : add
Ignorer des fichier :
.gitignore
Valider ses modifications : commit
Supprimer
et déplacer des fichiers
Atelier : contributions et validations
Visualiser les modifications : log
Personnaliser le
format : stat, pretty, …
Filtrer par date , auteur,
message de commit, contenu modifié, ...
Visualiser et exporter
une différence (format natif, outil externe)
Étiqueter ses
validations : étiquettes légères et annotées
Rechercher
avec git-grep
Réécrire la dernière validation
Désindexer un
fichier
Réinitialiser un fichier
Principe de branche, le pointeur HEAD
Créer une
branche
Basculer entre les branches, le mode détaché
Fusionner
les branches : avance-rapide, trois sources
Gérer les
conflits de fusion
Outil de fusion externe : mergetool
(emerge, vimdiff, meld, …)
Visualiser les branches existantes,
celles qui ont été fusionnées
Supprimer une
branche
Stratégies de gestion de branches : branche
longue, thématique, …
Dépôt distant, branches distantes, suivi de branche
Afficher
et inspecter les dépôts distants
Ajouter, renommer, retirer
ses dépôts distants
Tirer, pousser et supprimer une branche
distante
Mise en garde : les dangers de la réécriture
Rebaser
une portion de branche
Quand rebaser et quand fusionner
Remiser son travail en cours
Créer une branche depuis une
remise
Nettoyer son répertoire de travail
Configurer éditeur par défaut, exclusions automatiques,
...
Création et utilisation d’alias
Outils graphiques :
Git-Gui, GitKraken, SmartGit, ...
Créer des filtres :
smudge et clean
Crochets côté client : pre-commit,
pre-rebase, post-rewrite…
Crochets côté serveur :
pre-receive, update, post-receive
Principe des sous-modules
Déclarer, tirer et mettre à jour
un sous-module
Modifier et gérer les conflits sur une
bibliothèque externe
Problèmes des sous-modules
Les protocoles : local, HTTP, SSH, Git
Création d’un
dépôt nu, comptes utilisateurs
Utilisateur git unique, clés
SSH et git-shell
Démon Git
Atelier : Mise en place d’un serveur Git
Les différentes formes de virtualisation et leur
concept
Présentation des avantages et des cas d'utilisation des
conteneurs
Présentation de Docker et de son architecture
Processus de développement, d'intégration et de
déploiement
Intégration continue : présentation,
positionnement dans une démarche agile
Gestion des
environnements : développement, recette, production
Panorama
outils de gestion : versionning, build, tests, qualité
Présentation
d'outils d'intégration continue : Jenkins, GitLab-CI, Bamboo, …
Atelier : Publier un projet PHP sur une plateforme d’intégration continue
Chargement d’une image Docker PHP CLI
Mise en place du
pipeline : les stages et les jobs
Exécution du pipeline et
visualisation de la sortie
Configurer les dépendances entre
jobs
Gérer le déclenchement de l’intégration suivant les
branches ou tags
Atelier : Configurer et lancer l’intégration
Outils de qualité, types et intérêts
Analyse à froid :
php_cs_fixer, PHP_CodeSniffer
Panorama des types tests :
unitaires, fonctionnels, e2e
Stratégies des tests, TDD, BDD,
StoryBDD, non-régression
Ce qu’il faut et ne faut pas tester
Atelier : Mettre en place un contrôle de convention d’écriture
Présentation de PHPUnit
Classes et méthodes de tests,
assertion
Provisionner en données : fixtures
Les
doublures : bouchons, mock
Les résultats : succès,
échec, erreur, risqué, incomplet
Atelier : Mettre en place des tests automatisés, contrôler les scénarios
Présentation du mouvement DevOps
Valeurs DevOps: Culture,
Automatisation, Lean, Mesure, Partage
Culture DevOps :
présentation, caractéristiques, mise en place
Principe
d’infrastructure as code
Présentation d’Ansible
Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.
Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 09 72 37 73 73 (prix d'un appel local) ou depuis notre formulaire de contact.
Bât Ravezies - 2e étage 250 avenue Emile Counord
33300 Bordeaux
Liaison directe de la gare Bordeaux Saint-Jean via le tram C
32 Boulevard Vincent Gâche
44000 Nantes
46 rue des Canonniers - 2è étage
59800 Lille
Proche des deux gares
62 rue de Bonnel - 1er étage Ascenseur à droite de l'entrée
69003 Lyon
38/40 rue de la République Escalier A, 1er étage
13001 Marseille
A proximité du vieux port
26 Allée de Mycènes Le Thèbes, Bât. A, 3è étage
34000 Montpellier
Quartier Antigone
32 Boulevard Vincent Gâche 5 ème étage
44200 Nantes
455 promenade des Anglais Bât Arenice, 7è étage
06200 Nice
11 rue Antoine Bourdelle
75015 Paris
dans le 15e arrondissement
3 place du Général Giraud
35000 Rennes
4 rue de Sarrelouis - 4è étage
67000 Strasbourg
1 place Occitane Bât. Le Sully - 4è étage
31000 Toulouse
Proche de Jean-Jaurès et du Capitole