Aller au contenu
Réussir mon BTS SIO

Tape une notion, une commande ou le nom d'une épreuve.

Par exemple

Chapitre 98 minIntermédiaire

La recette et l'entretien d'explicitation

Par Josselyn C., prof de BTS SIO. Mis à jour le .

À la fin de ce chapitre, tu sauras

  • mener une recette de trois minutes ;
  • laisser la commission tester ton application ;
  • répondre aux questions d'explicitation, même sur ce qui n'est pas fini.

1 exercice corrigé

La recette est le moment où la commission vérifie que la solution que tu as réalisée en phase 2 de l'E6 SLAM fonctionne et répond à la demande. Elle est suivie d'un entretien d'explicitation, et les deux tiennent en 20 minutes au maximum. Ce chapitre montre comment présenter ta solution, la prouver, répondre aux questions et parler de ce qui n'est pas fini.

Ce que dit le texte

Le texte officiel décrit deux temps.

  1. Tu présentes ta solution depuis ton environnement de travail, avec « tous les éléments nécessaires pour justifier la conformité de [ta] production aux exigences de la demande ».
  2. La commission te questionne et vérifie « l'opérationnalité de la solution, la pertinence des outils utilisés et de la démarche suivie ».

Trois mots à retenir : conformité, opérationnalité, démarche. Ta présentation doit apporter une preuve pour chacun.

Une présentation de trois minutes

ÉtapeCe que tu disCe que tu montres
1. La demandece qui était demandé, ajustement compris, en deux phrasesle recto et le verso de l'expression des besoins
2. Ce que tu as faitles tables, routes, écrans ajoutés ou modifiésles fichiers ouverts dans l'IDE, la migration
3. La preuve que ça marchele cas nominal, puis un cas refusél'application ou les appels curl, préparés dans l'ordre
4. La preuve que c'est testéles tests automatisés et leur résultatle terminal avec npm test, le rapport de test
5. Ta démarcheles étapes, dans l'ordre où tu les as faitesgit log --oneline
6. Ce qui restece qui manque et comment tu le finiraiston commentaire // À FAIRE

Le cas refusé compte autant que le cas nominal. Montrer qu'un salarié reçoit 403 sur une route de comptable prouve que la règle de gestion est appliquée, pas seulement que le code tourne.

Laisser la commission tester

La commission peut vouloir essayer elle-même : un autre compte, une donnée absurde, une note dans un autre état. Prépare-la à le faire : comptes de test notés, données dans tous les états, commandes curl dans un fichier. Si un cas que tu n'as pas prévu échoue, ne te défends pas : constate, explique la cause probable, dis comment tu le corrigerais. Un bug repéré et expliqué devant la commission correspond à « identifie les erreurs » dans la grille ; il ne te met pas à zéro.

Les questions de l'entretien d'explicitation

Les questions portent sur ce que tu viens de produire. Elles demandent de lire ton code, de justifier, de prendre du recul.

QuestionRéponse modèle
« Expliquez-moi cette ligne. »Lis-la à voix haute, nomme chaque élément, dis son effet. « FOR UPDATE verrouille la ligne de la note jusqu'à la fin de la transaction : un second comptable qui renverrait la même note attend que j'aie fini, puis voit qu'elle n'est plus clôturée. »
« Pourquoi ce code de retour ? »« 409, parce que la requête est bien formée et la note existe, mais son état actuel interdit l'opération. 400 signale une requête mal formée, 404 une ressource absente. »
« Que se passe-t-il si la base ne répond plus ? »« La requête lève une erreur, Express 5 la transmet au middleware d'erreur, le client reçoit un 500 avec un message générique, et le détail part dans le journal du serveur. Aucune modification partielle grâce à la transaction. »
« Comment mettriez-vous cela en production ? »« Sauvegarde de la base, migration appliquée avant le déploiement du code, tests lancés sur la version déployée, script d'annulation prêt. La colonne ajoutée est facultative, donc l'ancienne version du code fonctionne encore pendant le déploiement. »
« Qu'est-ce que vous n'avez pas testé ? »« Le cas de deux comptables simultanés : je l'ai traité avec le verrou, mais sans test automatisé, qui demanderait deux connexions parallèles. C'est le prochain test que j'écrirais. »
« Qu'auriez-vous fait avec trente minutes de plus ? »Une évolution du confort, pas la fin du vital : « l'affichage du dernier motif côté salarié, puis une notification ».
« Qu'avez-vous mis à jour dans la documentation ? »« Le dictionnaire de données pour la nouvelle table, la documentation de l'API pour la nouvelle route, et le CHANGELOG. »
« Pourquoi n'avoir pas utilisé telle bibliothèque ? »« Elle aurait résolu X, mais elle demandait une installation et une configuration que l'heure ne permettait pas. La solution actuelle répond au besoin ; la bibliothèque serait une amélioration si le volume augmentait. »
« Quelle compétence avez-vous mobilisée ? »L'intitulé exact : « Assurer la maintenance corrective ou évolutive d'une solution applicative, en particulier élaborer et réaliser les tests des éléments mis à jour. »

