Session du 01 octobre 2025 à 21h00
Structures de Données
Bases du Langage
TOSA & Certifications
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 unpacking
Session de mentorat unpacking
00:00:00 :Et voilà du coup quand on parle de CSV, moi au boulot avant j'utilisais donc streamlit et openpyxel.C'est vraiment mes... parce que je suis contemporain en gestion, moi j'ai fait 15 ans de commerce avant de faire du CSV.
00:00:18 :J'ai toujours fait que le code. Donc vraiment des rayons à la direction contemporain en gestion quoi.Et en fait ouais, CSV c'est super bien, j'adorais.
00:00:27 :Et j'ai fait la streamlit à combiner openpyxel pour créer les fichiers Excel.Et en fait j'ai combiné openpyxel et dflib. Je sais pas si vous connaissez dflib.
00:00:36 :Non.Je sais pas si j'ai une bonne ressource.Ca fait un an et demi que j'en ai pas fait pour mon ancien boulot.Je suis où là ?
00:00:48 :Voilà.Hop, normalement on voit une belle plage non ?Hum.Ouais.Alors dflib.Ce qui est pas des exemples d'ailleurs.Alors dflib c'est une...C'est une librairie standard de Python.
00:01:08 :Alors pour ceux qui passent au Toza, sur ce passage, je n'ai jamais vu passer au Toza.Mais elle est pas mal. Alors est-ce que j'ai dflib, makefile, maketable, je m'en fiche.
00:01:16 :Contexte, je sais pas si je vous l'ai montré.Get close.Attends que je retourne.Hum.Attendez, faut que je le trouve.Si j'ai pas mon repo, je dois l'utiliser.
00:01:28 :Si y'a moyen.Je vais aller sur le...Github.Sur Github.Simulate tools.Je l'avais rendu un petit peu public ce truc.Fonctions.En fait c'est un projet que j'avais fait.
00:01:49 :Je connaissais rien en code.Mais en fait du coup le code est pas super bien organisé.Hum.Fonctions.Le matchinator je l'avais appelé.Voilà c'est ça.
00:02:03 :Le matchinator.Et voilà j'avais pas dflib.Voilà, get close matches.Hum.Qu'est-ce que je faisais déjà avec?Reject.C'est tout ce qui est rejeté.OK.
00:02:19 :Et voilà, en fait.C'est ça.En fait.Je prenais des...Je récupérais des donnéesdans un fichier Excel.Tac.Et j'allais le faire matcher.Voilà.
00:02:37 :J'allais le faire matcher avec des...Comment dire?En fait voilà.J'avais deux Excel.Différents en fait.Dans ma boîte j'avais deux Excel différents.Et hum.
00:02:52 :Si j'imaginais par exemple.Pour se mettre dans le contexte.Quand j'étais en gestion, j'avais une tâche par exemple.J'avais des fichiers qui étaient commandables chez Carrefour.
00:03:00 :Et vu qu'on était partenaire de Carrefour.On n'était que...On était client de Carrefour.Et en fait Carrefour nous envoyait des fichiers de produits commandables.
00:03:08 :Et nous derrière on avait...Dès qu'on commandait on avait mis des fichiers qui revenaient en erreur.Genre on ne peut plus commander.Pourtant eux ils les avaient.
00:03:16 :Et à côté nous on avait un fichier de produits Carrefourqui n'était pas référencé chez nous entre guillemets.Donc moi le but c'était de dire tout ce qui n'était pas commandable.
00:03:22 :D'essayer de les rapprocherde ce qui n'était pas référencé chez nous.Et ça en fait...C'est à la main.Genre ils regardent un peu sur Excel.
00:03:32 :Ça y a ça, ça ressemble à ça, ça ressemble à ça.J'ai créé un fichier comme ça.Une petite application avec OpenPageExcel d'ailleurs.Et DFLIB.
00:03:40 :Et en grosles mecs ils uploadaientle fichier Excelavec tous les produits qui étaient en rejet.Ils uploadaient le fichier Excelavec les produits qui étaient commandablesmais pas référencés en cas chez nous.
00:03:54 :Et du coup ça leur disait ça ça ressemble, ça ça ressemble, ça ça ressemble.Voilà.Et au final ça leur disaitça du coup vous l'avez pas,on peut le faire référencer, ça on peut le faire référencer, ainsi de suite.
00:04:04 :Et donc je disaisc'était pas prévu ce que je fais làet c'est getclose match.Et voilà.Et genre là il y a la petite démo normalement.
00:04:16 :Voilà c'est ça. En fait ils vont faireun...Voilà. Donc j'ai envoyé dedansle mot que je cherchaisla liste en fait des éléments qui sont disponibles.
00:04:28 :Alors par contre je passais par une double bouclefort donc en fait ça prenaitbien au moins une minuteà charger.Et ça, Apple, ça va ressortir ce qui ressemblele plus possible. Donc il y a Ape
00:04:40 :et Apple. Hop.Il vous le ressort en liste ici.Donc c'est de la fusillade. Ça vous ressemblevraiment des mots qui sont semblables.Et ça vous avez moyen, il y a un paramètreje sais pas si...
00:04:52 :Voilà c'est ça.Il y a un paramètrequi sert à... je sais pas si c'estpeut-être le cutoff alors.C'est peut-être le cutoff qui fait ça.
00:05:02 :Ok.Et en faitça permettrait de réglerun petit peu la sensibilitéde la fonction entre guillemets.Voilà. Je sais pas si c'est là qu'on a utilisé
00:05:14 :DFLIP du coup cette librairie là.Ici.Non.Ok. Bon bah écoutez.Franchement bon à savoirparce que ça peut vous faire gagner du tempspour faire de la fusilladebien que maintenant il y en ait qui ferait ça avecl'IA. Mais à l'époque
00:05:32 :on avait pas d'IA au boulot doncil était pas chaud pour le fairedonc j'ai utilisé ça.J'ai juste installé Python et c'est parti quoi.
00:05:40 :Donc voilà.Et d'ailleurs mon reposil est public.Mais il serait bien bien bien revenuà jour il y a 7 mois. Je sais pas pourquoi.
00:05:50 :Je sais pas ce que j'ai fait.Mais ouais.Ouais.Ouais. J'avais un peugénéralisé pour...Ok. D'accord.J'avais revu les cellules ici.Bon bref. Excusez-moi.
00:06:06 :Type.Est-ce qu'il y en a iciqui utilisent un peu l'unpackingavec Python ou pas ?Alors j'ai eu un non.Est-ce qu'il y a des oui ?
00:06:22 :D'accord.Mais après c'est pas un truc hyperconnu. Vous le faites sans savoir des fois j'imagine.C'est pas ce qu'il y a de plus connuou ce qui se fait le plus maisc'est assez pratique.
00:06:34 :Comment je vais vous présenter ça ?Donc on va...En grosj'ai pas dit mais s'il y a des questionspar rapport à Difflib vous pouvez les posermais je suis pas un pro de Difflib.
00:06:50 :Voilà. Mais sinonça s'intègre bien vraiment. Je trouve quele trio Streamlit, Difflib,OpenPyXL, moi c'était terrible.C'est un truc de ouf.Ça marchait vachement bien.
00:07:02 :C'est parti. Alorsl'unpacking. Comment on peutprésenter ça ?Imaginons...Imaginons...Basiquement.On peut se le faire enanglais plutôt.En anglais c'est...Il y a des O quand même.
00:07:24 :On va se dire...Voilà.Lui je vais voir si je le mettrais après.Pour l'instant je vais un peu le mettre en pause.Donc imaginons des coordonnées comme ça.
00:07:38 :Un tube. On s'en fiche. On aurait pu l'appelerun tube 1 et 2 ici.L'unpacking.Est-ce que vous savez que vous pouvez attribuerdirectement à deux variables les valeursqui dans le tuple ?
00:07:52 :Si oui ou non. Et comment on fait ?Non.Ok. Et en faitlà c'est tout con.Je ne sais pas. On va se dire
00:08:04 :un Bégal à T. Ok.Et si je fais un printde Aet Thibault avait raisonparce que je voulais faire un mentorat là-dessuset je n'étais pas sûr. En fait il m'a dit que
00:08:18 :ce n'est pas un truc qui est hyper connu.Ok. Donc là si je fais ça.Ok. Donc là je suis bienunpacking ici dans le sens où je récupèreles valeurs de T comme ça.
00:08:30 :Avec une assignation du tuple ici.Je récupère A et B.Ok. Est-ce que ça c'est bon du coup ?Oui.Vous n'avez jamais eu à faire ça du coup ?
00:08:42 :Ça vous est jamais arrivé ?Ça me dit quelque chosemais je n'ai jamais utilisé.Oui, c'est pour ça. C'est intéressantde savoir. C'est vrai que ce n'est pas
00:08:52 :hyper connu et il y aplein d'utilisations intéressantes. Ok.Du coup on vacontinuer là-dessus. Même moidans la vie de tous les jours je ne fais pasdu cas je ne le fais passouvent.
00:09:06 :Ok.Bon aprèsévidemment sion fait ça je vaissi je metsPatrickicis'il te plaît si je faisça par exempleok avec l'élixirexactement pareil je pourrais très bien direje pourrais très bien dire icije ne sais pas je metsN1N2ok et là je pourrais très bien faire L.
00:09:40 :C'est exactement pareil que l'élixir.Ça il n'y a aucun problème.Maintenant là où ça peutdevenir intéressantje pense que je vais agrandir mon écranparce qu'on ne doit pas beaucoup voir.
00:09:52 :Comme ça ou comme ça ?Ouais comme ça.Comme ça c'est bien ?Ok.Alors chez moi c'est horrible mais c'est pas grave.Du coupautre manière de faireimaginez vous avezune listeici je ne sais pasça marche surles tuples et sur les listes mais sur les dictionnaires
00:10:16 :les choses comme çales sets ça fonctionne aussi ?Ouais tu vas voir on va avoir des petits exemples après.On va prendre des nombreson va passer en basique2, 3, 44ça s'arrête à 5 c'est bien.
00:10:32 :On peut très bien dire icipremieret là on pourrait très bien faireici étoilele restantest égal à la liste.Ok donc maintenant si je faisun print dupremier vous doutez de ce qui se passej'imagine. Ça ressemble à quoi ça ?
00:10:52 :Le premier.Il y a peut-être un piège.Ça va retourner le 1 ?Peut-être bien.Qu'est-ce qu'il faut qu'on prenne du restant du coup ?
00:11:10 :Ça devrait mettre2, 3, 4.Voilà 2, 3, 4, 5 ok.J'aurais pu des variables pièges, j'aurais pu de x, ymais ok donc du coupc'est ça, ça va vous récupérerici le premier élémentet tout le reste avec l'unpackça va tout vous prendre en forme de liste.
00:11:30 :C'est pourtant une liste.Nickel.Ok qu'est-ce qu'il peut se faire avec ça ?Après j'aurais pu la garder.Ok tac.En gros là c'est toujours la première variableprend la première variable, la deuxième variable prend la deuxième variable en fait.
00:11:46 :Alors ouais en groson va résumer comme ça.Imagine si je te fais un truc genrealorsle premierle milieula finvoilà on pourrait direvoilà on va la mettre comme ça.
00:12:06 :Donc là on pourrait très bien direc'est un print ici de n.Et là on a bien le premier, je ne l'ai pas printéle premier sera bien 1, le derniersera bien 5 et là on a bien 2, 3, 4au milieu.
00:12:22 :Voilà.Ouais c'est ça.Et après il y a des variables derrière ça les met sur les derniers.Il saittromper là où il faut quoi.
00:12:36 :Ok.J'essaie de rester un peu dans le thèmemais je voulais faire ça avec des fonctions.Je vais faire ça avec des fonctionsmais sans vous.
00:12:50 :Bon aprèsimagine une fonctionbasique on va direon a le nom d'une personne,on a l'âge, on a la vie.Et ici dans la fonction on va faire un printici du nomâgeBon je pourrais faire comme une IA et faire un petitstring c'est super cool.
00:13:18 :On va rester basique.On a une fonction ici.On pourrait direon va l'appelerpersonne ici.Donc voilà que personneet cette personne on peut direon va rester avec Patrick.
00:13:34 :Patrick. Alors Patricksur Docstring il est connu.Il a 70 ans et on va dire qu'il habiteà 11 ans près.Je vais couper mon téléphone.
00:13:44 :Excusez-moi.Et doncPatrick 11 ans près.Si mon père regarde cette vidéo un jouril sera content. Et làon pourrait très bien se dire fou.
00:13:56 :Et est-ce que vous savezce qu'on peut faire ici ? Pour aller au plus court possible....Je n'ai pas compris la question.Est-ce que vous savez comment on peutpasser ici ? Dans la fonction
00:14:16 :fou on a le nom âge ville.Ok ? Et donc là je vaispasser personne dans foumais de manière assez concise.Ça par contre c'est souvent utilisé. Moi j'ai déjà fait souvent
00:14:26 :dans Django d'ailleurs je le fais souvent.Par exemple.Comment passer à fouPatrick 11 ans prèsnom âge ville mais de manière concise.En gros. Voilà.
00:14:38 :......J'ai cru entendre quelque chose.Ça a coupé un petit peu....En mettant la variable personne.Ah ok.Ok.Tac.Ça passe pas.
00:14:58 :Ça passe pas.On n'en voit qu'un seul argument là....Ah il manque un truc.Vous avez vu tout à l'heure quand on faisaitl'unpacking.
00:15:10 :C'est ce qu'on utilisait.Voilà.Ok. Hop.Et là tac on unpack.Ok ?Alors on a unpacké ça assez efficacement.Et ça alors je sais que...
00:15:26 :Thomas tu fais laformation Djangoen ce moment.T'es sur l'e-commerce encore ?En formation ?Oui. Ok.Et tu l'as pas encore.Je crois que Thibaut... C'est l'un de mes souvenirs
00:15:42 :d'il y a deux ans à peu près.Thibaut montreun bon exemple d'unpackingje crois. Je ne sais plus pourquoi.Avec le checkout data. Voilà.
00:15:52 :Tu le verras peut-être du coup plus tard.Un peu différemment maison serait sur les principes.J'ai pas vu.J'ai pas prisattention sinon.T'as la techniqueaprès tu l'utilises souvent. Moi je l'utilise sur
00:16:12 :des fonctionsgenre de... Comment ça s'appelle ?Django Crispy Forms.Pas que pour ça maisj'avais des grosses fonctions où je réutilisaisdes variables et je renvoyais ça avec des splatsdedans pour gagner du temps.
00:16:28 :Je modifiais juste après. J'envoyais un splat comme çadedans et après j'allais modifierune variable par défaut genreun truc égale àun sloot.Ok.
00:16:42 :J'essaie de... Maintenantje pense que du coupon va pouvoir faire ça.On va regarder ce qu'il fout ici.En tout cas c'est ce qu'il fout.
00:16:54 :Attends j'aurais bien pu montrer ce qu'il avait prévuça va être chaud. On va par contrerecommencer. On va se dire que là on va avoir
00:17:00 :des arguments nommés.Donc imaginons qu'on a un nom.Pareil. On va prendre ça.Et j'aurais pu garder du coupne sais pason va se mettreet puis là le métiermétierégalon sait pas.
00:17:20 :Et on va se direon va faire un print ici.Donc ça me fait plaisir parce que du coupau moins on sent que c'est utileparce que ça vous verrez que vous allez pouvoiren servir assez souvent ce truc là.
00:17:34 :Ok.Donc là du couple casle cas le plus courantmoi j'utilise le plusici je vais avoir des informations comme çaje vais passer sur un dictionnaireet je vais direon va repartir avec Patrick en tant qu'on y eston va avoir l'âgel'âgePatrick il a 70 ans
00:18:04 :et pour l'instanton va faire ça icialors là du coupvu qu'on a des dictionnaires icivous savez comment on fait ?marquer l'étoileinfo.case
00:18:24 :alorsavec deux étoilesokavec deux étoiles donc on a bien Patrick 70parce qu'il est làici ne sait pas, ne sait paspour avoir un plus gros dictionnaire en disant que par exemplela ville icihopla ville c'est11 anson n'a plus qu'un ne sait pas
00:18:52 :parce qu'il nous manque le métierdonc là quand vous envoyez un dictionnaire dans une fonctionpour les arguments vous êtes toujoursentre guillemets l'argumentet la valeurpour l'instant ça va du coupil faut que les argumentsdans le dictionnaire soient dans le même ordreque dans leon a les arguments de la fonction
00:19:12 :regarde en faitsi tu ménagestactachopnon mais regardej'ai le nom ici qui estqui a 70doncdoncdans ce cas làil faut garder leeuh nonqu'est ce que j'ai ditnon nonj'ai dit n'importe quoihoptachopoklàon est bon
00:20:02 :on peut le mettre dans la fonction 0excuse moi jevoilàdonc on a bienlà j'ai une fonction inversée et ça passeça se fait bien dans le bon ordreparce que je pense que c'est un truc qui a un même tempsmais je pense qu'on va finir par ça plutôt après
00:20:18 :il faut bien marquer le bon nomdeen cléle nom qu'on a écrit dans lesoui oui ouiforcément si tu mets levoilà ton nomd'argument il est làtu pourrais pas mettrecomment direforcémentc'est la clé qui est importantele nom il est en deuxième
00:20:46 :ici mais il est bien là en premierokaprès je vais vous montrer un trucjehumest-ce que je déballe comme ça sinonje réfléchis un peunon on vapour l'instant on va le faireaprès ça c'est plutôtokon va le faire aprèsalors je sais pas si je pars du coup sur
00:21:16 :est-ce que je pars sur unehum humok imaginonshopon va avoir une fonction de somme icitacon envoie nombreok et on vafaire un return ici dela sommede nombrenombrevoilà c'est mieuxlà du coupje pense que vous avez peut-être devinédu coup ce qu'il va se passer on peut envoyer ici
00:21:52 :pardon1, 34 ainsi de suiteoklà il accepteautant d'arguments positionnels qu'on veuten grosautant d'arguments qu'on veuticiimagine par contre que je fais une sommemais je sais pas1 est égale à 3ça passe pason nomme pason est vraiment sur les positionnels ici
00:22:28 :vous m'arrêtez si ça va pasil y a peut-être des questions qui vont venir aprèsmais je pense que je vais peut-être y répondre au fur et à mesureensuitelà on a vu avec le splat simplece qu'on appelle les argsvous l'avez sûrement déjà vuil y a aussi les quarks
00:22:48 :donc imaginezque là on a des quarks icion va se direça c'est pas mal ça comme exemple configon a une configest-ce que je l'ai pasouais ça commenceouais icihopon va se dire on retourne icihopc'est peut-être là ce que vous pouvez faire
00:23:16 :ici on peut très bien retourneralors je sais pas je vais mettre en dictionnaireje vais mettreje pense que je pourrais mettre quoi en clégenreallohost icion va se direça c'est du localhostun immédiatun debugun trouet donc dans ce cas là on envoie un dictionnaire
00:23:44 :tout à l'heureon va envoyer un dictionnaire du coupça sera plus simple on va faire comme çaon va se dire un printc'est foudonc tout à l'heure on envoyaiton mettait directement un tuplelà on peut très bien mettre du coupj'ai fait quoi du coup
00:24:06 :ma configest-ce que j'ai fait une erreur quelque partc'est pas ça que je voulais faireen plus à la baseil te manquait pas des astérisques au niveau du c ?
00:24:18 :non enfin en faitje meokce que je voulais faire à la base icialors on va le faire autrementtacc'est pas ce que je voulais faire à la basej'avais encore mon exemple en tête tout à l'heurealors tacqu'est-ce que j'ai faitje m'en fous
00:24:50 :sur quoi je suis parti làje me suis embrouillé sur mon trucje me suis fait ma fonctionavec mon fond configje retourne ma configok y'a pas de problèmeje me suis fait ma config icij'ai bien fait fou oket bah c'est normalc'est normal en fait
00:25:14 :quand je relie bien mon truc en faitce que je voulais faire c'est pas çatactactactacvoilàvoilàfaut juste aller trop viteen relisant c'est bonok donc là on a bien nos deux splatsici les quarksdonc en fait j'accepte autant d'argumentsnommés que je veux
00:25:44 :donc là j'ai bien envoyé des bugsje pourrais très bien après envoyerune secrèteok ici tachopmais là on estokpour l'instant ça va ou pas ?
00:26:00 :ouiokouialler on continuehopensuiteest ce que je pourrais parlerde la combinaison des deuxou des compréhensionsque je pourrais vous voir aprèseuhhumje pense queokeuhimaginonsmais bon aprèsje pourrais le faire plus facilementça pourrait être pas malde le montrer comme ça
00:26:42 :ouais aller tacon va se dire iciqu'il y aen fin de disantje sais pas genreeuht'as quel âge jérémy ?moi j'ai 46 ansok nickeljérémy t'as 46 ansokdonc ici on pourrait très bien faireun trucest ce que je récupèreon va récupérer que l'âge par exemple
00:27:18 :okon récupèrenon on va prendre les deuxok donc on pourrait très bien se direeuhle nomici on récupère l'âgeport iciet tac non âgein hopil me le proposeet là vous allez me diresûrementle rapidetac ok donc là je vais transformer ici mon supplément dictionnaire
00:27:48 :après est ce que vous connaissezune technique plus rapide pour faire çaqu'est ce que j'ai fait làje sais pasokhop ça fait pareil okdonc làce que j'ai fait avantc'est encore un peuce que j'ai fait avant à boucler comme çaen récupérant chaque élément du tuple
00:28:18 :on peut très bien partir directement sur le constructeurditalors ça pour cetteimportant à savoir d'ailleursje pense qu'il peut y avoir des grosses questions là dessuseuhokon va du coup maintenantvoir un exemple plus intéressant en faiton va rester un peu dans ledans le thème
00:28:40 :imaginons que vous recevez je sais pas par une APIun trucvous recevez n'importe quoiun truc genre vous avez une listevous avezle nom de vous avez patrickiciderrière vous avez quoiouaison va se la faire sous forme deon va se la faire sous forme de tuple dans l'intérieur
00:29:04 :tac vous avez patrickje vais l'enlever parce que il me saouletacdonc on va avoir patricket patrick on a un tupleet on va lui passer un autre tuplepour dire qu'il a 70 ansici et qu'il vient du coup deon s'en vaest-ce que vous savez comment on peut faire
00:29:28 :pour afficher tout ça on va se faire une boucle forten basiqueon pourrait le faire en proportion de listemais on va pas s'embêter qu'il est en proportion de listeest-ce qu'il y a des idéesje lance alorsokdonc là on peut récupérer le nom facilementok
00:29:48 :tout à l'heure on l'a vu sans utiliser dicton pouvait facilement récupérerle premier élément du tupleensuite on récupèrele tuplequi est à l'intérieurdonc on va direc'est l'âge que j'ai misc'est l'âge que j'ai misc'est l'âge que j'ai misc'est l'âge que j'ai mis
00:30:10 :c'est ça, davidj'aime pas je vais mettre une virgule iciethop on clique là dessuset ensuite il faut se faire un printfaire un printdede nom par exemplesi je fais çaj'ai bien Patrickmaintenant si je prendssi je récupère sonje récupère son âge
00:30:38 :et ainsi de suiteokpour l'unpacking il y a pas mal de chosesà fairepour pratiqueron peut récupérer un briquetdans des bouclesdonc là on a bien Patrick qui est icile nom qui est là dans le tupleet dans le tuple qui est un briquet on va le récupérer
00:30:58 :de cette manière làest-ce que pour l'instant c'est bon ?oui c'est bonouibon maintenant on va se faire un truc rigoloça je l'ai fait il y a pas longtempsj'ai la script d'ailleursc'est un peu marrantimaginons queA est égale à 10est-ce que vous avez un moyen rapide d'échanger les variables ?
00:31:24 :avecB virgule Aégale A et BA virgule BB devient Aet A devient Bvoilà okbon Patrick ça c'est bonokah oui alorsc'est con j'aurais pas pu tout faire ce soirc'est pourquoi j'ai commencé il est quelle heure ?
00:31:56 :ok je vais vous montreron va faireje vais faire plus intéressantimaginonscomment je vais fairealors imaginonsje prends son corpson va avoir une classe personneici okil va avoir un nomet un âgeau niveau de la personnej'ai une classe personneje parle pas de Patrick encore
00:32:30 :doncon va se dire son nomson nomtacet l'âgeon va avoir l'âgeje réfléchiscomment on va le faireon va le faire comme ça d'abordokje vous laisse devinerPatrick iciet la personnela personneici va s'appelerPatPatricket il va avoir
00:33:10 :30 ansalors quand vous avezune classe comme çadonc là on est vraiment sur un objetqu'on a créé nous même, une personnepersonnaliséeici il est possible de récupérernomâgePatrickparce qu'on al'inspecteur Patrick qui a 25 anson peut le récupérer comme çaici on va faire un print
00:33:38 :de nom et de âgeokvoilàça marche pasest-ce que vous savez qu'il existeil y a deux méthodes comme çaqui vous permettent en fait dede gérer tout ce qui estunpackingest-ce que vous avez une idéed'un nom de méthodesinon je vous la montre direct
00:34:04 :nonil y a d'abord une méthode qui est utiliséeprincipalement, il y en a une deuxièmequi est utiliséemais qui n'est pas faite pour ça à la basedonc imaginons ici on acelle-là elle estquand on débute elle n'est pas connuedu tout mais à forcede la voir vous allez la connaître bien comme il faut
00:34:28 :hopether, en faitquand vous faites du nextdu next en généraldu etherquand vous envoyez un objet c'est cette méthode là qui va être appelée derrièreje ne sais pas simerciest-ce que je peux voir directementtac, directement comme çadans le code source, ça ne va pas être plus évident je pense
00:34:56 :c'est bizarrela présentationok donc directement comme çaen grosla méthode ether va appeler ethermais là on va faire autre chose avecen gros ici on peut très bienlui direlui retourner la méthode etherdu coup forcémentet on va lui direon va avoir le nom
00:35:26 :ettacet là vous permettez comme çade l'unpacking avec Patrickon peut permettre comme çaça la méthodeje ne sais pas si j'ai déjà fait des mentorats sur ce qui est générateuril y a longtemps peut-êtrepeut-être l'année dernièreje ne sais plus si je parlais de la méthode spéciale
00:35:52 :donc ça c'est un des moyensde pouvoir se créer une installationd'unpacking avec etheril y aalorsquand Python chercheà faire l'unpacking comme çalui il va chercher etheril est tout à fait possible que ether n'existe pason imaginedonc làil y a get ici
00:36:20 :itemnormalement c'estattaché get itemje pense que je n'ai pas fait de malet luivous lui passez ici l'indexdonc luiget item en faitil est utilisé pour tout ce qui estplutôt slicinget là par exemple avec Patrickon va faire pareilpresque pareilon va retourner ici
00:36:50 :le noml'âgeet on lui passe bien sûrici l'indexet en faitPython va réussir à résoudre ce problème d'unpackingpuisqu'il ne trouve pas ethernormalementje pense que ça va marcheril va passer par get itemmais en fait c'est plus utilisépour leslicingd'ailleursest-ce que je pourrais faire
00:37:24 :Patrickj'ai pas encoreresté comme çaest-ce que j'ai un bugje peux l'utiliser comme çanormalementsi je fais çavoilà j'ai bien Patrickvous voyez en fait c'est des métaspeciales Pythonqui sont intégrées à Pythonet donc là on passe par l'indexc'est ce qui permet le slicing
00:37:54 :donc si vous faites une classeliste personnalisée vous pouvez passer parpar get itemmais si vous faites une classe listetrès proche des listeson ne va pas utiliser ici directementune classe perso comme çaqu'on va utiliserau passage je montreje crois que c'eston ne va pas arrêter de lister directement
00:38:16 :ça peut se faire maisil y a un petit effet de bord je croison va utiliser ici normalement user listet vous pouvezdirectement écrire user list comme ça vous allez avoirune espèce de classe qui va être très proche des listesvoilàbon je débarre un peu là mais
00:38:32 :donc voilà un petit peu pour ce que je voulais vous montrerest-ce qu'il y en a qui connaissaient un petit peu cettetechnique ITER etget item ou pas, pas du toutc'est get itemça je ne connaissais pasc'est get item je me souviens mais sur unsur des vidéos sur
00:38:50 :le parcours de formation je ne sais pas mais il y a très longtemps en faitoui ITERon en entend parler dans la formation maisget item nonmoi perso là je ne m'en sers jamaisde get itemc'est pratique pour le sizing pour les objets personnalisésmais ouais ITER en fait
00:39:08 :c'est hyper pratique c'est ce qui va être appelé quandvous faites vos boucles en faitsur les objets en arrière plan vous allez avoirdes itérations qui va se faire quoidonc voilà c'est bien de savoir que ça existemême si vous n'en faites pas entre guillemetsvous même moi ça m'arrive
00:39:22 :quasimentje m'en sers jamais de fairede la méthode ITERet get item quoipersonnalisé mais en fait c'est bon de savoirje crois qu'il y a deux mentoratsje crois la semaine dernière ou il y a deux semainesqui disaientje me suis vachement renseigné en faitsur toutes les méthodes qu'il y a spécial et tout
00:39:42 :et en fait c'est hyper pratiqueà savoir comment ça marche en arrière plan quoi aprèsje ne sais pas au niveau du slicing un jour si vous avez besoinde faire quelque chose de spécialvous pouvez peut être modifier l'indexil faut avoir quoije n'ai pas d'idée comme ça en tête
00:39:58 :mais c'est bien de savoir que ça existeje vais me calmer icije pensais voir d'autres choses mais je pense que je vais me les garderpour la semaine prochaineje voulais avoir un truc sur les argumentsmais ça prend un peu de temps je pense qu'on commencerapar ça
00:40:18 :ça me parait pas malokdu coup ça va pour tout le monde ?ça vous a plu ou trop scolaire ?moi ça m'a un peu rappeléça m'a refilé la mémoireouais c'est le butc'est le but parce que c'est pas connumais utile quand mêmebon pas tout ce que j'ai montré je suis d'accord
00:40:44 :mais ça reste utile de savoir tout çaest ce qu'il y a des questionssursimplementou est ce que ça vaest ce que je parle trop vitenon ça vaça va ? ok
00:41:06 :il y a quelqu'un qui m'a envoyé un mail cette semainedonc demainil va se reconnaître dans la salledemain il y aura un petit mentorat sur les groupes et permissions sur Djangopour ceux qui sont intéressésj'ai préparéun repo d'avance pourvoir si je le filerai en support en même temps
00:41:26 :avec un bon petit rythmebien expliqué et toutou sinon je ferai après le mentorat demainet donc demain ça va être du Djangoet sur les permissionsdonc voilàest ce que c'est bon pour vous du coup ou pas ?
00:41:44 :ouiokokécoutez s'il n'y a pas de questionsc'est nickelc'était un sujet un peu bizarre ce soirun truc qu'on ne voit pas souventmais franchement je vous le disça m'est déjà arrivésur une annéeau moins 2-3 foisde devoir utiliser les splatspour aller faire d'unpacking
00:42:10 :dans des fonctionset combiner ça avec des flagspour déclencher certaines conditionsça m'est arrivé une fois ou deuxpeut être troisc'est des choses que je ne me souvenais pluset quand je le fais je me disc'est vrai que c'est trop pratiquedonc voilàécoutez du coup
00:42:30 :même asseznormalil y en a qui ont déjà utilisé des IAdans le terminal ou pas ?nondonc je pense queon pourrait voir un mentoratc'est un petit teasing là dessusc'est assez drôle ou pas ?
00:42:50 :ouigenre je ne sais pas pouvoir utiliserdirectementGemini dans le terminalça ça peut être coolc'est assez énormeouil est à mon Geminiou par exemplesi vous voulez on pourra très bienutiliser Cloud dans le terminalje me suis fait une petite stackassez rigolote
00:43:16 :bon après j'utilise très peu mais en faitc'est très pratiquesur des EPS par exempleou autres où vous n'avez pas d'environnement graphiquegenre des IDEon peut très bien utiliser directement des IA dans le terminalet c'est assez cooldonc il y a Cloudil y aCodex
00:43:36 :ça c'est la versionOpenAIdonc voilàen fait il vous réponddirectement dans le terminalc'est sympaet pour le code c'est assez oufah du coup je n'ai pas leje fais un petit teasingpour un prochain mentorat que je vais faireje vais lancer Cloud ou Gemini par exemple
00:43:58 :les deux sont très bien pour ce genre de cas làet genrevous pouvez directement aller poser vos questionshopalors Geminic'est pas mal parce qu'en fait il faut l'utiliser graphiquement sans plan payantvous avez vu tout à l'heureCodex il m'a dit en grosva acheter un plan et puis on verra plus tard
00:44:16 :et Cloud c'est pareil vous payez pour çaet donc en fait là il va clairement faire mes recherchesdans le terminalet puis il va tout me sortir dans le terminalet en plusqu'est ce qu'il me faitah voilà donc là il m'a dit oui je peux démonstrer en bref
00:44:30 :une commune française dans l'Oiseet doncpar exemple avecCloud ça m'est déjà arrivé et j'ai testéc'est un truc de malade et je lui ai dit crée moi un projet Streamlitavec Foliumpour avoir de l'open source mapet en fait il me crée carrémentun projet complet
00:44:48 :vraiment bien complet en faitde map et tout avec Streamlitdoncje pense que je pourrais avoir un petit mentorat là dessus du coupça y a besoin d'installer quelque chosepour pouvoir les mettre ou il y a juste à taper la commandeet ça fonctionne ?
00:45:02 :non ça marche pashoptaceuhc'est jimmyquipar exempleeuhjimmy nicklydonc normalement voilàdonc en fait on peut la installer directementavec npm moi je pense que je vais utiliser npmj'ai une autre gs qui est installéedonc je prends npmpareil si vous avez le code
00:45:32 :tacils vont vous diretac on installe directementavec çaet c'est pareil ça fonctionne pour toutil y en a un qui est assez foudonc là je dérape un petit peubeaucoup mêmelà c'est encore autre chose c'est warpalors lui c'est carrément un terminalqueque
00:45:56 :queattendez que j'ai normalement d'ailleursje vais sortir un articledans pas longtempseuh warpalors je ne l'ai pas encore tout testéhop en fait c'estc'est un terminalhopok donc là il me ditbon là de là où je suis du coupdonc là je suis dans mes projets
00:46:22 :en fait il autocomplètelesvoilà les commandesdirectement au terminalet après vous pouvez très bien passer en mode agentun peu comme cloud code et toutet il y a toutes les commandesque vous pouvez passer directement icic'est un truc de oufvoici une boute okon peut aller choisir l'âge qu'on veut
00:46:44 :bon c'est un peu petit mais là on part degpt5il y a clouddonc lui c'est encore autre chosemais sinon ouais il faut installerle warp c'est un peu plus comme un logicielles autres c'est plusavec npm codexcli par exemplecode clicodexhoppareil il va vous dire comment on installe
00:47:10 :on va faire un npm avec homebrewpour ce combat d'ailleurs j'utilise beaucoup homebrewmais pour ce genre de choses moi je prends beaucoup npmvoilà et après vous lancez codexet puis c'est partidonc si ça peut intéresseron pourra se faire un petit mentoratje vais mettre une moitié de mentorat là dessus la prochaine fois
00:47:26 :j'ai déjà un peu beaucoup teaséet en fait vous allez voirqu'il faut bien connaître le trucparce qu'il y a des chosesà savoir au niveau des commandeson peut lui balancerdu prompt à gogomais il y a des choses qui sont très pratiques à faireavant de balancer du prompt
00:47:44 :donc voilàdésolé pour le dérapageje sais pas si on est intéressési on intéressec'est intéressantokj'en ai un peu poncé en faitparce que là je bosse pour3 boîtes différentes d'un coup et en fait du coup j'ai besoind'aller viteet avec l'IAje contrôle toujours mon code
00:48:08 :bien sûrj'ai fait des trucs tellement fou quej'en parlais hier avecle président de la Djangosoftqui disaitle code deDjango avant c'était assez fouon était fiersil disait que maintenant ce code a beaucoup moins de valeur qu'avantparce qu'avec l'IA vous êtes capable de créer
00:48:28 :des codes plus complexesje sais pas si vous voyez ce que je veux direet en fait on est exactement dans çamaintenant avec l'IA j'arrive à faire des choses encore plus avancéeset je le répètedes fois j'ai fait une fonctionnalité l'autre jouril y a Avantiaqui m'aurait mis
00:48:44 :5-6 jours avoir une semaine à faireet je l'ai fait en une journéeon peut faire des trucs beaucoup plus avancés plus viteetc'est assez impressionnantpour moi c'est toujours contrôler les codestoujours ce qu'on faitet toujours comprendre ce qu'on fait surtoutparce qu'il m'a fait un truc que j'ai du mal à comprendre
00:49:02 :du coup je l'ai fait reprendre ligne par ligneje l'ai fait commenter, j'ai vérifiéet en fait l'IA avait raisonelle m'a fait un truc pas malc'était assez intéressantdonc voilà, si vous voulez on pourra se retrouver en retour là-dessusy'a pas de problèmeet du coupje vais vous abandonner un peu
Aucune occurrence trouvée pour « ».
00:00:53
Le module difflib
00:06:24
packing unpacking
00:41:53
L'IA dans le terminal : aperçu