Session du 14 octobre 2025 à 21h00
Bases du Langage
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
Maîtriser les fonctions et leurs paramètres
Découvrez comment définir des fonctions Python en combinant paramètres positionnels, nommés et typage pour écrire un code plus clair et robuste.
00:00:00 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:02:03 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:04:33 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:07:03 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:09:33 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:12:03 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:14:33 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:17:03 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:19:33 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:22:03 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:23:39 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:23:54 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:24:09 :Sous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.orgSous-titres réalisés par la communauté d'Amara.org
00:25:18 :Je ne sais pas si vous savez qu'il est possible icid'utiliser en fait, il y a des cas où l'on peut utiliser en fait un séparateurdans les définitions de fonction pour vraiment séparertout ce qui est positionnel et nommé.
00:26:09 :Je ne sais pas si ça vous l'avez déjà expérimenté ou si vous le saviez.Le séparateur c'est avec une flèche en fait, je ne sais plus.
00:26:21 :Alors, quand tu penses que tu parles du typage,tu parles plus du typage où on va se dire,donc ça va être un entier, on va retourner quelque chose.
00:26:39 :Voilà, on va retourner, je ne sais pas, je vais re-node et ainsi de suite.Enfin, on ne retourne rien du coup.Non, non, ça c'est vraiment pour le typage.
00:26:50 :Allez, c'est reparti.Du coup, il y a un moyen en fait, parce que tout à l'heure on avait vu,quand on faisait ça, hop, je ne sais pas, on avait B,ensuite on disait Args,et ensuite on avait tous les arguments, comment dire,tous les arguments ici qui sont positionnels,
00:27:17 :mais on peut en passer un nombre variable.On peut en passer autant qu'on veut.Alors si je reprends ça, je vais enlever ça, ça me gonfle.
00:27:25 :Hop là, si je reprends ça ici, on avait 1, 2, donc 1, 2,et là après je peux en passer 4, 5, 6, ils ne sont plus en compte.
00:27:35 :On peut très bien se dire, faire un print, mince,un print de A, de B, voilà,on a bien 1, 2, et notre tuple avec 3, 4, 5, 6,qui va correspondre aux Args.
00:27:57 :Il est possible en fait, on peut très bien créer un séparateur,je ne sais pas si ça vous saviez, hop, on n'aura pas de Args en fait en soi,on va juste mettre l'astérix, et derrière on va mettretous nos arguments qui seront keyword-only.
00:28:15 :Donc C, D seront keyword-only.Donc il faudra, quand on aura notre définition de fonction,là, forcément ça ne passe pas.Donc si je fais, j'ai A, B, C va être égal à 3,D est égal à 4, et ici je peux très bien printer,je ne sais pas, que le C par exemple, hop,
00:28:43 :voilà, ça fonctionne, et si je fais 3 comme ça,ça ne fonctionne pas.Je suis obligé en fait de l'avoir en nommé.Donc vous pouvez très bien utiliser le splat ici,alors il ne vous servira pas à passer quelque chose entre guillemets,je pense qu'on peut le dire comme ça, mais il va vous servir
00:29:05 :vraiment de frontière entre tout ce qui est positionnelet tout ce qui est nommé de l'autre côté.Voilà. Est-ce que ça vous le saviez ou pas ?
00:29:14 :Non, je ne savais pas ça.J'aurais bien fait un petit sondage,ceux qui sont ici, il y a combien de personnesqui l'avaient déjà vu ce truc-là ?
00:29:23 :Non.Ok, ok, non c'est marrant.C'est vrai que c'est un truc qu'on voit souvent.Je crois que moi je suis tombé sur quoi,sur une démo une fois, je ne sais plus,je révis ça, je ne sais plus,et j'ai fait mais c'est quoi ce truc en fait ?
00:29:50 :Et surtout quand on commence au début,quand on a les args et les quarks,avant qu'on voit ça tout seul,j'ai dit bon ok super, c'est bizarre.
00:29:58 :Du coup, est-ce que vous savez sur ce principe-làcomment on pourrait faire en sorte d'avoir une fonctionqui n'accepte que les arguments nommés ?Par hasard.
00:30:14 :Tentez, c'est juste pour le...On veut juste avoir du nommé.Si vous n'avez pas d'idée, du coup en fait,vous faites ça,et donc en fait là vous allez exforcer votre fonction,on va printer D,là vous forcez votre fonction,vous ne pourrez pas faire du coup un print,
00:30:46 :un print de fou en disant 1, 2,ça ce n'est pas possible,normalement ça ne marche pas.Vous êtes obligé de dire,j'ai bien mis C et D,c'est D égal,normalement là c'est bon.
00:31:11 :Voilà.Donc en fait là vous forcez du couptous vos paramètres à être uniquement nommés ici.Il y en a pas ?Ok, il n'y a pas de problème,il n'y a aucun souci, c'est normal.
00:31:30 :C'est normal.C'était juste en fait,c'est vraiment un petit mentorat pourvoir un peu ce genre de cas,j'ai rappelé un peu au début,surtout pour toi et pour Evac,du coup il commence en Python.
00:31:44 :Un petit rappel au début,mais vraiment se voir ce genre de cas,peut-être que tu l'auras un jour.Donc voilà.Donc ça du coup,si vous n'avez jamais vu du coup avant l'opérateur,l'Asterix pour faire la séparation,maintenant vous savez du coupqu'on peut obliger à avoir des arguments nommés
00:32:04 :en faisant ça.Voilà.Réfléchis à un truc.Réfléchis à un truc.Est-ce qu'il n'y aura pas un petit piègeprovoqué ?Ok.Non, ça me paraîtme paraît pas mal.
00:32:33 :Ok.Voilà.Du coup, il est quel âge là ?Il est déjà 40.Bon voilà, c'était vraiment juste pour revenir sur les fonctions,je voulais faire sur les décorateurs du coup,mais ça va être un peu balèze,je me suis un peu emballé.
00:32:48 :J'espère que déjà avec ça,vous avez appris quelque choseau niveau de la façon de faireavec les splats.C'est bien de revoirvraiment tout ce qui est positionnel nommé,c'est assez important.
00:33:07 :Je dis ça parce que moi,au tout début, quand j'avais plus de temps,c'était une grosse difficulté,je me trompais tout le tempsentre les positionnels et nommés.
00:33:13 :C'était une horreur.Les args, les quarks.Donc voilà.Donc c'est bien que ce soit clairet de s'amuser avec.Du coup,du coup, du coup,je vais prévoir,je ne sais pas quand,mais je pense que ça monterasur Python 3.14.
00:33:31 :Du coup, Christophe,t'as testé ou pas, au fait,Python 3.14 ?Je ne sais pas si t'as un micro avec toi.Je vois que tu parles,mais je ne t'entends pas,c'est bizarre.
00:33:50 :Est-ce que les autres ont entenduChristophe ou pas ?Non, du tout.Non.Non, je n'ai pas encore testé non plus.Ça va être si j'en vais tester.
00:34:03 :Ok.Non, vas-y.On pourrait se prévoirentièrement que t'auras là-dessus.J'ai testé les templates strings,donc ça ne va pas remplacerles strings.Les strings vont rester,bien sûr, il n'y a pas de problème.
00:34:17 :Ce n'est pas la même utilisation,mais j'ai testé les templates strings,ça est sympa.Et même au niveau des erreurs,enfin, c'est vraiment sympa.Ah !
00:34:26 :Christophe ?T'entends ?Ou pas ?Non, c'est bizarre,ça plante la moitié, on dirait.Ça plante la moitié.Donc, voilà.Est-ce que, du coup,je pense que là,la session de ce soir,vu qu'il y avait beaucoup de gensqui étaient déjàhabitués en Python,les fonctions,c'était peut-être un peu ordonnant
00:34:50 :pour vous,je pense.Peut-être la fin un peu moins,si vous n'avez jamais vul'astérisque.Ah !Je ne t'entends pas,Christophe, je ne sais pas,c'est bizarre, je t'entends,mais vraiment,ça fait soit saccader,soit...
00:35:11 :Voilà, c'est bizarre.Il y a Alpha qui est en trainde t'écrire,qui dit des exercicespour le sujet d'aujourd'hui.Des exercices,c'est-à-dire,des exercices pour le sujetd'aujourd'hui ?
00:35:23 :Ah, tu vas avoir des exercicessur...Ouais, d'accord, sur...Il y en a surDocStream, d'ailleurs.Il y en a sur DocStream.Alors, si tu vas danstableau de bord,tableau de bord,dans Exercices,il y a tout ce qui estsur les fonctions.
00:35:53 :Et normalement,voilà,il y a ce genre de choses-làpour redébuter.Les valeurs, par défaut,un nombre,mais tu l'as déjà fait.Ça, je pense que si,ça peut être sympa.
00:36:07 :Bon, c'est un peu plus avancé,celui-là.Ouais, donc,OK.Donc, tu vois,dans tout ce qui est fonctions,tu peux...Alors, je te mets même le lienavec le tag, si tu veux.
00:36:19 :T'as de quoi faire dessus.T'as de quoi faire.Tac, voilà.Ça, c'est bon.Donc, voilà.Du coup,qu'est-ce que j'allais dire ?Pour moi, ce soir, c'était bon.
00:36:38 :C'était un petit mentoratsur les fonctions.C'était juste du...Enfin, c'était un peudu rappel.Demain, ce sera plus...Ce sera pluscomplexe avec desfaçons abstraites.
00:36:51 :Et puis,donc je dis 5 minutes.Et la semaine prochaine,par contre,on fera la suitede ce que j'ai faitavec HTMXet les formsets.
00:37:01 :On fera ça avec HTMX.Donc, voilà.Est-ce qu'il y a des questions ?D'ailleurs.Non, non.Tu proposes pas un mentoratsur les décorateurs ?
00:37:18 :Un mentorat sur les décorateurs ?Ouais.On peut se prévoir ça,carrément.Il n'y a pas de problème.Bien sûr, j'ai bien capté.Ok.En plus, c'est assez cool.
00:37:34 :Ça, Autoza, d'ailleurs,il m'avait demandé d'en faire un.Je m'en souviens.Donc, Autoza,il n'y a pas decomment dire,de petites notes possibles.C'est vraiment tête.
00:37:46 :Donc, pour ceux qui passentl'Autoza,c'est pas mal de les connaîtrecomment on fait.Mais ouais,on pourra se faire ça.Allez,vu que c'est un peuentre guillemets,plus débutantque ce que j'ai montré tout à l'heure,est-ce qu'il y en aqui ont le tempspour qu'on voit les décorateurs là
00:38:03 :ou c'est compliquéniveau timing ?Moi, ça me va.Et les autres ?Moi, perso,je suis le mouvement,mais mon niveau,il faut vraimentque je me remettedans les cours et tout.
00:38:17 :Donc, pour l'instant,je suis,mais voilà.Je t'avoue que je suisun peu larguéeparce que j'ai du malencore à tout remettredans mon petit cerveau.
00:38:25 :Pour l'instant,je suis un peudans l'histoirede comment stockerles nombres à virgule,le type faute,le type bonheur,tout ça.Donc, moi,c'est vraimentbasique de chez Basiquepour l'instant.
00:38:38 :Ouais, ouais, OK.Ouais, t'es dans les types, quoi.Beaucoup dans les types.C'est important,elle a bien capté les types.Bon, pour les décorateurs.En plus, Eric,ça m'est déjà arrivéd'en créersur des applicationsde Django,vraiment en mode Djangopour intercepter les requêtes.
00:39:01 :Mais là,on va en faire un basique.On va en faire un basique.OK.Regarde,si j'ai pas un exemple.Si j'ai pas un exemple.
00:39:12 :En fait,je peux me permettrejuste de poserune petite question.Vas-y.Une suggestion.Ce qui serait peut-être bien,c'est pour des thèmesvraiment spécialementspécifiquesà Pythonque tu nous fassescomme si on parle,par exemple,sur un projetsur le moiset sur lequel,à chaque fois,
00:39:32 :chaque session,ça explique une partiedu projetpour nous permettreun petit peude comprendrece que tu nous expliquespour que ça puissecréer quelque chose.
00:39:43 :Parce que j'arriveà me faire comprendre.Ouais.Pour donner du sens.Ouais.Parce que là,franchement,j'ai un peu comprisce que tu voulais nous expliquer.
00:39:53 :Mais là,pour moi,ça n'a aucun sens.Ouais.C'était vraimentde la fonctionpour voir commenton crée des fonctionspures.J'ai pas fait de projetavec,c'est clair.
00:40:05 :C'était vraimentplus un peula syntaxe,on va dire.Comment on utiliseles arguments positionnels,le mois,et de suite.D'accord.J'en fais de temps en tempscomme avec Streamlit,par exemple.
00:40:17 :Ce qu'on va faire là,comme ça,ça met tout un peu en oeuvre.Ce que je vais faire jeudi.Mais là,c'est vraimentpurement fonction.
00:40:24 :Voilà.Et syntaxe.Donc là,par exemple,pour les décorateurs,je vais reprendreun exempleassez simple,d'ailleurs.Imaginons.Est-ce que je le faisavec ou sans décorateur,c'est la question.
00:40:42 :Ok.On va se créer une fonctionqui va décorer.Allez.Donc on a une fonction.Allez.On va retournercette fonction là.On va se la mettre.
00:40:59 :Tac.Donc,un décorateur,du coup,pour le expliquer basiquement,je pense que,enfin,vous savez plus ou moinsle niveau de la définition,vous la connaissez.
00:41:14 :Comment dire ?Ça touche vraiment,en fait,à ce que je disais tout à l'heure,au fait que les fonctionssont des objets de première classe.
00:41:24 :Donc les fonctions,elles peuvent êtreelles peuvent être,en fait,je pourrais dire comme ça ou pas.On va le dire comme ça.Un décorateur,c'est une fonctionqui prend une autre fonctiond'argument.
00:41:39 :Voilà.Donc comme on a vu tout à l'heure,et ça retourneune version modifiéede cette fonction.Ça va faire un peu alambiquer,mais en gros c'est ça.
00:41:47 :C'est une fonctionqui prend une autre fonctiond'argumentet qui retourne une versionmodifiée de cette fonction.Donc ça fait le lienavec ce que je disais tout à l'heurepar rapport aux objetsde première classe.
00:41:57 :Donc la syntaxe ici,on peut avoir une fonctionsans utiliser la syntaxearrobase.Donc par exemple,je vais reprendre un exempleque j'avais déjà fait une foispour un article d'ailleurs.
00:42:11 :On avait une fonctiondécoratrice ici,ok,qui prenait une autrefonctionen argumentet en dessous,on a dedans,on va dire,notre wrappeur ici.
00:42:25 :Donc pour que ça soit simple,donc pour que ça soit flexible,on va,donc là ça fait le lienavec ce que je disais tout à l'heure,avoir les args,tout ce qui est positionnel.
00:42:33 :On peut accepterautant de positionnels qu'on veutet autant d'arguments nommés.Voilà.Donc,on va se faire un print,par exemple.Donc là j'ai misavant,avant l'exécutionde,tac,ici on va se direl'autre fonction.
00:42:58 :Ok.Donc l'autre fonctionva reprendre son nom.Voilà.Donc l'autre fonction,avant l'exécution de l'autre fonction,ça peut avoir le nom de la fonctionici quand je fais ça,name.
00:43:09 :Et,on va avoir notre résultat,tac,de l'autre fonction.Et qu'est-ce qu'on va lui envoyer ici ?Les args etnos quarks.Ok, donc qu'est-ce qui va se passer ?
00:43:23 :Alors je vais terminer d'abordmon,je vais le terminer,ce sera plus simpleet je l'expliquerai du coup après.Et ensuite on sera,après,l'exécution,hop,pas cette fois,ce sera sinon de,et puis là,hop,et ensuite on va retournericinotre résultat,hop,et là,notre wrapper.
00:43:50 :Voilà,donc là en fait on a,on va avoir un décorateuren fait ce qu'il se passe c'est queelle va prendre un argumentautre fonction,wrapper en fait c'est la fonction internequi reçoit les arguments positionnelset nommés pourdonc args et quarks.
00:44:06 :Et ici,on voit que de toute manière là,ça paraît un peu compliqué à faire.Donc,on va bien avoir notre wrapper,on va avoir notre autre fonction iciqui va être appelée,et on va avoir des printsici qui vont s'afficher.
00:44:21 :Donc,on va voir comment faire ça.Donc,imaginons,ici,on va avoir une fonction,ce sera plus simple pour le voir.J'avais fait ça,tac,ça c'est un exemple bateauqu'on peut voir sur plusieurs sites.
00:44:36 :On va se faire un return,on va se dire,on va faire un print ici de bonjour.Hop,bonjour,tac,non.Ok.Donc là,si on crée un décorateur en fait,mais sans arrobales,vous allez voir,hop,on va se dire,saluté,hop,ça va être égal à la fonction décoratrice.
00:45:01 :On ne va pas l'appeler saluté,on va l'appeler,je ne sais pas,ma variable,on va l'appelerresult,ou ce qu'on veut.Hop.Où est-ce que je l'appelle,saluté ?
00:45:15 :Je n'ai pas envie d'écraser le nom.Bon,on va l'appeler résultepour l'instant,tac.Et ici,on va se dire,hop,résulte ici,Gab.Est-ce que j'ai bien faitou j'ai créé un bug ?
00:45:33 :C'est ça.Ok.Donc là,je recommence,ici,j'ai bien une fonction,saluté,basique.Et ici,j'ai,on va dire,ma fonction décoratrice,c'est mon décorateur.
00:45:46 :Donc,notre décorateur ici,on va lui envoyer la fonctionsalué,voilà.Et salué,lui,va nous retournerbonjour,un tel.Sauf que,si vous regardez bien,on vamodifier un petit peule comportement,dans le sens oùen plus,maintenant,on va avoir avant l'exécutionde la fonction salué,
00:46:07 :et après l'exécutionde l'épisode salué.Donc,c'est-à-dire qu'on peut effectuerdes actions avantet après.Donc,on a bien notre bonjour ici,Gab.Mais,on peut effectuer,comment dire,des actions avant et après.
00:46:20 :Là,c'est juste des prints.Mais,pour le principe,ici,c'est vraiment,imaginons,ici,qu'on est dans une requêteDjango.On pourrait,ici,avoir quelque chosequi vient intercepterpour renvoyer,pour x ou telle raison,pour renvoyer,comment dire,une interdiction,quoi,genre une 403pour dire,non,tu ne passes pas,
00:46:44 :quoi.Voilà.Sans,voilà,sans le,le,le,le arrobas,on va dire.Donc,ce qui pourrait êtreplus épuré,ici.Je crois quevous pourrez le fairecomme ça,dans notre,dans notre fonction décoratrice.
00:47:02 :Donc là,notre décorateur qui est là.Et,on va l'appeler autrement.Donc,ici,hop,on asaluer,qui est là,ok.On pourrait très simplement direAlors,j'espère que je n'ai rien oublié.
00:47:17 :Notre fonction décoratrice,elle est là,ok.Ok.Donc,là,je regarde si j'ai déjà un bugà l'exécution.C'est bon.Hop.Et donc,là,je vais fairesaluer,ici,tac,on va dire,on va faire gaffe,hein.
00:47:39 :Hop,et là,en fait,avec cette syntaxe-là,ça consiste plutôt que de faire comme avant,euh,euh,appeler,euh,enfin,faire un saluer égale à la fonction décoratrice.
00:47:53 :Et ensuite,j'avais passé mon argument,ici,directement,j'appelle ma fonction décoratrice,que je vais utiliser sur une fonction,et on voit bien ici,quetout ce qui est là,s'exécute.
00:48:07 :Tac.Donc,ma fonction ici,son comportement en soi,ça fait,euh,bonjour Gab,enfin,bonjour le nom,et maintenant,c'est,avec cette décoration,on va avoir,avant l'exécution,donc,quelque chose,enfin,un print,et après un print.
00:48:27 :Est-ce que,pour l'instant,c'est bon ou pas ?Euh,oui.Oui.Oui,oui.Euh,ça sous-entend,par exemple,si je fais un,un décorateur,euh,par exemple,tel user a le droit,euh,d'avoir telle info,euh,et tout l'autre user,si c'est connecté ou pas connecté,par exemple.
00:48:49 :Euh,oui,alors,ça marche du coup.Oui,alors,il faudrait que je retrouve,alors,je ne sais pas si,euh,je peux te le retrouver en,en live rapidement,pour avoir une,une,une utilisation,euh,alors,si vous voulez.
00:49:07 :Si on pose dans le Django,ça marche comme ça ?Oui,alors,si je retrouve,c'est un vieux projet,que j'avais commencé,euh,je sais que j'avais utilisé des,euh,oh,ça ne serait pas là-dedans.
00:49:19 :Ah,décorateur.Ouais,ouais,ouais,ok.Donc,là,si,bah,je me crée des décorateurs,en fait.Ah,voilà.On voit,c'est où ?Tac.Qu'est-ce qu'il faisait,par exemple ?
00:49:38 :Euh,donc,avec la syntaxe,alors,arrobas,euh,compagnie record.Tac.J'envoyais ma vue,dedans.Donc,une vue Django,basique,avec la requête,euh,et mes arguments.
00:49:54 :Et si,je détectais,que dans la requête,euh,je ne pouvais pas récupérercompagnie dans la session,il y avait,hop,je renvoyais l'utilisateur,en fait,sur une autre vue.
00:50:05 :Voilà.Et là,donc,je récupétais et je la retournais ici.Mais,en fait,avant,ce que je faisais,du coup,donc là,c'est vraiment une mise en pratique,là,c'est,on est vraiment dans le concret.
00:50:19 :Ici,j'interceptais,en fait,la session.Tac.Et selon,selon,s'il y avait la compagnie,en fait,qui était enregistrée dans la session,dans Django,et bien,je faisais un retourne avant.
00:50:32 :Mais sinon,bon,hop,j'interceptais normalement.Voilà.Du coup,je me demandaissi c'est possibled'impliquer des,des décorateurs.Ah,oui,oui,tu peux les empiler,ouais.
00:50:47 :Ouais ?Ouais,j'ai déjà fait.Pourquoi ?Non,non,non,mais j'essaye de voirsur les trucs,quelque chose comme ça.Parce que j'avais besoinde vérifier par exempleun login,si la personne était logéeen décorateur.
00:51:02 :Donc,j'avais un login required.Et j'avais besoin d'autres choses.Alors,par exemple,moi,je pensais,ça n'a rien à voir,mais on peut faire par exempleun décorateurjustement pour le login,et un autre,savoir s'il est majeur ou mineur,par exemple.
00:51:16 :Ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,voilà.Alors,c'est encore différent parce que là,je passais par un autre décorateurqui utilisait le décorateur.
00:51:40 :Donc,j'avais décoré une méthode,la méthode dispatch,que je n'ai pas redéfinie,qui est dans l'héritage,et j'ai envoyé mon décorateur.Donc,c'est encore plus complexe là,entre guillemets,en termes de concept.
00:51:53 :Et ce que je faisais en...Voilà,par exemple,là,je le faisais sur...Voilà,un login.Et ensuite,je vérifiais avec mon décorateur maison.Et là,mon décorateur maison.
00:52:04 :Donc,j'interceptais déjàs'il y avait un login.S'il n'y en avait pas,hop,il fallait dégager,entre guillemets,pour être connecté.Et s'il était connecté,mais en plusqu'il n'avait pas le...
00:52:15 :comment dire,dans la session,la clé compagnie,je ne sais plus comment je l'ai appelée,et bien,hop,il se faisait renvoyersur une autre page.
00:52:23 :Voilà.Ouais,c'est exactementce que j'avais en tête.Ouais.Donc,voilà.Donc,c'est possible.C'est très concret.C'est vraiment...Là,j'utilise un décorateurbuilt in Deljango.
00:52:37 :Et là,un décorateur maison.Voilà.Euh...Donc,voilà.C'était vraiment ce principe,à retenir qu'en fait,votre décorateur,en gros,qui est ici,quand vous faites un dev saluer tout court,bah,pas de problème.
00:52:53 :On va saluer ici.Bonjour,Gab.Si,hop,j'ai mon décorateur,ici,bah,j'ai bien,entre guillemets,c'est modifié,ce que j'ai avant l'exécution.Donc,c'est ce que je fais avantet ce que je fais après.
00:53:08 :Donc,par exemple,ce que je faisais tout à l'heure,ici,c'est un return prématuré.Ou on pourra faire autre chose,traiter les données,faire autre chose.
00:53:16 :Enfin,bref,ce qu'on veut,quoi.Donc,voilà.Est-ce que c'est bon ou pas ?OK.Pour les autres,ceux qui débutent,par exemple,ou...Bah,écoute,il y a du boulot.
00:53:31 :Ouais.Ah ouais,il va y avoir du boulot,quoi,avant d'arriver à...Ouais,enfin,j'ai compris à peu prèsl'ensemble des choses,mais bon.Ouais,alors,moi,je te rassure,créer son décorateur à soi,c'est déjà plus,comment dire,c'est déjà plus avancé,vraiment avancé.
00:53:50 :Euh...Là,voilà,bon,là,il y a un truc que je préfère vous montrer,vraiment,sur un...Comme tu en parlais,tu vois,sur un truc concret,tu vois,là,je l'ai montré un peuavec une fonction basiqueet on a vu que du coup,dans un projet,c'était quand même vachement pratique.
00:54:08 :Voilà.Mais,euh...Bien souvent,tu vas avoir dans des librairiesou des frameworksdes décorateurs tout prêts.Tu vas savoir ce qu'ils fontet tu vas les utiliser,pas bêtement,mais tu vas les utiliserparce que,bah,tu as appris que ça faisait ça.
00:54:22 :Et après,au fur et à mesure,c'est vraiment en arrière-planet puis tu iras voir le code sourceet tu diras,ouais,en fait,pas mal.
00:54:30 :Et tu diras,en fait,c'est tout simple.C'est une fonction,en fait.C'est un décorateur,tu vois,c'est une fonction,c'est tout.Après,un argument,une autre fonction,c'est tout.
00:54:43 :Voilà.Euh...Donc,voilà,ouais,donc,oui,Eva,donc,pour ce que tu disais,c'est une fonction,d'ailleurs,avec un fichier Excel et tout.Euh...Mais,pour ça,les fonctions,je préfère juste vraimentvous revenir sur la syntaxe de base.
00:55:02 :Voilà.Euh...Par contre,après,on pourra se refaireun mentorat,si tu veux,sur des fonctionsoù,là,on va vraiment faire des trucsplus avancés,mais t'en pratiquesavec les problèmes.
00:55:16 :Je vais d'abordcommencer à attaquerles cours Python.Une fois que j'aurai faitles cours Python,à ce moment-là,je serai peut-êtreplus à l'aise,et à ce moment-là,oui,t'es embêtépour tout ça,quoi.
00:55:29 :Ouais.Et là,ouais,ouais,ça me permettra,parce que là,franchement,j'y comprends,mais en même temps,il y a un décalageet j'ai pas enviede ralentir les autres.
00:55:41 :Ouais,ouais,ouais.Parce que moi,j'ai pas encore commencéet que les autres,ils ont déjà,ils sont quand mêmeun peu plus à l'aiseet puis,ça fait du bien ausside se rafraîchir.
00:55:53 :C'est ça pour eux ?Non,mais ça fait du bien ausside se rafraîchir la mémoirepour certains.Exactement.Parce qu'on a des connaissances,vous l'avez dit,on en a perdu certaines,donc ça fait du biende reprendre,de mettre le piedà l'étrier,donc ne t'inquiète pas,je sais plus
00:56:08 :comment ça s'appelle,Eva,ça fait toujours du bien.Non,mais je sais,moi,des fois,ça m'arrive,j'ai déjà commencéles cours,les cours d'Astring,j'avais fait,et ça fait deux,trois foisque je recommence à zéro.
00:56:24 :Ouais.Ça,on l'a fait intégralement,mais du coup,tu vois,c'est là où on sentque le côté,il y a quand mêmeun gros décalageentre les experts,parce que je connaistant de points,pour le Thosa,et notre niveauet c'est vraiqu'en plus,il y a pas mal
00:56:41 :de chosesqui ont évoluéet je sais que dans certains,après,c'est ce que j'ai remarqué,mais il y a les coursde deux,trois ansqui ont évoluéou justement,il y a des chosesqu'on n'utilise plus maintenant.
00:56:53 :Ouais,oui,oui,d'accord,ouais.Il y a beaucoup de chosesqui s'utilisent encore,mais il y a des chosesqui peuvent changer,oui.C'est possible.
00:57:04 :Les bases sont les mêmespour beaucoup,quand même.Après,il faut suivre l'évolution,là,en 3.14,il y a des évolutionspar rapport à 3.12,
00:57:13 :déjà,et puis,mais ça,après,c'est une veilleet il faut connaître,enfin,moi,je dis ça,il faut connaître les principesde basequi, eux,ne changent pas,c'est toujours du langage d'objet.
00:57:27 :Ah oui,non,mais complètement.Donc,c'est imprégné de sa culture,sa façon de faire,sa hiérarchie,ses modalités.Après,tu complètes par une veilleet puis,des fois,tu as besoindes anciennes versions,c'est un certain truc.
00:57:42 :C'est pour le choix.Ça m'est arrivé une fois,oui.Une version 2,ça m'est arrivépour un boulot.J'ai pleuré.J'ai pleuré.Désolé,moi,je me suis,pour info,je me suis lancédans la robotiquepersonnelle,tu le sais,Gabriel,et j'ai installéROS 2,c'est un systèmepour la robotique,
00:58:03 :mais ça ne marche pasavec le Python 3où tu gardes,sinon,non,mais ça m'a foutuen l'airle système,c'est pour çaque je n'ai plus de micropour l'instant.
00:58:14 :Enfin,voilà,donc,ça évolue,les choses évoluentet puis on s'adapte,mais le principe de basec'est toujours le même.Et du coup,il faut à peu prèscombien de tempspour se sentirun petit peu à l'aiseen Pythonavec les coursil y a à peu près
00:58:30 :en bout d'un mois,enfin,même quelques jours,je pense ?Oui,oui,c'est assez rapide.Les cours sur Boxingsont bien faits.Ah,oui,c'est pour ça.
00:58:42 :Tu as le vidéo et tout,tu as plusieurs façonsd'apprendre,tu peux apprendreen ayant l'écransous les yeuxet tout ça,ou juste ne serait-ceque d'abord écouter.
00:58:51 :Moi,c'est ce que je fais souvent,je branche l'oreille,j'écoute le cours,je fais autre chose en même temps,mais tu t'imprègnesdéjà du vocabulaire.
00:58:58 :C'est ça,oui.Et après,tu peux vraimentassister aux coursparce quequand il veut utiliser tes mots,tu sais quoi déjà,ça correspond.Maintenant,tu regardes commentils s'actionnent,comment,tu vois ce que je veux dire.
00:59:12 :Moi,c'est comme çaC'est pas mal pour tous.Même moi,encore là,avec Lya,je découvre des conceptsdes fois vachement avancés,mais vraiment assez,tu dis,waouh !
00:59:24 :Et en fait,c'est super bienpour organiser ses projets.Des fois,j'ai besoin de lirece qu'elle écrit,de vérifieret de revenir le lendemain.
00:59:32 :Déjà,avoir une première lectureet puis après revenir.C'est pas mal d'avoirune première lecture,une première écouteet puis après y revenirle lendemain,c'est bien.
00:59:41 :C'est la nuit passée.Moi,je regarde mon projetet le lendemain,je me remets dessus.Je me dis,mais qu'est-ce que j'ai foutu ?Je suis incapablede me remémorerce que j'ai fait,mais c'est assez frustrantdes fois dans la programmationparce que tu es partisur quelque chose
00:59:55 :et le lendemain,tu relis ton trucet tu te dis,mais attends,mais qu'est-ce que j'ai foutu ?C'est horrible.C'est horrible.Commande ton code.
01:00:03 :C'est ça.C'est la commande.C'est commenter.Ça se passe par là,on écrit des trucset puis après,on se dit,ou alors,quand tu dois revenirplusieurs jours aprèsparce que tu ne peux pascoller tout le tempset tu te dis,mais putain,qu'est-ce que j'ai fait ?
01:00:18 :Où est-ce que je voulais en venir ?Voilà.C'est pour ça que je commande.Moi, je commande maintenantparce que sinon,c'est une perte de temps.
01:00:24 :Oui, non,mais complètement.Mais des fois,j'ai essayé,j'ai récupéré les projetsd'autres personnessous l'ancienne formationet il y en avait un,il sortait de,pas de Python,mais justementde l'autre langage,c'est-à-direcomment ça s'appelle ?
01:00:38 :Un truc plein de mots,excusez-moi.Tu as Python d'un côtéet tu as l'autrequi est en trainde être un peu moins utilisé.Ça dépend.
01:00:47 :Java.Java.Ah, Java.Le mec, il sortaitde langage Javapour faire du Pythonet quand il m'a filé son trucpour m'essayer de m'expliquer,c'était,mais waouh,j'étais là,j'étais,mais c'est impossibleà comprendre, quoi,impossible.
01:01:04 :Et je crois qu'en fait,chacun,j'ai remarquéque chaque programmeur,il avait une façon de coderet toi,tu as du mal à comprendrece qu'il,tu comprends en généralet t'es obligé d'exécuterpour comprendrece que lui, il voulaitalors qu'on peut le faireencore plus simplement, quoi.
01:01:18 :Ouais,c'est toute la questionde l'importancede bien organiser son codeque je disais tout à l'heureà toi d'avoir des titres explicitessur chacune de tes méthodes,tu vois.
01:01:29 :Là, tu vas le passeren dictionnaire.Qu'est-ce que tu fais ?Bah, tu vas chargerla base donnée,tu vas charger la session.Toi, tu fais vraimentdes trucs explicitesle plus possible.
01:01:39 :Ouais, mais carrément,moi, je mettrais encorebeaucoup plus,enfin, carrément,comme disait Eric,de mettre à chaque foisdes petits commentaires,des trucs,parce que c'est vraique bon, pour toi,c'est clair,t'es dedans,donc pour toi,c'est logique.
01:01:54 :Mais,pour les personnesqui sont encore débutantes,novices, débutantes,c'est là,c'est un peu encoreun petit peu diffus, quoi.Ouais,je peux comprendre.Je peux comprendre,mais c'est vraique c'est bien,j'en mettais pas là.
01:02:08 :Non, aussi,j'en ai pas.En général, oui,c'est bien, voilà.Souvent, ce que je fais,c'est ça.C'est bien d'avoir,tu vois,mon scénario,en fait,de ce que je fais.
01:02:19 :Je vais diriger ça,tac,quand je fais ça,ça doit faire ça,en gros,tac.Donc, c'est biende bien commenter son code,dans les docstrings,c'est quand mêmevachement important.
01:02:30 :C'est quand mêmevachement important.On dit ça,mais des fois,on le fait pas non plus.Donc,de toute façon,c'est pas,c'est pas une erreur en soi,c'est juste,on s'en veut après,personnellement,parce que c'est une perte de temps,et c'est tout, quoi.
01:02:45 :Mais, voilà.Faut pas se formaliser,non plus,quoi, là-dessus.En final,c'est quand ton documentest fini,là,il faut commenter.Parce que si quelqu'undoit reprendre derrière,tu vois ce que je veux dire,là, c'est importantque ça tourne.
01:03:04 :Mais,quand c'est en réunion,quand c'est en travail,ça peut arriver, quoi.Ok,bah, moi,j'ai une petite question,parce que,du coup,toi,comment tu fais ?
01:03:16 :Donc,toi,tu commentes quasiment,presque ligne par ligne,enfin,je m'entends quand je disligne par ligne,ou est-ce que tu faiscarrément un fichier READMEoù tu réexpliques,en fait,ton code ?
01:03:28 :Oh,le README,c'est plus le fonctionnement généralou des portions de codequi sont plus complexes,ou je peux les inclure dedans.Mais,les,genre,les grosses classes,les grosses classes,euh,grosses fonctions,c'est plus rare,puisque j'aime pas avoirdes grosses fonctions,c'est pas beau,je trouve,mais des grosses classes,
01:03:47 :je peux avoir des,c'est même comme les fonctions,j'ai des docstrings,qui expliquent,en gros,ce que je fais dedans.Et,il m'arrive,des fois,quand même moi,j'écris,mais qu'il y a pas mal de codeset qu'il faut que je revienne dedans,j'écris en plus des commentairesà l'intérieur.
01:04:02 :Alors,je trouve que c'est quand mêmebien d'avoir des commentairesen plus,entre les lignes,pour avoir les étapes,quoi.Tu vois ce qu'il veut dire ?
01:04:10 :Et après,il y a l'IA pour commenter,et c'est vrai que,l'IA pour commenter,ça,elle est forte.Ça,il y a pas de problème.
01:04:18 :Donc,voilà.Mais ouais,docstrings,c'est quand même biende les avoir.Peut-être pas pour tout,mais,sur les grosses,tes grosses méthodes,comme ce que j'ai montré tout à l'heure,où je charge les paniers,enfin,bref.
01:04:32 :Donc,voilà.Bon,écoutez,bon,le début de la formation,du coup,en fait,je m'attendais à avoirplus de débutants,du coup,je suis vite passé,entre guillemets,sur les bases des fonctions,même trop vite,je pense.
01:04:51 :Est-ce que tu es peut-êtreun peu perdu,Eva ?Je suis vite partisur le faitd'avoir du positionnelénonmé.Non,non,mais,nous on est làen tant que novices,enfin,débutants,mais après,de toute façon,c'est comme çaqu'on va progresser.
01:05:10 :Oui,oui.La ligne générale,et puis après,ça nous fouillepour vraiment comprendrele détail.Oui,je sais,je sais,mais je suis passéun peu trop vitequand même au début,vraiment trop vite,je ne vais pas expliquercomme j'aurais voulu.
01:05:26 :C'est comme il y a plein de mondedébutants avancés,je suis passé vite aprèsvers des plus avancés,et je ne sais pas,par exemple,il y a un projet par moisoù chaque,par rapport à ce projet,je ne sais pas,par exemple,on va dire,créer un site de scrapping,
01:05:39 :je te sers un exemplesur le mois,puis de faire quelques sessionsen expliquant,mais voilà,comment on fait ça,voilà,tu vois ?Ça,ça demande énormémentd'investissement par contre,mais vraiment énormément.
01:05:51 :Il est dans le spring,non ?Alors,ça je dis,ok,quand on en parle,on est en trainde faireça,quand on en parle,on fait ce genre de choses-là,mais on le fait ça,entre guillemets,à part,c'est vraiment des astres à part.
01:06:06 :Là,je vais accompagner des personnessur des projets complets.D'accord,donc c'est plus en thèmeavec le Toza,en fait.Alors,ouais,alors,tel Toza,en fait,notre formule Tozaoù on va s'accompagner,enfin,être accompagnésur la formation de base,les projets qui sonten formation de base,
01:06:25 :et ainsi de suite.Et puis,c'est aiguillé aprèspour avoir des conceptsplus avancés.Voilà,donc ça,c'est vraiment pour passerle Toza,Python,avoir vraiment le Toza.
01:06:36 :Et on a une autre formule,là,par exemple,qui va commencerlà,d'ici quelques jours,où,je pense qu'on varefaire par la suite,où les personnesvont devoir,à la fois,créer un projet de Django,de A à Z,et en plus,passer le Toza.
01:06:52 :Et donc là,on met en pratiquepas mal de concepts Python,du coup,dans un projet.Donc,ouais,c'est assez balèze.C'est juste une question,tu vois,quand je dis un projet,pas forcément quelque chose,tu vois,mais quelque chosequi permette un petit peuque nous,en tant que débutants,
01:07:10 :tu vois,en plus,ça permet de travailler,tu vois,mais bon,après,je peux comprendrece qui est fait.T'inquiète,tu m'as donné une bonne idée.
01:07:20 :Je pense quej'ai fait à Noëlun mentorat,la veille de Noël,un mentorat spécial Noël,justement,une demi-heure,où on utilisaitdes concepts Python,l'librairie standard,pour créerune applicationles derniers filmsà l'affiche de cinéma,avec les affichés,tu vois,qu'ils affichaient.
01:07:37 :Et en fait,on utilisait vraimentdes concepts,des concepts de basede Python.Donc,je pense qu'on vapouvoir se créerune nouvelle applicationcomme çaet utiliser du JSON,utiliser du RLib,des fonctions.
01:07:50 :On pourrait se faire çaune prochaine fois.Donc,je pense queon pourrait se faire çaune prochaine fois.Là,pour jeudi,dans tous les cas,pour ma part,pour jeudi,on va créer une interfaceautour d'une classequ'on va créer.
01:08:04 :Et on va créerune interface autour de ça.Voilà.Donc déjà,ça,ça va être un vrai projetpuisque à la fin,les personnes pourrontuploader des fichierset ça va leur faireune synthèsede ces deux fichierset en télécharger à nouveau.
01:08:17 :Voilà.Donc jeudi,c'est prévu,faire un truc comme ça.Mais pour les basesde Python,Python pur,on pourra faire un truccomme j'ai fait à Noël.
01:08:26 :Alors,on va faire ça.Donc,voilà.Bon,désolé,je n'étais pas trop là.Mais la questiond'Evaest de savoirs'il pourrait y avoirdes projetset tout ça.
01:08:39 :Je pense queen tant que débutant,c'est aussi mieuxde souventcréer des projetsseulet pouvoirréaliser certaines chosesqu'on a en tête.Et aussi,c'est mieuxde fairedes projetspour lesquelson a besoin.
01:08:54 :Et aussi,quand on rencontredes problèmes,c'est toujours mieuxde voir un vendeur.Sur Doctrine,d'ailleurs,il y ades forums d'aideet tu voudrais poserdes questionssur le problèmeque tu as rencontré.
01:09:07 :Oui,carrément.C'est vraique se trouverdes projetspersonnels,c'est bien.Même moi,quand j'ai débutévraiment les premières semaines,je me suis fait des projetsun peu bidons.
01:09:19 :Mais ce n'est pas grave.En fait,ils m'étaient utiles à moimais ce n'était pasdes projets de fou.Mais ça me faisait bosserles variables,les types.
01:09:27 :Et peut-être commencer...Je pense qu'il y ates fichiers, déjà.Hein ?J'ai entrayéces fichiers.Ben, voilà.Celui-là,il est en plussur Doctrine.
01:09:37 :Mais moi,c'était autre chose.Celui-là,il est vachement utile,finalement,parce qu'au début,tu te prendscomme un égosystemais des fois,tu te disquand tu as enviede faire du truc,parce qu'on faitdes choses pour toi.
01:09:51 :C'est ça,c'est la raison.C'est clair.Non, mais voilà.C'est intéressant,en tout cas,de parler de tout ça.Ok.Donc, oui.Pour résumer,c'est vrai quetout à l'heure,je montrais des fonctionssans intérêt,entre guillemets.
01:10:06 :C'était juste pour avoirla syntaxe.De toute façon,il faut avoir la syntaxeavant de montrerun peu l'intérêt.Pour créer carrémentdes gros projetsen des programmes à part,je ne pourrais pas faire çasur un mois en plus,entre guillemets,comme ça,mais on va le faire
Aucune occurrence trouvée pour « ».