Chapitre 18
18 - QCM DevOps
18 - QCM DevOps
Cours 18 : 100 QCM DevOps
Thème 1 : Linux & Scripting (Q1-Q10)
Q1. Quelle commande affiche les processus en cours d'exécution avec une vue hiérarchique ?
A. ps aux
B. top
C. pstree
D. htop
Réponse : C. pstree
Explication : pstree affiche les processus sous forme d'arbre, montrant les relations parent-enfant. ps aux liste tous les processus, top et htop sont des moniteurs interactifs.
Q2. Quelle commande permet de rechercher un fichier par son nom ?
A. grep
B. find
C. locate
D. whereis
Réponse : B. find
Explication : find est la commande standard pour chercher des fichiers. grep cherche dans le contenu, locate utilise une base de données, whereis cherche les binaires.
Q3. Quel est le rôle de l'utilisateur root dans Linux ? A. Un utilisateur avec des privilèges limités B. L'utilisateur super-administrateur avec UID 0 C. Un utilisateur système pour les services D. L'utilisateur par défaut des conteneurs
Réponse : B. L'utilisateur super-administrateur avec UID 0 Explication : root (UID 0) a tous les privilèges sur le système. Il peut contourner toutes les permissions de fichiers et exécuter n'importe quelle commande.
Q4. Quelle commande affiche l'espace disque utilisé par les fichiers du répertoire courant ?
A. df -h
B. du -sh *
C. ls -lh
D. fdisk -l
Réponse : B. du -sh *
Explication : du -sh * donne la taille de chaque fichier/dossier. df -h montre l'espace disque des systèmes de fichiers montés.
Q5. Que fait chmod 755 sur un fichier ?
A. rwxr-xr-x
B. rwxrwxrwx
C. rwxr--r--
D. rwx------
Réponse : A. rwxr-xr-x Explication : 755 donne tous les droits au propriétaire (7=rwx), lecture+exécution au groupe (5=r-x), lecture+exécution aux autres (5=r-x).
Q6. Comment rediriger stdout et stderr vers un même fichier ?
A. command > file 2>&1
B. command >> file
C. command 2> file
D. command > file 2> file2
Réponse : A. command > file 2>&1
Explication : 2>&1 redirige stderr (2) vers stdout (1), qui est déjà redirigé vers file. Alternative moderne : command &>file.
Q7. Quelle variable d'environnement contient les chemins de recherche des binaires ?
A. $HOME
B. $SHELL
C. $PATH
D. $PWD
Réponse : C. $PATH
Explication : $PATH contient les répertoires séparés par : où le shell cherche les exécutables.
Q8. Que fait la commande grep -r "error" /var/log ?
A. Recherche "error" dans les fichiers de /var/log de façon récursive
B. Supprime les lignes contenant "error"
C. Compte les occurrences de "error"
D. Remplace "error" par "warning"
Réponse : A. Recherche "error" de façon récursive
Explication : -r active la recherche récursive dans tous les fichiers du dossier.
Q9. Quelle commande crée une archive tar compressée avec gzip ?
A. tar -cvf archive.tar.gz /path
B. tar -czvf archive.tar.gz /path
C. tar -xzvf archive.tar.gz
D. gzip -c archive.tar
Réponse : B. tar -czvf archive.tar.gz /path
Explication : -c pour créer, -z pour gzip, -v pour verbose, -f pour spécifier le fichier.
Q10. Comment planifier une tâche tous les jours à 2h du matin avec cron ?
A. 0 2 * * * /script.sh
B. 2 0 * * * /script.sh
C. * 2 * * * /script.sh
D. 0 2 1 1 * /script.sh
Réponse : A. 0 2 * * * /script.sh
Explication : Format cron : minute(0) heure(2) jour() mois() jour-semaine(*).
Thème 2 : Docker & Conteneurs (Q11-Q25)
Q11. Quelle instruction Dockerfile permet de définir la commande par défaut avec des paramètres par défaut ?
A. RUN
B. CMD
C. ENTRYPOINT
D. START
Réponse : B. CMD
Explication : CMD définit la commande par défaut, remplaçable au runtime. ENTRYPOINT définit le point d'entrée fixe.
Q12. Quelle est la différence entre COPY et ADD dans un Dockerfile ?
A. COPY est plus lent que ADD
B. ADD supporte les URL et l'extraction automatique des archives
C. COPY supporte les URL
D. Il n'y a aucune différence
Réponse : B. ADD supporte les URL et l'extraction automatique
Explication : ADD peut télécharger depuis des URL et extraire des archives tar. COPY est plus simple et préféré quand les fonctionnalités avancées ne sont pas nécessaires.
Q13. Comment lister tous les conteneurs, y compris ceux arrêtés ?
A. docker ps
B. docker ps -a
C. docker container ls
D. docker list
Réponse : B. docker ps -a
Explication : -a ou --all montre tous les conteneurs, pas uniquement ceux en cours.
Q14. Quelle commande construit une image Docker avec le Dockerfile du répertoire courant ?
A. docker build -t myapp .
B. docker build myapp .
C. docker create -t myapp .
D. docker compile .
Réponse : A. docker build -t myapp .
Explication : -t tagge l'image, . est le contexte de build.
Q15. Qu'est-ce qu'un volume Docker ? A. Un fichier de configuration Docker B. Un mécanisme pour persister les données d'un conteneur C. Une image Docker spéciale D. Une commande pour nettoyer les images
Réponse : B. Un mécanisme pour persister les données
Explication : Les volumes sont stockés dans /var/lib/docker/volumes/ et survivent à la suppression du conteneur.
Q16. Comment exposer le port 8080 d'un conteneur sur le port 80 de l'hôte ?
A. docker run -p 80:8080 nginx
B. docker run -p 8080:80 nginx
C. docker run -e PORT=8080 nginx
D. docker run --port 8080 nginx
Réponse : A. docker run -p 80:8080 nginx
Explication : Le format est -p hôte:conteneur. Donc port hôte 80 mappe sur port conteneur 8080.
Q17. Quelle instruction Dockerfile est exécutée pendant le build de l'image ?
A. CMD
B. RUN
C. ENTRYPOINT
D. EXPOSE
Réponse : B. RUN
Explication : RUN exécute des commandes pendant le build. CMD et ENTRYPOINT sont exécutés au lancement du conteneur.
Q18. Quelle commande Docker Compose lance les services en arrière-plan ?
A. docker-compose start
B. docker-compose up
C. docker-compose up -d
D. docker-compose run -d
Réponse : C. docker-compose up -d
Explication : -d (detach) lance les services en arrière-plan. up crée et démarre les conteneurs.
Q19. Comment inspecter les couches d'une image Docker ?
A. docker image inspect
B. docker history
C. docker layers
D. docker image layers
Réponse : B. docker history
Explication : docker history <image> affiche l'historique des couches avec les instructions Dockerfile.
Q20. Quel est l'avantage du multi-stage build ? A. Images finales plus petites B. Build plus rapide C. Plus de fonctionnalités D. Compatibilité ascendante
Réponse : A. Images finales plus petites Explication : Le multi-stage build permet d'utiliser un environnement de build complet puis de copier uniquement l'artefact dans une image finale légère.
Q21. Que fait docker system prune -a ?
A. Supprime tous les conteneurs arrêtés, images non utilisées, réseaux et build cache
B. Met à jour tous les conteneurs
C. Réinitialise la config Docker
D. Sauvegarde l'état Docker
Réponse : A. Supprime tous les éléments inutilisés
Explication : prune -a est un nettoyage agressif qui libère de l'espace disque.
Q22. Quelle est la différence entre une image et un conteneur ? A. Aucune, les termes sont interchangeables B. Une image est un modèle immuable, un conteneur est une instance exécutable C. Un conteneur est plus petit qu'une image D. Une image est exécutable, un conteneur est stocké
Réponse : B. Une image est un modèle, un conteneur est une instance Explication : Analogue à classe/objet en POO. L'image est le blueprint, le conteneur est l'instance en cours d'exécution.
Q23. Comment définir une variable d'environnement dans un conteneur Docker ?
A. docker run -e MY_VAR=value image
B. docker run --env MY_VAR=value image
C. docker run -e MY_VAR=value image ou docker run --env MY_VAR=value image
D. docker run -v MY_VAR=value image
Réponse : C. Les deux syntaxes sont valides
Explication : -e et --env sont interchangeables pour définir des variables d'environnement.
Q24. Quel réseau Docker permet aux conteneurs de communiquer entre eux sur un même hôte ? A. bridge (par défaut) B. host C. overlay D. none
Réponse : A. bridge Explication : Le réseau bridge est le réseau par défaut. Les conteneurs sur le même bridge peuvent communiquer via IP.
Q25. Comment limiter la mémoire d'un conteneur à 512 Mo ?
A. docker run --memory=512m image
B. docker run --mem=512 image
C. docker run -m 512 image
D. docker run --limit-memory=512m image
Réponse : A. docker run --memory=512m image
Explication : --memory (ou -m) limite la mémoire. L'unité peut être b, k, m, g.
Thème 3 : Kubernetes (Q26-Q40)
Q26. Quelle est l'unité de base déployable dans Kubernetes ? A. Container B. Pod C. Node D. Service
Réponse : B. Pod Explication : Le Pod est la plus petite unité déployable. Il encapsule un ou plusieurs conteneurs partageant le même réseau et stockage.
Q27. Quel composant de Kubernetes est responsable de la communication entre les nœuds ? A. kube-apiserver B. kubelet C. kube-proxy D. etcd
Réponse : C. kube-proxy Explication : kube-proxy gère les règles réseau sur chaque nœud, permettant la communication vers les Services.
Q28. Quelle ressource Kubernetes fournit une adresse IP stable pour un ensemble de Pods ? A. Deployment B. Service C. Ingress D. ConfigMap
Réponse : B. Service Explication : Un Service fournit une IP et un DNS stables devant un ensemble de Pods qui peuvent changer dynamiquement.
Q29. Quel type de Service expose un Pod sur le nœud hôte avec un port statique ? A. ClusterIP B. NodePort C. LoadBalancer D. ExternalName
Réponse : B. NodePort Explication : NodePort expose le Service sur un port statique (30000-32767) de chaque nœud.
Q30. Comment effectuer un rolling update avec un Deployment ? A. Supprimer et recréer le Deployment B. Mettre à jour l'image dans le template du Deployment C. Créer un nouveau Deployment D. Modifier le Service
Réponse : B. Mettre à jour l'image dans le template Explication : Kubernetes effectue automatiquement un rolling update quand le template du Pod est modifié, remplaçant graduellement les Pods.
Q31. Qu'est-ce qu'un ConfigMap ? A. Un stockage de données persistantes B. Un objet pour injecter de la configuration non-confidentielle C. Un secret chiffré D. Un type de Service
Réponse : B. Un objet pour injecter de la configuration non-confidentielle Explication : ConfigMap stocke des paires clé-valeur ou des fichiers de configuration injectables dans les Pods.
Q32. Quelle commande affiche les logs d'un Pod spécifique ?
A. kubectl logs <pod-name>
B. kubectl log <pod-name>
C. kubectl describe pod <pod-name>
D. kubectl get logs <pod-name>
Réponse : A. kubectl logs <pod-name>
Explication : kubectl logs affiche les logs stdout/stderr d'un Pod.
Q33. Quel composant stocke l'état du cluster Kubernetes ? A. kube-apiserver B. kube-scheduler C. etcd D. kube-controller-manager
Réponse : C. etcd Explication : etcd est un key-value store distribué qui stocke toute la configuration et l'état du cluster.
Q34. Quelle est la fonction d'un Ingress ? A. Équilibrer la charge entre Pods B. Router le trafic HTTP/HTTPS externe vers des Services C. Assurer la persistence des données D. Gérer les secrets
Réponse : B. Router le trafic HTTP/HTTPS externe Explication : Ingress agit comme un reverse proxy, routant le trafic externe vers les Services internes basé sur des règles (host, path).
Q35. Que fait kubectl rollout undo deployment/myapp ?
A. Supprime le déploiement
B. Annule le dernier déploiement (rollback)
C. Met en pause le déploiement
D. Redémarre les Pods
Réponse : B. Annule le dernier déploiement
Explication : rollout undo revient à la révision précédente du Deployment.
Q36. Quelle ressource Kubernetes est utilisée pour stocker des données sensibles (mots de passe, tokens) ? A. ConfigMap B. Secret C. PersistentVolume D. ServiceAccount
Réponse : B. Secret Explication : Les Secrets stockent des données sensibles encodées en base64 (et chiffrées si etcd encryption est activée).
Q37. Qu'est-ce qu'un StatefulSet ? A. Un Deployment pour applications stateless B. Un contrôleur pour applications stateful avec identité persistante C. Un type de Service D. Un volume de stockage
Réponse : B. Un contrôleur pour applications stateful Explication : StatefulSet garantit un ordre de démarrage et des identités réseau stables pour les applications stateful (bases de données, etc.).
Q38. Comment isoler les ressources entre équipes dans Kubernetes ? A. Avec des Pods B. Avec des Namespaces C. Avec des Services D. Avec des Deployments
Réponse : B. Avec des Namespaces Explication : Les Namespaces permettent de partitionner un cluster en environnements virtuels isolés.
Q39. Quelle commande applique un fichier de configuration Kubernetes ?
A. kubectl create -f config.yaml
B. kubectl apply -f config.yaml
C. kubectl run config.yaml
D. kubectl deploy config.yaml
Réponse : B. kubectl apply -f config.yaml
Explication : apply est déclaratif : il crée ou met à jour la ressource. create est impératif et échoue si la ressource existe.
Q40. Que fait un Horizontal Pod Autoscaler (HPA) ? A. Ajoute des nœuds au cluster B. Ajuste le nombre de réplicas d'un Deployment basé sur les métriques C. Redimensionne les volumes D. Met à jour les images
Réponse : B. Ajuste le nombre de réplicas basé sur les métriques Explication : HPA ajuste automatiquement le nombre de Pods en fonction de l'utilisation CPU, mémoire ou métriques custom.
Thème 4 : CI/CD (Q41-Q50)
Q41. Qu'est-ce que l'intégration continue (CI) ? A. Déployer en production tous les jours B. Fusionner et tester le code plusieurs fois par jour C. Écrire des tests après le déploiement D. Utiliser un seul outil pour tout faire
Réponse : B. Fusionner et tester le code plusieurs fois par jour Explication : CI consiste à intégrer fréquemment le code (plusieurs fois/jour) avec des tests automatisés pour détecter rapidement les régressions.
Q42. Quel fichier définit un workflow GitHub Actions ?
A. Jenkinsfile
B. .github/workflows/*.yml
C. .gitlab-ci.yml
D. Dockerfile
Réponse : B. .github/workflows/*.yml
Explication : GitHub Actions utilise des fichiers YAML dans .github/workflows/ pour définir les workflows CI/CD.
Q43. Quelle est la différence entre git pull et git fetch ?
A. git pull = git fetch + git merge
B. git fetch = git pull + git rebase
C. Aucune différence
D. git pull téléverse, git fetch télécharge
Réponse : A. git pull = git fetch + git merge
Explication : git fetch télécharge les changements sans les fusionner. git pull télécharge et fusionne automatiquement.
Q44. Quel est le rôle d'un runner GitHub Actions ? A. Exécuter le code source B. Exécuter les jobs d'un workflow C. Gérer les secrets D. Compiler les artefacts
Réponse : B. Exécuter les jobs d'un workflow Explication : Un runner est un serveur qui exécute les jobs définis dans les workflows GitHub Actions.
Q45. Quelle commande Git crée une nouvelle branche et bascule dessus ?
A. git branch feature
B. git checkout -b feature
C. git switch feature
D. git branch -m feature
Réponse : B. git checkout -b feature
Explication : -b crée et bascule sur la nouvelle branche en une seule commande.
Q46. Qu'est-ce qu'un artefact dans un pipeline CI/CD ? A. Un fichier de configuration B. Un fichier produit par le build (JAR, image, rapport) C. Un outil de déploiement D. Une étape du pipeline
Réponse : B. Un fichier produit par le build Explication : Les artefacts sont les outputs du pipeline (fichiers compilés, images, rapports de test).
Q47. Quelle directive Jenkinsfile définit les étapes d'exécution parallèles ?
A. stage
B. parallel
C. steps
D. when
Réponse : B. parallel
Explication : parallel permet d'exécuter des étapes en parallèle dans un pipeline Jenkins.
Q48. Quel est l'avantage du trunk-based development ? A. Branches longues et stables B. Changements petits et fréquents sur la branche principale C. Une branche par développeur D. Aucun merge jamais
Réponse : B. Changements petits et fréquents sur main Explication : Le trunk-based development encourage des commits fréquents et de petite taille sur la branche principale.
Q49. Quelle commande Git annule un commit en conservant les changements dans le working directory ?
A. git revert HEAD
B. git reset --soft HEAD~1
C. git reset --hard HEAD~1
D. git checkout HEAD~1
Réponse : B. git reset --soft HEAD~1
Explication : --soft annule le commit mais conserve les changements dans l'index et le working directory.
Q50. Quel est le format recommandé pour les messages de commit ?
A. Pas de règles spécifiques
B. Conventional Commits : type(scope): description
C. Uniquement le message
D. Le plus long possible
Réponse : B. Conventional Commits
Explication : feat:, fix:, chore:, etc. facilitent la génération de changelog et le versioning sémantique.
Thème 5 : Terraform & IaC (Q51-Q60)
Q51. Qu'est-ce que Terraform ? A. Un outil de déploiement Kubernetes B. Un outil d'Infrastructure as Code déclaratif C. Un serveur web D. Un langage de programmation
Réponse : B. Un outil d'IaC déclaratif Explication : Terraform permet de définir et provisionner l'infrastructure via du code déclaratif (HCL).
Q52. Que fait terraform init ?
A. Crée l'infrastructure
B. Initialise le répertoire de travail, télécharge les providers
C. Détruit l'infrastructure
D. Formate le code
Réponse : B. Initialise le répertoire de travail
Explication : terraform init télécharge les providers et modules nécessaires, et initialise le backend.
Q53. Quelle est la différence entre terraform plan et terraform apply ?
A. plan montre les changements, apply les exécute
B. plan exécute les changements, apply les montre
C. Aucune différence
D. plan est plus rapide qu'apply
Réponse : A. plan montre, apply exécute
Explication : plan crée un plan d'exécution sans rien modifier. apply exécute les changements planifiés.
Q54. Qu'est-ce qu'un module Terraform ? A. Un plugin Terraform B. Un dossier contenant des fichiers .tf réutilisables C. Une version de Terraform D. Un provider cloud
Réponse : B. Un dossier de fichiers .tf réutilisables Explication : Les modules sont des conteneurs pour plusieurs ressources utilisées ensemble, permettant la réutilisabilité.
Q55. Que fait terraform state ?
A. Supprime les ressources
B. Gère l'état Terraform (inspecte, déplace, supprime)
C. Crée un fichier d'état
D. Formate les fichiers
Réponse : B. Gère l'état Terraform
Explication : terraform state permet de manipuler le fichier d'état (list, mv, rm, show).
Q56. Quel backend Terraform est le plus adapté pour une équipe ? A. local B. remote (S3 + DynamoDB, Terraform Cloud) C. pg (PostgreSQL) D. http
Réponse : B. remote (S3 + DynamoDB) Explication : Un backend distant permet le partage d'état et le locking pour les équipes.
Q57. Quelle expression Terraform fait référence à une variable nommée region ?
A. $region
B. var.region
C. local.region
D. region
Réponse : B. var.region
Explication : Les variables d'entrée sont référencées par var.<nom>.
Q58. Comment créer une ressource conditionnellement dans Terraform ?
A. if statement
B. count ou for_each avec condition
C. when block
D. depends_on
Réponse : B. count ou for_each avec condition
Explication : count = var.create ? 1 : 0 ou for_each = var.create ? { key = value } : {}.
Q59. Que fait terraform taint (ou terraform apply -replace) ?
A. Marque une ressource pour destruction et recreation
B. Supprime une ressource
C. Ajoute un tag
D. Verrouille l'état
Réponse : A. Marque pour destruction/recreation Explication : Taint force la recreation d'une ressource au prochain apply.
Q60. Quel est le format de fichier Terraform ? A. JSON B. YAML C. HCL (HashiCorp Configuration Language) D. XML
Réponse : C. HCL
Explication : Terraform utilise HCL, un langage déclaratif conçu par HashiCorp, avec des fichiers .tf.
Thème 6 : Cloud AWS/GCP/Azure (Q61-Q70)
Q61. Quel service AWS est utilisé pour l'informatique sans serveur (serverless) ? A. EC2 B. Lambda C. ECS D. RDS
Réponse : B. Lambda Explication : AWS Lambda exécute du code sans provisionner de serveurs. Facturation à l'exécution.
Q62. Quel est l'équivalent GCP de AWS S3 ? A. Compute Engine B. Cloud Storage C. BigQuery D. Cloud SQL
Réponse : B. Cloud Storage Explication : GCS (Google Cloud Storage) est le service de stockage objet de GCP, similaire à S3.
Q63. Quel service Azure gère les conteneurs Kubernetes ? A. Azure VMs B. AKS (Azure Kubernetes Service) C. Azure Functions D. App Service
Réponse : B. AKS Explication : AKS est le service Kubernetes managé d'Azure, équivalent à EKS et GKE.
Q64. Qu'est-ce qu'un VPC dans AWS ? A. Un serveur virtuel B. Un réseau virtuel isolé dans le cloud C. Une base de données D. Un load balancer
Réponse : B. Un réseau virtuel isolé Explication : VPC (Virtual Private Cloud) permet de créer un réseau virtuel isolé logiquement dans AWS.
Q65. Quel service AWS est utilisé pour la gestion des secrets ? A. IAM B. Secrets Manager C. CloudWatch D. SNS
Réponse : B. Secrets Manager Explication : AWS Secrets Manager gère le cycle de vie des secrets (rotation automatique, chiffrement).
Q66. Quelle est la différence entre une AMI et une instance EC2 ? A. AMI est un modèle, EC2 est une instance B. EC2 est un modèle, AMI est une instance C. Aucune différence D. AMI est un service de messagerie
Réponse : A. AMI est un modèle, EC2 est une instance Explication : AMI (Amazon Machine Image) est un template, EC2 est une machine virtuelle créée depuis ce template.
Q67. Quel service GCP est utilisé pour les pipelines CI/CD ? A. Cloud Build B. Cloud Run C. GKE D. Cloud SQL
Réponse : A. Cloud Build Explication : Cloud Build est le service CI/CD managé de Google Cloud.
Q68. Qu'est-ce que l'IAM dans le cloud ? A. Infrastructure as a Service B. Identity and Access Management C. Integrated Application Monitoring D. Internet Access Method
Réponse : B. Identity and Access Management Explication : IAM gère les identités, utilisateurs, rôles et permissions dans les services cloud.
Q69. Quel service Azure est l'équivalent de AWS Lambda ? A. Azure VMs B. Azure Functions C. App Service D. Logic Apps
Réponse : B. Azure Functions Explication : Azure Functions est le service serverless d'Azure, similaire à AWS Lambda.
Q70. Qu'est-ce que le Cloud Audit Logs dans GCP ? A. Un service de logging pour les applications B. Un registre des actions administratives sur le cloud C. Un service de monitoring D. Un outil de debugging
Réponse : B. Un registre des actions administratives Explication : Cloud Audit Logs enregistre les actions des administrateurs et l'accès aux données pour la conformité.
Thème 7 : Monitoring & Observabilité (Q71-Q80)
Q71. Quelle est la différence entre monitoring et observabilité ? A. Aucune différence B. Monitoring = mesurer ce qu'on connaît, Observabilité = explorer l'inconnu C. Monitoring est plus récent D. Observabilité remplace monitoring
Réponse : B. Monitoring mesure le connu, Observabilité explore l'inconnu Explication : Le monitoring vérifie des métriques connues, l'observabilité permet de comprendre des comportements inconnus via métriques, logs et traces.
Q72. Quels sont les trois piliers de l'observabilité ? A. Métriques, Logs, Traces B. CPU, Memory, Disk C. Alerts, Dashboards, Reports D. Build, Test, Deploy
Réponse : A. Métriques, Logs, Traces Explication : Les trois piliers sont les métriques (mesures), logs (événements), et traces (parcours de requêtes).
Q73. Quel langage de requête Prometheus utilise-t-il ? A. SQL B. PromQL C. LogQL D. GraphQL
Réponse : B. PromQL Explication : PromQL est le langage de requête de Prometheus pour interroger les métriques temps réel.
Q74. Quelle est la fonction de Grafana ? A. Collecter les métriques B. Visualiser et analyser les métriques C. Stocker les logs D. Gérer les alertes
Réponse : B. Visualiser et analyser les métriques Explication : Grafana est une plateforme de visualisation et d'analyse de données, souvent utilisée avec Prometheus.
Q75. Comment appeler une augmentation soudaine des métriques ? A. Spike B. Dip C. Flatline D. Trend
Réponse : A. Spike Explication : Un spike est une augmentation brève et importante d'une métrique, souvent signe d'un incident.
Q76. Quelle est la fonction de Loki dans la stack Grafana ? A. Stocker les métriques B. Agréger les logs C. Gérer les traces D. Visualiser les données
Réponse : B. Agréger les logs Explication : Loki est un système d'agrégation de logs horizontalement scalable, conçu pour Grafana.
Q77. Qu'est-ce que le distributed tracing (traçage distribué) ? A. Suivre une requête à travers plusieurs services B. Tracer les appels réseau C. Logguer les erreurs D. Monitorer les CPU
Réponse : A. Suivre une requête à travers plusieurs services Explication : Le tracing distribué permet de suivre le parcours complet d'une requête dans une architecture microservices.
Q78. Que sont les SLOs (Service Level Objectives) ? A. Des objectifs de performance pour les équipes B. Des cibles de fiabilité pour un service (ex: 99.9% uptime) C. Des contrats légaux D. Des métriques de coût
Réponse : B. Des cibles de fiabilité pour un service Explication : SLO est une cible de niveau de service (ex: 99.9% de requêtes réussies en moins de 200ms).
Q79. Quelle métrique mesure le nombre de requêtes traitées avec succès ? A. Error Rate B. Request Rate C. Latency D. Saturation
Réponse : B. Request Rate Explication : Le Request Rate mesure le débit de requêtes traitées, généralement en req/s.
Q80. Qu'est-ce que le USE Method dans le monitoring ? A. Utilisation, Saturation, Erreurs B. Uptime, Service, Efficacité C. User, System, Error D. Update, Scale, Evaluate
Réponse : A. Utilisation, Saturation, Erreurs Explication : USE Method (Utilization, Saturation, Errors) est une méthodologie pour analyser les performances des ressources.
Thème 8 : Networking & Security (Q81-Q88)
Q81. Quel protocole est utilisé par Load Balancer pour la terminaison TLS ? A. HTTP B. HTTPS (TLS) C. TCP D. UDP
Réponse : B. HTTPS (TLS) Explication : La terminaison TLS au niveau du Load Balancer déchiffre le trafic HTTPS pour l'inspecter.
Q82. Qu'est-ce qu'un pod network dans Kubernetes ? A. Un réseau entre Pods et Services B. Un réseau plat où chaque Pod a une IP unique C. Un réseau pour les nœuds D. Un réseau externe
Réponse : B. Un réseau plat avec IP unique par Pod Explication : Kubernetes attribue une IP unique à chaque Pod, avec communication directe sans NAT entre Pods.
Q83. Quelle ressource Kubernetes permet le chiffrement du trafic entre services ? A. NetworkPolicy B. Service mesh (mTLS) C. Ingress TLS D. Secret
Réponse : B. Service mesh (mTLS) Explication : Un service mesh (Istio, Linkerd) peut chiffrer le trafic inter-services avec mTLS.
Q84. Qu'est-ce que le principle of least privilege ? A. Donner tous les droits à tout le monde B. Donner uniquement les permissions nécessaires C. Ne donner aucun droit D. Donner les droits admin par défaut
Réponse : B. Donner uniquement les permissions nécessaires Explication : Le moindre privilège limite les permissions au strict minimum nécessaire pour chaque tâche.
Q85. Quelle commande teste la connectivité réseau entre deux Pods ?
A. kubectl exec pod1 -- ping pod2
B. kubectl network test
C. kubectl connect pod1 pod2
D. kubectl netcheck
Réponse : A. kubectl exec pod1 -- ping pod2
Explication : kubectl exec exécute ping depuis un Pod pour tester la connectivité.
Q86. Qu'est-ce qu'un Web Application Firewall (WAF) ? A. Un antivirus B. Un filtre pour le trafic HTTP/HTTPS applicatif C. Un pare-feu réseau D. Un IDS
Réponse : B. Un filtre pour le trafic HTTP/HTTPS applicatif Explication : WAF filtre et monitor le trafic HTTP/HTTPS pour bloquer les attaques applicatives (XSS, SQLi).
Q87. Qu'est-ce que Falco dans la sécurité Kubernetes ? A. Un scanner de vulnérabilités B. Un runtime security monitoring basé sur eBPF C. Un firewall D. Un gestionnaire de secrets
Réponse : B. Un runtime security monitoring basé sur eBPF Explication : Falco détecte les comportements anormaux au niveau du noyau Linux via eBPF.
Q88. Quelle est la meilleure pratique pour les secrets dans CI/CD ? A. Les stocker en clair dans le code B. Utiliser le gestionnaire de secrets de la plateforme CI/CD C. Les partager par email D. Les hardcoder dans les scripts
Réponse : B. Utiliser le gestionnaire de secrets de la plateforme Explication : Les secrets doivent être stockés dans des coffres sécurisés (GitHub Secrets, GitLab CI Variables, HashiCorp Vault).
Thème 9 : GitOps & SRE (Q89-Q94)
Q89. Quel est le principe fondamental de GitOps ? A. Utiliser Git comme source de vérité pour l'infrastructure et les déploiements B. Déployer depuis l'IDE C. Utiliser uniquement des pipelines CI D. Faire des déploiements manuels
Réponse : A. Git comme source de vérité unique Explication : GitOps utilise Git comme source de vérité déclarative pour l'infrastructure et les déploiements, avec synchronisation automatique.
Q90. Quels sont les deux outils GitOps les plus populaires pour Kubernetes ? A. Jenkins et GitLab B. ArgoCD et Flux C. Terraform et Pulumi D. Helm et Kustomize
Réponse : B. ArgoCD et Flux Explication : ArgoCD et Flux sont les deux outils GitOps leaders du CNCF pour Kubernetes.
Q91. Qu'est-ce que le SRE (Site Reliability Engineering) ? A. Une discipline qui applique les principes du génie logiciel aux opérations B. Un outil de monitoring C. Un langage de programmation D. Un framework de test
Réponse : A. Application du génie logiciel aux opérations Explication : SRE applique les principes de l'ingénierie logicielle aux problèmes d'infrastructure et d'opérations.
Q92. Quel est l'objectif d'un Error Budget (budget d'erreur) ? A. Éliminer toutes les erreurs B. Quantifier le niveau acceptable d'indisponibilité C. Budget financier pour les erreurs D. Nombre maximum de bugs
Réponse : B. Quantifier le niveau acceptable d'indisponibilité Explication : Error Budget = 1 - SLO. Il mesure combien d'indisponibilité est "autorisée" avant de ralentir les déploiements.
Q93. Qu'est-ce qu'un Runbook ? A. Un livre sur les runs B. Un document détaillant les procédures opérationnelles pour gérer des incidents C. Un script de déploiement D. Un rapport de performance
Réponse : B. Un document détaillant les procédures opérationnelles Explication : Un Runbook contient les étapes pas-à-pas pour répondre à des incidents et opérations courantes.
Q94. Quel est le but d'un post-mortem dans SRE ? A. Punir les responsables B. Apprendre de l'incident sans blâme C. Supprimer les logs D. Réinitialiser le système
Réponse : B. Apprendre sans blâme Explication : Le post-mortem est une analyse sans blâme pour comprendre les causes d'un incident et améliorer le système.
Thème 10 : Platform Engineering (Q95-Q100)
Q95. Qu'est-ce que le Platform Engineering ? A. Créer des plateformes physiques B. Concevoir des plateformes internes pour les développeurs (IDP) C. Gérer les fournisseurs cloud D. Développer des applications
Réponse : B. Concevoir des plateformes internes pour les développeurs Explication : Le Platform Engineering crée des Internal Developer Platforms (IDP) qui standardisent et automatisent le delivery.
Q96. Qu'est-ce que Backstage ? A. Un outil CI/CD B. Une plateforme de developeur portal créée par Spotify C. Un service cloud D. Un base de données
Réponse : B. Un developer portal créé par Spotify Explication : Backstage est une plateforme open-source pour construire des IDPs, incubée par le CNCF.
Q97. Quel est l'avantage d'une Internal Developer Platform (IDP) ? A. Réduire le temps de delivery des développeurs B. Complexifier le déploiement C. Augmenter les coûts D. Diminuer la sécurité
Réponse : A. Réduire le temps de delivery Explication : Une IDP standardise les outils et flux, réduisant la charge cognitive des développeurs et accélérant le delivery.
Q98. Qu'est-ce que Crossplane ? A. Un outil de monitoring B. Un framework pour construire des control planes cloud-native C. Un langage de requête D. Un loader balanceur
Réponse : B. Un framework pour control planes cloud-native Explication : Crossplane permet de gérer l'infrastructure cloud via CRDs Kubernetes, sans outils externes.
Q99. Qu'est-ce qu'un Service Catalog ? A. Un catalogue de services cloud B. Un registre centralisé des services disponibles avec leurs métadonnées C. Une liste de prix D. Un annuaire téléphonique
Réponse : B. Un registre centralisé des services Explication : Un Service Catalog permet aux développeurs de découvrir et d'utiliser des services via un self-service.
Q100. Quel est l'outil open-source le plus populaire pour les IDP ? A. Jenkins B. Backstage C. GitLab D. Terraform
Réponse : B. Backstage Explication : Backstage, incubé par le CNCF, est le developer portal open-source le plus adopté pour les IDP.
Tableau récapitulatif
| Thème | Questions | Score |
|---|---|---|
| Linux & Scripting | 1-10 | /10 |
| Docker & Conteneurs | 11-25 | /15 |
| Kubernetes | 26-40 | /15 |
| CI/CD | 41-50 | /10 |
| Terraform & IaC | 51-60 | /10 |
| Cloud AWS/GCP/Azure | 61-70 | /10 |
| Monitoring | 71-80 | /10 |
| Networking & Security | 81-88 | /8 |
| GitOps & SRE | 89-94 | /6 |
| Platform Engineering | 95-100 | /6 |
| Total | 100 | /100 |
Barème
- 90-100 : Expert DevOps — Prêt pour la certification
- 75-89 : Avancé — Quelques lacunes à combler
- 50-74 : Intermédiaire — Réviser les thèmes faibles
- < 50 : Débutant — Revoir les fondamentaux