Session du 03 septembre 2024 à 21h00
TOSA & Certifications
Librairie Standard & Modules
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 TOSA
Session libre, venez poser vos questions :).
On abordera aussi des sujets spécifiques au TOSA.
00:00:00 :Et voilà, c'est une session un peu plus libre. Est-ce que vous avez des questions en particulier ?Pas forcément TOSA, c'est vraiment libre, vous pouvez parler un peu de ce que vous voulez,il n'y a pas de problème. J'ai préparé des petites choses à voir aussi pour TOSA,
00:00:20 :mais est-ce que vous avez des choses à voir spécifiques ou pas ?Moi non, je dois juste oublier l'IA, c'est tout, c'est juste ça.Le jour du TOSA, ça va être du DIR et du HELP pour vous aider, mais c'est tout quoi.
00:00:51 :Après, c'est pour ça que c'est bien de connaître. Chet Sida, tu as des projets en cours sur Django,ça va ou pas ? Oui, d'abord, j'avance petit à petit, c'est pas facile, mais ça va. Bon,
00:01:08 :peut-être que j'avais une question là, en fait, sur le RANDOR, le contexte. Le contexte,c'est un dictionnaire, parce que moi, par le dictionnaire, je peux mettre plusieurs clés,valeurs, retourner à ma vue. Est-ce que c'est conseillé d'avoir ça ou bien c'est conseillé
00:01:33 :d'avoir une seule clé ? Tout ce que tu dois retourner à ta vue, d'avoir une seule clé,c'est pas si tu as compris. Attends, regarde, je vais partager mon écran. Est-ce que mon écran
00:01:49 :numéro 2 est partagé ? Il le partage ou quoi l'écran ? Ouais, ça a l'air. Du coup, est-ce que tuveux dire, en fait, attendez, à ce moment-là, on pourra en parler pendant la Montaura qu'il y aun Django, ou même pas que Django, d'ailleurs. Il faut que j'y pense. C'est pour mettre en place
00:02:17 :des tests. Du coup, est-ce que j'ai un exemple ici de RANDOR ? Là, j'ai une mini-vue. Elle n'estpas très grande. Toi, tu penses, ta question, est-ce que c'est initier le contexte là-dedans,
00:02:34 :comme ça, c'est ça ou pas ? Non, c'est pas ça. Regarde, le contexte, tu as vu, tu as PRODUCTCONTA. Ouais. Et comme clé, tu as VALUE PRODUCT CONTA. Ouais. Maintenant, disons que tu as d'autres
00:02:50 :choses, par exemple, tu n'as pas uniquement que PRODUCT, tu as peut-être ARTICLE, je ne sais pas,d'autres clés que tu veux retourner à ta vue. Ouais. Maintenant, est-ce que c'est... Parce que le
00:03:06 :contexte, là, c'est une diction, tu peux rajouter un autre point de vue. Tu dis ARTICLE, il y a uneclé ARTICLE, tu vois, là, c'est ARTICLE. Oui, bien sûr, parce qu'en plus, ton... Là, j'en ai
00:03:15 :plusieurs, mais ton contexte, tu peux en accepter autant que tu veux. Après, si c'est un peu lebazar, il faut peut-être... Voilà, exactement, comme en bas, tu as PRODUCT, tu as PRODUCT,
00:03:22 :tu as PRODUCT, tu as PRODUCT CONTA. Maintenant, je vais te demander si c'est bon comme ça ou bienil faut retourner juste une seule clé, au fait, pour ta vue. Non, non, non, tu peux en avoir
00:03:34 :plusieurs, j'ai des exemples. Bon, ça, c'est un truc que j'ai fait quand j'étais vraiment débutant,mais je suis sûr que si je t'en trouve et que ça restera lisible... Où sont les vues, là-dedans,
00:03:43 :déjà ? Il y a tellement de temps que je ne suis pas venu dessus sur le drôle, là, vue. Par exemple,sur l'histoire, peut-être. Toi, là, je commence à avoir des contextes... Non, ça va, il est gentil,
00:03:54 :lui. Est-ce que je suis là, sur la branche ? Bon, là, toi, j'ai un contexte un peu violent.Voilà, exactement, c'est ça. Je voulais, est-ce qu'il y a un moyen d'éviter ça,
00:04:05 :au fait ? Là, tu auras beaucoup de clés. Est-ce que c'est mieux de faire une seule clé,regrouper tout ça dans un dictionnaire avant de l'envoyer à la vue ? Je pense qu'il y en a qui
00:04:22 :font ça. Je sais qu'ils arrivent, ils font leur contexte ici, tu vois ? Voilà, exactement. Et puis,après, à chaque fois, ils font leur contexte, ils mettent leur clé. Leur clé, je ne sais pas,
00:04:36 :ça va être... Et puis, ainsi de suite. Voilà, boum. Et puis, ici, dans ton contexte, quoi. Est-ceque tu peux te montrer un exemple, d'ailleurs, bien... Ouais, c'est ça, effectivement. Alors,
00:04:55 :attends, j'essaie de faire un truc. Je vais voir si ça passe. J'ai demandé de voir s'il y a uneIA qui était capable de faire un truc propre. Ouais, tu vois, en fait, c'est un exemple. C'est
00:05:24 :un peu ce dont on parlait. Je vais revenir sur le... Voilà, pour ne pas péter mon projet,je vais faire un test. Hop. Tu vois, lui, là, il fait le contexte directement ici. Voilà,
00:05:38 :ouais, ouais. Et puis, on va l'utiliser comme ça. C'est ça, c'est ça. C'est ce que je fais desfois. Là, je l'ai fait faire par l'IA, comme ça, c'est la plus vite à tout se taper. Tu vois
00:05:48 :comment ça rend par rapport à avant, tu vois. Ok. Tu vas voir comme tu préfères. Après, je saisque c'est un projet que j'ai fait quand j'étais débutant, donc mes branches peuvent être assezbalèzes, mais vu. Donc, il y a du restructuring à faire, quoi. Mais sinon, c'est possible.
00:06:05 :D'accord, d'accord. C'est super. Tu préfères regrouper comme ça dans un dictionnaire avant,et après l'envoyer comme ça dans le retour. Ouais, ouais. Effectivement, c'est ça. D'accord,
00:06:16 :merci. Merci, c'est ça. Je vais le laisser, ça. Est-ce qu'il y avait d'autres questions spécifiquesou pas? Django, autre campée importante. Qu'est-ce qu'on a? Ah, bonsoir, Cecil, tu m'as dit
00:06:35 :bonsoir, excuse-moi. Je pense que tu passes cette hausse aussi, il me semble. Ça se passe bien?Ben, ça va, mais je m'étais un peu arrêtée parce que j'étais sur une autre formation et du coup,ben, je n'arrivais pas à faire les deux. Du coup, là, je reviens un petit peu sur le truc,
00:06:50 :quoi. Il faut que je me remette. Ouais, ouais. Bon, on a pas eu pas mal de mentorants depuis,entre deux, donc il y a l'air diffusion qui sont disponibles. Ouais. Ouais, pour qu'on
00:06:59 :se reprenne un peu sur les cours et tout ça, mais normalement, ça devrait aller parce quej'ai déjà fait pas mal de pitons avant et c'est surtout une remise à niveau, en fait. D'accord,
00:07:09 :ok. T'avais fait le test en... Ouais. Le 12 à blanc, ça a été? Ben, ça avait été un peu moyen,quoi. Je crois que j'avais eu deux ou trois, je ne sais plus. Ouais, je vois, d'accord. Ça faisait
00:07:23 :un moment que je n'en avais pas fait et du coup, ouais, c'était pas terrible, terrible, quoi. Maisc'est pour ça que je me suis remis assez sérieux et puis là, je me suis arrêtée pendant un tempsparce que j'étais en formation et que... Ouais. J'arrivais pas à faire les deux, quoi. Surtout
00:07:37 :que c'était assez intense, du coup. Ça n'a rien à voir. Ah, c'était une autre fois, d'accord,c'est un domaine. Ben, c'était sur blockchain, quoi. C'était sur du Rust, blockchain Solana.
00:07:46 :D'accord, ok. Sympa. On dit Dev, mais... Cool. C'est un truc complètement de techno. Ouais,ouais, ouais. Ok, bien sûr, d'accord. C'est cool. Voilà, voilà. Du coup, j'ai quelques... Ben,
00:08:01 :il n'y a pas eu beaucoup de questions, du coup, mais j'ai préparé quelques petites... Quelquespetites choses ce soir. Est-ce que, du coup, pour ceux que je ne vois pas trop souvent... Ben,
00:08:11 :il y en a Ltoza, Eric, tu ne le passes pas, toi. Ici, là, non plus. C'est JKY. Je ne t'ai pasencore vu souvent. Je crois qu'on m'entendra. Je ne sais pas. Attends, avec Ltoza, ça va,
00:08:24 :du coup ? Il n'y a pas de souci ? Je ne sais pas si tu m'entends, mais on va pouvoir lancer,peut-être. Je ne sais pas si tu m'as entendu. Ltoza est tellement large, je ne sais pas si tu
00:08:41 :me l'as raconté tout à l'heure. Ok. Ouais, c'est vrai que c'est large. Du coup, vu que c'est large,on va encore parler, du coup, pour parler d'autres choses assez différentes. Je sais
00:08:57 :qu'il y a une période, pour les mentorats, il y en a qui aimaient bien présenter leur projet. Jene sais pas si Simon, Sylla ou les autres... Je pense à Simon et son projet de PySide. Ou Sylla,
00:09:12 :montrer son projet de forum, ou Sylla son projet de PySide à la fin. C'est comme vous voulez.Pardon Sylla, je n'ai pas compris. A savoir si à la fin, tu veux nous montrer un peu ton
00:09:25 :projet de forum, ou pas ? Ah d'accord. C'est comme tu veux dans l'histoire. Ouais, pas de souci.Et puis Simon aussi, si vous avez montré un peu. Retrouver mon micro. Donc en fait,
00:09:42 :mon projet PySide, c'était juste un exercice que j'ai fait au mois de juillet et je mesouviens même absolument plus ce qu'il y a dedans. Ah ok, d'accord, il n'y a pas de problème. Là,
00:09:52 :je suis sur Django, je suis en train d'apprendre Django. C'est ça qui est terrible, c'est quequand on apprend des trucs, on oublie les trucs d'avant. Il faut refaire plusieurs fois pour
00:10:04 :s'en rappeler avec trois mois d'intervalle entre chaque pour vraiment que ça avante.Ouais, c'est marrant parce que moi, PySide, j'ai fait comme toi, j'ai fait un petit tour avant.
00:10:12 :D'ailleurs, je tiens à dire à tout le monde, franchement, ton projet est top. On voit quetu as bossé dessus. Tu es passé du temps à le lire. Mais il n'est pas terminé. J'avais fait un
00:10:23 :premier jeu. Ouais, bien sûr. On sent qu'il m'a du cœur quoi. Et ouais, PySide, après,donc moi, j'étais passé sur Django. Là, PySide, je ne saurais plus en faire aujourd'hui. Enfin,
00:10:35 :pas deux têtes, par exemple. Je vais aller regarder dans la doc. Django, ce que je vousconseille, c'est de faire la formation déjà, les bases de la formation. Moi, ce que j'ai fait,
00:10:44 :c'est que je l'ai écouté une fois. Je l'ai regardé sans la pratiquer. Et après,je l'ai pratiqué la deuxième fois en la regardant. Et après, il y a un gros projet à la fin,
00:10:55 :c'est le Docshop. Celui-là, il faut s'accrocher parce qu'il est chaud. Une fois qu'il est fait,c'est bien. Et après, perso, j'ai enchaîné projet sur projet. Et puis aujourd'hui,
00:11:04 :je n'ai pas le choix parce qu'on me commande des projets. On m'en commande des projets.Donc maintenant, j'en vis. Je me fais un truc dessus. Mais à force, si vous enchaînez des
00:11:16 :projets, vous allez voir que ça va rentrer. C'est des particuliers qui te passent descommandes ou ça marche normalement ? Là, j'étais au boulot et c'était une collègue. Je ne sais
00:11:31 :plus parce qu'au boulot, je fais des applications Streamlit. Je ne sais pas si vous connaissezStreamlit. On a entendu parler, mais pas trop. Non, du tout. En gros, je vais vous envoyer
00:11:44 :les stations. Je les prends du haut peut-être. C'est un framework, Streamlit. Oui, un frameworkque j'adore. En fait, Streamlit, vous êtes là, vous allez faire vos applications. Donc la doc,
00:11:59 :elle est là. Je n'ai pas prévu de m'entendre là-dessus pour l'instant, mais en fait,j'ai découvert ça avec le mentor avec qui j'ai commencé sur DocStream, Pierre-André.
00:12:09 :Installer, c'est franchement tout facile. En gérement virtuel, tu installes Streamlit etvoilà, c'est installé. En plus, il y a plein de librairies, mais genre, en fait, vous pouvez
00:12:22 :faire des... Je ne sais pas. Ah bah si, je dois avoir un. Ça sera plus sympa en live. Un trucqui s'appelle Streamlit Movie, ce que j'avais fait. Mais ça, c'était pour le fun. Il n'y a
00:12:34 :pas grand-chose. Je crois que je vais avoir une page. J'ai une seule page d'index. Donc là,par exemple, avec juste ça de code, vous allez voir. Je l'appelais comment, index ? Voilà,
00:12:53 :j'ai ma mini-application web, en fait, qui va chercher les derniers films qui sont sortis aucinéma, en fait. Et je n'ai pas fait de front. Ah sympa ça, c'est cool. Je n'ai pas fait de front.
00:13:06 :En fait, le front que vous voyez, il est là. J'utilise que des objets Streamlit. Je vaisle laisser tourner et je vais vous montrer les petites parties. Sachant que tous ceux qui sont
00:13:21 :sur le réseau local chez vous... Donc moi, par exemple, au boulot, je sais que tous lesmagasins du groupe, quand je lance mon PC, mon Streamlit ici, tous les magasins ont accès àmon application. Alors, je retombe dessus. Donc là, par exemple, j'ai la liste des films, en gros.
00:13:41 :Ici, donc là, je boucle sur l'API, en fait. Donc là, j'ai bien mon titre. Titel, les signes dumoment. Mon titre est là. Là, j'ai mon header avec le titre du film. Ici, j'ai l'image, ainsi de
00:13:57 :suite. Et puis, en fait, ça ne rend pas trop mal alors que je n'ai rien fait en front. Et ici,j'ai bien, par exemple, un divider ici. Le divider, c'est la petite ligne que vous avez là,
00:14:11 :par exemple. Voilà. Je me souviens, j'ai dû acheter mes CSS. Ouais, oui, du coup, pour Toza,c'est Python. Sans trémoire, ClassRxSource, c'est une session un peu libre, alors on parle un peu de
00:14:22 :tout. On va pouvoir finir un peu sur Toza, si vous voulez. Mais je ne sais plus où, du coup,on a parlé des Streamlits et ça m'a donné envie de vous montrer un peu les... Mais genre, vous
00:14:33 :allez voir, c'est assez flou. Dans la doc, vous avez un peu les références. Des inputs ou uneget, par exemple, qui sont là. Si vous voulez avoir un petit bouton ici, hop. Donc, après,
00:14:45 :il faut le customiser via le label. Là, c'est juste pour le fun, pour vous montrer. C'est quoil'avantage de ce framework par rapport à Django ou à d'autres? Je vais te montrer. Alors, c'est
00:15:02 :différent. Là, j'ai un bouton test qui est apparu. Bon, là, je n'ai pas mis d'action avec,mais c'était juste pour vous montrer. En gros, ça vous permet de faire des interfaces. Je ne sais
00:15:26 :pas, par exemple, au boulot, j'avais des scripts où j'allais chercher des fiches, ou avec desfichiers Excel, en fait, ça me faisait certaines actions. Ça allait me croiser les éléments,
00:15:36 :tout ça, et je faisais de la... Qu'on appelle ça? La fusillade, voilà. Bon, je croisais deséléments entre différents fichiers Excel. Mais pour ça, il fallait que je les mette dans le
00:15:45 :dossier où il y avait mon script. Et en fait, grâce à Streamlits, j'avais une interface oùles gens pouvaient directement aller directement eux-mêmes sans me demander à moi, cliquer surUpload, ils uploadaient leur fichier Excel, et après, ça leur téléchargeait un autre fichierExcel. Là, tu peux vraiment interfacer, faire une petite application Web assez rapidement,
00:16:07 :sans CSS. Voilà, sans... Oui, sans CSS. On peut mettre un peu de CSS, si je ne dis pas de bêtises,pour le customiser, mais franchement, quasiment pas, quoi. Et ça nous permet de faire des interfaces
00:16:22 :pour vos scripts. Après, vous pouvez très bien avoir un back-end Django avec des API et utiliserStreamlits juste pour le rendu. Voilà. C'est pas la même chose, en fait. Là, vous n'avez pas...
00:16:36 :Streamlits, c'est pas un framework back-end, quoi, on va dire. Sinon, voilà. Est-ce que ça répondou je suis passé facilement ? Oui, merci beaucoup. Ouais. OK. Du coup, pourquoi on parlait de
00:16:54 :Streamlits, du coup ? On en est venu à quoi ? Je ne sais plus. Je ne sais plus qui se souvient.Est-ce que je ne parle pas de Streamlits ? Parce qu'on parlait des projets... Tu parlais sur des
00:17:11 :projets avec Django et sur Obolo, tu étais amené à faire des Streamlits. Ouais. Alors, voilà. C'estquelqu'un qui me posait la question. Je crois que c'est Simon. C'est des particuliers qui me
00:17:23 :passent des commandes, peut-être. C'est parti de là. C'est toi, Simon, je crois. Oui, c'est biença, ouais. Ouais, c'est Simon. C'est ça. En gros, oui. Donc, par exemple, j'ai des collègues qui
00:17:35 :ont vu que je faisais ça. Et en fait, le boucher-oreille, il ne faut pas croire, ça va vite.Parce qu'on peut vite vous poser des questions sur la programmation. La première chose qui
00:17:42 :te vient, qui leur vide, c'est « Oh, tu sais faire de l'Internet ? ». Et après, tu peux levendre que tu fais carrément du Django. Donc, tu fais plus que l'outil de vitrine dans le Django,
00:17:50 :après. Moi, là, elle est trop fan, la fille qui a demandé ça, parce que je lui fais uneadministration avec Django où elle peut tout gérer elle-même en back-end, un peu comme avec unWordPress, quoi, par exemple. Sauf que je le fais en Django, donc je le personnalise à fond, quoi.
00:18:08 :Donc, ouais, en boucher-oreille, après, j'ai déjà fait des conférences à Paris où j'aiintervenu sur Django, ça marche aussi. Donc, quelqu'un qui m'a recommandé,après, ainsi de suite, et boucher-oreille, ça va vite. Donc, voilà. Donc, oui, on m'a déjà
00:18:25 :demandé, on a des particuliers qui m'ont demandé, mais là, il y a une entreprise qui m'a demandéaussi pour apporter le Django. Donc, voilà. Django, ça vous ouvre des portes, je peux vous le dire.
00:18:33 :Et du coup, t'as pris un statut d'auto-entrepreneur pour faire tout ça, ou bien…Ouais, ouais, ouais, ouais. Mon but, c'est d'être salarié en CDI. J'ai mon statut d'entrepreneur,
00:18:49 :mais parce que j'ai commencé pour Thibaut aussi avant, mais on est venu aussi pour un projet deDjango pour pouvoir faire des factures et les vendre, quoi. Mais voilà.
00:18:58 :OK. Merci.Voilà. Mais il n'y a pas de souci. Si t'as des questions là-dessus, il n'y a pas de problème.On pourra reparler. Donc, voilà. Je t'ai émulé de trop bien. C'est vrai que tu m'as dit,
00:19:15 :je t'aime et la CSS. Mais, ouais. Donc, du coup, est-ce qu'on n'a pas beaucoup de temps,mais on peut voir quelques petites choses pour le Toza. Et puis, on reparlera en particulier de
00:19:28 :Django sur un mentorat bien… un mentorat exprès. Je sais qu'il y a Thierry Chapuis qui est aussimentor qui est arrivé récemment. Il n'a pas encore fait de mentorat récemment, mais il va en faire.
00:19:39 :Il va aussi faire du Django. Voilà. Donc, on va être deux. Ce soir, je voulais vous parler defonctions qu'on n'avait pas vu la dernière fois, mais que vous pouvez avoir au Toza. C'est Zip.
00:19:53 :Et est-ce que, Zip, vous connaissez déjà?Moi, oui. Je l'avais, mais je l'ai oublié.OK. Plusieurs choses parce que pour le Toza, c'est pareil. C'est des trucs qui peuvent tomber.
00:20:15 :Donc, vous pouvez l'avoir sur des combinaisons. Alors ça, je ne pense pas qu'ils essaieront devous piger là-dessus, mais Zip, s'il y a plusieurs longueurs au niveau des listes que vous mettezdedans, au niveau de vos éterrables, il va s'arrêter dès que le plus court est épuisé.
00:20:30 :Voilà. On en avait déjà parlé pour Map. On avait une même couleur.Donc là, OK. On peut combiner les deux listes. On peut créer facilement un dictionnaire avec Zip.
00:20:40 :Là, vous faites votre Zip. Imaginez que vous avez les clés-valeurs. Vous faites votre Zip.Et ensuite, vous utilisez la fonction Dict. Donc ça, ça vous fait votre dictionnaire qui est là.
00:20:53 :Pour les longueurs différentes, en fait, là, il va s'arrêter du coup à la plus courte.A, B, C, il va s'arrêter à C. Donc, ça va être à 3. Là, si on regarde, voilà.
00:21:09 :C'est un clé, il s'est bien arrêté là. C'est passé.Ce qui a des cas intéressants avec Zip, c'est que vous pouvez avoir plus de deux éterrables.
00:21:24 :OK. Là, dans votre Zip, vous pourrez en avoir plusieurs.Et ce qui peut être intéressant, c'est que vous pouvez l'utiliser avec l'unpacking.Est-ce que vous êtes habitué ou vous êtes à l'aise avec l'unpacking ?
00:21:39 :Une petite piqûre de rappel avec un exemple, ça ne fait pas de mal.J'ai plein d'exemples. En fait, c'est en faisant Zip et l'unpacking,il y a ça, à mon avis, parce que c'est des choses que vous pouvez avoir aussi.
00:21:57 :Bon, là, en gros, quand je clique à la fin, l'unpacking, j'ai bien 1, 2, 3, 1, 2, 3.Donc, voilà comment il marche. En fait, il va me déballer tout ce que j'ai dans ma liste, ici.
00:22:11 :OK. Donc, c'est un peu comme si je faisais, si je ne dis pas de bêtises, ici.Donc là, j'ai mon résultat 1, 2, 3, 1, 2, 3.
00:22:19 :Comment celui-là ? C'est ça, pareil.Donc, je ne regardais pas s'il y avait un comportement légèrement différent avec le Zip, mais non.En gros, ici, il va vous déballer ce qu'il y a dans la liste et il va vous l'envoyer dans Zip.
00:22:38 :OK. Donc, l'unpacking, là, j'ai plusieurs exemples.Alors, en fait, par exemple, ici, vous avez votre liste, qui ne va que 5.Ici, si vous faites votre assignation, vous faites A, ici, la sphère XB, C.
00:22:59 :En fait, A va être égal à 1, C va être égal à 5 au dernier,et en fait, le B, ça va être une liste avec 2, 3, 4, tout ce qu'il y a au milieu.
00:23:11 :Voilà. Ça, ça va, il n'y a pas de problème ?OK. Non, en fait, regarde, en gros, on va faire plus simple. Je vais la mettre en face.
00:23:35 :Sachant que l'unpacking comme ça, moi, je l'utilise sur des projets Django, par exemple.Ça sert vraiment à partout. Donc là, j'ai bien mon, voilà.On se fout de ma liste ici, on va la supprimer, ma variable, voilà.
00:23:48 :En gros, ici, A va être égal au 1, B, vu que c'est lui qui a l'unpacking,et qu'il y a C derrière, en fait, B, il va prendre tout ce qui est entre le A et le C.
00:24:01 :Donc là, on a un élément A, 1, C, un élément, donc ça va être 5,et tout ce qui est entre les deux, ici, ça va être capturé, B va être une liste, en fait.
00:24:15 :Genre, je ne sais pas si, par exemple, je prends... Est-ce que je peux me rajouter un D comme ça ?Voilà, j'ai pris une pas de mon D, forcément.
00:24:28 :Ouais, c'est clair, ça.Hop.Ah, OK, j'ai compris, maintenant.OK, carrément, hop.Hop, ici, maintenant, A va être égal à 1, puis si je pars du dernier, donc D va être égal à 5, C égal à 4,et là, il me reste 2 et 3, et en fait, là, quand j'ai l'astérisque, c'est tout, ça va me prendre ce qui est entre les deux.
00:24:58 :D'accord, donc ça dépend des paramètres que tu mets devant, en fait.C'est ton grand variable, ouais.Ouais, ouais, ouais, je comprends, ouais.Ça veut dire que l'interpréteur, il lit pas le truc de gauche à droite, alors.
00:25:13 :Il prend d'abord le A, ensuite il prend le CLD, et ensuite, il récupère tout ce qui reste.Il prend tout ce qui reste, ouais.D'ailleurs, ça, ça serait bien qu'on revienne dessus. Merci, Simon.
00:25:28 :Sur l'interpréteur qui prend de gauche à droite, d'ailleurs, il va falloir que je refasse un truc.Là, j'ai pas d'exemple. Faut que j'y pense.Je sais pas qui l'a vu au Toza, moi je l'avais vu.
00:25:41 :Il y avait un exercice un peu comme ça, justement, où il jouait un peu sur les gauches et la droite,et à chaque fois, les variables changeaient pendant la boucle.
00:25:49 :J'en parlerai. Mais oui, du coup, là, effectivement, il va utiliser l'Asterix pour te prendre les valeurs qui sont au centre.C'est pas le bon mot.
00:26:05 :En gros, il va bien te prendre le diex 5, C4, A1, et puis tout le reste, ça va être là avec l'Asterix.Ça fait bizarre au début, mais ça se voit. Je l'ai déjà vu, je fais toujours un programme, je crois.
00:26:21 :J'ai utilisé comme ça une fois.Même petit boule utilisée sur un exemple pour gérer des couleurs, je crois en RGB, d'ailleurs.La fusion des listes. Donc, vous pouvez aussi la voir pour fusionner des listes.
00:26:35 :Donc là, comme ça, si j'ai ma fusion de listes, vous allez voir, là, elle va bien être regroupée en une seule liste,parce que je déballe mes éléments qui sont à l'intérieur et je les regroupe dans les fonctions.
00:26:57 :Ici, là, par exemple, j'ai cherché mes nombres ici, et là, dans ma somme, c'est ma fonction qui est là,je peux très bien déballer mes nombres ici en tant qu'argument.
00:27:14 :Donc là, ça va me retourner ma somme.Ici, pour les fonctions, c'est un cas que vous allez voir assez souvent.Pour ceux qui font du Django, vous allez souvent voir les args, les kawargs.
00:27:28 :Ici, par exemple, vous avez votre premier argument.Ici, votre args.Et donc, si on est là, si en premier argument, j'ai bien 1, 2, 3, 4, ici, je vais avoir un tuple au niveau de mes args.
00:27:52 :Tout ça, ça va être un tuple.Dans ma fonction, si je fais un print de type args, on est bien sur un tuple.Ça, c'est des petites choses à maîtriser pour le cas où il y a des petites questions là-dessusou les comportements de vos fonctions.
00:28:17 :Ce que je trouve un peu compliqué dans ces histoires d'unpacking,c'est qu'en fait, c'est le même symbole, donc l'astérisque,qui permet à la fois d'empaqueter et de déballer.
00:28:31 :Et donc, en fait, dans certains cas, quand tu mets l'astérisque,ça veut dire que tu attrapes tout ce qui reste et tu le mets dans un tuple.
00:28:39 :Et d'autres fois, quand tu mets l'astérisque, ça veut dire que tu me déballes tout ce qu'il y a dans le tuple.Donc, c'est ça qui est un peu difficile pour moi.
00:28:48 :Après, c'est à force d'utilisation.Après, tu vas le faire automatiquement, mais à force d'utiliser.Là, c'est bien de le voir comme ça, parce qu'au moins, on sait que ça existe comme ça.
00:29:02 :Mais après, avec de longues gouttes, tu vas prendre des habitudes à l'utiliser.Et puis, je voulais parler aussi de la double astérisque,que vous voyez souvent dans les keywords.
00:29:16 :Vous pouvez l'utiliser sur vos dictionnaires pour filer un dictionnaire, par exemple.Ça fonctionne.Cela, c'est bien, par exemple, A1, B2, C3, D4.Ici, c'est un moyen de filer vos dictionnaires.
00:29:35 :Les keywords, je ne sais pas si on a déjà fait.Je ne sais pas s'il y a besoin d'un mentorat sur les args et les keywords ou pas, la prochaine fois.
00:29:42 :Est-ce que vous le conviennez aussi, ou c'est bon ?Pour moi, c'est bon.Mais j'ai une question, Gab, sur ton tout premier exemple.Quand tu mettais l'astérisque, tu disais que ça capturait dans une liste.
00:29:58 :Et dans un autre exemple, ça capturait dans un tuple.Ça fait une liste ou ça fait un tuple ?La façon de l'utiliser.Ici, je vais le capturer.
00:30:15 :Mon B, ça va être une liste.Parce que tu vas voir.Là, quand je déballe ici, je déballe mes éléments, mais je n'ai plus ma liste.
00:30:36 :Mais je peux le printer comme ça.Par contre, quand j'étais où ? Dans ma fonction.Dans tous les cas, ici, tu vas avoir un...Mon écran est vachement grossi, du coup, je m'y perds un peu.
00:30:49 :Voilà, c'est ici.Ici, ton args, tu vas bien être sur un tuple.Là, tu es sur un tuple.Ici, si tu prints ton B...Tout à l'heure, on faisait un print de args.
00:31:06 :On avait un tuple.Là, si tu fais ton print de type B...Excuse-moi, je n'ai pas répondu à ta question à la base.Là, dans tous les cas, tu es bien sur une liste ici.
00:31:18 :Ce coup-ci, ça fait une liste.C'est parce que l'élément de départ est une liste, c'est ça ?Là, tu ne peux pas printer comme ça avec un étoileur.
00:31:29 :Hello ?Oui ?Au fait, je ne sais pas si...Par défaut, le args, c'est un tuple.Maintenant, quand tu le donnes...Au début, tu as mis A, star, B, C, D.
00:31:42 :Et tu as donné une liste.Là, c'est une liste qu'on lui a donnée.Du coup, il transforme en liste.Et par défaut, il se comporte en tant qu'un tuple.
00:31:51 :Je ne sais pas.C'est comme ça.Ah, oui.Genre là, oui.D'accord.Là, en fait...Là, le truc, c'est que j'ai défini ma fonction somme.
00:32:05 :Je l'ai définie en paramètres A, B, C.Le début, là où tu as mis...Je pense en haut.Je ne sais pas.Je ne sais pas du tout.
00:32:17 :Voilà.Le premier, voilà.A, star, B, voilà.Là, on lui a donné une liste.On a donné A, star, B, C, D.Du coup, le star B prend une liste.
00:32:29 :De quoi ?Là, tu as...Oui, c'est ça.Je suis d'accord, oui.C'est ça.Parce qu'on lui a donné une liste.Regarde.Par exemple...Attends.
00:32:42 :Voilà.Voilà exactement.On va voir ce qu'il se donne.Et là...T'as toujours une liste.Attends.Là, c'est bon.Là, donc là, je suis sur une...
00:32:54 :De toute façon, regarde.De toute façon, ce n'est pas dur.Regarde.Si tu veux en être sûr.Toujours.Il y a toujours un doute quand vous débuggez.
00:33:01 :C'est peut-être pas mal.Là, je suis sûr sur une liste.Oh, c'est toujours une liste.Ouais.OK.Ça, c'est bien de l'avoir dit.Parce que du coup...
00:33:13 :Je ne sais pas si on va aller jusque là pour vous poser des questions.Mais t'as bien une liste quand même là.Dans ce cas-là.
00:33:21 :Ouais.OK.Mais pour le coup, la fonction ici...Ma fonction, je l'ai définie avec les arguments ABC.Avec mes paramètres ABC, excusez-moi.Et en argument, je vais aller unpacker ce que j'ai dans ma liste.
00:33:35 :Donc A va être égal à 1.B va être égal à 2.C'est A va être égal à 3.Ce que je fais ici, ce n'est pas pareil.
00:33:42 :C'est que je définis la fonction avec des args.Et après, en args, je lui envoie justement B2, 3, 4, 5.Et là, ça va être un tube.
00:33:52 :Voilà.Je sais que c'est un peu chiant de rouler avec ça.Mais c'est comme ça que ça marche.Ou bien, je ne sais pas.C'est quand tu assignes un tube.
00:34:03 :Et quand tu récupères, c'est une liste.Là, fonction premier 1, args.Là, on lui a donné n'importe quoi.On a mis 2, 3, 4, 5.
00:34:15 :Et lui, c'est une assignation.Il prend une liste.Il y a eu un tube, pardon.Quand tu veux déballer, il déballe dans la liste.Là, tu peux mettre ce que tu veux.
00:34:27 :Dans tous les cas, tu vas être dans un tube ici.Dans ton args.Et là, on était bien dans le fait qu'ici, on avait une liste.
00:34:35 :Voilà.Je savais que ça, c'était bien de venir dessus.Oui, pour ceux qui débutent, ça peut ne pas être forcément évident au début.Mais déjà, bien comprendre le principe de args dans une fonction.
00:34:56 :Et puis, par exemple, des petits exemples comme ça ici.De ce comportement-là.Je ne sais pas si vous vous posez la question.Là, c'est juste pour montrer qu'on peut déballer pour passer notre liste 1, 2, 3 à chacun des paramètres ici.
00:35:12 :Pour avoir 1, 2, 3 en argument.Donc voilà.Ça va ou c'est un peu chiant ?Ça va ou c'est un peu chiant ?La force de pratiquer et de la comprendre.
00:35:33 :Ouais, ouais, ouais, carrément.Il faut pratiquer ça.Donc voilà.Je vais m'en laisser pour là.On a déjà bien...J'ai l'impression de ne pas avoir vu grand-chose.
00:35:45 :Mais finalement, on a fait pas mal de choses.On a déjà arrivé au bout du truc.Est-ce que là, avant de quitter, tu voulais démontrer ton projet ?
00:35:52 :Bon, je n'ai pas beaucoup avancé.Je n'ai pas eu le temps.Pas beaucoup.Tu utilises Tailwind en fait ?Non, je n'y arrive pas toujours.
00:36:02 :J'utilise Bootstrap.Ah merde.Oui, c'est très bien aussi Bootstrap.Mais c'est con.Je suis sur un projet où j'utilise Tailwind.Et franchement, c'est pas mal.
00:36:12 :Avec Tailwind du Django ? Django Tailwind ?Ouais, carrément.J'utilise ça.Moi, j'aimais utiliser le Tailwind.Genre...C'est ça que j'avais essayé, mais bon.Et j'ai installé ça dessus.
00:36:25 :J'ai installé ça avec en plus.C'est trop bien.C'est franchement trop bien.D'accord, je vais l'essayer.C'est super élégant, je trouve, de base.Si tu me l'envoies le lien, je peux...
00:36:36 :Vas-y, ouais, je l'envoie.Du coup, ce soir, on a parlé un peu de tout et de rien, mais...On va passer un petit passage sur l'Etoza rapidement.
00:36:50 :Là, il y en aura deux sessions comme ça, un peu libres.On est là pour, entre guillemets, questions-réponses.Il y en aura d'autres prévues.Je regarde le planning.
00:37:00 :Je sais qu'il y a Kevin qui va revenir, qui va refaire des mentorats.Et Thierry, je l'appuie, qui va en faire aussi.Donc voilà.Est-ce que vous avez des questions, là, ou ça va ?
00:37:09 :Mais c'est quoi la différence Tailwind, avec le plugin Django,et Tailwind, le natif Tailwind ?Le frais mot.Je pense que ça doit être la façon de l'installer aussi.
00:37:24 :Parce qu'en fait, avec Django Tailwind...Je n'ai même pas regardé comment on l'installe avec Tailwind CSS.Il y a la procédure avec NPM.Oui, moi, c'est ça que j'ai utilisé.
00:37:34 :Exactement, avec NPM.Allez, je peux vous montrer vite fait.C'est un projet qui est privé, mais ce n'est pas très embêtant.Tiens, ce sera sympa de pouvoir en...
00:37:45 :Ça me donne des idées, ça, de mentorat Django, là, sur les modèles abstraits.Ça te crée en fait une application thème,où tu as tout qui est agroupé dans l'application thème,avec déjà des dossiers statiques, sources, un template de base.
00:37:58 :Voilà.Que tu customises après.Moi, je l'ai customisé, mais...Tu as un template de base, tu as tout qui est dans ton petit dossier ici.
00:38:08 :En fait, il y a tout dans l'application thème.Et tu installes ça dans le terminal avec des commandes.Enfin, si tout est expliqué, ça va...
00:38:17 :Comment dire ?Si tu n'es pas trop habitué d'utiliser des choses comme Tailwind,en front, là, je trouve que c'est assez pratique de passer par le module Django, en fait.
00:38:27 :D'accord.Même si ça n'apporte pas grand-chose de plus.Voilà, c'est la façon de faire que moi j'aime bien,parce que j'ai l'impression d'être guidé, en fait.
00:38:36 :D'accord.Moi qui ne suis pas très front, ça me va très bien.Je sais que Thibaut sait tout faire.Lui, sur Django, il installe Tailwind normalement.
00:38:47 :Oui, c'est ça que j'avais essayé, mais j'étais bloqué au niveau du CSS par défaut.Oui.Parce qu'à chaque fois, le CSS était vide.Du coup, j'ai laissé, j'ai pris Boosted.
00:38:59 :Oui.C'est bien aussi.Ça marche bien aussi, Boosted.Moi, j'ai utilisé plein de fois.Mais oui, on fera des petits mentorats avec Django.Et là, pour installer, mettre en place des textes,où à chaque pluche, on déclenche les tests et tout,ça me donne plein d'idées, là, du coup.
00:39:18 :Donc, voilà.« Tu traites Tailwind, mais j'ai jamais essayé avec Django. »Oui.Tailwind, je n'utilisais pas avant, moi, perso.Et j'utilise que depuis une semaine.
00:39:29 :Et je suis en train de vraiment adorer.Surtout que, moi, je ne suis pas assez CSS ni HTML.Enfin, des bases.Et ce qui est bien, c'est qu'avec LIA, après, j'utilise Claude Hailly,qui permet de bien optimiser mes classes Tailwind,de comment les utiliser.
00:39:44 :Ça peut me le refactoriser bien, quoi.Oui, en fait, moi, c'est pareil.Je sais dire, à la base, je n'étais pas du tout à front.
00:39:50 :Et en fait, je me suis retrouvé avec beaucoup de JS et de React.Et j'ai découvert Tailwind.Et pour moi, ça a été révélation, quoi.
00:39:58 :Ouais, c'est pas mal.Le CSS pur, c'est pas mon truc, pareil.Et Tailwind, ouais, ça m'a vraiment rendu service, quoi.Ah, carrément. Je suis d'accord.
00:40:08 :J'ai jamais essayé avec du Django, en fait.Ouais, bah...Hein ?Bah, essayer, quoi, justement, avec les templates Django.Ouais, de toute façon, je fais basique.
00:40:22 :Je les revois dans mes templates.J'utilise mes petites classes, quoi, de ROS.Ça, c'est des trucs que j'ai installés en plus.Des plugins Tailwind.Mais voilà, ça fait le boulot, quoi.
00:40:39 :Franchement, ça marche bien.Et ça génère le CSS que vraiment t'as besoin,que quand tu utilises l'SDN, après, t'as pas mal de choses.Là, c'est ça que j'aime bien aussi.
00:40:49 :Je suis assez fan.En fait, moi, pourquoi j'appelle le Tailwind natif ?Parce que je pense qu'il te donne plus de possibilitésde customiser tes CSS, je sais pas.
00:41:07 :Normalement, tout ce que tu fais avec Django Tailwind,tu peux le faire aussi...Enfin, tu utilises les mêmes classes.Moi, j'utilise exactement les mêmes classes.
00:41:15 :J'ai même installé un plugin Tailwind dans mon application.Là, par exemple, ici, application thème.Dans static source, voilà.Tailwind config, j'ai installé des plugins typographie,des IUI, sans problème.
00:41:37 :J'arrive comme si j'avais un Tailwind installé normalement, quoi.D'accord.C'est vrai qu'en fait, dessus, c'est bizarre que t'aies eu un problème avec.Non, j'ai pas utilisé le Tailwind Django.
00:41:51 :Ah, t'as pas essayé ?Non, j'ai pas essayé ça, en fait.T'as pas trouvé qu'il y avait un problème avec ?Non, non, c'était Tailwind, l'autre, pur Tailwind.
00:42:01 :OK.Bon, ben voilà.Écoute, la prochaine fois, s'il l'est,si tu veux renseigner son projet et le présenter, ou les autres,si vous avez un projet à présenter...
00:42:11 :Bon, je suis toujours au même niveau.Actuellement, j'arrive à faire des messages,j'arrive à faire un peu de trucs, mais ça n'a pas beaucoup avancé.
00:42:23 :Avec les tâches du boulot, c'est pas facile.Je sais, je sais.Dans le même cas, mon jeu de rôle, moi, il n'avance pas du tout en ce moment,parce que j'ai pas le temps.
00:42:34 :Ouais, OK.Ben écoutez, s'il n'y a pas d'autres questions, je vais vous laisser.Merci, c'est gentil.Ben ouais, bonne soirée, et puis merci à vous d'être là.
00:42:47 :Merci, Gab.C'était court, mais c'est prévu que ce soit une session courte.Jeudi soir, on en fera une un peu plus longue.On va reparler de petits trucs un peu chiants, entre guillemets.
00:42:57 :L'unpacking, on pourra en revenir dessus si vous voulez,mais les petites fonctions Axis, Iter Tools,et d'autres choses, on verra.Tatooine et Test aussi.Donc voilà.
00:43:07 :D'accord, n'oublie pas...N'oublie pas l'éco-source, s'il te plaît.Ah oui, excuse-moi, je vais mettre un dépôt là-dessus, ouais.Ça sera à 21h, en fait, Cécile, ouais.
00:43:20 :Ouais, parce que sinon, c'est un peu tôt pour moi.Ouais, je suis d'accord.Je me suis rendu compte que je faisais ça, en fait,exprès pour arranger les gens.
00:43:29 :Et merci, Zika.Et je me suis rendu compte que les gens préféraient, en fait,plus tard que 20h.Et moi aussi, au final.Super.Parce que moi, les enfants m'interdisent.
00:43:41 :21h, c'est bien.Ouais, ouais, je sais.Mais 22h, ça va.Ouais.22h, ça va faire tard.Là, j'ai du boulot pour montrer Jango, donc...D'accord.
00:43:56 :Juste avant de quitter, s'il te plaît,tu peux me montrer le Cloud AI que tu utilises ?Le ?Le Cloud AI que tu utilises.
00:44:06 :Ouais.Tac.Est-ce que sur leur site ou tu utilises l'outil ?Non, sur leur site directement.D'accord.Et tu peux lui poser plein de questions.
00:44:25 :Ah, t'as pris le Professional Plan ?Ouais, là, j'ai pris le Pro.J'ai testé, c'est sympa.T'as plusieurs modèles, tu vois.Normalement, avec quelle intelligence que tu génères du code ?
00:44:38 :Avec le SONET ou autre ?Moi, je prends le SONET.Je connais un gars qui l'utilise et il m'a dit que le SONET,c'est plus intelligent parce que c'est écrit.
00:44:47 :Mais après, t'en as un qui est fait pour les tâches complexes.L'autre, lui, qui est plus rapide pour les choses plus banales, on va dire.
00:44:57 :D'accord.Moi, je prends le plus intelligent et j'ai un pote qui a essayé les trois.Il m'a dit, pour le code, il reste sur SONET.
00:45:06 :D'accord.Donc, voilà.Tu peux nous montrer un exemple rapide ?Je ne sais pas. Tu veux quoi, par exemple ?Ce que tu veux.Faire des modèles.
00:45:21 :On va avec un modèle abstrait et d'autres modèles.C'est sympa parce que tu fais ça soit en forme de fichier.Ah ouais ?Et donc là, j'ai bien mon modèle abstrait.
00:45:46 :Abstract égale tout.Et après, il va aller m'hériter de tout ce modèle-là.Et puis, il va me mettre des champs custom dessus.Des champs en plus que par rapport à un base modèle.
00:46:00 :Nickel.C'est pas mal, hein ?Ah ouais, ouais, ouais.Donc, voilà.Tiens, je me fais penser à un truc.Lui, c'est un autre 418 ?
00:46:13 :Ouais, si on veut, ouais.Mais c'est typé, c'est pour le writing, je pense.Il est fort dans le copyright, machin.T'as dit quoi ?Ah, d'accord.
00:46:25 :Dans le copywriting, machin, c'est typé, je pense.Non, typé, c'est pas l'IA, c'est juste que j'y pense.Je pense qu'il faut un petit mentorat une fois là-dessus.
00:46:34 :C'est un peu comme...C'est un peu un truc à la Streamlit.Faudra que je vous montre une fois.Ça vous permet de vous faire des applications web un peu à la Streamlit différemment.
00:46:47 :Et c'est vraiment très sympa aussi, ça.D'accord.Vu qu'on a parlé de Streamlit, je voulais absolument vous en parler avant de vous quitter.Avant que j'oublie.
00:46:58 :Mais je reparlerai la prochaine fois.Ça marche.OK.Merci, merci Gabi.Y'a pas de soucis.Je te répéterai moins bon que Claude.Ouais, c'est...C'est l'impression que j'ai et je suis pas le seul.
00:47:16 :Claude m'a l'air assez meilleur, je suis d'accord.En plus, Claude a l'air plus humain quand il te répond.C'est marrant, c'est...C'est pour ça, j'ai des idées d'utiliser dans un projet.
00:47:29 :Faut voir si y'en a un pays qui est ouvert d'ailleurs, faut que je regarde.Est-ce que quelqu'un a utilisé Cursor ou pas ?Non, non, non.
00:47:37 :C'est...C'est le truc comme Claude a dit, mais sous forme d'éditeur direct.C'est...C'est Convisio Studio Code, mais payant quoi.C'est avec l'intelligence inclue.Ah ouais, non, je pensais pas.
00:47:56 :C'est Cursor.ai.Je l'ai trouvé, mais je l'ai pas testé.Je crois que sur le Discord, quelqu'un en a parlé, ouais.Ah oui, oui, c'est ça, ouais.
00:48:09 :Ça a l'air balèze.Je sais pas combien ils le font payer ça, le pricing.C'est le même, je pense que c'est 20 balles, je pense.
00:48:16 :20 balles par mois en pro ?Ouais.Ouais, c'est pas mal.Ouais, c'est pour quelqu'un qui bosse.Ça va, les abonnements, c'est comme du Netflix, quoi.
Aucune occurrence trouvée pour « ».