Session du 04 juillet 2024 à 20h00
Pratique & Live Coding
Bases du Langage
Qualité & Architecture
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
Comprendre isdigit et la logique algorithmique
Recréez pas à pas la fonction isDigit et travaillez votre logique algorithmique en Python, du parcours de chaîne à la compréhension du problème.
00:00:00 :Est-ce que tu as un exemple d'exercice à m'envoyer ?Dès que j'arrive au niveau intermédiaire des exercices, ça y est, je ne peux plus.Tu en as un sous la main, l'un des derniers sur lesquels tu as un peu galéré ?
00:00:17 :Il faut que je vaille sur Docstring parce qu'en fait quand je vais sur le truc, ça me quitte.J'y vais tout de suite.Je ne sais pas si tu avais regardé ou si tu étais là au mentorat.
00:00:37 :J'avais fait un mentorat justement sur la résolution d'exercices.Donc avec des exercices normales, débutants, intermédiaires et avancés.J'ai essayé justement de montrer un petit peu comment j'abordais les exercices.
00:00:49 :Non, ce n'était pas là.Non, ce n'était pas là.Il faudrait que tu ailles le voir en rediffusant.Je pense que ça pourrait t'aider.Je vais essayer de te le retrouver.
00:00:56 :Là, je suis à l'exercice.Dans cet exercice, nous allons recréer une méthode appartement aux chaînes de caractères.La méthode isDigit qui permet de vérifier une chaîne de caractères ne contient que des noms.
00:01:15 :Nous allons transformer cette méthode en fonction.A vous d'écrire le code de la fonction isDigit afin de vérifier la chaîne de caractères que l'on passe ici.
00:01:28 :Ici, ça met la chaîne de caractères contenant uniquement des nombres.Votre script doit retourner true dans la variable résultat.J'ai le truc sous les yeux.
00:01:42 :Je me rappelle de cet exercice.C'est juste la réimplémentation de isDigit.C'est juste que tu parcours la chaîne de caractères.C'est tout.Tu vas boucler sur la chaîne de caractères.
00:02:02 :Je me rappelle de cet exercice.Pour te simplifier la vie in aïr, il faut juste prendre la chaîne de caractères comme un tableau.C'est juste un tableau que tu vas parcourir.
00:02:20 :Tu vas parcourir chaque lettre.Une à une.C'est la logique.La logique des choses, je ne l'ai pas.Je crois que c'est ça qu'il faut que je travaille.
00:02:29 :C'est la logique des choses.Je ne sais pas comment faire.Parce que quand tu vas me poser des questions en question-réponse, je vais pouvoir répondre correctement.
00:02:37 :Mais une fois que je dois passer vraiment au code, c'est là où je bloque complètement.Il te faut plus d'exercices.Est-ce que tu as déjà fait du code ou pas avant ?
00:02:50 :J'ai fait un peu de C, mais sans plus.Non.Avec du C, est-ce que tu as fait beaucoup de code ?C'est-à-dire que tu as fait des exercices avec du C ou pas ?
00:02:58 :Non, pas vraiment.C'est ça le problème.C'est ça ton problème.C'est que tu as juste les notions de base, mais tu n'as pas pratiqué un petit peu.
00:03:07 :C'est ça.C'est exercé en live après.C'est exercé parce que ce qui te manque, c'est l'aspect d'algorithmie.C'est cet aspect, comment tu vas changer un code machine avec ton langage que tu comprends.
00:03:22 :C'est ça que je...L'algorithmie, je suis vraiment nul, j'ai l'impression.Non, ce n'est pas que tu es nul.Personne n'est nul.Il faut juste prendre un petit peu du temps et essayer de comprendre les exercices.
00:03:38 :Surtout, il faut commencer avec des exercices très simples.Ils font que tu commences avec le « hello world » et tu vas avancer pas à pas.
00:03:49 :Merci, c'est gentil.Sans compliquer la vie.Pour moi, toutes les personnes ont passé par ces étapes.Oui, on est tous passé par là.Il n'y a vraiment aucune honte, quoi que ce soit.
00:04:03 :On est tous passé par là.Et même nous, aujourd'hui, on va galérer sur des exercices de plus haut niveau.Comme toi, tu galères aujourd'hui peut-être sur des exercices de niveau intermédiaire.
00:04:10 :Chacun a un plafond de verre qu'il atteint et qu'il faut dépasser.Après, si tu veux, on peut essayer de le faire ensemble, cet exercice-là.Pour voir comment on peut l'appréhender, si tu veux.
00:04:19 :Oui, ce serait gentil comme ça.Au moins, qu'on m'explique un peu la logique des choses.Pour que je puisse me mettre à la place de quelqu'un qui est un peu plus expert que moi.
00:04:27 :Parce que, vraiment, des fois, je vais avoir ce sentiment de me dire que je ne suis pas à ma place, en vérité.Non, non.Ça, c'est le syndrome de l'imposteur.
00:04:36 :On l'a tous.Non, non.Il ne faut pas se dire ça.Il faut juste dire qu'on a tous un niveau différent.On progresse tous chacun de notre manière plus ou moins vite.
00:04:45 :Il n'y a vraiment aucune honte, ni quoi que ce soit à avoir.Chacun avance à la vitesse à laquelle il avance.Et on arrivera tous, de toute façon, au même endroit à la fin.
00:04:53 :Est-ce que tu avais déjà un petit peu commencé à faire l'exercice ?Tu avais quelques pistes ou vraiment pas du tout ?Tu bloquais sur la lecture ?
00:05:00 :Vraiment pas du tout.Même des fois, quand je lis des énoncés et que je fais l'exercice, en fait, l'énoncé, il est un peu flou des fois.
00:05:12 :Je ne sais pas comment expliquer.Oui.Alors, avant que je le fasse, je vais te demander.Toi, Wally, tu l'as fait, celui-là ?Je ne sais pas si tu l'avais fait ou pas, cet exercice-là, Wally.
00:05:26 :Oui, oui, je l'ai fait.Tu l'avais réussi ?Est-ce que ça t'intéresserait de lui expliquer comment tu procéderais pour cet exercice-là ?Moi, je le fais sinon, il n'y a pas de souci.
00:05:35 :Je me dis que ça peut être intéressant, peut-être que toi qui fais du C aussi,tu lui expliques un peu ta logique.Vous avez fait tous les deux du C, peut-être que vous avez une logique qui est un petit peu différente.
00:05:45 :J'ai partagé les codes.Ok.Après, je vais essayer de l'expliquer un petit peu par rapport à quoi.Oui, oui.Le problème dans cet exercice, Naïr, c'est que SDZ, c'est une fonction déjà du code,prédéfinie par Python.
00:06:03 :On va l'utiliser normalement.En général, dans cet exercice, on propose de la redéfinir.C'est-à-dire que c'est nous qui allons créer cette fonction.Cette fonction, qu'est-ce qu'elle fait ?
00:06:15 :Il regarde si la chaîne de caractère qu'on a saisie contient que des numéros situés.Oui, je sais que la fonction SDZ sert à ça.Je le sais.
00:06:28 :C'est-à-dire, du coup, comment on va procéder ?C'est qu'on va parcourir la chaîne de caractère, caractère par caractère.À la base, SDZ, c'est une méthode, ce n'est pas une fonction.
00:06:41 :Oui, c'est la même chose.Là, on met un point, on met la variable qu'on veut mettre,ensuite on met le point et on met SDZ à la base.
00:06:52 :Oui, c'est ça que j'ai compris.Mais là, on doit la définir.Quand tu l'appelles de base avec Python, avec le point SDZ derrière une variable,tu appelles une méthode.
00:07:04 :Et cette méthode-là, derrière, c'est une fonction comme ça.Et là, ce qu'on te demande, c'est de la recréer.Là, tu l'appelles de cette façon-là,mais dis-toi que c'est comme si tu faisais ça,mais que derrière, Python, tu vois, le i-digit,derrière, dans le code de Python,elle est définie un peu comme ça, si tu veux.
00:07:24 :C'est une méthode de Python qui est définie en arrière-plan comme çaet que tu peux utiliser sous ce format-là.Et nous, on te demande juste de la recréer comme une fonction basique.
00:07:31 :Mais ça revient au même.Ça revient au même. Dans la finalité, ça revient au même.Oui, dans la finalité, ça revient au même.Pour ne pas t'embêter avec cette fixité-là,on te demande de l'exécuter comme une fonction simplement.
00:07:43 :On te demande de reproduire le comportement de la fonction,enfin de la méthode, sous forme d'une fonction.Et ça revient au même, en fait.Vas-y, dis-moi.
00:07:54 :En fait, juste m'expliquer comment ça marche, une fonction, une méthode.Une fonction, une méthode,tu la définis avec def.Tu lui donnes un nom.Elle peut prendre des paramètres en parenthèse.
00:08:11 :Ces paramètres-là, tu peux même être plus précis.Par exemple, tu veux préciser que chaine, c'est une string.Tu peux aussi faire en sorte que tes paramètres aient une valeur par défaut.
00:08:22 :Par exemple, moi, je ne sais pas.Ici, la valeur par défaut, ça peut être 1, 2, 3, tu vois.Voilà.Au niveau des paramètres, c'est ce que tu peux faire.
00:08:32 :Tu lui donnes un nom que tu vas pouvoir réutiliser à l'intérieur de sa fonction.Tu peux lui donner un type.Tu veux préciser que tu n'acceptes que les strings pour ton paramètre chaine.
00:08:42 :Et tu peux lui donner une valeur par défaut.C'est-à-dire que si, par exemple, tu envoies une chaîne videoù tu n'envoies pas le paramètre chaine,elle va prendre ça comme valeur par défaut.
00:08:53 :Là, tu peux en mettre autant que tu veux, séparé par une virgule.Nous, pour l'instant, on n'en a besoin qu'une seule.On va juste mettre chaine.
00:09:00 :Et du coup, derrière ça, tu peux le réutiliser dans la fonction.Et dans la fonction, tu écris tout le comportement que tu veux que ta fonction fasse.
00:09:07 :Et si tu veux retourner quelque chose,c'est-à-dire que quand on appelle ta fonction,ça retourne un résultat et que tu puisses l'assigner une valeur.Par exemple, tu vois, résultat, c'est t égal à ce que va renvoyer ma fonction.
00:09:21 :Il faut utiliser le mot-clé return.Tu peux return un boulet 1, donc true ou false,comme tu peux return du texte, comme tu peux return n'importe quoi.
00:09:30 :Tu returns ce que tu veux.Ici, j'aurais pu return bonjour, tu vois.Et mon résultat serait égal à une string qui s'appelle bonjour.Ok ?
00:09:39 :Marie, je vais partager avec toi le code équivalent en anglais C.Comme ça, tu vas faire la similitude de la fonction.Je vois là, include stdh, ça c'est l'introduction.
00:09:56 :C'est quasiment la même chose.C'est juste ça.Le même comportement.T'as vu, avec C, on met toujours, si c'est une chaîne de caractère,si c'est un boulet 1...
00:10:07 :C'est ça la puissance depuis tant.On s'en fout des...Si ça te perturbe, tu peux le préciser, si ça t'aide.Par exemple, tu vois, là c'est marqué, j'ai pas fait beaucoup de C,mais par logique, char, c'est une constante qui s'appelle char.
00:10:27 :Oui, char, c'est la chaîne de caractère de type de caractère.Ça c'est char, c'est chaîne de caractère en Python, en fait.Et chaine, c'est une constante, c'est ça ?
00:10:35 :Comment ?Donc c'est une constante qui s'appelle chaine et qui est du type char,donc chaîne de caractère.Parce que là, on est d'accord.Oui, c'est ça.
00:10:44 :Là, ici en Python, t'as pas le const, mais tu as l'annotation typequi revient en même pour dire que si tu veux que ta chaîne,ce soit une string, en fait, c'est pas char ici, c'est str,et si c'est la même chose, tu mets deux petits points str.
00:10:57 :Si tu veux dire que c'est un entier, tu mets deux petits points int.Si tu veux dire que c'est un boulet 1, deux petits points boules, etc.
00:11:03 :Et tu peux préciser comme ça que tel ou tel variable doit contenir tel ou tel type.Si ça t'aide, parce que du coup ça te permet de retrouver un petit peuce que tu voyais en C, tu peux le faire de cette façon-là.
00:11:15 :Pareil, tu vois, résultat ici, résultat va être égal à un true ou un false.Je peux dire que résultat, ça va être un boulet 1, tu vois.
00:11:23 :Et qu'ici, ma chaîne, du coup, c'est forcément une string.Est-ce que ça t'a aidé à y voir un peu plus clair, ça ?Je sais pas si t'as vu dans l'information de l'annotation type.
00:11:33 :Non, mais en fait, moi, c'est pas le... En fait, je sais pas comment expliquer.En fait, moi, c'est pas le problème, c'est pas le fait de pas connaître les fonctions,pas connaître tout ça, parce qu'en fait, je comprends vraiment les fonctions,j'arrive à les comprendre. En fait, comment avoir la logique
00:11:50 :pour pouvoir les ressortir à tel ou tel moment ?Ça dépend de quand t'en as besoin, tu vois.Je vais te faire l'exercice et on va essayer de voir comment, par exemple, t'en as besoin.
00:12:01 :Donc là, ta fonction isDigit, déjà, faut que tu comprennes c'est quoi son but, OK ?Là, tu veux que isDigit, quand tu lui donnes une chaîne de caractère,il te dit si cette chaîne de caractère ne contient que des chiffres ou pas.
00:12:13 :On est d'accord ?Donc, puisque tu veux lui envoyer quelque chose, elle doit prendre un paramètre.Là, ça va. Donc, tu lui donnes un paramètre.
00:12:23 :C'est une chaîne de caractère, donc on va l'appeler chaîne,et on va préciser, par exemple, que c'est une string.Donc là, première ligne, tu définis ta fonction, tu lui donnes un nom et tu lui donnes le paramètre.
00:12:32 :Puisque là, on est OK.En fait, regarde, si on met pas str, comment il va reconnaître que c'est une chaîne de caractèreet qu'on veut renvoyer une chaîne de caractère dans isDigit ? C'est ça que...
00:12:42 :Lorsqu'on a mis des guillemets...Excusez-moi de te couper.C'est juste, lorsqu'on a des guillemets, automatiquement,Python sait que vraiment c'est une chaîne de caractère. Automatique.
00:12:56 :En fait, si tu veux, Python détecte automatiquement.Si t'as des doubles guillemets, il va considérer que c'est une chaîne de caractère.Si t'as un true ou un false, il va considérer que c'est un booléen.
00:13:10 :Si t'as un chiffre, il va considérer que c'est un int.Si t'as un nombre à virgule, il va considérer que c'est un float.C'est ça.
00:13:22 :Tu t'es mis les 4 de base.Donc, soit tu le précises, et quand tu le précises,ça permet de dire que tu acceptes strictement que des chaînes de caractère dans ce paramètre.
00:13:33 :C'est-à-dire que la fonction, par exemple, si ici je lui envoie 100 les caractères,ça va me retourner une erreur, parce que j'ai précisé que je voulais absolument une string.
00:13:43 :Mais si je ne le précise pas, ça, ce sera valide.Mais du coup, après, ce ne sera pas bon.Mais si je lui mets normalement en chaîne de caractère, je vais reprendre ça,il va détecter que c'est une string, puisque j'ai mis des guillemets.
00:13:57 :C'est par défaut, en fait.Mais après, si ça t'aide à y voir plus clair, tu peux le préciser.Mais il y a des moments où il ne faut pas le préciser,parce que tu peux très bien accepter différents types de...
00:14:09 :Il y a des cas, sûrement, où tu dois pouvoir accepter différents types de types.Parce qu'en fait, moi, je n'ai pas envie de préciser.Pourquoi ? Parce que je n'ai pas envie de prendre l'habitude à préciser
00:14:19 :et en gros à changer la convention de Python.Vu que Python, c'est comme ça, je n'ai pas envie que demain, imagine,je rentre dans le monde professionnel et que je commence à garder des mauvaises habitudes.
00:14:27 :Ce n'est pas bon.Ce n'est pas une mauvaise habitude en soi, parce que ça te permet d'y voir plus clair.Si tu n'as besoin d'accepter qu'un seul type de truc, tu peux le préciser.
00:14:34 :Il n'y a rien de mal à ça du tout.Franchement, ce n'est pas une mauvaise habitude d'apprendre ou quoi, c'est juste que...Et en plus, excusez-moi pour le dérangement,en fait, c'est parmi, lorsqu'on cherche à perfectionner le code,lorsque tu ajoutes le typage de la donnée,ça augmente la rapidité de l'exécution de ton code.
00:15:01 :C'est parmi les points noirs, soi-disant, de Python,puisque c'est un peu long, c'est parmi les défauts, c'est ça.C'est qu'on ne précise pas le type par défaut.
00:15:12 :Du coup, ça prend beaucoup de mémoire pour lui, pour détecter ce type.D'accord.Et en plus, on a même récemment, c'est la sortie, je pense,c'est un langage qui s'appelait Mojo, si je me rappelle bien du nom.
00:15:29 :Et il est basé sur ça, pour permettre à Python d'être très robuste.D'accord, merci.Après, le deuxième avantage à faire du typage de caractères,c'est par exemple quand tu es en entreprise,et que tu dois commenter ton code,pour que justement un collègue doit pouvoir l'utiliser, etc.,
00:15:49 :le fait de préciser telle variable doit contenir tel type,lui, du coup, il sait comment, par exemple, utiliser ton code.Il sait qu'il ne va pas devoir envoyer des ints ou des boules là,mais il doit envoyer une chaîne de caractères.
00:16:01 :Ça peut aussi servir à ça.De préciser, par exemple, que tu veux un int, ton collègue,il saura qu'il ne faut envoyer que des strings pour le paramètre chain.
00:16:14 :Ce n'est pas un float ou un booléen.Merci, super.Voilà.Donc ça, c'est juste pour la définition en elle-même de la fonction.Maintenant, comment utiliser ?
00:16:25 :Le fait que tes paramètres,ce qu'on appelle l'utilité principale,c'est de pouvoir les utiliser à l'intérieur de sa fonction.Ici, ce qu'on veut, c'est vérifier,on a une chaîne d'une longueur indéterminée,et on veut la parcourir et vérifierque chaque caractère qu'il y a dans la chaîne est bien un digit,
00:16:50 :est bien un chiffre.Pour ça, il faut la parcourir.Pour la parcourir, normalement, tu l'as vu dans la formation,on utilise une boucle.Là, en l'occurrence, on utilise une boucle fort.
00:16:59 :Là, j'ai mis i.Moi, je vais peut-être mettre ça pour que ce soit plus explicite pour toi.Tu vas mettre fort chiffre in chain,c'est-à-dire que tu vas parcourir ta chaîne,et chaque...
00:17:12 :En gros, en fait, tu vas scanner, tu vois.Et il faut modifier aussi chiffre.Oui, je faisais l'interline.Mais, du coup, tu vas le scanner une par un.
00:17:23 :Donc, par exemple, première itération,ici, tu vois, ça va être...Il va check le 1.Puis, tu vas vérifier,deuxième ligne,est-ce que mon chiffreest dans la chaîne de caractère que je lui donne,donc, en fait, la liste des digits, ou pas.
00:17:39 :Lui, il l'a implémenté de cette manière-là.C'est très simple et ça marche très bien.Il y a d'autres manières de le faire.Par exemple, tu peux aussi faire...
00:17:47 :Bon, c'est un petit peu plus complexe,mais tu peux créer, en fait, une liste, tu veux.Et tu regardes si, donc, chiffren'est pas, en fait, dans ta listequi ne contient que des strings.
00:18:00 :Donc, pour faire ça,c'est un peu plus complexe,mais tu crées, en fait, une listede chaînes de caractères.Là, on va dire n,for n in range,et, du coup, 10.
00:18:14 :C'est un peu plus complexe.Ça marche tout aussi bien.Je vais y arriver avec mon QWERTY.Tu peux aussi faire ça.À la place de if là-haut.
00:18:26 :En fait, c'est soit ça,soit ça. En l'occurrence, celui-làest beaucoup plus simple.La première itération,elle est un peu mieux, j'ai l'impression.Pour moi, à retenir.
00:18:38 :Oui, à retenir.Et dans cet exercice-là, c'est beaucoup plus simple.Mais ça a une certaine limite.C'est-à-dire que là, tu n'as que 10 chiffres.Donc, avec le range, on peut mettre plus.
00:18:48 :Avec le range, tu peux aller à une infinité,comme tu veux.Dans certains cas,où ça va être des vérifications plus longues,c'est aussi bien de connaîtrede cette manière-là.
00:19:00 :C'est simple.Les crochets permettent de dire que tu crées une liste.Et la liste, dedans,tu mets une string.Tu fais une boucle fort.De 0 à 10.
00:19:12 :For in range 10, c'est de 0 à 9.De la même manière qu'ici.Et tu récupères chaque n, donc chaque chiffre,et tu transformes en string.
00:19:20 :Et donc, tu te retrouves avec une liste de 0 à 9.Et tu vérifies que, du coup,le chiffre que tu as là, est-ce qu'il est dans la liste ou pas ?
00:19:26 :Et ça revient exactement au mêmeque vérifier s'il est dans cette string-là ou pas.C'est juste qu'ici, ça te permet d'aller un peu plus loinet pas écrire tous les chiffres que tu as besoin là-bas.
00:19:34 :OK ?En l'occurrence, on ne va pas s'embêter.Je pense.Il y a un petit bug, là.Sinon, tu peux ajouter,si ça te paraît plus compliqué que ça,tu peux rajouter caractère par caractère.
00:19:50 :Ça n'est pas égal à 0,n'est pas égal à 1, n'est pas égal à 2, etc.Non, c'est même pas ça.J'ai trompé de raccourci.
00:19:58 :Pour faire le partage d'écran.Hop, OK.Euh, tac.J'ai plus de code, c'est pas grave.On va le refaire.Hop, euh, tac.On va dire que c'est une string.
00:20:14 :Sort chiffre.In.Chaine.Not in.Not in.In.Hop.Et donc là, si ça ne fait pas partie de la chaîne de caractère,tout simplement, on renvoie false.
00:20:46 :Sinon,si ça a passé cette vérification-là,ça veut dire qu'on est bon, et on renvoie true.Le note in, déjà,on le met tout le temps.
00:20:58 :Le note in aussi.Alors, là, le note in,c'est du coup, sile chiffre n'est pasdans ce truc-là, on renvoie false.Sinon, tu peux faire l'inverse.
00:21:10 :Chiffre, in, tatata.Et tu mets le true là.Et le false là.Mais le problème avec ça, c'est que tu fais une itérationun par un.
00:21:22 :C'est-à-dire qu'il suffit que ton premier caractèresoit un chiffre,il va me return true, tu vois.Aussi bien,je pourrais faire ça, il va me return true.
00:21:32 :Ah d'accord, ok, je suis en comproms.Alors que du coup, si tu le faisinversement, tu vérifies que vraimenttoutn'est pas un chiffre.D'accord, je comprends mieux.
00:21:44 :Là, voilà, t'itères à chaque fois.Et tu fais ça pour tout.Et si tu vois qu'à la fin,il n'y a rien qui est passé au false,ça veut dire que c'est true.
00:21:54 :D'accord, d'accord, je vois mieux la chose.D'accord, merci.Ça va, tu comprends mieux la logique ?Ouais, je comprends mieux, un peu dans ce sens-là, ouais.
00:22:04 :Est-ce qu'il y avait d'autresexercices sur lesquels tu butais un petit peu ?Après, là, moi, j'ai cru là,je n'ai pas encore vu les autres.
00:22:12 :Je butais sur celui-là, je suis arrivé à celui-làet puis je n'ai pas encore fait celui-là.N'hésite pas, du coup,en même temps que les faire, reprendre le cours à côté.
00:22:20 :Par exemple, le cours sur les fonctions,le cours sur le typagede variables, le cours sur les bouclesfortes, tu vois, de les faire, de les reprendreun petit peu à côté, comme ça, tu vois leurapplication en temps réel. Tu pratiques
00:22:32 :en même temps, tu vois, et pas justet'apprends ton cours une journée et tu fais l'exercicel'autre journée. Parce que du coup,déjà, tu vas oublieret tu ne verras pas leur application directe.
00:22:42 :Parce qu'en fait, moi, je les ai écrits, les cours.Je les ai écrits, tous les cours, je les ailà, en fait. J'ai un cahier
00:22:48 :complet avec tousles cours dedans, là.Mais c'est bien de pratiquer en même temps, tu vois.Et c'est pour ça que, d'ailleurs, à certains momentsde la formation, tu vois, à la fin du chapitre, il va te mettredes exercices, pour voir si t'as bien compris.
00:23:00 :Mais moi, je te conseille, en plus,que dès que t'as fini, genre, une vidéoou quoi, par exemple, la vidéo sur les fonctions ou quoi,en même temps, hop, tu vas te chercherun exercice sur les fonctionset tu le fais en même temps, voir si tucomprends bien le concept, tu vois.
00:23:14 :Ah, ouais, merci.En plus, des conseils, merci. Parce que, en plus,là, je comptais refaire encore le parcours, là,déjà. Ah, ouais.Si vraiment tu veux le refaire, fais-lede façon proactive, tu vois. Fais des
00:23:26 :exercices, des quiz, desmini-projets, etc., en même tempsque voir le cours. Comme ça, tu vois leur application.Tu vois l'application des concepts en direct,en fait. Et tu sais à quoi ça te sert, dans quelle
00:23:36 :situation, comment l'appliquer, comment l'utiliser.Et tu verras que t'apprendras beaucoup mieux.Et après, derrière, ça te permettraaussi d'être autonome et de dire,ben voilà, aujourd'hui, tac,je veux faire une fonction, je sais pas, moi, je veux créer une calculatrice.
00:23:48 :Comme t'as assimilédans ta tête tel concept,ça sert à telle chose,tu sais, en fait, lesquels utiliser pour faire tacalculatrice. Et t'auras pas à les rechercher dans
00:23:58 :le cours, tu vois.Ah, ouais, je vois ce que tu veuxdire.Effectivement, l'exercicede la calculatrice, il va l'aiderforcément à mieux utiliserles fonctions.
00:24:12 :J'ai fait l'exercice de la calculatrice qu'on adans le cours. Non, non, la calculatricetotale sur l'exercice, c'est que ledébut sur l'exercice.T'as le projet, là, tu vois. Ouais, la calculatrice
00:24:22 :en temps entier, tu vas faire la division,la multiplication, et tu vas faireles codes d'erreur,tu fais tout, tu gèrestout. Et quandon fait cet exercice-là, est-ce qu'il y a des vidéos avec,ou...
00:24:36 :Il me semble, oui. Ouais, t'en asquelques-unes qui présentent un peu le projet.Là, c'est un projet, c'est un but un peu de le fairetout seul, et après, derrière, d'allerchercher un petit peu les trucs que t'as besoin, tu vois.
00:24:46 :Mais...Mais en gros, voilà, t'as une introductionqui t'explique un petit peu ce que tu dois faire.Si t'as besoin d'aide,il te donne quelques conseils, quelques astuces.
00:24:56 :Au pire, sinon, tu vas chercher un petit peu dans lecours, et après, t'as la solution pour comprendre.Donc, t'as la calculatrice,la première partie. Ça te permet
00:25:04 :de revoir l'affichage dans Terminal,de revoir la gestion des chaînes de caractère,de revoir certaines fonctionsnatives de Python, les opérateurspour faire des calculs, les typesnatifs, donc les ints, les strings, tout ça.
00:25:16 :Et une fois que t'as fait ça, tu peux aller un petitpeu plus loin, et à ce moment-là, du coup, tu vas revoirles boucles, tu vas revoir la gestion d'erreurs,tu vas revoir comment gérer deslignes de commandes, les structuresconditionnelles avec des if et deselse, etc.
00:25:30 :Voilà, et puis après, tu peux aller encoreplus loin avec d'autres projets, tu vois.T'as pas mal de projets débutants, déjà.Ah non, mais là, je vois ça. J'ai vu...
00:25:38 :Tu peux le trier hors de fichier.Moi, je le trouve bien, parce qu'il revoit quand même pas malde trucs. Et celui-là, je l'ai fait en
00:25:44 :live-coding, il y a un mentorat, il y a quelque temps.C'était moi qui t'avais demandé, je crois.Ah oui ? Possible.Je t'ai dit que j'étais dessus, et même, on avait vu,je t'ai dit que j'avais fait le...
00:25:54 :Jusqu'au...Pardon. Les clés-valeurs, là.Comment ça s'appelle ?J'ai oublié le nom, j'ai un trou de mémoire.Dictionnaire.Il fallait faire le dictionnaire.C'est une question sur l'adressation des variables, oui.
00:26:08 :Voilà, et il fallait faire le dictionnaire.Je t'avais dit que j'étais bloqué dessus, c'est vrai.Tu vois, ça, c'est...Faire des projets, c'est... Tu mets en application ce que t'as appris, tu vois.
00:26:16 :Mais je pense que déjà, avant de faire ça,c'est important de faire des exercices et des quizen parallèle, en même temps quevoir les cours. Être vraiment proactif, quoi.
00:26:24 :Prendre des notes, c'est déjà bien. C'est déjà très bien.Il y a beaucoup qui le font pas. Mais je pense qu'il fautaussi faire des exercices en même temps.
00:26:32 :Parce que, en fait,c'est pour ça, moi, de tête, quand je vais me poser des questionssur telle ou telle chose, je vais pouvoirte répondre...
00:26:40 :Oui, mais entre poser des questions et l'appliquer,c'est deux choses différentes.C'est pour ça que c'est important de s'exerceren temps réel.L'application, je suis nul, mais vraiment nul.
00:26:50 :Non, mais c'est pour ça.Tu verras, le fait de le faire en même tempsque le cours, tu vas, en fait, assimilerle concept que tu es en train de voir du coursà comment l'appliquer de façon concrèteaussi en code, tu vois.
00:27:02 :Tu vas, en fait, assimiler les deux,le fait de le faire en parallèle.Ce sera beaucoup plus facile à comprendre derrièrecomment l'utiliser dans telle situation ou dans telle situation.
00:27:10 :Merci, c'est super gentil.C'est sympa.Il n'y a pas de soucis.Du coup, j'ai vu que tu es arrivé un petit peuaprès Cédric. Je ne sais pas si tu avais parlé.
00:27:20 :N'hésitez pas, si vous avez des questions,si il y a d'autres exercices que vous voulez revoir ou quoi.On a encore un petit peu de temps devant nous.
00:27:26 :Bonsoir.J'ai le coin pour ma part, je suis en train deessayer de...En fait, j'apprenais Python pour un projet pro.Je suis en train d'essayer de le mettre en application.
00:27:36 :Mais il y a encore des trucs que je n'ai pas vus.Là, j'ai essayé d'utiliser Flask et tout.Et en fait,quand je lancele serveur local,je me retrouve avec une erreur 404.
00:27:48 :Je ne comprends pas pour l'instant. Je suis en train de chercher.Erreur 404 avec Flask ?Ouais.Quand tu lances,tu as bien l'URL.Ouais, c'est ça.
00:28:00 :2.500 à la fin.Voilà, et tu es sur le slash.Et tu as de l'erreur 404page non trouvée.C'est sûrement que tu n'as pas défini la routepour la page indexslash par défaut.
00:28:14 :Tu as dû peut-être définir d'autres routes,mais pas le slash par défaut.Si je te lance vite fait,qu'est-ce que j'ai dans route ?Je ne sais pas s'il est hébergé sur GitHub ou quoi,ton projet ou quelque part.
00:28:26 :C'est pareil,il faudra que je regarde ça aussi plus tard.Je sais que ça ressemble un peules deux, mais tu as une formation complète Djangosur le site.
00:28:36 :Après,tu as quand même quelques trucs. Tu as un projetclone de chat GPT.Ça te permet de voir comment faire un projet avec Flask.
00:28:44 :Pareil, tu as une application Flask de base.J'imagineque pareil,tu as bienle app.route avec le slash.La route par défaut sur l'index.Exactement.
00:29:00 :Avec le def et qu'il returne un truc de base, etc.J'ai def, index,return,render template.Je n'ai pas vu ces vidéos-là.C'est ouf ça, je n'ai jamais vu ces vidéos-là.
00:29:16 :En fait, tu as la barre de recherchesur le site et moi j'ai tapé Flask.Tu as le projet clan qui a un clone de chat GPT.
00:29:22 :En gros,j'ai ça.La mise en page n'est pas bonne.Merci.Et du coup,tu as une base de données avec tes agents.C'est ça.
00:29:40 :J'avais appliqué Excel, j'ai créé ma base de données.Elle s'est bien créée, il n'y a pas de soucis.C'est vraiment quand je...C'est peut-être au niveau du templating,alors que tu as un problème.
00:29:50 :Avec ton index.html, etc.J'imagine que tu utilises le truc de base.J'ai oublié comment ça s'appelle.Je t'avoue, pour l'index.html,il s'appellechat GPT.Il me l'a sorti.
00:30:04 :Il n'est peut-être pas forcément bon.T'as moyen de m'envoyer juste un bout ?En fait, celui avec Flask...J'ai oublié le nom.C'est quoi le template ?
00:30:14 :Ça va peut-être être trop long.Ça va être trop long.D'accord, je regarde.Ça s'est arrêté.Il manque la deuxième partie.Appelez le site templating sur Flask.
00:30:26 :En fait, il y a des normesà respecter.C'est un truc qui ressemble un peu à ça.Les structures des html.Ouais, attends.Il y a des trucs qui ne sont pas bons.
00:30:50 :Ça ne respecte pas le templating à 100%.C'est ça qu'il faut que je regarde.Tu vois, en fait,t'es censé avoir des externes, des blocs, etc.
00:31:02 :Je pense,renseigne-toi spécifiquementsur le templating avec Flask.Je crois que justement, dans le projet-là,il y a une partie surle templatinghtml.Poetry,Flask.
00:31:20 :Et tu vois, juste après,il s'ajoute un templatehtml. Je pense quededans, il doit te présenter un petit peu commentfaire un truc simplement.
00:31:30 :JINJA2.C'était le site templating. Tu peux te renseigner sur ça.JINJA2, ça s'écrit comme ça.JINJA2, je fais le copier-copier.Ok, je regarde.Après, voilà,je me suis peut-être lancé un petit peu tôt.
00:32:04 :Ouais, après,moi, je te conseille de...Là, tu es en train de faire un truc pour le boulot, mais peut-êtrede suivre un projet comme ça,ça te permet de voir comment utiliserFlask, l'outil de templating,les variablesd'environnement, etc.
00:32:20 :Et une fois que tu auras assimilé les différents trucs,tu pourras les utiliser dans ton projet à toi.C'est intéressant de faire un projetun petit peu guidé au départ pour voir comment utiliserle frameworket ces différents trucs, pour qu'ensuite, tu puisses utiliserça dans ton projetverso.
00:32:36 :Et 4.04, je pense que ça vientsoit au niveau de ton routage, ce qui n'est pas bon,soit au niveau de ton templating.Est-ce qu'il y a d'autres questions ?
00:32:54 :Juste si tu as un petit peude temps, sur les décorateurs.Si il te faut plus de tempspour...Ouais.Qu'est-ce qu'on a de beau sur les décorateurs ?
00:33:10 :J'en avais déjà parlé,en plus, dans un...Je crois que j'en avais parlé, vite fait,dans un ancien Mentora.C'est quoi ta question, précisément, sur les décorateurs ?
00:33:20 :Non, c'est juste pour comprendre cette notionqui est un peu, pour moi,nouvelle.Je dois regarderles cours en cours pour vérifier.C'est juste, puisque personne n'a posé de question,je me demandesi tu as une petite explicationde ça, c'est tout.
00:33:38 :Oui, j'aurais bien voulu t'envoyerle truc qui explique bien tout, mais...Envoyer un routage bord.C'est un peu cher, ce niveau de temps, pour aborder le concept.
00:33:50 :J'étais censé faireun article dessus.J'en laisse avec lui, normalement,mais pourquoi je n'arrive pas à le retrouver ?C'est pas un bon truc pour bien déposer.
00:34:06 :C'est la première fois que je voisune fonctionen entrée et en retourneà la fois.C'est un concept un petit peu particulierdes décorateurs, mais...
00:34:20 :Il doit y avoir un problèmed'indexage. Je vais voir avec Thibautpour que cet article-làsoit de nouveaudisponible. Comme ça, je pourrais l'envoyer,je l'enverrai sur le Discord, dans Tosa, si tu veux.
00:34:40 :Moi, je vais pas tarder à celui-ci, avec un articlequi expliquera tout le concept,parce que là, c'est un peu short niveau time,en 10 minutes, pour t'expliquer ça.
00:34:48 :C'est un truc qui est un petit peuplus avancé, mais tu peux faire pas malde choses avec.C'est tout le trucque tu vois avec un rebase devant.
00:34:58 :Ça te permetde prendre une fonctionen paramètreet de renvoyerun nouveau résultaten prenant ta fonctionen paramètre,de base.Par exemple, tu peux faire en sorteque ta fonction,quand tu l'appelles, un décorateur,ça rajoute un messageà la fin.
00:35:24 :Par exemple, si tu veux qu'un décorateurHello World, tu l'appelles,et dès que tu vas l'appelerpar-dessus ta fonction,moi j'aime bien le terme le direVRAPPER. Peut-être que tu as déjà entendu ce terme-là
00:35:36 :pour les trucs. Un VRAP,c'est le fait d'enrouler.En fait, ton décorateur va enrouler ta fonction,il va se mettre par-dessus, il va rajouter des trucsen plus. Par exemple,
00:35:46 :tu peux avoir des décorateurs,moi j'en ai fait un, pour mesurer le temps d'une fonction.C'est-à-dire que ton décorateur,c'est une fonction,le code de ce décorateur-là,il va lancer,avec la fonction Time, le moduleTime de Python, il va lancer un compteurqui va durer tout le temps d'exécution
00:36:04 :que la fonction que tu lui donnes en paramètreset qui va se stopper à la fin.Et du coup, il va te donner un retouren plus du retour de ta fonction,en modevoilà, cette fonction a mistel temps à s'exécuter. Je pense que c'est
00:36:18 :un des exemples les plus courants.Je vais te montrer par exemplecomment ça peut donner. Je n'ai pas le codesous les yeux, maison va se virer ça.
00:36:30 :T'as ton décorateur,tu l'appellesGetTime, tu vois.T'as ta fonctionDef, ma fonction.On s'en fout,on va faire une fonctionà la con, on va pas s'embêtertrop. T'as une fonction
00:36:50 :HelloWorld....Et en gros, ce qui va se passerc'est que ce décorateur-làa un code, c'est un peu comme une fonction à part.Et dans ce codede cette fonction-là, comme je te le disais, tu vas avoirpar exemple quelque chose qui va mesurer le temps d'exécutionde cette fonction-là.
00:37:12 :En gros, la fonction que tu lui donnes en paramètres,c'est la fonction où tu mets le décorateur au-dessus.Tu t'appelles ta fonctionavec le décorateur au-dessus.
00:37:20 :Et en gros, quand tu vas exécuterla fonction qui est juste ici,tu auras du coup, dans un premier temps, le résultatde ta fonction. Donc là, ça affichera PrintHelloWorld.
00:37:28 :Et tu auras le résultat de ton décorateur.Donc, ta fonction a étéexécutée en ta-ta-ta-temps.Tu vois ?Je pense que tu comprends à peu prèscomment ça fonctionne.
00:37:40 :C'est difficile d'aller plus loinavec le temps, maisau moins je t'ai expliqué le concept de base,de comment ça fonctionne.Je vais essayer de te retrouverl'exemple du getTime. Je dois l'avoir
00:37:53 :quelque part.Rapidement. Je ne garantis pasque je le retrouve, mais je vais essayer.J'aurais une petite question.Ça n'a rien à voir.En gros, si je metsréinitialiser le trajet, parce qu'en fait, Thibaultm'a dit quej'avais trois mois pour finirle trajet. Est-ce que si je mets
00:38:23 :réinitialiser le trajet,ça va me toucher ?Je ne pourrais pas te répondre à ça,maisdans tous les cas, si tu as peurde ne pas réussir en trois mois, nous, on peut augmenter le temps.
00:38:38 :Le trois mois, dis-toi que c'est indicatif.C'est ce qu'il m'a dit ?Oui, c'est indicatif.En gros, il m'a dit quedans ces trois mois-là, il fallait que je finissele trajet.
00:38:49 :Oui, le trajet, c'estle parcours, la formation Python.Oui, c'est ça.Ça, en trois mois, normalement, tu es quand même assez large.Mais si je finis, par exemple, au bout des trois moiset que ça y est, je réussis,j'aurai quand même accès encore au compte Dockstring ?
00:39:03 :Oui, le prémium sur Dockstring, tu l'as accèspendant un an avec le Tosa.D'accord.Une fois que tu auras passé ton Tosa,tu auras encoreneuf mois.
00:39:15 :Neuf mois où tu as accès encore au prémium sur le site,donc tu pourras continuer à venir au mentorat,tu pourras voir tes exercices, ta formationDjango, etc., tout ce que tu veux.
00:39:23 :Pour moi, c'est le temps indicatifpour la formation Python de baseet passer la certification Tosa.Mais après, si tu as l'impression que c'est un peu juste au niveautemps, c'est indicatif. Nous, on peut
00:39:33 :rajouter un mois ou deux derrière sivraiment il faut.Il n'y a pas de souci. C'était juste pour savoirsi je pouvais réinitialiserle truc pour pouvoir savoir. Parce que si
00:39:42 :je réinitialise et que ça me supprimetout, après, je ne sais pas.En fait, si tu réinitialises, ça va justedécocher toutet tu devras tout refaire à la formation.
00:39:52 :Ça ne me dérange pas de ça, mais en grosque ça m'efface tout comme quoij'ai tout fait, mais que ça me réefface.Si tu parles de genreà la fin de ta certification Tosa, ça va te réinitialiser tout.
00:40:02 :Ouais. Non, tu gardes tout.Ton compte ne bouge pas. D'accord.Ton compte, tu le gardes.Il a le prémium pendant un an et ça ne bouge pas.
00:40:10 :Je ne sais pas.Imaginons que tu avais commencé la formationDjango à 10%avant la fin du Tosa.Quand le Tosa sera passé, tu seras toujours à 10%.
00:40:20 :Ton compte n'aura pas bougé. D'accord.Ton compte Extreme, dis-toi qu'il ne bouge pas du tout pendant un an.D'accord, merci.Et même si derrière, tu n'as plus le prémium,tu ne perds pas la progressionde là où tu en es. C'est juste que tu n'auras plus accès.
00:40:32 :Mais si un jour, par exemple,dans un an et demi, tu reprends le prémium,tu auras de renouveaux accès là où tu t'étais arrêté.Il n'y a rien qui est supprimé du toutsi tu ne choisis pas manuellement de le supprimer.
00:40:42 :D'accord, merci, c'est gentil.Voilà, voilà.Je crois que je l'ai retrouvé.Je viens de partager du codesur le décorateur.Comment ça s'écrit un petit peu ?
00:41:18 :Non, ce n'est pas de cette manière-là.C'est un exemple. Vas-y, Wilfried.Bonsoir, Clévin.Bonsoir, Clévin.Bonsoir, Clévin.Oui, bonsoir.J'aimerais savoirsi c'est le même décorateur qu'il y adans Face API.
00:41:44 :Parce que là-haut,on voit les arrobas, get,arrobas, post.Je ne sais pas si c'est aussi un décorateur là-bas.Ce n'est pas de la même manière.
00:41:58 :Attends, je vais faire CTRL-Z.Je vais prendre le trucde Face API de l'autre soir.Ah, tu parles de ça ?Oui.Non, c'est différent.
00:42:12 :D'accord.C'est différent.Donc ça, c'est un exemple de décorateur.Donc, ton décorateur,en fait, comme je disais,je parlais de wrap.En fait, tu le définis de cette manière-là,avec des arcs et des quarks.
00:42:28 :Oui, c'est ce que je t'ai dit.C'est la fonction,le nom de la fonction en def,et en return, c'est la même fonction.C'est ce que j'ai mis dans le code aussi.
00:42:38 :Donc, la def new function,c'est en paramètre la fonction,et en return la même fonction.C'est ça, cette notion de décorateur.C'est ce que j'ai trouvé sur le net, en fait.
00:42:50 :Ah oui, OK.Oui, c'est ce principe-là, oui.Donc là, par exemple,tu as le getTime, que je te disais tout à l'heure.Donc, tu définis ton...
00:43:04 :En fait, tu crées ta fonction à l'intérieur.C'est ce qui manquequand même dans ton truc.Tu définis ton truc,et tu crées une fonction interneque tu returns, en fait.
00:43:16 :Tu vois ?Donc là, généralement, c'est un wrapper,pour ne pas t'embêter.Donc voilà, tu wraps ta fonctionque tu prends en paramètre.Et du coup,voilà, par exemple, c'est juste un code simplequi permet d'exécuter le temps de la fonction.
00:43:32 :Et tu vois, on va printle nom de la fonctiona pris tel temps à s'exécuter.Et derrière, tu l'appelles de cette manière-là.Oui, d'accord.
00:43:42 :Donc tu vois queà la fois,il va exécuter ma fonction connect.Donc tu vois, il a affiché les trucs là.Et ça m'a dit,connect a pris 30 secondes à être exécuté.
00:44:02 :Pareil, il m'a fait ce truc loop là.Hop,ça m'a affiché le looping, et après ça m'a ditcombien de temps ça a mis pour exécuter.
00:44:10 :C'est un des exemples de wraps.Après, tu peux avoir des wrapsles plus connus, par exemple,c'est les arrobas cache, pour mettre en cache.Tu peux fairedes wraps pour...
00:44:22 :C'est un retry,en gros, ce qui fait que tant que tu n'as pas le résultatespéré, ou par exemple,avec des trucs par rapport à quand tu fais de la connexion,etc., ça va
00:44:32 :continuer à faire ta fonction jusqu'à avoirun résultat attendu.Enfin voilà, tu as plein de manièresd'utiliser des décorateurs.Moi, je t'ai pris le plus simple, c'estun truc qui calcule le temps d'exécution de ta fonction.
00:44:44 :Et en l'occurrence, il faudrait que je vois pour l'indexagedu truc que je t'avais parlé, et l'articlequ'il faudrait que je fasse aussi.Voilà, voilà.
00:44:54 :D'accord.S'il te plaît, partagezle code avec moi.Partagez sur le Discord,sinon ça va être malà l'inventer.C'est validé dans ton Discord ?
00:45:18 :Oui.Ça serait possible de faireun mentoratsur le terminal ?Parce que j'ai du mal un peu avec le terminal aussi.Ça pourrait être intéressant.
00:45:38 :Sur le terminal, oui, ça pourrait être intéressant.Regarde s'il y a des ressources aussi sur le site en attendantqu'on puisse faire ça.Pas juste sur l'installation de Python de base,mais le terminalPyFarm.
00:45:58 :Ça pourrait être intéressant.Après, le problèmedu terminal, c'est quec'est assezsubjectif,parce que ça changeen fait suivant les machines.Le terminal sur Windows, c'est pas la même chose que le terminalsur Mac, c'est pas la même chose que le terminal sur Linux.
00:46:20 :Tu peux personnaliser les commandes,tu peux personnaliser ton terminal, ce qui fait que les commandesne vont pas être les mêmes.Il a fait une vidéo complètesur ça.
00:46:34 :Sur tous lesenvironnements, sur Mac, sur Windowset sur Linux.C'est pas assez poussé, je trouve.Je comprends,parce que moi j'ai regardé ces vidéos aussisur Udemy.
00:46:52 :Parce que sur Docstring,peut-être il n'y a pas tout mis.Moi je t'ai envoyé un parcourscomplet sur le terminal, où tu vois plusieurs commandes,celles que tu utilises le plus en fait.
00:47:02 :LS pour voir tous les fichiers, PWD pour voiroù tu te situes, CD pour te déplacer,le dossier racine,la commande clear pourtuer ton terminal,etc.
00:47:14 :J'ai regardé ce que tu m'as envoyé,je viens de voir en plus.J'ai même tout noté sur un cahier.C'était pas assez complet ?J'ai l'impression que quand vous utilisez le terminal,vous l'utilisez d'une façon tellement fluideque...
00:47:28 :C'est juste une question d'actualité.Il faut pratiquer.Parce que tout à l'heure, j'ai regardé encoreune vidéo sur les pattes,sur l'information sur les pattes,sur les chemins de fichiers,et il utilisaitle terminal, Thibaut,et je sais pas comment...
00:47:50 :Pour le coup, c'est juste de la pratique.À force d'utiliser, à force d'utiliser,tu deviens de plus en plus rapide, c'est comme tout.C'est des raccourcis que t'apprends.
00:47:58 :Après, pour le coup,si t'es sous Mac,c'est du PowerShell, mais les commandes restent un peules mêmes, et même tu peuxavoir un terminal un peuémulé de cettemanière.
00:48:12 :Je suis sur Mac, moi, ça va.Ah oui, t'es sur Mac, c'est encore plus simple.C'est du Linux,donc c'est basé Linux.Donc ouais, en fait, il faut justeregarder des vidéossur Linux,en général, commentl'administration système Linuxet ça reviendramême sur Mac.
00:48:34 :C'est la force de fer.Je vois même, ils ont des terminaux coupés en 4 parties.Ils peuvent faire des chosesdans 4 parties. Ouais, après ça, c'est de la personnalisation terminale
00:48:42 :aussi, tu vois. Moi, je sais quemoi, je n'utilise pas le terminalpar défaut de Mac, par exemple.J'utilise iTerm2. C'est un truc un peu
00:48:50 :plus poussé, tu peux faire des profilscustom, etc.Et on pourrait avoir un petit doctoratsur ça.Il faudrait que j'y réfléchisseet que je voie si tu veux, parce queselon moi, c'est pastrès intéressant dans le sens où c'est vachement personnel,en fait. La façon de comment tu veux
00:49:08 :le configurer, de quel terminal tu veux utiliser.En fait, après, les commandes,se déplacer, utiliser les commandes, etc.dans ton terminal, c'est la même chose sur tout le monde.
00:49:16 :Le seul truc qui diffère, c'estquel terminal tu utilises, commenttu le configures, comment tu lecustomises,tout ça. Mais après,un terminal, c'est un terminal, que ce soit CMDX,soit iTerm2, que ce soit ZSH ouun terminal par défaut de Linux,ça reste un terminal. Tu vois, les commandes sont les mêmes.
00:49:34 :C'est CD pour se déplacer,c'est MKDIR pour créer un dossier.C'est pas le fait d'utiliser un terminal différentqui va faire que tu vas aller plus ou moins vite.
00:49:42 :Après, c'est juste une question d'habitude et de s'exercer.En fait, je trouve que j'ai du malà voir comment je pourrais tenirune heure dans Mantora sur le terminal,à part parler 15 minutes de comment installerun terminal custom et le customiser.
00:49:54 :Pareil, mettre des aliases, par exemple.Au lieu d'écrire Python 3,t'écris Python, t'écris PI.Moi, c'est ce que je fais, par exemple, mais ça, c'est faire un alias.
00:50:02 :C'est pareil, en deux minutes, c'est expliqué, tu vois.Donc, peut-être...Là, déjà, avoir toutes les commandes,c'est déjà bien, et après, c'est juste s'exercer.Je pense qu'à la limite, avec des vidéosYouTube sur telle ou telle commandeou tel ou tel sujetque tu veux faire avec ton terminal, ce sera plus explicite
00:50:20 :que dans Mantoraoù c'est plus subjectif.J'avais un site,mais je dois le chercher, je ne me rappelle plusde ce nom.C'est un siteoù tu vasexécuter que des commandes shell sur Linuxet tu vas jouer avecle shell. Il va te donner
00:50:40 :des exercices. C'est comme un jeu.Constitue-je dans un jeu.Et à force de l'utiliser,tu vas maîtriser carrément le shell.Avec les commandes système Linux.
00:50:52 :Ouais, bah,si tu peux retrouver...Je vais essayer de chercher ça.Je l'ai déjà vu une fois.Je vais le chercher. Je vais te l'envoyer.
00:51:02 :Sur Discord,c'est Mohamed.D'accord.Tu m'envoies juste un messageet je vaisle chercher. Pas de soucis, merci.C'est gentil. Je t'en paye.Ok.Écoutez,je pense qu'on va pouvoir s'arrêter tranquillementlà. Il n'y a pas de
00:51:24 :questions de dernière minute ?Euh...Euh...On est en train de rajouter plein d'outils pour le suivides étudiants. Je parle pour les TOSA.Du coup, je devraisvous contacter dans les jourssemaine grand maximum qui suiventpour voir un petit peuoù vous en êtes dans votre progression
00:51:46 :pour le TOSA.On va également mettre un calendaireà disposition. Vous pourrez prendre rendez-vousavec moiou Thibaut, mais ce sera sûrement moi, des rendez-vousdemi-heure pour faire un petit peu le point où vous en êtesdans votre formation. Est-ce que vous avez besoin
00:52:00 :de ressources ?Faire un petit peu le point où vous en êtesdans votreformation.C'est important de faire un petit peu le point,un rendez-vous en gros.
00:52:12 :Donc voilà, on devraitvous contacter d'ici, je pense,maximum fin de semaine prochainepour voir un petit peu tout ça, où vous en êtes,ce que vous avez besoin d'aide, est-ce que vous êtes un peu bloqué,prendre le rendez-vous, tout ça, tout ça.
00:52:24 :Ok.Écoutez, je pense qu'on est bon.N'oubliez pas de signer la feuille de présence.Je l'ai épinglé, je la renvoie rapidement.Et puis, je pense qu'on va pouvoir se laisser làtranquillement, s'il n'y a pas d'autres questions.
00:52:38 :Je pense que j'ai signé au début.Super, merci, bonne soirée à vous tous.Oui, bonne soirée, merci d'être venu.Et pour le Python,tu travailles avec maintenant ?
00:52:50 :En tant que cursus professionnel,tu l'utilises Python,ou tu utilises d'autres choses ?Qui ?C'est toi, le mentor.Ah oui, si, si, si.Moi, je l'utilise encore.
00:53:04 :Après, moi, je suis encore en études.J'ai renouvelé pour deux ans, là.Je repars en master l'année prochaine.Vu le master, je pense que je vais un peu moins l'utiliser.
00:53:12 :Mais après,moi, j'utilise pas mal en cybersécuritépour faire du scripting,pour des projets perso,pour le docstring, du coup.D'accord.Là, je pars un peu,avant que 100% de développement l'année prochaine,je pars pour tout ce qui est cyber et droit numérique.
00:53:30 :Donc, je vais un peu moins l'utiliser.Je l'utiliserai dans le côté cyber.D'accord.Thomas Prédéon, cyber aussi ?Un master droit numérique,tiers de confiance et cybersécurité.
00:53:42 :C'est un mélange entre du droit,du RGPD, tout ça, et de la cyber.C'est intéressant.C'est où ça ?À la Rochelle.À la Rochelle ?
Aucune occurrence trouvée pour « ».
00:00:01
Introduction et premières questions
00:00:37
Discussion sur la méthodologie des exercices
00:00:59
Présentation de l'exercice isDigit
00:01:19
Explication détaillée de l'exercice isDigit
00:02:23
Début de la solution de l'exercice
00:02:58
Discussion sur la difficulté et la pratique du code
00:03:47
Discussion sur les bases de la programmation en C
00:04:17
Explication sur l'algorithmie et la logique du code
00:05:33
Début de la solution de l'exercice isDigit ensemble
00:07:32
Définition et utilisation des fonctions
00:07:58
Explication sur la boucle FOR pour parcourir une chaîne de caractères
00:09:07
Discussion sur le typage en Python
00:10:31
Reprise de la solution, validation de chaque caractère
00:13:19
Utilisation des méthodes et vérification des types
00:15:11
Retour sur la solution, clarification et bonnes pratiques
00:18:14
Discussion sur les fonctions méthodiques
00:20:32
Discussion sur la réinitialisation de la formation
00:26:16
Présentation de projets et exercices complémentaires
00:28:34
Discussion sur Flask et gestion des erreurs 404
00:33:00
Discussion sur l'utilisation des décorateurs en Python
00:44:12
Conclusion et dernières questions