Vous êtes sur la page 1sur 6

Quiz (Questions Multichoix)

Partie5 : DevOps/ CI-CD avec GitLab


Cochez la bonne réponse :
DevOps :
Q1 :
Quelle est la principale philosophie de DevOps ?
a) Automatiser tous les processus de développement
b) Faciliter la communication et la collaboration entre les équipes de développement et d'opérations
c) Supprimer les équipes d'exploitation pour accélérer le processus de développement
d) Éliminer complètement les processus manuels

Q2 :
Qu'est-ce que l'intégration continue (CI) dans le contexte DevOps ?
a) Une pratique qui consiste à tester manuellement chaque modification de code
b) Une pratique qui consiste à fusionner fréquemment le code dans un référentiel partagé
c) Une pratique qui consiste à déployer directement le code sur des serveurs de production
d) Une pratique qui consiste à ne pas effectuer de tests automatisés

Q3 :
Quel est l'objectif principal du déploiement continu (CD) dans le contexte DevOps ?
a) Accélérer la compilation du code source
b) Éviter tout changement dans l'environnement de production
c) Automatiser le déploiement fréquent et fiable du code en production
d) Diminuer la taille des équipes de développement

Q4 :
Qu'est-ce qu'une "Pipeline" dans DevOps ?
a) Une méthode pour organiser des réunions entre les équipes de développement
b) Un processus automatisé de livraison continue
c) Un outil de suivi des bogues (bugs) et des problèmes
d) Une méthode pour créer des diagrammes d'architecture logicielle

Q5 :
Qu'est-ce que l'infrastructure as code (IaC) dans DevOps ?
a) Une approche pour écrire du code source sans commentaires
b) Une pratique pour automatiser la gestion de l'infrastructure via des scripts et du code
c) Un processus pour supprimer toutes les infrastructures existantes
d) Une méthode pour écrire des documents de conception d'infrastructure

Q6 :
Quel est le rôle d'un "Chef DevOps" dans une équipe ?
a) Écrire du code pour les nouvelles fonctionnalités
b) Gérer et automatiser les processus de déploiement et d'infrastructure
c) Superviser les tests de sécurité du code source
d) Assurer la conformité aux normes de développement

Q7 :
Quel est l'avantage principal de l'automatisation des tests dans le cadre de DevOps ?
a) Réduire les coûts de développement
b) Améliorer la qualité du code et réduire les erreurs
c) Accélérer la compilation du code source
d) Faciliter la communication entre les équipes

Q8 :
Comment la pratique de "Monitoring" (surveillance) contribue-t-elle à DevOps ?
a) En assurant la sécurité physique des serveurs
b) En identifiant et en résolvant rapidement les problèmes dans les applications et l'infrastructure
c) En automatisant la gestion des identifiants
d) En optimisant les performances du code source
Q9 :
Quel est l'objectif de la pratique "Feedback Loop" (boucle de rétroaction) dans DevOps ?
a) Obtenir des retours des utilisateurs finaux sur l'apparence de l'interface utilisateur
b) Améliorer continuellement les processus de développement grâce aux retours d'expérience
c) Fournir des rapports détaillés sur les performances du code
d) Contrôler les modifications de code via des validations

Q10 :
Comment les microservices s'intègrent-ils dans l'écosystème DevOps ?
a) En favorisant une approche de développement orientée objets
b) En favorisant une architecture modulaire favorisant le déploiement continu
c) En limitant le nombre d'utilisateurs autorisés à accéder au code source
d) En rendant le code source plus complexe et difficile à gérer

Q11 :
Quels sont les principaux piliers de la culture DevOps ?
a) Planification, exécution, déploiement
b) Collaboration, automatisation, mesure
c) Développement, test, maintenance
d) Design, implémentation, intégration

Q12 :
Quel est le rôle d'un outil de gestion de configuration dans l'environnement DevOps ?
a) Gérer les modifications apportées au code source
b) Automatiser la compilation du code
c) Gérer les déploiements sur les serveurs de production
d) Contrôler la vitesse de connexion à Internet

