1. Presentez les objectifs principaux de lapproche DevOps.
Quels problemes cherche-t-elle a
resoudre ?
L'approche DevOps vise a ameliorer la collaboration entre les equipes de developpement et d'exploitation.
Elle permet de livrer plus rapidement des logiciels de qualite, tout en reduisant les erreurs et les temps
d'arret. DevOps cherche a eliminer les silos, automatiser les processus (CI/CD), et assurer une livraison
continue.
2. Quest-ce que lintegration continue (CI) ? Expliquez son role dans un pipeline DevOps.
L'integration continue (CI) consiste a integrer regulierement le code developpe dans un depot partage. Elle
permet de detecter rapidement les erreurs grace a des tests automatises. Dans un pipeline DevOps, CI
declenche la construction et les tests des quun developpeur pousse du code.
3. Citez quatre outils frequemment utilises dans un environnement DevOps et precisez le role de
chacun.
- Jenkins : automatisation des builds/test/deploy
- Docker : conteneurisation des applications
- Kubernetes : orchestration des conteneurs
- Git : gestion du code source et du versionnement
1. Pourquoi Git est-il considere comme un outil de gestion de version distribue ?
Parce que chaque developpeur possede une copie complete du depot en local, incluant lhistorique complet.
Cela permet de travailler hors-ligne, dameliorer la securite et la rapidite des operations.
2. Donnez la difference entre git add, git commit et git push.
- git add : ajoute les fichiers modifies a lindex (zone de preparation)
- git commit : enregistre les modifications ajoutees dans lhistorique local
- git push : envoie les commits locaux vers le depot distant
3. Quelle commande permet de changer de branche ? Donnez un exemple concret.
Commande : git checkout <nom-branche> ou git switch <nom-branche>
Exemple : git switch develop
4. Comment creer une branche a partir dune autre dans Git, et pourquoi est-ce utile dans une equipe
Commande : git branch nom-branche
Utile pour permettre a chaque developpeur de travailler sur une fonctionnalite sans impacter le code
principal.
5. Decrivez les etapes generales pour resoudre un conflit de fusion dans Git.
1. Identifier les fichiers en conflit
2. Modifier les fichiers pour resoudre les conflits
3. Ajouter les fichiers resolus (git add)
4. Valider la resolution (git commit)
6. Quelle difference y a-t-il entre un commit local et un commit synchronise avec un depot distant ?
Un commit local est enregistre sur la machine du developpeur, alors quun commit synchronise (push) est
envoye sur le depot distant.
7. Expliquez dans quels cas vous preferez git merge ou git rebase.
- git merge : pour garder lhistorique des branches (collaboration)
- git rebase : pour obtenir un historique lineaire (meilleure lisibilite)
8. Que signifie le terme 'historique lineaire' dans Git ? Quelle commande permet de le maintenir ?
Un historique sans branches paralleles visibles. On peut le maintenir avec : git rebase au lieu de git merge.