diff --git a/06 - Teaching/Exercises 923.md b/06 - Teaching/Exercises 923.md index 7f6e5ff..e0d4655 100644 --- a/06 - Teaching/Exercises 923.md +++ b/06 - Teaching/Exercises 923.md @@ -1,3 +1,10 @@ +# Barème + +**Points minimum:** -1 +**Points maximum:** 10 + +Chaque question à choix multiple offre 1 point par bonne case cochée mais 0 points si une mauvaise case a été cochée. Les points négatifs sont additionnés après ce calcul. Le total de point offert par une question ne dépasse jamais son maximum disponible. + # Docker Vous êtes en charge de l'infrastructure serveur d'une API Python. Malin comme vous êtes, vous utilisez Docker pour gérer cette infrastructure. Le code source de l'API vit dans un unique fichier `main.py` qui est containerisé à l'aide d'un Dockerfile et d'un docker-compose. L'ensemble de ce code est versionné sur GitHub de manière publique. @@ -75,14 +82,14 @@ Vous décidez de dupliquer la configuration ci-dessus pour créer le nouveau con Quelles étapes devez-vous effectuer pour que le nouveau container respecte les conditions ci-dessus ? -- [ ] Vous changez la version de l'image pour `postgres:latest` - _0 point_ -- [ ] Vous changez le port mapping pour `9876:9876`- _0 point_ -- [x] Vous changez le port mapping pour `9876:5432` - _1 point_ -- [ ] Vous supprimez les variables d'environnement - _0 point_ -- [ ] Vous changez le volume mapping du container pour `./src/:/var/lib/postgresql/data` - _0 point_ -- [ ] Vous changez le volume mapping du container pour `test-db-data:/var/lib/postgresql/data` et ajoutez `test-db-data` dans la définition des volumes en bas du fichier - _0 point_ -- [x] Vous supprimez le volume mapping du container - _1 point_ -- [ ] Vous supprimer la définition du volume `prod-db-data` en bas du fichier- _-1 point_ +- [ ] Vous changez la version de l'image pour `postgres:latest` +- [ ] Vous changez le port mapping pour `9876:9876` +- [x] Vous changez le port mapping pour `9876:5432` +- [ ] Vous supprimez les variables d'environnement +- [ ] Vous changez le volume mapping du container pour `./src/:/var/lib/postgresql/data` +- [ ] Vous changez le volume mapping du container pour `test-db-data:/var/lib/postgresql/data` et ajoutez `test-db-data` dans la définition des volumes en bas du fichier +- [x] Vous supprimez le volume mapping du container +- [ ] Vous supprimer la définition du volume `prod-db-data` en bas du fichier- _-1 point si coché_ ### Exercice 4 @@ -112,10 +119,10 @@ API/ Quel(s) autre(s) fichier(s) devez-vous modifier pour éviter de revoir le responsable sécurité prochainement ? -- [ ] main.py - _0 point_ -- [ ] Dockerfile - _0 point_ -- [x] docker-compose.yaml - _1 point_ -- [x] .gitignore - _1 point_ +- [ ] main.py +- [ ] Dockerfile +- [x] docker-compose.yaml +- [x] .gitignore # Backend @@ -139,7 +146,7 @@ On vous demande donc le code Python nécessaire pour effectuer les actions suiva Vous devez `print` toutes les instances de `User` dont le nom est égal à "clown". -**Option 1** - _1 point_ +**Réponse** ```python for user in User.select().where(User.name == "clown"): @@ -152,13 +159,13 @@ for user in User.select().where(User.name == "clown"): On a de bonne raison de penser que l'utilisateur a créé un compte dans la base de donnée juste avant l'attaque. Il faudrait récupérer le `User` dont la date de création du compte correspond à la date de l'attaque afin de pouvoir le retrouver. -**Option 1** - _1 point_ +**Option 1** ```python hacker = User.get(User.date_created=date(2025, 4, 17)) ``` -**Option 2** - _1 point_ +**Option 2** ```python hacker = User.select().where(User.date_created=date(2025, 4, 17)).get()