Q13 :
Quelle est la différence principale entre Docker et une machine virtuelle traditionnelle ?
a) Docker utilise une architecture matérielle différente
b) Docker virtualise le système d'exploitation, tandis qu'une machine virtuelle virtualise le matériel
c) Docker fonctionne uniquement sur des serveurs physiques spécifiques
d) Docker ne peut pas exécuter plusieurs applications simultanément

Q14 :
Quel est l'objectif principal du principe "Fail Fast" (Échouer rapidement) en DevOps ?
a) Minimiser les échecs dans le processus de développement
b) Détecter les erreurs le plus tôt possible pour pouvoir les corriger rapidement
c) Désactiver les fonctionnalités potentiellement instables
d) Réduire la vitesse de déploiement des applications

Q15 :
Comment la pratique de "Containerization" (conteneurisation) s'aligne-t-elle avec les objectifs de DevOps ?
a) En rendant le code source plus difficile à déployer
b) En créant des environnements isolés et portables pour les applications
c) En augmentant la dépendance entre les différentes parties du code
d) En rendant les processus de développement plus lents et moins flexibles

CI/CD :
Q1 :
Qu'est-ce que l'intégration continue (CI) ?
a) Une pratique pour fusionner le code une fois par semaine
b) Une approche pour valider et fusionner fréquemment les modifications de code dans un référentiel partagé
c) Un processus manuel pour tester le code uniquement en fin de cycle de développement
d) Un processus pour réviser le code avant son déploiement en production

Q2 :
Quel est l'objectif principal du déploiement continu (CD) ?
a) Automatiser la compilation du code source
b) Réduire la vitesse de déploiement des applications
c) Automatiser et rendre fiable le processus de déploiement des applications en production
d) Automatiser uniquement la gestion des tests unitaires

Q3 :
Quels sont les avantages de l'intégration continue (CI) ?
a) Détecter les conflits de code plus tard dans le cycle de développement
b) Réduire les tests manuels en fin de cycle
c) Identifier et corriger rapidement les problèmes d'intégration
d) Accélérer le développement en ignorant les tests unitaires

Q4 :
Quel est le rôle principal des "Pipelines CI/CD" ?
a) Gérer les conflits de code
b) Automatiser et orchestrer les processus de construction, de test et de déploiement
c) Fournir un espace pour stocker les versions précédentes du code
d) Superviser les performances des serveurs de développement

Q5 :
Quels sont les outils couramment utilisés pour la mise en œuvre de l'intégration continue (CI) ?
a) Jenkins, GitLab CI/CD, Travis CI
b) Photoshop, Illustrator, InDesign
c) Word, Excel, PowerPoint
d) Windows, Linux, macOS

Q6 :
Quelle est la différence entre l'intégration continue (CI) et le déploiement continu (CD) ?
a) CI est responsable de la livraison du code, tandis que CD se concentre sur les tests
b) CI se concentre sur l'intégration des développeurs, tandis que CD gère le déploiement en production
c) CI se concentre sur l'automatisation des tests, tandis que CD gère la compilation du code
d) CI est responsable de l'automatisation des tests et de l'intégration fréquente, tandis que CD gère l'automatisation du
déploiement

Q7 :
Qu'est-ce que la "Deployment Pipeline" (pipeline de déploiement) dans le contexte du déploiement continu (CD) ?
a) Une liste de contrôle manuelle pour valider les modifications du code
b) Un processus manuel pour compiler le code avant le déploiement
c) Un processus automatisé de gestion des étapes de déploiement du code
d) Une méthode pour stocker plusieurs versions du code source

Q8 :
Pourquoi l'automatisation est-elle essentielle dans le contexte de l'intégration continue (CI) et du déploiement continu (CD) ?
a) Pour rendre le processus de développement plus compliqué
b) Pour réduire les coûts de développement
c) Pour améliorer la cohérence, la rapidité et la fiabilité des déploiements
d) Pour augmenter le nombre de processus manuels

Q9 :
Qu'est-ce que le "Rollback" dans le contexte du déploiement continu (CD) ?
a) Une méthode pour arrêter complètement le déploiement d'une nouvelle version
b) Un processus pour revenir à une version précédente du logiciel en cas d'échec du déploiement
c) Une fonctionnalité pour accélérer le déploiement d'une nouvelle version
d) Une mesure pour évaluer le succès du déploiement

