MFormations
Modern DevOps Engineering

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èmeQuestionsScore
Linux & Scripting1-10/10
Docker & Conteneurs11-25/15
Kubernetes26-40/15
CI/CD41-50/10
Terraform & IaC51-60/10
Cloud AWS/GCP/Azure61-70/10
Monitoring71-80/10
Networking & Security81-88/8
GitOps & SRE89-94/6
Platform Engineering95-100/6
Total100/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