Session du 17 décembre 2025 à 21h00
Veille & Discussions
Deviens membre Premium magic_button
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- check +100h de formations
- check +180 exercices de code
- check +100h de mentorats en rediffusion
- check 20 projets
- check Mentorats groupés hebdomadaires
- check Support individuel avec nos mentors
Session de mentorat
Penser comme un dev :)
00:00:00 :Et c'est parti.Bon, alors rebonsoir à tous, j'ai sonné tout le monde.Donc ce soir, petite séance de mentorat.Comme on disait avec Thomas, je pense qu'il y a de bonnes chances que ce soit la dernière de l'année.
00:00:15 :Et en ce qui me concerne, les 24h au soir et les 31h au soir, je pense que je suis occupé.On se prendra le temps dans l'hôpital Edgar, mais on tiendra au courant.
00:00:23 :Donc ce soir, petite séance.On ne va pas voir beaucoup de lignes de code.Parce qu'en fait, je peux vous expliquer l'anecdote.On travaille une génération éternente qui doit faire un peu de code.
00:00:37 :Et du coup, on m'avait mis à discuter sur la manière de concevoir un script.Et je me suis dit que ça serait intéressant de faire ça avec vous.
00:00:45 :Parce que bien souvent, on va vous montrer des lignes de code.On va vous montrer comment on fait des functions, comment on fait des classes, etc.
00:00:52 :Mais on parle assez rarement, au final, de la conception d'un code dans sa globalité.Donc j'ai décidé de prendre ce petit sujet-là pour ce soir.
00:01:03 :Pour ça, on va se baser sur des exercices assez récurrents,que je pense que tout le monde a fait sur Backscreen,à savoir la fameuse liste,dans laquelle on ajoute, on enlève des éléments, etc.
00:01:19 :Et donc je vais faire avec vous la réflexion qu'on doit adopter pour faire ce genre de script.Tout ce que je vais vous dire, ça va être valable aussi bien pour un script comme çaque pour un programme plus large.
00:01:34 :L'idée, c'est justement, au lieu de se dire« Tiens, j'ai encore un script ».À l'époque, on ouvre l'éditeur de code et on se jette sur le clavier.
00:01:43 :On commence à compter les premiers imports et les premières functions.On a une petite réflexion avant pour se dire« Tiens, comment je vais attaquer mon script ? »
00:01:54 :Alors, j'ai utilisé le VS Code pour vous noter les choses,histoire que vous puissiez avoir quelque chose d'un peu plus de conseil.Vous voyez mon VS Code, là ?
00:02:16 :Non, on ne le voit pas, là.Ah ouais.Normalement, vous le voyez.Oui, on le voit.OK, impeccable.Donc, on va partir sur le programme de Justine.
00:02:33 :Quelle est la première chose qu'il va falloir faire pour attaquer ce programme ?Qu'est-ce qu'on va devoir définir en premier ?Personne n'a d'idées ?
00:02:52 :Alors, la première chose à faire en général,c'est déjà taper un petit texte, une petite phrase, peu importe,pour définir quel est le but de tout notre programme.
00:03:06 :Donc là, le but est de gérer une liste.De pouvoir ajouter ou supprimer des éléments.C'est-à-dire d'accueillir des charges du script.Voilà.Je vais faire comme ça, parce que sinon, ça va passer de son temps à...
00:03:29 :Ah, c'est bon, c'est bon, c'est bon, c'est bon, c'est bon, c'est bon.Je vais faire comme ça, parce que sinon, ça va passer de son temps à...
00:03:39 :Ajouter ou supprimer des éléments.On peut envisager aussi de sauvegarder la liste,pour pouvoir la rappeler.D'accord.Et qu'est-ce qu'on pourrait imaginer d'autre ?Eh bien, on pourrait avoir deux types de listes, par exemple.
00:03:59 :Par exemple, une liste simple.Et une liste...Et une liste...Et une liste...Et une liste...Et une liste...Ou une liste simple.Ou une liste de tâches.
00:04:29 :Dans le deuxième cas,il faut pouvoir prévoirla possibilitéde validerou invalider une tâche.Ok ?Donc, vous voyez, vous faites déjà ce petit texte.
00:05:00 :Là, on a fait une petite réflexion sur notre programme.On est partis de l'idée...Je vais faire un programme de gestion de listes.Et là, vous voyez, en quelques lignes,on a déjà défini beaucoup de choses.
00:05:14 :Alors, là, on est sur un programmequi est quand même relativement simple.Donc, c'est sûr que la description, elle est courte.Maintenant, quand vous faites des choses un peu plus complexes,des fois, on va aller très très loin dans la descriptionet ça peut prendre beaucoup de lignes.
00:05:32 :Cependant, cette description,il ne faut pas non plus qu'elle soit hyper précise.Une fois de plus, le but,ce n'est pas de générer le code tout de suite.
00:05:45 :C'est vraiment de faire, comme l'a dit Thomas,accueillir les chargeshistoire de pouvoir vont couder aprèslorsque vous allez coder.D'accord ?Et si on a le temps,je vous montrerai vite fait avec l'IAcomment ça marche en utilisant ce qu'on a fait.
00:05:59 :Vous allez voir que le résultat est assez bien.Donc, maintenant, il faut qu'on a fait ça.On va déjà définir nos principales fonctions.Au but de ce texte, selon vous,quelle va être la première tâcheque le programme devra accomplir ?
00:06:24 :C'est-à-dire qu'on démarre le programme.Quelle est la première action qu'il devra faire ?Créer une liste.D'accord.Qu'il y a d'autres suggestions ?Personne ?
00:06:54 :Alors, on va reprendre notre petit texte.Le but est de gérer une liste.D'accord ?Donc, le script sert à gérer une liste à un instant T.
00:07:02 :On relit le texte.De quoi on a parlé ?On a parlé de listes sauvegardées pour aller charger.Et on a parlé des équipes de listes.
00:07:12 :Donc, la première chose que devra fairel'utilisateur en utilisant notre programme,c'est un choix.Donc, il va falloir afficher un menu.Afficher un menu.Dans ce menu, qu'est-ce qu'on va avoir comme option ?
00:07:35 :Alors, la première option,comme l'a dit Thomas,créer une nouvelle liste.Ok ?La deuxième option qu'on va avoir,puisqu'on a parlé de sauvegarde,dans un premier temps, c'est charger une équipe.
00:07:53 :Ok ?Et Chloé imagine qu'on peut supprimer une équipe,exactement.Et quelle option peut-on rajouter dans ce menu ?Une option qui est très souvent oubliée.
00:08:13 :On peut rajouter un lapin parce qu'on est une merde,on ne veut rien dire à personne.Ça, c'est valable pour tous les programmes.Ça n'a aucune idée ?
00:08:25 :Pour le fermer, le programme,si jamais on ne veut pas,quitter.Le programme.Ok ?Donc déjà, on a fait notre menu.On sait, quand on va avoir un programme,on va avoir un menu qui va avoir ces options-làqui vont s'afficher.
00:08:46 :On gardera peut-être éventuellement cette expérience d'affichage,on peut rajouter peut-être d'autres, peu importe.On a déjà un premier fil vide sur notre menu.Donc maintenant qu'on a fait ça,on a quatre options.
00:09:01 :On va s'accupler aux quatre options.Si on fait la première option,créer.On va faire comme ça, ça sera plus simple.Voilà.Et ici, je vais mettre phase 1.
00:09:17 :Phase 2.On a nos quatre options.Donc la première option, on l'a dit, c'estcréer une nouvelle liste.Alors, que va faire cette fonction ?
00:09:34 :Qu'est-ce qu'on va avoir quand on va faire ce que là ?Je fais mon choix.Alors admettons, le choix de créer une nouvelle liste, c'est 1.
00:09:43 :J'appuie sur 1, je fais entrer.Qu'est-ce qu'il se passe ?Il y aura une liste vide qui va être créée.D'accord.Donc, on crée l'objet pour la liste vide.
00:10:04 :Est-ce qu'il n'y a pas quelque chose qui manque avant ?C'est le nom de la liste.Le nom de la liste.Alors, ouais, ça pourrait.
00:10:27 :Mais il y a encore autre chose avant.Faire fermer la page de menu, faire ouvrir une autre page.Là, tu es déjà trop dans le côté tétris.
00:10:38 :Relisez les petits textes qu'on a définis en début.Et quelle est la première chose qu'on devrait avoir à faire lorsqu'on clique sur créer une liste, une nouvelle liste ?
00:10:54 :Il faut qu'on ait l'emplacement aussi sur le disque dû ou un endroit spécifique pour sauvegarder.Alors ça, ça viendra un petit peu plus tard comme fonction.
00:11:11 :Mais on va faire comme ça.Comme ça, on va suivre les chiffres de réflexion parce que c'est comme ça qu'on prend en réel.On se met ici.
00:11:18 :Emplacement de sauvegarde.OK.Alors, avant de créer la liste, on va faire comme ça.Quelle est la première chose qu'on va devoir faire ?Je vais vous aider.
00:11:51 :Ici.On a prévu deux types de listes.Une liste simple ou une liste de tâches.D'accord ?Donc, notre liste de tâches, on sait qu'elle ne va pas se faire de la même manièrepuisqu'il va y avoir des tâches qui vont être invalidées ou invalidées.
00:12:08 :OK ?Donc, il va falloir afficher un menu.D'accord ?Qui va nous amener le choix suivant.Créer une liste simple.Ou créer une liste.
00:12:37 :De tâches.D'accord ?Suivant le choix qu'on a fait là, on va créer un objet pour la liste vide.Alors, je vais rentrer un peu dans la partie code.
00:12:51 :Ce n'est pas le but.Mais c'est pour que vous compreniez pourquoi il faut avoir cette réflexion en profondeur.Si je crée une liste simple, je vais utiliser un objet de type liste.
00:13:01 :D'accord ?Puisque le but va être simplement de ranger des éléments dedans et prendre.Maintenant, si je veux créer une liste de tâches,vous imaginez bien que là, on n'est plus sur le même type d'objet.
00:13:13 :Parce qu'il va falloir que l'objet ait un nom et qu'on sauvegarde son état.Est-ce qu'il est validé ou pas validé ?On est plus sur un dictionnaire, alors.
00:13:24 :On sera plus sur une liste, mais une liste de dictionnaires.OK ?Donc déjà, dans la création de notre liste vide, ça va avoir un impact.
00:13:38 :Et ça va avoir un impact sur tout le reste du programme.OK ?Ensuite, donc on a créé notre liste vide.Alors, je ne sais plus qui avait dit, je crois que c'est Jacques-André.
00:13:51 :On va lui donner un nom.OK ?Et ensuite, une fois que ça c'est fait, qu'est-ce qu'on fait ?On donne la possibilité de pouvoir ajouter des choses à la liste.
00:14:14 :D'accord.Donc, on affiche un nouveau menu.Voilà.C'est...J'ai compris pourquoi il y a des changements de couleur.C'est...C'est le pilot qui s'est réveillé.
00:14:41 :OK.Donc, dans le menu, qu'est-ce qu'on va avoir comme option ?Après, ça dépend de la liste qui est choisie avant.Non.Là, c'est là qu'il faut faire de l'abstraction.
00:14:59 :En fait, on ne rentre pas dans le code.On fait de l'abstraction.On va chercher nos fonctions.En fait, l'avantage de cet exercice que je vais vous faire là,c'est que vous allez voir, vous allez faire du code beaucoup plus maintenableet beaucoup plus modulaire.
00:15:17 :Typiquement, alors, j'ai parlé un peu de code,n'hésitez pas à me douter exactement.Je vais vous donner un premier élément.Ajouter un élément.D'accord ?
00:15:29 :On va le mettre.Ajouter.Ah, il m'embête.Je ne veux pas qu'il bouge.Tac.Ajouter un élément.Voilà.Alors, typiquement, ajouter un élément.Vous allez essayer de ne pas m'embêter ce soir.
00:15:52 :Voilà.Hop là.Hop là.Si vous travaillez cette fonction,vous dites, tiens, voilà.Alors, je vais le faire détaillément.Alors, quand je vais ajouter un élément à ma liste simple,ça va être un append.
00:16:10 :Et si je veux l'ajouter à ma liste dictionnaire,il va falloir que je crée l'objet dictionnaireet après que je fasse un append.Donc, naturellement, vous allez avoir tendance à me créer deux fonctions.
00:16:18 :Sauf que,si vous la jouez fine,vous ne pouvez créer qu'une seule fonction, ajouter l'élément,qui va être capable de gérer,que ce soit un élément simpleou un dictionnaire que vous rajoutez.
00:16:32 :OK ?Donc, c'est pour ça qu'il faut essayer de réfléchirtoutes vos fonctions en abstraction totale.Que vous allez faire de l'abstraction ?Alors,dans les principes solideset les designs paternes,c'est ce qu'on appelle les interfaces,plus vous allez pouvoir, finalement,avoir du code qui va s'adapter très très vite aux situations.
00:17:02 :Parce que là, pour l'instant,on a créé une liste simple, une liste de tâches.Admettons,qu'est-ce qu'on pourrait imaginer qui serait un petit peu différent ?
00:17:11 :Une liste d'objets, par exemple.Votre liste d'objets, vous pourriez bien,par exemple,sauvegarder les emplacements des pickles,des classes que vous avez créées.OK ?
00:17:25 :Et comme vous avez déjà la mécaniquede créer une liste,vous pouvez juste rajouter l'option nécessaire pour le pickle,mais ce n'est pas de recréer une fonction complète.
00:17:36 :Vous allez utiliser votre fonction existante,vous allez juste ajouter une optionqui va vous permettred'ajouter un pickle,ou l'emplacement du pickle.OK ?Est-ce que c'est à peu près clair pour tout le monde, ça ?
00:17:49 :Oui.OK.Donc, on va continuer.L'élément suivant, bien sûr,c'est supprimer un élément.OK.Maintenant,quelle estl'autre chose qu'on peut avoir sur ce menu ?
00:18:13 :On a géré l'ajout,on a géré la suppression d'un élément.L'affichage des éléments d'une liste.Exactement.Donc,afficherla liste.OK ?Il y a modifier aussi.
00:18:32 :Modifier un élément,oui, éventuellement.Je vous l'avais proposé également.On peut modifier un élément.OK.On travaillera autrement, ça,mais il y a l'idée, effectivement.
00:18:49 :Et quitter ?Qu'est-ce qu'on peut faire d'autre ?Alors,on a le quitter,très bien.Retour au menu précédent.Alors, oui,excellent.Alors, on a quitté.
00:19:03 :Je prends.Alors, on va les mettre à l'oeuvre,comme ils tombent.Retournerau menuprincipal.Johanna a parlé aussi desauvegarder la liste.Eh oui.
00:19:21 :Tout bêtement.OK.Je fais un peu le tour,mais je pense qu'on adéjà couvert pas mal desdes fonctions qu'on pourrait imaginerdans ce cadre.
00:19:43 :OK.Alors,maintenant,on a fait tout ça.Alors,l'emplacement de sauvegarde,je vais le mettre entre parenthèsesà côté de la sauvegarde de la liste.
00:19:59 :Parce que là,on pourrait avoir deux options.Première option,on décide arbitrairementqu'il y a un dossier sauvegardequi seraità l'emplacement de notre script.
00:20:15 :OK.Mais que les listes seront forcémentsauvegardées à son endroit.Deuxième option,on permetà l'utilisateur de choisirl'endroit où il veut sauvegarder la liste.
00:20:28 :Donc ça,ça va avoir un impact sur le codepar la suite.C'est pour ça que je le laissepour l'instant comme ça entre parenthèses.
00:20:34 :On va revenirà notre définition.Alors,on a faitle menu créer une nouvelle liste.Maintenant,il va falloir fairecharger une liste.D'accord ?
00:20:49 :C'est parti.On est toujours dans la même phase.Charger une liste.OK.Alors là,on vadéfinir un petit peuquels sont les...Alors là,on n'est plus effectivementdans un menu proprement dit.
00:21:12 :Mais on va devoir définirun petit peuquelles vont être les actions possibles.Qu'est-ce qui va se passerlorsqu'on va choisircharger une liste.OK ?
00:21:22 :Alors,quelle est la première chosequ'on va fairequand on va choisirle menucharger une liste ?Qu'est-ce que notre programme va faire ?
00:21:30 :On va demander le cheminde la listeà l'utilisateur.Alors,éventuellement,suivant la sauvegarde,l'outil de sauvegardequ'on a choisi.Alors,objectivement,si vous décidez de coderce qu'on est en trainde définir,je vous conseilledans un premier tempsde mettre à une sauvegardeavec arbitraireet après de gérer
00:21:55 :la possibilitéde choisirl'emplacement de sauvegarde.D'accord ?Alors,donc,déterminerl'emplacementde sauvegarde.Ok ?Alors,soit par un inputouchemin par défaut.
00:22:21 :Voilà.Ou chemincomme çapardéfaut.Ok ?Donc,on peut avoirsoit un inputsoit un chemin par défaut,mais on peut avoirl'inputavec un chemin par défautsi l'input est libre.
00:22:44 :Ok ?Vous voyez,déjà on commenceà déterminerpas mal de possibilités.Quelle va êtrela deuxième action ?Sélectiond'hélicesdisponibles.Oula,t'es déjà parti loin.
00:23:02 :Il y a autre chose avant.Maintenant qu'on connaît le dossier,dans quels instruments nous listons ?Il va peut-être falloirpartager le dossierpour le retrouver.
00:23:20 :D'accord ?Donc,lister,ça va être un peupas très français,je vais écrireles listesdisponiblesdansl'emplacement.Et là,je réfléchisun petit peu encoreet je me disoula,il y a un trucque je n'ai pas défini.
00:23:46 :Il y a deux belles cotesaussi que je viens d'écrire.Boum.Boum.Qu'est-ce qu'on aobligé de définir ?Alors, quand je dispourquoi,je me dis tiens,il y a un trucque j'ai oublié de définir.
00:24:01 :Le format.Voilà.Bien vu.Alors, je n'ai pas vuqui c'est qui a balancé ça.Voilà,ce sera un peu pluspratique pour moi.Donc, oui,il va falloirdéfinir un format.
00:24:25 :Donc, hop,on revient icidans notre définition générale.Et là,voilà.Le formatdesauvegardedes listesseraalors, quel format on prend ?Le plus simple,c'est JSON.
00:24:50 :Oui, c'est ce que j'allais dire.Oui,exactement.C'est le plus simple.Il va bien convenirpour stockerdes listeset des listesde dictionnairesetc'est plutôtil aime bien JSON.
00:25:02 :Donc,aucune raison de se priver.OK, c'est bon.On a résolu un problèmequi allait se poser à la nuit.On peut continuer.Maintenant qu'on a nos listes disponibles,comme le disait Thomas tout à l'heure,on va afficherles listes.
00:25:18 :A la fin de cette liste,cette liste de listes,qu'est-ce qu'on va rajouter ?Tu peux répéter la question,je n'ai pas entendu.Voilà,on va afficher notre liste.
00:25:35 :Maintenant, on a trois listes.C'est pascourses,tâches à réalieretmenus.Voilà.Est-ce qu'il n'y a pas une optionqu'on doit rajouter en plus des listes ?
00:25:46 :Je ne vois pas.Alors,lorsque vous consommez un script ou un programme,il faut toujours vous direque l'utilisateur de votre script ou de votre programmefera systématiquement une chose.
00:26:12 :Ne pas suivre les règleset les lignes d'usage de votre programme.Donc, il faut toujours prévoir le casoù l'utilisateur va faire une bêtise.Et là, typiquement,admettons que l'utilisateur ait choisi chargé de listes,et là,il est bloqué sur le menu.
00:26:33 :La seule chose qu'il reste à faire,c'est d'interrompre brutalement le programmepour pouvoir continuer.Ce n'est pas très propre.Donc,on va rajouter,ici,un retour au menu précédent.
00:26:48 :Comme ça,si notre utilisateurveut aller sur l'option« charger une liste »alors qu'il n'a aucune liste à sauvegarder,ouque c'était une erreur,il a la possibilité de retourner au menu précédent.
00:27:10 :Ensuite,on a deux options.Soit on choisit une liste,ou revenir au menu précédent.OK ?Donc,là, je pense qu'on a pas mal gérénotre programmation chargée de listes.
00:27:36 :Maintenant,on va traiter quoi ?On revient sur notre menu.Supprimer une liste.Donc, on va définir ça.Et qu'est-ce qu'on va faire dans cette option-là ?
00:28:00 :Il y a quand même beaucoup de choses qui vont apparaître.En fait,on va reprendre tout ce qu'on a là,et on va le remettre ici.
00:28:14 :Parce qu'enfin,quand il s'agit de charger ou supprimer une liste,on va retrouver les actions similaires.D'accord ?La seule différence qui va y avoiron va la mettre ici.
00:28:27 :Ici, on va chargerla liste choisie.OK ?Et ici, on vasupprimerla liste choisie.OK ?Donc là déjà,on n'a pas encore commencé à faire du code ou autre chose.
00:28:54 :Et on s'aperçoit assez rapidementqu'on a ici tout un ensemble de fonctions dans les deuxqui vont être similaires.Donc, on pourra pouvoir faire des fonctions communesqu'on va utiliser à la fois dans charger une listeet supprimer une liste.
00:29:08 :OK ?Oui.Mais ça,vous voyez,là, c'est expliquement un des premiers bénéficesde faire ça.Et quand on fait cette réflexion,on s'aperçoit ça tout de suite.
00:29:25 :Donc, quand on va faire notre code,objectivement,je pense que beaucoup d'entre vous auraient,en partant dans le code direct,ils auraient fait leur routine de charger une listeet après, ils auraient fait d'autres routinespour supprimer une listeen répétant les mêmes actions.
00:29:40 :Là, du coup, ça nous ditqu'on va pouvoir créer des fonctionspour déterminer un emplacement,une fonction pour lister les disponibles emplacements,une fonction pour afficheravec le retour au menuet en fonction du cas où on se trouve,on fait l'actionsoit supprimer, soit charger la liste.
00:30:02 :OK ?Alors, maintenant qu'on a fait ça,il y a d'autres choses qui vont apparaître.Je pense que supprimer la liste,on supprime la liste,on vient au menu,il faut que c'est fait.
00:30:17 :Quand on charge la liste,qu'est-ce qui va se passerune fois qu'on a chargé la liste ?Après, une fois qu'on l'a fait,ça a été un peu comme le menu,comme le cas de Trinis,avoir la possibilité de modifier.
00:30:37 :Voilà.Donc, vous voyez,on va revenir sur les choses.Donc, au bout du compte,ce petit exercice,qu'est-ce qu'il nous permet?Il nous permet de se rendre comptequ'en fait,on va pouvoir créer des fonctionsqui vont pouvoir être utiliséesdans plusieurs cas.
00:30:57 :D'accord ?Donc, on va réfléchirrapidement aux fonctions.On va juste faire rapidement les fonctions.D'accord ?Je vais créer un nouveau fichier.OK.Et on va réfléchir à nos fonctions.
00:31:16 :Donc, on reprend ici.On va prendre notre phase 1.On a une phrase affichéemenu principal.D'accord ?Donc, je sais déjàque je vais avoir une fonctionqui va s'appeleraffichéemenuprincipal.
00:31:37 :OK.Voilà.Ensuite,je reprends ma liste ici.Je sais que je vais avoiraussi un menumenu listetype de liste.D'accord ?Donc, je vaisaffichervoilà.
00:32:10 :Pour ne pas rappeler le menu,on va direchoixtypeliste.Hop.Continue.On a un autre menuqui va nous permettrede créer la liste.
00:32:29 :Alors, ça,je pense qu'on va le mettre,on va le garder dansici, le choix typeaffiché, choix type liste.D'accord ?Puisque la création,le fait de donner un nomva déterminer le type de la liste.
00:32:45 :C'est une actioncommune.Donc, plutôt qu'affichertype liste,on va fairecréerliste.D'accord ?Donc, on va avoir une fonction.On va se noter ici.
00:33:03 :Tac.Voilà.Attends, on va faire ça.Hop.On reprend ici.Le groupe.Je mets celle-ci.Ok.On va faire pareil pour affichernotre menu principal.
00:33:40 :Tac.Ici.Voilà.On va faire un petit peu.Tac.Tac.Tac.Tac.Ok.Alors, voyons voir la suite.Alors,ici, on aun menu secondairequi va nous permettrede gérer la liste.
00:34:23 :Donc, on va créer une fonctionpour ça.Desk.Sous-menu.Liste.Vous voyez ?Et peut-être que Payota commencé à comprendre.On va vérifier s'il a bienvu notre fichier.
00:34:43 :Il en manque.Bon.Alors, on va reprendre ça.Tac.Voilà.Tac.Ici.Alors, on vamettre quelque choseun peu plus ordonné.L'équité, ici,on ne va pas le mettre, en fait.
00:35:14 :On partira du principequ'on quitte en revenantau menu principal.Ça évitera de se fairedes fonctions polluantes.D'accord ?Tac.Alors, ajouter un élément.
00:35:28 :Supprimer.Fichier.Liste.Modifier l'élément.Sous-menu.Réaliser.Ok.Donc,on va faireun petit peucomme ça.Supprimer.Fichier.Liste.Modifier l'élément.Sous-menu.Réaliser.Euh...On va le définir maintenant.
00:35:47 :Modifier un élément.Est-ce qu'il ne sera pas conditionnel,cette option ?S'il...S'il sera...Si l'élément est mis...L'affiché,s'il sera...S'il existe.Voilà.Alors, on va mettreSigne.
00:36:02 :Liste.De tâche.Hop.L'élément.Ok.Alors,on retourne ici.Charger une liste.Ah.On a une première fonction.Alors.Laisse.Charger.Liste.Ok.Alors.On va déjà définirquece menuva charger la listeet s'appuyersurune fonctionde manipulationde fichier.
00:37:04 :Puisqu'on l'avait déterminé tout à l'heureen réfléchissantque, finalement,on allait faire une fonction communepour chargeret supprimer une liste.Chose.Et du coup,on va mettre la fonction.
00:37:18 :Laisse.Manipuler.Ah.Voilà.Donc.Alors.Hop.Pas trop vite.On a ditdéterminer emplacement.Je vais faire simple.Emplacement.Les fichiers.Hop.Parserles fichiers.
00:38:02 :Clac.Retournerla listecorrespondante.Voilà.Donc, on est bien d'accord.Je reprends ici.Nos chargéset supprimer listes.On vient de les remettre.Ok.Hop.
00:38:25 :Note. Créer une nouvelle liste.Il est fait.Ok. Super.Alors, regardons notre programme.Qu'est-ce qui nous manque maintenant ?On a ajouté, supprimé les éléments.
00:38:40 :Donc, on va faireles fonctions.Dev. Ajouteréléments.Dev. Supprimer éléments.Ça nous va aussi.Afficher la liste.Ok.Ok.Regardons encore notre système de menu.
00:39:18 :Modifier l'élément.Dev. Hop.Modifier l'élément.Et qu'est-ce qu'il nous reste d'autre ?Sauvegarder la liste.Ok.Et maintenant, qu'est-ce qu'on va faire ?On va finir le programmeet afficher le menu principal.
00:39:56 :Juste comme ça.On ne va pas aller tout loin.Et voilà.Et là, vous voyez,en étant parti du texteet en ayant réfléchi à ce qu'on devait faire,techniquement, on a déjà fait la suite.
00:40:14 :On n'a plus que des petites fonctions à créer.Et au bout du compte,on a une suite qui est parfaitement fonctionnelle.Est-ce que c'est clair pour tout le monde, tout ça ?
00:40:32 :Surtout, avez-vous compris l'intérêt ?Est-ce que vous voyez l'intérêt ?Est-ce que ça vous semble beaucoup plus clairde procéder ainsi pour concevoir son script ?
00:40:44 :Ça permet de rien oublieret de s'apercevoir aussiqu'on peut regrouper certaines fonctions ensemble.Voilà.Et là, typiquement,qu'est-ce qu'on va faire ?On ne va pas le faire ce soirparce que ça va nous emmener très loin.
00:40:59 :Premièrement, dans l'ordre.On va d'abord faire notre fonctionafficher le menu principal.Et comme on a conçu la chose,on va faire juste ça pour ce soir.
00:41:11 :Ça permet aussi,s'il y a besoin,de savoir qu'il faudrait prendretelle ou telle bibliothèque en plus.La bibliothèque, disons,dans des projets qui sont plus clés, des fois.
00:41:22 :Voilà.Ça permet aussi, des fois,d'établir les bibliothèques par exemple.Ici, on va définir...Je vais bien en parlerpuisqu'on en a parlé tout à l'heure.
00:41:30 :On a défini que notre sauvegardeserait du JSON.Donc déjà, on va faire de l'importJSON.C'est ce qu'on aura besoin.On va faire aussi...
00:41:40 :Puisqu'on va manipuler les fichiers,on va chercher dans passe libreFAT.C'est déjà pas mal.On a déjà ce qu'il faut.Donc là,je vais vous montrer l'intérêt.
00:41:56 :On va faire...Alors...Je vais prendre un petit wireless.Vous savez, j'aime bien le wireless.Soit...Comme ça.Hop.Voilà, il m'a capé mon module directement.
00:42:22 :C'est super.Donc, vous voyez,l'avantage aussi,si vous travaillez un petit peuavec GoDaddy Copilot,comme j'ai tout défini,là, il fait automatiquementles choses qui correspondentà mon script.
00:42:38 :OK ?Donc là, je vais sauvegarderle script.J'ai mis sur le bureau,j'ai mis dessus,j'ai mis dessus,c'est pas grave.Voilà.Je vais lancer mon script.
00:42:55 :Vous voyez,il m'affiche bien le menu.Je peux faire un choix.Ça ne va pas poser de problème.Forcément,il y a une boucle,parce que...
00:43:10 :On n'a pas à injecterles autres...les autres fonctions.Vous voyez,c'est celui sur lequel,comme il est déjà validé,il m'imprime.Mais, je peux testermon script directement,même que je n'ai pas encorecréé mes autres fonctions.
00:43:27 :OK ?Pour le file,on va faire ça.Alors, on avait créé une liste.Alors, à la place d'un page,je vais faire un print,création de nouvelle liste.
00:43:37 :Ici,le soumis de liste,je ne l'ai pas créé pour l'instant.Là, on va faire un print,chargé liste.Ici, un print,backup,suppression de liste.
00:43:57 :Et qu'est-ce que j'ai misdans le menu de base, déjà ?Voilà.Normalement,c'est suffisant.Je sauvegarde ça.Je lance.Si je finischarger une liste,normalement,chargement d'une liste,un,création d'une nouvelle liste,trois,suppression d'une liste,quatre,j'utilise.
00:44:26 :OK ?Donc, voilà.Alors, hop,on tourne ici.Voilà.Donc, voilà le petit truc.Comme vous avez vu,au début,quand vous commencezà faire ce genre de technique,ça paraît long et fastidieux.
00:44:53 :OK ?C'est superpour créer mon petit programmede gestion de liste.J'ai l'impression d'avoir sortiun bazooka pour faire un moustique.Mais si vous prenezdès le débutcette habitude-là,de réfléchir d'abordà votre programme,d'essayer de déterminerquelles sont les fonctionsdont vous aurez besoin,alors,attention,
00:45:17 :là, on est sur un programmede gestion de listequi a été simple,on va dire,d'arriver à déterminertout ce dont on aura besoin.
00:45:23 :Si vous rentrez dans...Oui, exactement,tu peux aussi les définirà ce moment-là.J'ai même posé la questionde savoir si on pouvaitdéfinir les classes.
00:45:37 :Oui, ça peut aussi.Le truc, c'est que,comme je vous le disais,vous allez forcémentà un moment ou à un autrearriver sur des programmesde liste d'une telle complexitéque vous ne pourrez pasanticipertoutes les fonctionsdont vous aurez besoin.
00:45:53 :Vous aurez forcémentdes surprisesen cours de programmationet vous découvrirezc'est un merde.Soit vous avez faitune fonction dans un premier tempspuis vous vous rendez comptequ'il y a une distinctionqui est l'utilité de la donnée,c'est-à-dire,bon, comme ça,vous pouvez tout scinderou vous allez vous apercevoir
00:46:08 :que vous avez besoinde traiter une donnéed'une manièrebien spécifique.Vous avez créé une fonctionparce que vous vous rendez compteque vous avez ce traitement-làqui devient récurrentau cours de votre programmeau sein de différentes fonctions.
00:46:18 :Vous aurez toujoursdes surprises.Je ne vous dis pasqu'en faisant le petit travailque l'on vient de faire ce soir,vous allez systématiquementdéfinir tous vos programmesde A à Zet vous n'aurez plus qu'àremplir les fonctionset tout est bon.
00:46:31 :Mais, vous verrezque vous allez êtrebeaucoup plus organisé.Comme vous l'avez vu,là, au cours d'une réflexion,on se rend compte,tiens,il y a moyen de faireune fonction communepour la gestionde chargéeset à supprimer nids.
00:46:44 :Donc,on en arrive à du codequi est beaucoup plus modulaireet beaucoup plus rapide.Et beaucoup plus facilement maintenable.Parce qu'en fait,alors,je ne crois pas qu'il y aun autre sens.
00:46:55 :Ouais,si par exemple,la station a pris l'exemplede charger et supprimer nids,on pourrait dire que,par exemple,dans l'avenir,vous décidez d'ajouterune toute composanteréseauou internetà votre programmeet vous pourriez ajouterune optionenvoyer nids.
00:47:14 :Là,vous pourrez récupérertoutes vos fonctionsd'emplacement de sauvegarde,de chargement de la listeet choix de la listedans votre nouvelle fonctionenvoyer nids.
00:47:25 :Puisque,en fin de compte,vous avez créé une interfaceautour de la gestionde fichiers et de listes.Vous n'avez plus qu'à connectervotre envoyer nidsà votre interfacemanipulation de fichiers.
00:47:37 :Donc,vous voyez,ça devient très vite puissant,finalement.Et au final,vous avez...On va se déclare aussisur le projet,sur les projetsqui sont en cours.
00:47:55 :Surtout quand ils sonténormes,les projets,ça peut vite devenirun hasard d'internet.On peut vite partirà droite,à gauche.Ça permet d'organiser aussiet dire,on commence par telle étape,par telle étape,par telle étape,par telle étape.
00:48:09 :Même s'il y ades trucs qui se rajoutentau fur et à mesure,mais...Je ne vous cache pasque sur certains projetsque j'ai fait,il m'est arrivé queça se code un petit peu,alors que je l'ai finalement pris,comment ça codait,puis...
00:48:24 :C'est comme tout,les principes,c'est beau,puis quand on esthyper motivé,ainsi de suite,on a un petit peul'opportunitéà oublier les bonnes règleset à faire un petit peutout et n'importe quoi.
00:48:35 :Ça m'est arrivéde prendre des projetset de dire,OK, là,j'ai l'impressiond'être dans une impasse,clairement.J'ai résumé,sur une feuille,toutes les fonctionnalitésque j'avais déjà réussià atteindre avec le projet.
00:48:52 :OK.Et l'étape suivante,ça a été,je supprime toutet je repars au zéro.Et grâce à ma feuille guide,je ne perdais pasun temps de fouà en refaire tout,attention,mais ça me permettaitde réassembler mon codeet faire des choses propres.
00:49:10 :Et, bien souvent,le truc sur lequelje bloquais depuisquelques jours,il se débloquaiten deux minutesparce que le simple faitde reprendre les chosesproprement,ça me permettaitde me remplirpour quoi faire ma chambre.
00:49:24 :Donc, contrairementà ce que vous pourrez croirebeaucoup,la feuille et le styloest un très bon amidu développeur.Puis, des fois,il y a des erreursqui font qu'on est obligéde refairele screen des zérosparce qu'en cherchantl'erreur,soit on n'arrive pasà la trouver
00:49:46 :soit on en crée d'autres.Des fois, ça faitdes erreurs en chaîneet du coup,on se dit,il vaut mieuxtout effaceret tout recommencerque de rester dessus.
00:49:58 :Ça permet de ne pas repartirvraiment de zéro,en fait.Partir quand mêmeavec une base,c'est ce qu'on doit faireun peu.Voilà, j'espèreque cette petite séancevous a pluet qu'elle vous a apportéquelque chose, surtout.
00:50:19 :Comme on disait,n'ayez pas tropd'espoir,mais en tout cas,moi, le 24 et le 31,c'est sûr,je ne serai pas en liveavec vous.
00:50:30 :Je vous apprécie beaucoup,mais il y aune petite limite.Très probablementà l'année prochainepour le cons.Je vais peut-êtreêtre le premierà faire une blagueannuelle.
Aucune occurrence trouvée pour « ».