Q10 :
Qu'est-ce qu'un "Artifact" dans le processus de CI/CD ?
a) Un élément visuel dans l'interface utilisateur d'une application
b) Un fichier ou un ensemble de fichiers générés par le processus de build et utilisé pour le déploiement
c) Un message d'erreur dans le code source
d) Une étape dans le pipeline de déploiement

Q11 :
Quel est l'objectif principal de la phase "Test" dans un pipeline CI/CD ?
a) Vérifier la conformité du code avec les normes de codage
b) Identifier les bogues et les problèmes de sécurité
c) Compiler le code source en un exécutable
d) Vérifier la rapidité du code

Q12 :
Comment les "Feature Flags" (drapeaux de fonctionnalité) sont-ils utilisés dans le contexte du déploiement continu (CD) ?
a) Pour cacher des fonctionnalités non testées aux utilisateurs finaux
b) Pour signaler la fin de la phase de test
c) Pour attribuer une priorité aux fonctionnalités
d) Pour faciliter la collaboration entre les équipes de développement

Q13 :
Quelle est l'importance de l'utilisation de l'automatisation des tests dans le cadre du CI/CD ?
a) Accélérer le processus de développement
b) Réduire les coûts de développement
c) Assurer la cohérence, la qualité et la fiabilité des déploiements
d) Éviter complètement les erreurs de code

GitLab CI :
Q1 :
Qu'est-ce que GitLab CI ?
a) Un système de gestion de base de données
b) Un système de gestion de versions (VCS)
c) Une plateforme de collaboration pour les développeurs
d) Un outil d'intégration et de déploiement continus intégré à GitLab

Q2 :
Quelle est la syntaxe utilisée pour définir un job dans GitLab CI/CD ?
a) job: mon_job { }
b) mon_job: script { }
c) mon_job: script: - command
d) task: mon_job { }

Q3 :
Quel est l'élément clé d'un fichier de configuration GitLab CI/CD ?
a) Le fichier README.md
b) Le fichier .gitignore
c) Le fichier .gitlab-ci.yml
d) Le fichier package.json

Q4 :
Quel est l'objectif principal des "runners" dans GitLab CI/CD ?
a) Gérer les branches du dépôt Git
b) Exécuter les jobs de CI/CD
c) Gérer les tickets dans le projet
d) Surveiller l'état du serveur GitLab

Q5 :
Comment peut-on déclencher manuellement un pipeline dans GitLab CI/CD ?
a) En éditant directement le fichier .gitlab-ci.yml
b) En modifiant la branche principale du dépôt
c) En cliquant sur le bouton "Run pipeline" (Exécuter le pipeline) dans l'interface GitLab
d) En envoyant un e-mail au responsable du projet

Q6 :
Qu'est-ce qu'un "stage" dans GitLab CI/CD ?
a) Une branche spécifique du dépôt Git
b) Une étape dans le pipeline de CI/CD représentant un ensemble de jobs
c) Un répertoire local sur le serveur GitLab
d) Un type de permission pour accéder aux ressources du projet

Q7 :
Quel est le rôle de l'instruction "script" dans un job GitLab CI/CD ?
a) Indiquer les dépendances du job
b) Spécifier le chemin d'accès au fichier .gitlab-ci.yml
c) Définir les étapes à exécuter dans le job
d) Générer des rapports de test pour le job

Q8 :
Comment GitLab CI/CD gère-t-il les résultats des jobs ?
a) En les affichant dans le fichier README.md
b) En envoyant un e-mail au responsable du projet
c) En les affichant dans l'interface GitLab sous forme de rapports et de statuts
d) En les stockant uniquement localement sur le serveur GitLab

Q9 :
Comment pouvez-vous définir des règles pour l'exécution des jobs dans GitLab CI/CD ?
a) En utilisant l'instruction "only" ou "except" dans le fichier .gitlab-ci.yml
b) En modifiant directement le code source du dépôt
c) En créant des tags spéciaux pour chaque job
d) En définissant des alias pour les étapes du pipeline