Parler de ce qui n'est pas fini

En une heure, il est normal de ne pas tout finir. Ce qui compte, c'est la façon dont tu en parles.

À ne pas direÀ dire
« Je n'ai pas eu le temps, désolé. »« Le vital fonctionne : la route, le contrôle d'état, l'historique. Il manque l'affichage côté salarié ; je l'ajouterais dans NoteDetail.jsx en lisant le dernier motif renvoyé par l'API. »
« Ça ne marche pas, je ne sais pas pourquoi. »« Ce cas échoue. Je soupçonne la conversion de l'identifiant : le jeton contient un nombre, la comparaison reçoit une chaîne. Je le vérifierais en affichant les deux types. »
« C'est nul ce que j'ai fait. »« C'est une base fonctionnelle. Je l'améliorerais en déplaçant la validation dans un module testé à part. »

Ne te dévalorise pas, ne bluffe pas. Une limite que tu cites toi-même ne peut plus t'être reprochée comme une découverte de la commission.

Si rien ne fonctionne

Si ta solution ne tourne pas du tout, montre ce que tu as : la migration appliquée, la requête qui marche dans le client MySQL, le test qui échoue et pourquoi. Explique le blocage et ce que tu as essayé. La circulaire prévoit que la commission peut alors élargir l'interrogation à ta maîtrise de l'environnement technologique que tu as présenté : connais ton application, sa base et ses outils, c'est ta dernière chance de montrer tes compétences.

Exercice

Exercice Réécrire trois réponses Réussi À revoir

Pendant la recette d'un export CSV, un candidat a répondu ceci. Réécris chaque réponse.

  1. Question : « Pourquoi ce séparateur ? » Réponse : « Parce que c'est comme ça qu'on fait un CSV. »
  2. Question : « Et si un nom contient un point-virgule ? » Réponse : « Ça n'arrivera pas. »
  3. Question : « Le bouton dans le front ? » Réponse : « Je n'ai pas eu le temps. »
Voir la réponseMasquer la réponse de l'exercice
  1. « J'ai choisi le point-virgule parce que les comptables ouvrent le fichier dans un tableur réglé en français, qui l'attend comme séparateur et utilise la virgule pour les décimales. Avec une virgule, toutes les données seraient dans une seule colonne. »
  2. « Ma fonction champCsv met entre guillemets tout champ qui contient un point-virgule, un guillemet ou un saut de ligne, et double ses guillemets, comme le prévoit la norme CSV. Je peux vous le montrer avec un libellé de test. » Si la fonction n'existe pas : « Vous avez raison, la colonne serait décalée. Je mettrais ces champs entre guillemets ; c'est cinq lignes, que j'ajouterais avec un test. »
  3. « L'export fonctionne côté API, je viens de le montrer avec curl, et il est testé. Le bouton est la partie que je n'ai pas faite : il appellerait cette route avec le jeton du comptable et déclencherait le téléchargement. C'était du confort, j'ai priorisé le vital et les tests. »

Tu avais trouvé ?

Chapitre terminé !

Fais l'exercice avant de passer à la suite : c'est en t'entraînant que tout se fixe.

chapitres
–
de série
–
du cours
–
Chapitre suivant : E6 en CCF ou en ponctuelRevoir le sommaire du cours