Q10 :
Comment peut-on gérer les secrets et les informations sensibles dans GitLab CI/CD ?
a) En les stockant directement dans le fichier .gitlab-ci.yml
b) En les ajoutant dans le fichier README.md
c) En utilisant les variables d'environnement protégées ou les gestionnaires de secrets de GitLab
d) En les envoyant par e-mail aux membres de l'équipe

Q11 :
Comment peut-on limiter l'exécution des jobs à des branches spécifiques dans GitLab CI/CD ?
a) En utilisant des jetons de sécurité pour chaque branche
b) En modifiant directement la configuration du serveur GitLab
c) En utilisant des "variables d'environnement" dans le fichier .gitlab-ci.yml
d) En utilisant l'instruction "only" ou "except" avec des spécifications de branches dans le fichier .gitlab-ci.yml
Réponses (Partie5) :
DevOps :
1. b) Faciliter la communication et la collaboration entre les équipes de développement et d'opérations
2. b) Une pratique qui consiste à fusionner fréquemment le code dans un référentiel partagé
3. c) Automatiser le déploiement fréquent et fiable du code en production
4. b) Un processus automatisé de livraison continue
5. b) Une pratique pour automatiser la gestion de l'infrastructure via des scripts et du code
6. b) Gérer et automatiser les processus de déploiement et d'infrastructure
7. b) Améliorer la qualité du code et réduire les erreurs
8. b) En identifiant et en résolvant rapidement les problèmes dans les applications et l'infrastructure
9. b) Améliorer continuellement les processus de développement grâce aux retours d'expérience
10. b) En favorisant une architecture modulaire favorisant le déploiement continu
11. b) Collaboration, automatisation, mesure
12. a) Gérer les modifications apportées au code source
13. b) Docker virtualise le système d'exploitation, tandis qu'une machine virtuelle virtualise le matériel
14. b) Détecter les erreurs le plus tôt possible pour pouvoir les corriger rapidement
15. b) En créant des environnements isolés et portables pour les applications
CI/CD :
1. b) Une approche pour valider et fusionner fréquemment les modifications de code dans un référentiel partagé
2. c) Automatiser et rendre fiable le processus de déploiement des applications en production
3. c) Identifier et corriger rapidement les problèmes d'intégration
4. b) Automatiser et orchestrer les processus de construction, de test et de déploiement
5. a) Jenkins, GitLab CI/CD, Travis CI
6. d) CI est responsable de l'automatisation des tests et de l'intégration fréquente, tandis que CD gère l'automatisation du
déploiement
7. c) Un processus automatisé de gestion des étapes de déploiement du code
8. c) Pour améliorer la cohérence, la rapidité et la fiabilité des déploiements
9 b) Un processus pour revenir à une version précédente du logiciel en cas d'échec du déploiement
10 b) Un fichier ou un ensemble de fichiers générés par le processus de build et utilisé pour le déploiement
11. b) Identifier les bogues et les problèmes de sécurité
12. a) Pour cacher des fonctionnalités non testées aux utilisateurs finaux
13. c) Assurer la cohérence, la qualité et la fiabilité des déploiements
GitLab CI :
1. d) Un outil d'intégration et de déploiement continus intégré à GitLab
2. c) mon_job: script: - command
3. c) Le fichier .gitlab-ci.yml
4. b) Exécuter les jobs de CI/CD
5. c) En cliquant sur le bouton "Run pipeline" (Exécuter le pipeline) dans l'interface GitLab
6. b) Une étape dans le pipeline de CI/CD représentant un ensemble de jobs
7. c) Définir les étapes à exécuter dans le job
8. c) En les affichant dans l'interface GitLab sous forme de rapports et de statuts
9. a) En utilisant l'instruction "only" ou "except" dans le fichier .gitlab-ci.yml
10 c) En utilisant les variables d'environnement protégées ou les gestionnaires de secrets de GitLab.
11 d) En utilisant l'instruction "only" ou "except" avec des spécifications de branches dans le fichier .gitlab-ci.yml

Vous aimerez peut-être aussi