Session du 29 août 2024 à 20h00
TOSA & Certifications
Librairie Standard & Modules
Programmation Orientée Objet (POO)
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
Nous allons revenir sur la POO :
-
Les classes
-
Les propriétés
-
Le module abc
00:00:00 :Normalement, ça va me dire quand ça a enregistré là, normalement c'est bon.Nickel, ça enregistre.Surtout, ceux qui passent le TOSA, pensez à passer par le site Docstring,il faut signer une feuille de présence.
00:00:15 :Je ne sais pas si vous l'avez fait.Yes, c'est fait.Je ne sais pas si c'est par le lien que tu as envoyé sur le site Docstring.
00:00:21 :Voilà, nickel.Nickel.Guillaume, est-ce que Walid, je sais à peu près.Guillaume, tu en es où toi pour le TOSA?Moi, j'ai fait tous les modules et là, je suis en période de révision en fait.
00:00:36 :Ouais, donc tu as fait tout le parcours de base.Ouais, c'est ça.Et puis, je suis passé sur les différents frameworks aussi pourpour implémenter les connaissances, on va dire.
00:00:45 :Et là, ce qui me fait défaut, on va dire, c'est justement le sujet de ce soir.Ah, la programmation à l'interobjet?Ouais, c'est ça.J'aimerais bien vraiment être à fond dans ça.
00:00:56 :Je vous rassure, pour le TOSA, il faut bien connaître la POO,mais il ne faut pas être un fou furieux au niveau de la POO.
00:01:05 :Enfin, moi, je n'ai pas eu des questions de soucis.Voilà, c'est parce que j'ai l'habitude d'être la POO aussi.Donc, il y a quand même des questions qui vont être chaudeset j'ai prévu pas mal de choses dessus.
00:01:14 :Juste, je voulais revenir.Je vais commencer à partager mon écran.Attendez, ça, je vais le mettre en bas.Hop, et je vais partager mon écran.
00:01:26 :J'enregistre bien ma session, il n'y a pas de problème.Je suis sur Wayland, là.Est-ce que vous voyez mon écran?Du coup, des fois, ça bug.
00:01:39 :Non, ça a l'air d'aller.Si on voit ma souris, c'est nickel.OK, donc, j'ai ma session qui enregistre, c'est nickel.Oui, du coup, hop là.
00:01:51 :Attendez, je vais me mettre un peu au risque.Je ne sais pas si cette session sera faite.Donc, déjà, ce n'est pas le sujet, mais je voulais en parler avant.
00:02:07 :C'est sur...Si vous m'entendez mal, vous le dites.Si vous m'entendez bien, tant mieux.Mais si jamais...C'est qui qui arrive?Attendez.Normalement, j'ai accepté.
00:02:21 :Nickel.Salut.Est-ce que tu m'entends bien?C'est bon?Peut-être pas le micro.Ce n'est pas grave.Je vais...Si jamais tu ne m'entends pas, vous me le dites dans le chat,s'il y a un problème.
00:02:42 :Allez, go.Hop.Est-ce que vous avez tous fait...Est-ce que vous avez tous fait...Hop.Est-ce que vous avez tous fait...Ou bien avancé les...
00:02:52 :Vous allez là.Alors, déjà, je vous conseille de faire tous les dessins.J'accepte, attendez.Est-ce qu'il est connecté?Ça a du mal à se connecter, on dirait.
00:03:13 :C'est bon.Salut.Bon, du coup, j'y laisse force.C'est un mentorato, comme indiqué.Pour ceux qui viennent d'arriver.Bonsoir, Gaby.Salut.Bonsoir à tous.Du coup, ce que je vous conseille,pour ceux qui ne l'ont pas fait,c'est de faire la blinde d'exerciciers d'extrême.
00:03:34 :Je sais que pour le parcours de base, quand vous le faites,il y en a quelques-uns à faire, si je ne dis pas de bêtises.
00:03:39 :Je sais qu'à l'époque, vous avez fait.Je vous conseille d'en faire le plus possible.Par exemple, Guillaume, tu dis que ça te fait défaut.Est-ce que tu as essayé de faire ici tout ce qui est orienté objet ou pas?
00:03:53 :Non, mais justement, c'est en cours.Vous faites tous les exos.Je fais aussi sur l'exercice du mois,avec la gestion de bibliothèque.Ah, oui, bien.
00:04:04 :Donc, oui, c'est pour ça.Ça s'entraîne.Nickel.Aussi, je vous conseille de faire fortement plusieurs fois ceux-là,tous ceux-là, les 13.J'en ai rajouté il n'y a pas longtemps.
00:04:15 :Donc, je vous conseille de les faire.Ça, c'est des questions que vous allez avoir autour d'eux.Moi, celle que j'ai rajoutée, c'est des trucs quasiment que j'ai eus.
00:04:25 :Au niveau de la consigne, ce n'est pas vraiment ça,parce que je sais qu'un exercice, je vais vous le mettre,avant de commencer la PO.
00:04:33 :C'est lequel?Alors, attendez.C'est pas celui-là.Je crois que je l'ai mis en avancée.Oui, c'est ça.C'est celui-là.Celui-là, autosave.Il ne faut pas avoir peur.
00:04:47 :Ils vont vous mettre une consigne qui fait un kilomètre de longavec des noms de matrice, de machin, d'arrêt et tout.Mais vraiment, ça va être...
00:04:54 :Et en fait, si vous l'avez, c'est l'exercice.Il ne faut pas prendre peur.En gros, ce qu'ils veulent,c'est que tout simplement, à chaque fois que vous vous trouvez dessous,vous renvoyez l'index de la liste.
00:05:09 :Par exemple, là, j'ai ma première sous-liste.Sous, là, c'est false.Zéro.Sous.Un.Donc là, on a un.Là, la deuxième, j'ai que des false.
00:05:17 :Donc, je n'ai rien.J'ai true à l'index zéro.Sous à l'index un.Donc, j'ai bien zéro.Un.Et j'ai un sous à l'index trois.Donc, j'ai bien trois ici.
00:05:24 :Voilà.Ils vont vous mettre une consigne de fou,alors qu'en fait, ce n'est pas un truc en soi très compliqué.Faites-le.Et à la limite, si vous galérez, apprenez-le par coeur.
00:05:39 :La solution, c'est la version longue.Moi, je lui autose à celui-là.Et ça, c'est la version compréhension de liste.Voilà.Donc, celui-là, à connaître, à faire.
00:05:52 :Parce que ça, vous pouvez avoir un max de points.Mais vraiment.Donc, voilà.Je ne sais pas s'il y en a qui l'ont déjà essayé ici.
00:05:58 :Non, pas encore.Ouais.Bon.Il est sympa.Il est un peu pris au tact.Mais bon, si tu commences, c'est normal.Ça peut paraître galère.
00:06:08 :Quelqu'un, il y a quelque chose ou pas?Oui.Bon, je ne sais pas si on pouvait répondre à ce texte-là.Parce que moi, je n'arrive pas beaucoup à comprendre.
00:06:20 :Ouais.Là-bas, je comprends un peu le premier avec le défaut.Mais si tu viens dans la compréhension de liste,je n'arrive pas du tout à comprendre.
00:06:35 :Ben, en fait, quand tu regardes ta compréhension de liste...Attends, je vais la mettre en...J'ai mon pie-de-charme ou pas qui ouvre quelque part, non?
00:06:46 :Attends.Bon, on va faire ça.On va aller sur l'APO, alors, rapidement.À ce moment-là.Mentorat du 29, mais je crois que j'en avais fait...
00:06:57 :Tac, tac.Où est-ce que je l'avais pu mettre, cet exercice?Ce journal Stimulate.Où est-ce que je l'avais pu mettre, cet exercice?Ce journal Stimulate test PDF.
00:07:07 :Peut-être dans Retour.Peut-être dans Retour.Alors, attendez, j'avais algo.Non.Non.Ouais, c'est celui-là.C'est celui-là.Je vais agrandir.Alors, pour ta double compréhension de liste.
00:07:28 :Hop.Tadam.Ça fait beaucoup.Vous voyez bien, je pense, là.Ouais, ça marche.Ouais, c'est bon.Ici, est-ce que je ne vais pas te...Si je te mets là...
00:07:44 :Alors, je ne vais pas la retaper.Je vais la prendre ici.Hop.Et je vais la mettre en dessous.OK.Donc, en fait, ici, sur cet exercice-là,on va envoyer une matrice.
00:07:57 :On va envoyer ça.Dans la fonction, on va envoyer ça.Et donc, le but, c'est...Dans la consigne, on a dit, c'est de convertir chaque sous-liste.
00:08:07 :Enfin, récupérer chaque fois l'indexoù c'est de fou dans chaque sous-liste.Jusque-là, ça va?Je ne sais pas.Oui.OK.En gros,si tu passes sans compréhension de liste,mais bon, après, c'est un peu...
00:08:20 :Je pense que le jour,si on est face à un employer,ça, il ne va pas aimer.Mais bon, c'est pour l'exemple.On va dire, si on le décompose comme ça,tu vas d'abord te créer la liste,la liste principale,c'est ton agita.
00:08:32 :OK?Donc, pour chaque ligne,tu vas boucler, en fait, sur chaque liste.Dans ta matrice,tu boucles sur chaque liste.Et ensuite,tu initialises tout de suite une sous-listepour pouvoir envoyer chaque élémentqui est dans la sous-liste.
00:08:50 :Voilà.Voilà.Donc,dans la sous-liste,tu vas boucler, du coup,sur la sous-liste.Et à chaque fois,tu vas envoyer tes données dans la sous-liste.
00:09:02 :Et à chaque fois que tu as fini de boucler sur ta sous-liste,tu envoies ta sous-liste dans la liste principale.Voilà.C'est un peu...Ça, c'est un exercice avancé.
00:09:10 :Le jour du TOSA,celui-là, il est avancé.Donc, il ne rapporte pas le poids.Du coup,quand tu fais une double compréhension de liste,eh bien,tu as une condition ici.
00:09:20 :C'est limitepresque plus simple,j'ai envie de te dire,parce qu'en fait,ici,tu vas faire ta compréhensiondirectement sur la sous-liste.Et là,tu mets que tu boucles,en fait,sur ta liste,en fait,ici.
00:09:40 :En fait,tu vas commencer par ta sous-listeet tu vas finir ton FORCEsur la générale.Et qu'est-ce qui te pose problème, du coup, ici ?
00:09:52 :Sur la compréhension de liste,comment...En fait, si je veux lire,par exemple,si je veux lire...Ouais.Bon, OK,je vois...Parce que...Oui ?
00:10:10 :Parce que,en fait,ta condition,tu la mets au bout de ta compréhension de liste ici,parce que là,on ne veut que si c'est tout.
00:10:16 :Oui.Du coup...Ouais.Tu commences à bouclersur la sous-liste,mais FORCE,mais qui est dans la liste principale,si tu veux,dans la...Dans la...
00:10:29 :Dans la première liste.Ah, OK,je comprends, je comprends.Ouais.Au début,moi, au début aussi,j'ai galéré,franchement.Je participais à des challenges sur DOXTRINGoù j'ai appris à le faireet c'était chaud,je ne comprenais pas au début.
00:10:41 :Mais à FORCE,tu vas t'y faire.C'est vraiment,là,tu commences par...ou à la limite,si tu veux,tu commences à écrire icid'abord ta ligne principaleet puis après...
00:10:52 :Et hop là.Ah, OK.Comment?Il n'y a pas un close?Ah, si.Et après,tu écris ici ta bouclepour ta sous-liste,quoi.Mais en fait,c'est bien,au final,on voit bien que tu bouclestout ça,regarde,FOR LINE IN Met en fait,ta...
00:11:10 :ton ligne,elle est ici.OK?Donc,tu boucles biensur ta ligne.Donc,tu boucles biensur ta liste principaleet ici,tu boucles biensur chaque...
00:11:22 :sur chaque sous-liste.Ouais.Ouais,je commence.Je pense que je comprends.Je comprends.Ouais.Donc,si je veux lire çapar exemple,OK?Je prends la...
00:11:36 :la grande listepour LINE IN M,d'accord?Ouais,t'as compris.Ça,c'est toute la ligneM,OK?Toute la ligne X.Ouais,c'est ça.À l'occurrence,hein?
00:11:50 :Ouais.Et là,je retourne.Oui.Oui,je retourne cette...FOR LINE IN M,je retourne.En fait,de là,FOR LINE IN M,j'aurai des sous-listes.
00:12:02 :Ouais,en fait,c'est ça.LINE IN M,c'est bien,ça veut bien direchaque élément dans M.Donc,dans la liste principale.Donc,LINE,c'est ta sous-liste.
00:12:14 :Ce qu'il y a là,il faut END LIST VALUE.Donc,si je prendsla première sous-liste,FALSE TRUE,QUE VALUE?ENUMERATE LINE.Ouais,alors,celle-là,LINE,c'est bien ta sous-liste.
00:12:32 :Ouais,ouais,ouais.Et siVALUE existe,je retourne l'END LIST.Ouais,c'est ça.Si elle est floue,en fait.C'est pas qu'elle existe,si t'es flou,ça passera pas.
00:12:45 :En fait,ici,en plus,c'est un peu plus complexeparce que j'ai ajoutéun ENUMERATEpour avoir à chaque foisl'indice.Ah,l'indice et la valeur de l'indice.
00:12:55 :L'ENUMERATE,c'est pour avoir en plusl'indice.Oui.Donc,c'est encore plus compliqué.Et en plus,il y a une condition.Oui.Voilà,donc,sans condition,tu pourrais supprimer ça,supprimer l'ENUMERATE,t'as eu pas d'ENUMERATEet t'auras biença serait genreINDICE FOR INDICEEt là,à chaque boucle,à chaque boucle,
00:13:16 :c'est l'indice qu'on retourne.L'indice.L'indice qu'il y a làsur le RETURN,en fait.L'indice.Le...Euh...Oula,si c'est ça,une valeur.Le premier indice.
00:13:30 :Génial.Super.Que je ne me planque pas.Ligne...Tac.Euh...Par exemple,si on ne veut plus la valeur,ce serait ridicule,mais,en fait,là,je vais la créer.
00:13:51 :Là,je vais la créer,en fait,si tu veux,mais,si jamais,on va faire...On va laisser l'indice.Ce sera plus parlant.Parce que je voulais enleverl'ENUMERATE,je ne sais pasce que je pourrais mettre.
00:14:04 :Qu'est-ce que je pourrais mettre?Hum...Non,on va...On va simplifier.INDICE FOR...Euh...Allez,on va se faire comme ça.Hop.Ici,je vais faire ça.
00:14:19 :Hop.ENUMERATE.Je suis en train de bidouiller,là.Hum hum.Voilà,c'est ça.Donc là,en fait,je récupère tous les indicesà chaque fois.
00:14:34 :J'ai passé d'une statue.Ouais.Euh...Tu vois,c'est juste pour enleverla condition,que tu n'es pas d'ENUMERATE.En fait,tu aurais justeVALUE FOR VALUE,par exemple,une ligneFOR LINE.
00:14:48 :En fait,c'est vraiment,ici,tu as toute ta ligne.Tu as toute ta liste.Ouais.Tu bouffes dans chaque élément.Ici,tu vas extrairechaque élémentde ta sous-liste.
00:14:59 :Sous-liste.Ouais.Du coup,je comprends.Ouais.Hum...Au passage,tout le monde est familieravec ça ou pas?Ce tirage de 8 ici,comme ça?
00:15:10 :Oui, c'est carré.Euh...OK.Valide.Autosa,ils peuvent peut-être vous le demander.Je ne sais pas si tout le monde...Si pour l'Autosa,vous êtes chaud là-dessus ou pas?
00:15:20 :Moi,je crois que c'est quandtu n'as pas besoin,on va dire,de nommerde nom de variable.Ouais.En web,en général,on met IP pour index.
00:15:31 :Là,on ne va rien mettreparce qu'en soi,ça ne va rien représenter.On n'a plus besoinde rien retourner,je crois.Ouais, c'est ça.
00:15:39 :En gros, c'est ça.OK.Merci beaucoup.Ouais, ouais.Ce n'est pas facile à expliquer,la double boucle,maisc'est un coup à prendre.En fait,plus tu vas en voir,plus tu vas y arriver,tu vas voir.
00:15:54 :Donc, celui-là,pour ceux qui passent l'Autosa,c'est à savoir le faire.En fait,tout ce qui est là à faire,mais il y en a un,il y a un patternqui est bien à imprendre par cœur.
00:16:04 :C'est bien à imprendre par cœur,c'est celui-là.Alors, celui-là,attention,c'est le graph.Ouais,vous allez avoir pareil,comment ça s'appelle,une consigne de fouet bon,pour le coup,ce n'est pas facile.
00:16:20 :Vous avez,moi je l'ai eu,je suis tombé dessus au Tosaquand je l'ai passéet il me donnait 8 minutespour le faire.Voilà.
00:16:27 :En tout cas,j'avais 8 minuteset donc,au pire,vous apprenez le pattern par cœur.Je ne sais plus,j'en parlais avec quelqu'unqui est balèze en Titan,en Algo,il disait ça,c'est l'heure du truc.
00:16:40 :Franchement,pour le sortir comme ça,c'est compliqué,c'est des patternsque tu connais par cœuren général.Donc,ça,n'hésitez pas à apprendrele pattern par cœursur celui-là.
00:16:51 :Donc,voilà.Et puis,les autres,c'est intéressantparce qu'il y en aqui font bosserle module collection.On reviendra aprèssi on a le temps,mais là,je vais aller sur ce queje voulais faire.
00:17:04 :Mais,voilà,je vais revenir vraimentavec les yeux fermés,tout cela.Donc,voilà.On va aller sur la PO.On va y aller tout doucement.
00:17:18 :J'en ai plusieurs.J'ai plusieurs fonctions.On va commencer par la PO,je pense.Ok,allez.Alors,on avait fait çala dernière fois,on était parti sur la PO.
00:17:31 :Là,j'ai repris un exempleplus concret parce quec'est qui qui m'avait ditque c'est dommage,mais là,c'est Juvenal.Il a eu du mal à voirparce que c'était pas assez fin.
00:17:41 :Sur certains des exemples,c'était pas assez concret.Et donc là,c'est plus concret déjà.Guillaume,toi qui disaisque tu étais un peu perduavec la PO,là,tu vas voir tout ce qui està savoir pour la PO.
00:17:54 :Oui,ok,ça marche.En soi,je ne suis pas perdupour remettre l'égliseau milieu du village,on va dire.C'est juste que je préfèreêtre vraiment au top.
00:18:04 :Là,je comprends tout.Nickel.Qui c'est qui m'a ditqu'il le passait aussi ?Je ne sais plus.Juste,je reviens dessusparce qu'il y a encoredes conceptsun peu plus avancésoù ils vont vous poserdes questionsou c'est possiblequ'ils vous en posent.
00:18:23 :La tribu de classe,vous êtes tous d'accord,il n'y a pas de problème.Dites-moi si jamaisil y en a qui...On revient dessus,si jamais il y en aqui doute.
00:18:33 :C'est un des concepts.N'hésitez pas,il n'y a pas besoinde poser de questions.La tribu de classe,il n'y a pas de problème.Ici,j'ai mon constructeur de classe.
00:18:44 :Il faudrait que je parlela prochaine foissur Nord-Frienssur...Où elle est là ?Sur l'agneauqui est appelé avant Enix.On verra ça plus tard.
00:18:53 :A me le noter.Donc,j'ai mon constructeur de classe.Ça,ça va êtrela méthode,elle va être appeléeà la création de chaque instance.
00:19:05 :Ça,il n'y a pas de souci.Et en plus,dans ma constructiondans madans ma méthode init,ici,j'incrémentedès que j'ai une association,j'incrémente mon attribut de classe.
00:19:17 :On peut le faire sans souci.Est-ce queça va avec les attributs privésou pas ?Ou c'est chaud ?C'est-à-dire attributs privés.Ah, voilà.
00:19:30 :Le self ?Non, alorsnon, alorsself, c'est pour l'attribut d'instance.Donc là, on est bien sur unsur un attribut d'instance,un attribut de classe.
00:19:38 :Ici,dès que vous mettez unun tiré du 8,en gros,c'est pour rendre l'attribut privé.Tu n'as jamais vu ça pour l'instant ?Non, ben justement,je veux bien le voir, ouais.
00:19:51 :Alors, ouais,parce que ça,c'est votre attribut.Donc,je vais aller tout de suite surune questionqu'on m'avait poséeil n'y a pas longtemps.
00:20:00 :Enfin, il n'y a pas longtemps,c'était au mois de mars quand même.C'est dans questionC'est dans questionet c'était Simonqui l'avait posée.Pourquoi je croisqu'il y a des attributs ?
00:20:15 :Donc là,est-ce qu'il y ades attributs privés ?Non,il n'y a pas d'attributs privés.Est-ce qu'il est là ?Non,non,non,c'est trop vieux,c'est l'année 2023.
00:20:29 :Je ne sais plus.Est-ce que c'est Simonque je cherche par nom ?Si, je ne sais pas.Ouais,alors.Son nom,16 mai,c'était avantà comment ?
00:20:45 :Ça devait être là.C'est bizarre,je ne sais pas.C'est pas grave,je ne le trouve plus.C'est pas grave,on va le voir autrement.
00:21:04 :En gros,de toute façon,j'ai préparé un mentorat dessus.En gros,ici quand vous avezun attribut privé,vous n'êtes pas censéappeler l'attribut directement.
00:21:15 :Par exemple,on va créer une voiture de bitonjusqu'au fond là.C'est les attributsque tu appelles avec lesgaiters, etc.Tu peux que le liregrâce à une méthode,c'est ça ?
00:21:28 :Ouais,c'est ça.Ça, ça va ou pas ?Ouais,du coup,c'est juste la terminologiequi m'avait un peu perdu.Mais sinon,ça va.Donc, c'est bon.
00:21:38 :En gros,on ne peut pas les appelerdirectement en fait.On a le droit,mais il faut éviter.Il faut l'utiliserà l'intérieur de la classe.
00:21:51 :Il faut l'utiliserque dans la classe.Après,il y a le double underscore.Est-ce que ça,c'est bon ou pas ?Non,j'aimerais bienque tu passes dessus.
00:22:02 :Ah,ok.C'est bon,j'ai mis le liendans le mentoratle dernier,le 23.Normalement,je l'ai misle lien de la questionsur laquelleje voulais revenir.
00:22:14 :Hop,là,c'est celle-là.Hop,je vais revenirsur le mentorat du 29.Tac.C'était sinon.J'avais posé une questionjustement sursur ce qui est setter,propertieset au passage,on parlaitdes underscores.
00:22:37 :En fait,on peut toujours accéderà un attributmême s'il y aun simple underscore,on peut y accéder.C'est juste que tu ne le sais pas.
00:22:46 :Par convention,on n'a pas le droit.Mais c'est possible.Par contre,si tu faisun double underscorecomme ici,eh bien,en fait,tu auras un attribut erreur.
00:22:57 :Ça ne fonctionnera pas.Voilà,ça te protègeencore plus.Mais ça se voitbeaucoup moins souventdans la réalité.Ok, ok.Et donc du coup,petite question.
00:23:07 :Alors,je ne sais pas si tu veux continuer,pardon.Juste,en gros,la technique,si tu peux quand même y accéder,si tu passes,en gros,si tu fais John,le nom de la classeet après,le nom de l'attribut.
00:23:20 :Donc,il est plus difficile d'accès.Et ça,c'est ce qu'on appelle,je pense,si je peux vous poser la question,c'est le name mangling.Voilà.
00:23:28 :Le fait de mettrele double underscore,Piton,en fait,il va utiliser le name mangling.Voilà.Je ne comprends pas.Piton,laisse poser ta question.
00:23:37 :Ouais,du coup,la question que je pose,là,c'est avec le simple underscore.Par convention,ce n'est pas censé,entre guillemets,le double underscore.Donc,ce n'est pas censé,entre guillemets,le sortir de la classe.
00:23:50 :C'est ça.Mais,tu peux l'utiliserdans des méthodesde la classepour faire tes calculsde kilomètres,etc.Ouais,ouais.Est-ce que,comme dans le web,du coup,tu peux y accédergrâce à un getteret que tu vas,justement,tu vas faire,par exemple,un get kilometerpour l'afficher
00:24:11 :en dehors de ta classe,mais que la personnen'y touche pas,en fait.Ouais,ouais.Donc,là,c'est vraimentpour éviter,tout normal,je crois.
00:24:23 :Voilà,tu l'utilises dans la classe,c'est pareil,sauf qu'il est beaucoupplus protégé,mais en discutantavec les gensqui bossent en entreprise,ils disent que ça ne se fait pasen double underscore,ça se trouve,ça ne se voit jamais.
00:24:35 :C'est vraiment le simplequ'il faut utiliseret tout le monderespecte la conventionqu'il ne faut pas l'utiliseren dehors de la classe.En tous les cas,voilà.
00:24:43 :Mais,c'est bon à savoirqu'est-ce que ça faitle double underscore ?Bon,en gros,ils peuvent poser la questionà un QCMet ça déclenchele name manglingdans le genre.
00:24:54 :Donc,voilà.OK.Donc,pour ça,ça va,du coup ?Euh,allô ?Oui ?Juste,pour le underscore,bon,je ne sais pas,si tu le metsunderscore,tu dis,par exemple,l'attribut,là,c'est l'attributd'une société,par exemple,mais,il y a d'autresqui pourrontl'accéder,quand même.
00:25:22 :Ah,ben,oui,oui.Je ne sais pas,si tu prendsles autres langages,par exemple,si tu prends duchicha,ou déjà,si tu metsprivatesur une propriétéde classe,la propriétén'est jamais accessibleen dehors de la classe.
00:25:40 :Sur un autre langagequ'il parle ?Oui.En fait,parce que,quand je metsunderscore,quelqu'un peutl'utiliser,d'accord ?Oui,oui.Ou bien,ce n'est pasmauvais,je ne sais pas.
00:25:56 :Non,quelqu'un peutl'utiliser,mais ça ne se fait pas,si tu bosseston équipeet que tu commencesà utiliserles attributsprivésen dehors de la classeou à les appeleren dehors,ça ne passera pas,en fait.
00:26:11 :C'est une convention,en fait.Ok,ok.En gros,c'est à nousd'être responsables,en fait.C'est ça,en gros,le principe.Ok,ok.Donc,c'est la responsabilitéde celui qui l'utilisepar la classe ?
00:26:28 :Oui.Ok.Après,tu pourras très bien,comme je dis,mettre le doubleunderscore,mais ça ne se voit jamais.D'accord.C'est le simplequi est autorisé.
00:26:39 :Oui,qui se voit le plus souvent,comme je disais,non,le double underscore,pour lui,ça ne se voit jamais.D'accord.Mais ça existe,ça existe.
00:26:49 :Euh...Hop là,tac.La méthode,bon,ça c'est la méthodestringet la méthode rep.On en a parléla dernière fois.Euh...Guillaume,est-ce quetu as l'habitudede ça ou pas ?
00:27:04 :Le string,ouais,et rep.Ok.Euh...Tu veux une représentation totalede ton objet ?Ouais,c'est ça,c'est la représentationde l'objet,vraiment,pour le développeur.
00:27:19 :Il faut que ce soitle plus explicite possiblepour le debug.Et,en gros,je ne sais pas si j'ai mis,il faudrait que,je ne sais pas si tu connais,mais la fonction,enfin,si vous connaissezla fonction eval,j'en ai parlé la dernière fois,en gros,avec la fonction eval,
00:27:34 :euh...il est où ?Je vais faire un exempletout fait,hop là !Là,j'avais un exemple avec,c'était encore une voiture,j'avais mis un rep,on voit bien que le constructeur,ça va être la marque,le modèle,l'année,et,en gros,j'avais fait un truc,c'est où ?
00:27:52 :Je n'avais pas dû le laisser,si,voilà,c'est ça.En fait,si on fait eval,donc,c'est pour évaluerles chaînes de caractèreen python,et bien,si je fais rep voiture 1,et bien,en fait,c'est capable de me recréerune voiture 1,parce que c'est unereprésentation fidèle
00:28:10 :de mon objet.On voit bien que la rep,voilà,elle représente bienla voiture,voiture,entre parenthèses,et bien,la marque égale,le modèle égal,l'année égale,quoi,comme dans le constructeurde classe,on va dire.
00:28:25 :Donc,c'est vraiment,il faut retenir quela,la string,c'est la représentationde ton,sous forme d'unechaîne de caractère,et la rep,c'est vraimentpour le développeur,pour le débuggage,il faut qu'elle soit vraimentle plus petite possible,voilà.
00:28:41 :Donc,ça représente fidèlementl'objet,quoi.Voilà.Ok,ok.Je sais pas si dans ton autreexemple,s'il est encore ouvert,tu peux faire justeun print du,du Eval,là ?
00:28:55 :Ouais,si t'as moyen ou pas.Ouais,ouais,ouais,excuse-moi,ouais.Euh,j'ai fait un,bah oui,j'ai fait un,t'as qu'à se faire,euh,l'arrache,hop.
00:29:10 :Ouais.Je vais mettre Evalance,comme ça.Hop,on voit bien qu'ici,j'ai une voiture qui est àcréer.Là,j'ai recréé une voiture.Mais,ah,tu voulais avoir la rep,peut-être,euh,par exemple,j'ai la voiture 1,euh.
00:29:27 :Ah,parce que là,du coup,je vois pas trop la diff avecle string,euh,moi ça,c'est pas ce que je voulais faire,c'est pour ça.
00:29:36 :Euh,tac.Voilà.Ah,ok.Donc là,c'est une représentation fidèlede l'objet,quoi,de,tu sais vraiment de quoi,euh,de quoi on parle,quand tu débug.
00:29:50 :Ah,ok,ça marche.Là,euh,donc là,j'ai,bon,j'ai pas passé énormément de tempsparce que du coup,j'avais l'article sauté là-dessus,mais,euh,j'avais mon,mon attribut LOE,j'utilise bien dans une,euh,dans une méthode.
00:30:08 :Voilà.Je vois que,euh,il y a pas d'utilisateurs de la classe,du coup.Donc là,j'ai retourné,ok,euh,on reviendra là-dessus.Les statiques méthodes,c'est bon,du coup ?
00:30:21 :Bon,ça va,mais,si tu peux passer dessus,euh,si on a le temps,moi ça me va.Non,non,non,c'est,je peux m'arrêter quand vous voulez.
00:30:33 :Euh,bon,vous avez,vos méthodes,euh,d'instance,ici.Ok,ça va,ok,pas de problème.Et ici,la méthode statique,en fait,la méthode statique,euh,est-ce que j'ai pas un meilleur exemple ?
00:30:50 :Sur l'autre,c'est à peu près pareil,je pense.J'aime bien cet exemple-là,il était bien foutu.Bref,bon,il va aussi bien là-dessus.En gros,la méthode statique,c'est une méthode qui pourrait,euh,être en dehors de la classe.
00:31:03 :Parce qu'en fait,on n'utilise pas la classe,on n'utilise pas l'instance.On voit bien qu'ici,euh,là,c'est, euh,quelques coûts de location,on appelle le jour,et un tarif journalier.
00:31:13 :Mais en fait,il y a,peut-être qu'on est dans le thème,de,le thème de la location,mais il n'y a aucun rapport,entre guillemets,avec la classe quasiment,sinon,au niveau des attributs et des méthodes.
00:31:23 :Ok,c'est bon.T'as pas besoin de faire un voiture,un,deux,trois,quatre,c'est bon.T'as pas besoin de faire un voiture,un,euh,point,euh,t'as pas besoin de chainer,pour utiliser cette méthode.
00:31:38 :Bah là,du coup,j'ai utilisé ici,par exemple,j'ai pu,j'ai mis,euh,je crois que j'ai utilisé,bah,euh,je sais plus,j'avais foutu un exemple,bah,j'étais persuadé d'avoir fait un exemple,sur le,ouais,euh,tac,je sais plus.
00:31:57 :Bah,en fait,en gros,bah,je sais pas,je vais le refaire pour l'afficher ici,elle s'appelle comment la thèse statique déjà,c'est calculer coût de location,donc,je vais appeler,par exemple,je vais mettre tout en bas,ma classe,elle s'appelle,véhicule,ma classe,je crois,tac,point,
00:32:16 :hop,tu mets ton jour,et puis ton tarif,quoi,voilà.Et en gros,j'appelle sur la classe directement,après,je pourrais,euh,la différence,la différence,c'est que,là,sur cette méthode statique,t'as pas besoin de faire une instance de la classe,c'est que tu,c'est indépendamment de la,
00:32:35 :de l'instance.C'est ça.Et,euh,et voilà,et je pourrais très bien aussi l'utiliser avec une instance si j'ai envie,mais c'est pas,ça se fait pas trop en général,enfin,ça se fait,mais c'est plutôt appeler sur la,la classe directement.
00:32:48 :Mais,euh,ce que je voulais dire avec ça,le principal,c'est que sur une méthode statique,en général,c'est qu'elle a pas sa place ici,la méthode.
00:32:56 :C'est qu'il faut plus,faut la découper plus.Non,vas-y,dis-moi.Euh,j'allais dire,bah,j'allais dire la même chose,ça serait pas mieux de le mettre dans un fichier genre utils ?
00:33:06 :Voilà,c'est ça.Ouais,c'est ça,ok.Ouais,désolé.Non,bah non,c'est nickel.C'est en fait le créateur de Python lui-même qui l'a dit,qui en gros,si vous avez une méthode statique,c'est plus comme il l'a dit,mais,c'est qu'il y aura peut-être plus sa place dans une fonction,
00:33:22 :quoi.Euh,la méthode de classe,donc,en premier argument,c'est pas le cf,c'est pas l'instance,c'est la classe,et donc,c'est souvent utilisé,je dirais,pour des méthodes de construction alternative.
00:33:35 :Euh,voilà.Bon,là,c'est une méthode de construction,c'est un peu alambiqué,mais c'est pour le principe.En fait,moi,avec Jango,j'utilisais pas mal des méthodes de classe comme ça pour,euh,pour la construction de mes,de mes instances.
00:33:49 :Pour qu'elles soient faites,euh,avoir un moule tout fait,on va dire.Mais voilà,c'est pas très beau quand même,mais,euh,faut savoir qu'en premier argument,c'est la classe que vous mettez.
00:33:59 :Est-ce que c'est bon ?Je suis en train de lire,j'essaie de comprendre.Ouais.J'essaie de l'usage,en fait,parce que,du coup,t'as déjà ton consulteur.
00:34:08 :Ouais.Attends,alors,ouais,je suis d'accord,là,ça part un peu alambiqué de,euh,de la façon dont c'est fait,tu vas peut-être comprendre ici,euh,est-ce que j'ai fait un véhicule de plus,un véhicule de plus,un véhicule de plus,un véhicule de plus,je fais un véhicule de plus,
00:34:24 :un port,quelque part ici,je ne me souviens plus,voilà.Ici,j'appelle la classe directement,donc,de plus import,et,et je l'ai mis en chaîne de caractère,comme ça,euh,euh,l'immatriculation,la marque,euh,le modèle,l'année,ok,je reviens sur la classe import,tu comprennes,donc vous comprenez,
00:34:46 :classe méthode,elle est où ?Elle est là,et,en fait,ici,elles sont,elles sont là,en fait,pour construire la classe,je vais utiliser ici,euh,ma méthode split,comme ça,chaque élément,je vais le,je vais le,je vais avoir chaque élément,et après,je l'envoie ici,
00:35:06 :chaque élément,ici,chaque,dans chaque variable,je l'envoie dans,dans,dans classe,quoi,dans ma classe,ça représente la classe,pour faire une nouvelle instance ici.
00:35:17 :Ok,est-ce que tu aurais un,un exemple,un exemple autre ?Parce que là,du coup,alors,je me trompe peut-être,mais,pour moi,là,c'est pas de la ronde de danse,mais tu vas,oh,pardon,tu ne facilites pas non plus la vie avec,avec ça,quoi,je ne sais pas.
00:35:37 :T'as dit quoi ?Tu ne facilites peut-être pas la vie avec,avec cette méthode,c'est peut-être une manière de travailler différente,c'est ça ?Ouais,non,mais là,c'était un exemple,en plus,là,avec Django,c'est que,j'ai une classe,une méthode de classe,donc là,c'est pour créer un,
00:35:54 :un personnage pour un jeu de rôle.Parce que j'ai une vue,en fait,dedans,j'ai un,j'ai quelqu'un qui choisit,il y a un joueur,il y a le user,c'est le,c'est le compte utilisateur de quelqu'un,par exemple,voilà,t'as,t'as un compte sur un site,la personne sélectionne un joueur,
00:36:09 :et bien,en fait,j'ai une méthode de,de classe qui est toute faite pour la création de l'instance,parce qu'en fait,j'envoie,j'envoie chaque fois l'utilisateur et,et le,le personnage,et en fait,ça me permet de créer une instance,en fait,de cette manière-là,chaque fois.
00:36:24 :En fait,là,c'est vraiment une méthode de construction alternative,si tu veux.Ok,ça marche.Voilà,c'est,c'est,ça se voit,ça se trouve.C'est vrai que les méthodes de classe,c'est souvent utilisé comme ça,avec des méthodes de construction alternative.
00:36:38 :Donc,c'est,c'est,c'est,c'est un peu comme ça,c'est un peu comme ça,une méthode de construction alternative.Donc,voilà,les méthodes de classe,ça,ça,ça va,ça,et ça aussi,du coup,l'héritage,ça va,vous êtes tous OP ou pas ?
00:36:57 :Pour moi,c'est bon.Ça va passer assez vite,ok,y a pas de problème.Donc là,bon,c'est qu'on,là,c'est parce que j'avais un exemple où,c'est pour Juvenile,qui donne un,un exemple plus concret,plus pro,donc j'ai mon véhicule,mon,mon parc automobile,et où je gère un peu mes locations,
00:37:15 :quoi,mais on va pas aller là-dessus,ça va pas être très intéressant,sinon.Ça sera dans le repo,de toute façon.Euh,qu'est-ce que j'allais dire ?
00:37:23 :L'APO,c'est bon,le polymorphisme,ça va ou pas ?Pour tout le monde,ou ?Ouais,si ça va pour tout le monde,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on,on ?
00:37:51 :Donc,pour tout le monde,on,je pense qu'on peut passer,moi c'est un truc qu' il faut que je relise,dans mon cour,donc euh,Okay,euh,faut un peu dire,c'est,c'est,Tu peux repasser,t'as le temps,tu peux regularly passer,ça va.
00:38:07 :Okay,Okay,hop là,euh,il est où,là ?Donc,en fait,c'est le fait d'avoir des objets,euh,de différentes classes,avec la même interface,mais un comportement différent.
00:38:20 :Euh,donc ici,par exemple,bon là j'ai de l'héritage,mais même sans héritage,ça marche.Ici,j'ai différentes classes,mais ils ont tous la méthode volée.
00:38:29 :Là,la méthode volée,qui sont là.Donc,euh,c'est la même interface,mais le comportement est différent.Okay ?Bon,mais c'est juste pour comprendre le principe,la définition du truc.
00:38:40 :Donc là,j'ai une,j'ai une,j'ai une fonction polymorphique,pour bien montrer que,chaque objet que je vais envoyer ici,dans tous les cas,il a la méthode volée,donc ça va fonctionner.
00:38:49 :Voilà,c'est juste pour vous direqu'ils ont toute la méthode volée,et en fait,c'est une façon de faire,pour avoir des interfaces,euh,pour vos classes,en fait,qui vont être communes.
00:38:59 :C'est plus facile pour,euh,dans certains métiers,d'avoir,euh,des interfaces communes,c'est beaucoup plus simple,pour,pour tout le monde.Voilà,et donc,vous l'avez ici,là,avec de l'héritage,donc là,j'ai une classe,euh,animal,ferson,et à chaque fois,je vais redéfinir la,la méthode ferson.
00:39:21 :Et donc,euh,c'est la même méthode,et elle fait les choses différemment.Donc,en gros,faut retenir,j'ai un lien de repo ici,c'est utiliser les objets,de différentes classes,de manière uniforme,donc en gros,même interface,comportement différent.
00:39:35 :On a bien la même interface à chaque fois,c'est tout.Euh,après mes exemples débiles,on va passer à des exemples plus concrets.Et,avec un truc que vous allez avoir au Tosa,ou,si vous arrivez dans le niveau avancé,en,POO,donc là,on a des polymortices,on va monter d'un cran,
00:39:49 :mais avec la,le module ABC.Tout le monde connait ?Pas du tout,je ne l'ai jamais vu passer.Ok.Oui,je connais,je connais,je connais,je connais,je connais,je connais,je connais,je connais,je connais,je connais,je connais.
00:40:07 :OK.Oui,je connais,j'ai déjà suivit le,le cours de Thibaut,à ce propos.Ok.Eh bist,en gros,A,B,C,en fait,vous êtes obligéd'avoir interface commune.
00:40:22 :Parce que,en fait là,j'ai une classe abstraite,ici,une classe employéeelle hérite bien de ABC.Bon,c'est une classe basique,elle a ses méthodes,et elle a un décorateur,ici,à chaque fois,elle a ses méthodes.
00:40:35 :En gros,une classe qui hérite de ABC,elle n'est pas faitepour être instantiée directement,elle est faitepour être utilisée en héritage.Est-ce que,là,ça va ?
00:40:44 :Euh,alors ?Oui ?Oui,ABC,c'est,c'est quoi,c'est quoi ?Là,c'est,là,j'ai le module ABC,et dans le module ABC,vous avez une,vous avez une classe ABC.
00:40:59 :Et en fait,héritée de cette classe,c'est,héritée de cette classe,ça vous permet de fairedes,des classes abstraites.On appelle les classes abstraites.
00:41:07 :Oh,d'accord,d'accord.Voilà,avec des décorateurs abstraite méthode,ça veut dire que là,si vous,vous ne pouvez pas instantierdirectement la,ouais,la classe,la classe,elle est faite pour être utiliséeen héritage.
00:41:21 :J'ai vu que,Guillaume,tu m'avais répondu tout à l'heure,je ne sais plus si tu m'as ditque ça allait pour l'instant ou pas.Ouais,vas-y,c'est bon.
00:41:29 :Les autres aussi,c'est une bite,c'est,c'est un gérite de ma classeemployée ici,ok,et les abstracts méthodes,vous êtes obligé de les redéfinirà chaque fois.
00:41:38 :Donc là,en fait,ça vous oblige,ça vous oblige à avoirvraiment une interface commune,une interface commune,ouais,pour toutes vos,toutes vos classes.
00:41:50 :Là,j'aime bien,donc,c'est calculé,les interfaces en Java,les gens qui ont fait du Java,c'est les interfaces à peu près.Bah,nickel,je n'ai jamais fait de Java mais merci.
00:42:00 :Normalement,quand tu fais des interfaces,c'est que tu,tu,tu hérites de ta classe l'interfaceet tu dois redéfinir toute ta classeet toutes les méthodesqui sont dans l'interface.
00:42:09 :L'interface,il ne contient que des pseudocodes,pourtant,après,tu dois les redéfinir dans,la signature en fait,la signature,exactement,dans,dans chaque fonction.Ouais,donc,c'est le même principe,en fait,là,du coup,ok,ah,merci,c'est très grand,je n'en ai jamais fait,il me semble que c'est très grand,
00:42:33 :t'es obligé.Oui,c'est beaucoup plus grand.Ouais,ouais,ouais,ouais,ouais,ouais,ouais,ouais,euh,du coup,donc là,on hérite de la classe abstraitemais on est obligé de,on est obligé de redéfinir du coupnos méthodes qui sont ici.
00:42:51 :Donc là,on peut parler de polymorphismeparce qu'à chaque fois,vous avez donc,une interface qui est similairemais on voit qu'ici,le but,il est un peu différentparce qu'on a des employés permanents,les employés temporaires,du coup,bah,les,elles vont retourner,elles vont s'utiliser un peu différemment.
00:43:06 :Là,on va avoir,si vous calculez le salaire,le salaire annoncé par 12,ici,c'est le taux horaire fois les heures travaillées.Enfin,voilà.Donc là,c'est pareil,j'hérite d'employéset je redéfinis mes méthodes.
00:43:18 :Bon,là,je ne vais pas tout faire,mais,du coup,c'est bon pour abaisser ?Yes,c'est bon pour moi.Euh,ah,nickel.Et si je fais une,euh,non,c'est bon.
00:43:33 :OK.Donc,voilà.A savoir,parce que chaque mois,je l'ai eux,tout ça,ça.En gros,les exercices,je peux,alors si je me souviens bien,je l'ai eux à l'évaluationpour vous aiguiller.
00:43:47 :En fait,c'est un IDE,vous allez devoir taper du codeet je crois qu'ils importent déjà ABC.Ils sont sympas.Je ne sais pluss'ils importent déjàabstraite méthode,par contre.
00:43:56 :Bref,ils demandent,en fait,de redéfinir,en fait,correctement une classequi hérite de la classe abstraiteet donc,il faut bien penserà redéfinirles méthodes abstraitesqui sont ici.
00:44:08 :Il n'était pas très compliquéen soi,il fait juste peurparce que si on ne connait pas ABC,on est perdu,mais sinon,il n'y avait riende fou dessus.
00:44:16 :Donc,voilà.Euh,donc pour l'instant,on a vu polymorphismes,mais en plus,on a vu ABC en même temps.Je pensais à quelque chose,j'ai oublié,je ne sais plus.
00:44:26 :Euh,ben ici,on parlait des propriétéstout à l'heure,donc ça,c'est bon pour tout le mondedu coup,les propriétés,ou pas ?C'est un peu en rapportavec ce qu'on a vuà ce revue privée,donc,peut-être pas besoinde passer trop de tempsdessus à ce moment-là.
00:44:42 :Si tout le monde est OK,on peut passer dessus,enfin,je passe à autre chose,c'est comme vous voulez.C'est OK,c'est OK.OK.Bon,si tout le monde est OK.
00:44:52 :De toute façon,je vais mettre à la repo,donc,il y aura tous les exemples,là.Il y a vraimentles getter,setter,donc,je les mets de côté,alors,si tout le monde est OK dessus.
00:45:04 :Euh,ensuite,j'ai pris des,des exemples,parce quej'aime bien,des fois,sur le Toza,si vous posez des questions,il me semble que j'en ai eu,où il faut connaîtredes fonctionset ce qu'elles font.
00:45:17 :Alors,est-ce que vous êtes habituéà défauts dits,par exemple ?À cette défaut,je veux dire.Je l'ai mal appelé,hein.Est-ce que vous êtes habituéà ça ou pas ?
00:45:30 :Non.OK.Alors,cette défaut,donc,là,pour l'APO,pour moi,c'est bon,on a vu le,là,je passe justementaux petites fonctionsque je voulais vous montrer.
00:45:44 :Euh,si jamais vous voulez voirquelque chose sur l'APO,que vous avez une question,vous n'hésitez pasà mieux le dire.Mais,là,du coup,cette défaut,excusez-moi,on est là,euh,c'est comme vous avez,en fait,c'est une méthode de dictionnaire.
00:46:00 :Donc,là,j'ai bien mon dictionnairequi a été,euh,j'ai utilisé un dictionnaire.Il est basique,hein.Et ici,je vais,euh,avoir ma variable,une variable,où je vais appeler,donc,je vais avoir mon dictionnaireet j'ai utilisé cette défaut.
00:46:17 :J'ai utilisé Patrick,la clé,et là,ici,je vais mettre orange,parce qu'en fait,le défaut,là,je l'ai écrit,ça permet d'obtenir la valeurd'une clédans un dictionnaire.
00:46:29 :Et si la clé,elle n'existe pas,ça va l'ajouteravec une valeur par défaut.Donc,là,Patrick,il existe déjà,hein.Donc,si je,euh,si je fais,comment dire,euh,donc,si je lance le script,excusez-moi,ici,Patrick,dans le dictionnaire,il y a bien pommedans le dictionnaire.
00:46:52 :Donc,il va me retourner la valeurqu'il y a.Ensuite,ici,j'utilise cette défaut,j'utilise la valeur,la clé roger,ayez pas,et j'ai la valeur cerise.
00:47:02 :Donc,si je fais un printde script roger,ici,je vais bien avoirles cerises.Et maintenant,quand je fais un printde mon dictionnaire,il a bien été inscritdans mon dictionnaire,il est où,ici,roger,cerise.
00:47:17 :C'est des exemples à la con,mais au moins,c'est parlant.Voilà.Oui,oui,c'est bien.Bon,nickel.Ça,j'ai prévu,en fait,plusieurs petites fonctionscomme ça,qui vont,ou méthodes,qui peuvent vous donnerau Toza,parce que c'est vraimentdes choses de baseque vous pouvez voir.
00:47:38 :Je sais que,par exemple,donc,cette défaut,si ça peut être utiledans des carrés,on m'a commandéune application de Djangoil n'y a pas longtemps.
00:47:47 :Je sais que,je crois que j'utilise,non,ah si,ici,ouais.Voilà,donc vraiment,dans le réel,en fait,en cas concret,vous pouvez le voir,quoi.
00:48:00 :Alors,je suis où ?T'inquiète.Cette défaut,on a vu.Celle-là.Ici,je vous ai misdu point d'exercicequ'il y a à fairepar rapport à celle-là.
00:48:11 :IsInstance,vous le connaissez tous,vous êtes tous habituésou pas ?Oui,ouais.Pour vérifier l'instance,en fait,de,de,de la variable.C'est quel,en fait,c'est une string,c'est un int,c'est un...
00:48:27 :Ça,en fait,ça va vous renvoyerthrough false.En gros,si ma chaîne,c'est bienune instancede,de,de,de,de,de,de,de,de,et ça va divisermon,mon vie,les choses.
00:48:48 :Si ma chaîne,c'est bien une instancec'est bien une,une chaîne de caractère,et bah,je vais la voir throughsinon ça va être false.
00:48:55 :Je l'ai,je l'ai émis parce queje l'ai,elle m'a contribué,ça m'a sauvé la vie,la pierre dans la vie.Mais en gros au toastage.
00:49:02 :Ah merde,j'ai pas connecté.Ah attendez.En gros au toastage,j'ai eu un exercice.Hop !J'ai eu un exerciceicioù il,il y avaitune expériencedonc il y avaitune liste de nombrescomme ça.
00:49:16 :Donc 6,le 7 qu'il avait pas mis,ils avaient mis un motà la place.Après,j'avais bien mis 8et après,ils avaient remis un mot.
00:49:24 :Euh,il fallait en fait au toastage,il faut que vous soyezcapables de,de,de retourner justementl'index ici,enfin le nombre qui manquedonc ici 7et en plusle mot qui est à côtédonc 6.
00:49:36 :Donc si je fais exécuter,euh,attends,je veux pas mon code.Ça,je veux pas mon code.Euh,non là,ça l'a pas affichémais je l'avais écrit.
00:49:46 :Bon,en gros,c'est pas gravemais euh,sur le principe ici,je retourne bienle,le,le nom,un nombreet une chaîne de caractère.
00:49:57 :Voilà,bah c'est écrit ici.Indiceet l'élément,ça va être ma chaîne de caractère.Donc en gros,ce que j'avais fait là,j'ai mis vraiment la solutionque j'avais fait au toastageet je crois qu'on peut,je peux,je le ferai autrement celle-là.
00:50:09 :Donc tiens,il y a des solutions intéressantes,j'avais mot pour mot,bah ça.Donc euh,j'avais bouclé sur la,allez où est ma chaîne ?
00:50:16 :J'avais bouclé sur la chaîne,sur la listeet en fait,c'est à chaque fois que je trouve,du coup,dès que je trouvais un,un,une chaîne de caractère,donc j'étais parti là-dessusavec un numérique,hein.
00:50:30 :Donc si c'est une instance,si l'élément,c'est une chaîne de caractère,hop,je retournel'index,donc je fais un start à 1parce que sinon,en plus,on commence à 0.
00:50:40 :Donc vu que les,les chiffres de nombresont commencé à 1,donc,dès que je tombais surma chaîne de caractère,je renvoyais l'indice plus 1,donc j'étais bien à 7et en plus,je retournais avec l'élément,donc l'élément de ma liste.
00:50:55 :Voilà,c'est juste ça.Donc euh,je crois que j'ai eu trois,peut-être quatre algorithmesà faire en tout,au total.Alors ça va,j'ai tout réussi,mais grâce à des petits trucsà la con comme ça,hein.
00:51:08 :J'ai juste mes instances iciet c'est bon,ça a fonctionné direct.Donc c'est pour ça quec'est bien de connaîtreplein de petites méthodescomme ça,en plus quoi.
00:51:16 :Donc les instances,vous les connaissez tous du coup.Donc c'est,bah c'est autre chose.Map,ça va ou quoi ?Map,c'est quoi ?C'est comme en JavaScriptet tu maps sur un tableauou non ?
00:51:32 :Bah euh,je sais pas comment ça se passeen JavaScript,mais c'est peut-être pas loin.T'en fais du JavaScriptà côté toi ?Ouais,ouais,bah en gros,je suis DevWeb.
00:51:42 :J'ai eu la formationDevWebet là,en fait,je rattrape les lacunesque j'ai euessur mon pseudo Bootcampet le point Map,tu vas itérer en faitsur une liste,si tu préfères.
00:51:53 :Ouais.Là,je sais pas,je suis en train de regarderton codeet j'essaie de comprendre.C'est presque ça.C'est la même chose.Voilà.En gros,euh,je suis où là ?
00:52:05 :Tac,voilà.Euh,ici,en fait,avec le Map,ici,je vais envoyer,euh,j'ai mes températures status.Donc là,c'est comme si j'avais ma listeici.
00:52:18 :Ma liste,elle est là.J'ai ma listeen deuxième argumentet en premier argument,je vais mettre une fonctionet en gros,ça permet d'appliquerchaque euh,ça permet d'appliquerla fonctionà chaque élémentde la liste.
00:52:31 :Voilà.OK.Euh,le problème,c'est que moi,c'est l'ordre,c'est d'abord la fonction,pas la liste.Moi, chaque fois,je recommence deux foisparce que il faut faire la listeaprès la fonction.
00:52:43 :Mais c'est d'abord la fonctionaprès la liste.Ouais,c'est comme le import from,quoi.C'est,il faut prendre l'habitude.Ouais.Euh,un petit truc à savoiravec ça,c'est que,c'est en faisant IRque je l'ai découvert,d'ailleurs.
00:52:58 :On peut voir le,l'exemple.La Map,elle s'arrête,je l'ai écrit dans le repo,c'est cool.La Map,c'est le terme le plus courtet le plus épuisé.
00:53:07 :Donc,1,2,3,4,1,2,3,4,j'en ai 4 à chaque fois.En gros,ici,je peux avoir très bienplusieurs paramètresdans ma fonction.
00:53:22 :Là,j'ai deux listes.Et en gros,ici,j'ai bien ma liste,j'ai ma fonction calculéeprix total qui est là.Ici,j'ai ma liste prunitaireet ici,ma liste quantité.
00:53:33 :Voilà.Donc,ici,j'ai bien le prix par la quantité.Sauf que,ici,je vais en mettre 2,5,6.Hop.Et là,quand j'ai un print,c'est prix total.
00:53:46 :Je ne le vois pas prix total.Je le print tout.Ah,voilà.Ils sont là.Donc,là,j'ai bien 1,2,3 éléments.Alors,j'ai un problème.
00:53:58 :Ah,voilà.1,2,3,4,5,6.Et ici,j'en ai au moins 6 ou 7.Et en fait,la fonction map,vu qu'elle a un élément plus court,c'est prunitaire,dès qu'elle arrive ici,elle s'arrête.
00:54:14 :Elle ne va pas aller jusqu'au bout.Elle n'envoie pas de bug,en fait.Il n'y a pas de bug,c'est pas un bug.Elle n'envoie pas de...
00:54:20 :Elle ne laisse pas d'exception d'erreur,en fait.Voilà.C'est ce que je voulais dire.Voilà.Elle va s'arrêter,vraiment,là,la plus courte.C'est bon à savoir aussi.
00:54:32 :Du coup...Oui, c'est bon.Next.Est-ce que j'ai écrit next dans mon exemple ?OK.Parce qu'il y a un...Ah, voilà.Ça, c'est pareil.
00:54:55 :On va regarder cet exemple-là dans l'APO.C'est où je le fais ?Que je me souvienne.Ça doit être ici.Voilà.C'est là.Ici, tout à l'heure,j'avais une méthode,trouver un véhicule.
00:55:07 :Donc, j'utilise next.En fait, quand vous faites une...C'est pas une compréhension, du coup.À la base des crochets,ici, j'ai mis des parenthèses.Je vais me mettre làparce qu'il y a moins de choses.
00:55:20 :Donc, j'ai mis des parenthèses.Ici, on n'est pas sur une compréhension de liste.On a une expression génératrice.Est-ce que vous connaisseztoutes les expressions génératrices ou pas ?
00:55:31 :En fait, les expressions génératrices,on va pouvoir les parcourir.J'ai un exemple ici.Donc là, ici,je n'ai pas créé de listepuisque j'utilise les parenthèses.
00:55:51 :En fait, avec next,votre expression génératrice,avec la fonction next,vous allez pouvoir parcourirles éléments 1 à 1.Donc là, j'ai print de mon expression génératriceet j'ai un print de next Aet encore next A.
00:56:09 :Donc là,for i in range 1, 3,en gros, ça vous fait...1 à 2, tout simplement.Ça vous fait une expression génératriceavec le chiffre 1, le chiffre 2.
00:56:26 :Si je ne fais qu'un seul print,vous allez voir ce que ça fait.Donc là, je print bien 1.Je fais un deuxième print.Là, ça me print 2.
00:56:36 :En fait, ça va lire la liste 1 à 1, en gros.Et si j'essaie de faire encore un printalors qu'il n'y a plus rien dedans,stop itération.
00:56:47 :En fait, il n'y a rien à lire ensuite.En fait, si l'itérateur est déjà consommé,c'est fini, il est déjà lu.C'est comme si tu faisais un debug d'une fonctionet que tu fais pas à pas.
00:57:02 :Je vois ce que tu veux dire.Tu parcours...dans l'expression génératrice.D'ailleurs, quand on la print,c'est bien écrit, générateur object.C'est ça.En fait, on la parcourt pas à pas.
00:57:14 :Donc là, je vais essayer de...Voilà.Ma boucle fort, elle fait rienpuisqu'en fait, on est déjà arrivé au bout.Je peux pas la printer, en fait.
00:57:26 :Par contre, si je fais ça,hop, là, je viens à la boucle fort.Je peux la printer.C'est bon pour vous ?Ouais, pour moi, c'est bon.
00:57:42 :OK, chez les autres, c'est bon, du coup.Nickel.Donc voilà, on est sur une expression génératrice.C'est bien à connaître.Je vais peut-être faire un petit exemple.
00:57:54 :Juste, est-ce que t'as euce genre de question avec Toza ou pas ?Je m'en souviens pas l'avoir eue.Mais vu que c'est des fonctions de base,vu qu'il y a plus de 500 questions de Toza,ça, c'est le genre de truc, je suis sûr que vous pouvez l'avoir.
00:58:12 :Je suis quasiment sûr.D'accord.Ils aiment bien poser des questions, comme ça.Par exemple, ici, je vais avoir...Je crois que ça marche comme ça.
00:58:22 :Je vais avoir ma liste.1, 2.Et normalement, on pourrait faire...Hop.C'est ça.Et là, en fait, il fait un print de I.Voilà, j'ai créé un littérateur, du coup.
00:58:42 :Et normalement, si vous faites un print de Next,et si je fais...Hop là.C'est I, mon littérateur.C'est ça.Voilà, c'est pareil.Et si je le refais une dernière fois...
00:59:05 :C'est ça.Un stop littération.Donc, voilà.À savoir, c'est pour ça que je voulais vous montrer,si vous pouvez créer un littérateur, en fait, avec la fonction ITER.
00:59:20 :Donc, ça, connaître le ITER, le Next pour le parcourir,et la fonction génératrice, ici.Ça, je suis sûr que c'est pareil.Ils peuvent très bien vous mettre, je ne sais pas, dans un QCM, une liste.
00:59:34 :Et en dessous, genre, un littérateur comme ça,et ils vous disent, en gros, ça, c'est quoi.Enfin, je pense que ça peut tomber aussi, ça.
00:59:41 :Euh, je voulais voir quoi...On l'a eu.Il y a un truc que je voulais voir avec vous.J'ai eu des questions là-dessus aussi.C'est petit.
00:59:56 :Ça m'embête.J'ai eu des questions là-dessus aussi.Est-ce que vous avez la...Est-ce que c'est le grand O ou pas ?C'est l'algorithmie, ça, non ?
01:00:09 :Ouais, c'est ça.C'est la complexité.Ouais, c'est ça, avec Omega et...Est-ce que c'est la troisième lettre d'Algo ?Bah, en gros, ils m'ont...Je sais que, moi, ils m'ont posé des questions d'Algo sur ça.
01:00:23 :J'avais des...Ils m'ont posé...Alors, j'avais ça, c'est ça.La question, c'était genre,qu'est-ce qui est complexité O-N ?Et puis, ils vous donnent différents objets.
01:00:34 :Il faut cocher ceux qui sont complexités O-N.Je passe dessus.Je vous l'ai mis dans le repo, ça.Donc, O-N.Je l'ai mis comme ça.
01:00:42 :Ouais, je l'ai bien mis.Donc, complexité linéaire, c'est, en gros,le temps d'exécution va augmenter en fonction du nombre d'éléments.Et O-1, il reste toujours le même, le temps d'exécution.
01:00:52 :En exemple, voilà.Ça, c'est l'ordre de trucs que j'avais eus.Là, c'est aussi...Donc, en exemple, là, je vais avoir une complexité O-N.C'est quand je recherche...
01:01:02 :Quand je parcours une structure de données.Donc, plus il y a d'éléments, plus c'est long, c'est normal.Bon, là, c'est pareil.Je parcours.Ce que je voulais vous montrer...
01:01:10 :Copier...Ben, la copie de structure de données, aussi, c'est du O-N.Et ce que je voulais vous montrer, c'est quand vous...Est-ce que j'ai pas un dossier test ?
01:01:20 :Je ne sais pas si je peux vous le montrer.Donc, là, je vais avoir une liste.On va mettre deux éléments en basique.Pour copier une liste, vous pouvez faire...
01:01:32 :Vous connaissez toutes les copies, ici, pour copier une liste ?Ou pas ?Oui, oui, je connais.Ok.Ensuite, il y a...Ça, c'est pour copier une liste.
01:01:44 :Est-ce que j'ai mis le liste, aussi ?Là, je vous l'ai mis.Ah, voilà.Et vous pouvez très bien faire un...Donc, là, c'est les deux petits points entrecrochés.
01:01:53 :Vous pouvez très bien faire un...Je ne sais pas si vous voyez bien.Donc, là, c'est la liste.C'est les deux petits points entrecrochés.Vous pouvez très bien faire un rappeler listeet mettre votre fils dedans.
01:02:05 :Bon, ça, je ne sais pas s'ils posent des questions,mais on ne sait jamais si vous voyez...Peut-être qu'ils vont essayer de vous faire la petite blagueavec le L...
01:02:16 :Tac.Comme ça, je pense.On va voir.Mais...Je l'ai déjà vu dans un programme, ça, par exemple.Il faut dire, c'est quoi, ça ?
01:02:24 :Moi, j'ai l'habitude, en fait, d'avoir copié.Mais j'avais vu les crochets des deux petits points.En gros, la copie d'une liste du O1.Pareil pour la méthode count ou index.
01:02:37 :Bon, des listes comme ça, OK.Et voilà.Je voulais revenir ici sur la complexité O1.Récupérer l'élément sans index.C'est ce qui m'intéressait.Ah, voilà.
01:02:48 :Les opérations sur le dictionnaire.Ça, c'est du O1.Quand vous cherchez à récupérer une valeur dans le dictionnaire,c'est du O1, dans tous les cas.
01:02:56 :Parce que ça, je l'avais vu aussi comme question.Ah, voilà.Ajouter ou supprimer à la fin d'une liste.À la fin d'une liste, c'est du O1.
01:03:07 :Par contre, si c'est en début de liste, ça va être du O1.Parce qu'en fait, vous allez décaler toute la liste vers la gauche.C'est là qu'il faut connaître,on en avait déjà parlé,le module collection.
01:03:20 :Le gesteur là, je suis désolé, je vais bientôt finir.Je voulais juste...Parce que ça, vous allez avoir au Tosa,où il y a une forte probabilité,le module collection.
01:03:31 :Donc moi, je l'ai eu avec défaut dit.J'avais un programme à écrire.Et j'avais eu le deck aussi, je crois, comme question.En fait, quand vous retirez un élément au début d'une liste,ça va tout décaler vers la gauche.
01:03:45 :Donc plus il y a d'éléments, plus ça va être lent.Si quand vous allez avoir un objet deck,vous pouvez faire un pop left.Donc ça va être pour supprimer le premier élément d'une liste,mais ça va être une complexité O1.
01:04:00 :Ça va être un temps constant.Voilà, donc c'est vachement efficace à utiliser.Donc ça, c'est à savoir.Avec le deck, en fait, vous pouvez avoir le pop left et le append left.
01:04:09 :Quand vous travaillez sur une liste sans le module collection,vous avez juste le pop et le append.Grâce à l'objet deck ici, vous avez append left et pop leftpour retirer des éléments en début de liste.
01:04:22 :Voilà.Est-ce que ça, tout le monde le savait ou vous le découvrez ?Non, c'est bon pour moi.Après, si jamais je peux fournir à tous,en ressources, tu as le CS50.
01:04:39 :Tu sais, les cours d'Harvard qui expliquent l'algorithmie,mais c'est un truc de zinzin.Alors, il ne faut pas avoir peur de l'anglais, mais c'est un anglais très basique.
01:04:47 :Mais par contre, ils expliquent justement l'algorithmie de base.Et c'est pour ça que je connaissais justement le O.Je ne l'avais jamais vu en puissant, mais l'algorithmie.
01:04:56 :Je mets les liens dans le chat si ça vous intéresse.Au moins, ça peut être utile si jamais vous le savez.C'est du plus, quoi.
01:05:06 :C'est gentil, en tout cas, tu fais partager.Sur le Discord, tu peux envoyer le lien, même ici.Moi, je vous mets un lien, du coup.
01:05:16 :Ah bah, tu as envoyé le lien, là.Tu as envoyé une vidéo, j'ai vu.Ouais, c'est ça.Et moi, je vous ai envoyé le...Je ne sais pas si vous avez tous lu cet article-là.
01:05:28 :Il est assez concis.Parce que moi, j'ai eu des programmes à écrire avec des fautes dites.Je vous laisse le lire.L'exercice que j'ai eu, il est où ?
01:05:44 :Il est sur Doctrine.Mais tout est quasiment à coller sur ce module-là.Mais en gros, pour finir...L'exercice, il est où ?Là.Je peux vous dire que j'ai un exercice qui est là.
01:06:02 :Il n'est pas compliqué.En fait, il vous écrit...Vous avez déjà une fonction quasiment toute écrite.Il faut juste utiliser l'objet des fautes dites ici pour créer un défaut dit.
01:06:21 :Simplement.Mais si vous connaissez tous, c'est là ou pas ?Non, je n'ai jamais vu, mais ça n'a pas l'air...OK. Non, ce n'est pas compliqué.
01:06:32 :Je vous laisse...Moi, je l'ai vu, mais...Lisez l'article.Lisez l'article surtout.Et celui-là, franchement, vous l'avez...Je ne sais pas si niveau intermédiaire ou pas, mais vous risquez de l'avoir.
01:06:45 :Et c'est des points faciles à avoir.C'est des points faciles à avoir.En gros, le défaut dit, en fait, il va vous permettre...Quand vous allez appeler un...
01:07:00 :Je ne sais pas si j'ai un exemple d'un défaut dit.Parce que là...Attendez.Pour finir, est-ce que j'ai un exemple d'un défaut dit ?
01:07:09 :Je ne sais plus où je l'avais mis. Là, peut-être.User Input.Normal Go.Il me semble qu'il y a un exemple.C'est quoi, ça ?
01:07:32 :Ah non, je ne l'ai plus.Non, je ne sais plus, ce n'est pas grave.Je vais vous laisser regarder l'exercice.Mais en gros, il n'est pas compliqué.
01:07:43 :Est-ce que j'ai un exemple, là ?C'est très rapide.Je vais vous le mettre là.Ah, voilà, j'avais un truc.C'est bon, je le ferai.
01:08:05 :Le défaut dit, en gros...Là, j'ai créé mon défaut dit.NombreDéfautDit, lambda, je mets 0.Ici, j'ai un dictionnaire.Mon dictionnaire de nombre.Mon défaut dit.
01:08:25 :1 va être égal à 1, 2 va être égal à 2.Je vais le printer en même temps.Voilà.Ici, je fais un print de nombre 3.
01:08:35 :Sauf que 3, ici, on n'a jamais signé.On n'a jamais fait nombre entre le crochet 3avec la clé 3, est égal à 3, je veux dire.
01:08:45 :Du coup, en fait,si vous appelez ici,nombre 3, comme ça,et bien, en fait, 3,là, on le voit dans la console,3, par défaut, va avoir comme valeur 0.
01:09:00 :Voilà.Parce qu'ici, j'ai bien ma lambda,et ici, mon défaut dit est initiéavec une lambda avec 0.Après, on peut très bien avoir...Je ne peux pas le faire comme ça.
01:09:16 :Ah ben non.Comme ça.Ici, c'est bon.Ici, par exemple,la clé, je ne sais pas si on met des prénoms,je ne sais pas, genre...
01:09:27 :Je ne sais pas, genre...User 1.Oula.Hop.Ici, je vais avoir User 2.Après, on va s'arrêter là.Donc là, je vais avoir...Je ne sais pas.
01:09:41 :On va continuer avec Patrick.Je ne sais pas.Ici, avec TagBob.Voilà.Ici, j'ai bien mon anonyme.Hop.On voit bien que l'User 1, c'est Patrick, User 2, Bob.
01:09:58 :J'ai bien User 1, Patrick, User 2, Bob.Ici, mon défaut dit que j'ai mis comme valeur par défaut anonyme.Donc si j'appelle...Ça, c'est un peu bête.
01:10:09 :User 3.Excusez-moi.Voilà.Si j'appelle User 3 alors que je n'ai jamais signé une valeur à ma clé User 3,je vais bien avoir anonyme.
01:10:18 :Voilà.Est-ce que ça va ou pas ?C'est good.Hop.Voilà.Et si je faisais ça ?Attendez.C'est quoi, là ?Je ne sais plus ce que je voulais faire.
01:10:42 :J'ai fait un print nombre ou ça ?Print nombre.Ah bah oui, forcément.Hop là.OK.Excusez-moi.Le chercheur ne comprenait pas mon erreur.Et voilà.
01:11:03 :User 3, vu que je ne l'ai pas...Ici, c'est un dictionnaire normal.Vu que User 3, ici, je n'ai jamais assigné...Je n'ai jamais de valeur qu'assignée à User 3,du coup, j'ai bien une erreur.
01:11:15 :Que si j'ai mon......défaudique ici, du coup, on l'avait vu.Lambda......dat.Hop.Anonyme.Là, on était bon, voilà.Bon, voilà.En gros, c'est ça.
01:11:32 :C'est...C'est un défaudique, c'est assez rare pour le Cosa,parce que vous allez avoir des exercices dessus.Il y a de sortes de chances.Moi, je l'ai eu, je crois, à chaque fois,et je me demande si j'en ai pas eu un ou deux.
01:11:42 :Donc, voilà.Vous avez des questions ou pas ?Non, sur tout ce que tu as montré, non.J'ai une question qui a rapport avec l'APO.
01:11:52 :Après...Ouais ?Je ne sais pas si on attend la question des autres.Peu importe, allez-y.Moi, c'est plus une question architectuaire,au niveau de l'APO.
01:12:02 :Ouais ?C'est quand tu démarres un projet from scratchet que, vraiment, tu as tombé une point à un pays grecet que tu...Je prends l'exemple de la gestion de bibliothèque.
01:12:12 :Ouais ?Tu as deux classes à faire.Au lieu de laisser se balader classe 1 et classe 2,est-ce que tu...C'est vraiment de la bonne pratique que je vois, là.
01:12:23 :Est-ce que tu fais un dossier classe ou models ?J'ai vu dans tes repos sur Git,tu as des dossiers models de temps en tempsou des fichiers models.
01:12:31 :Ouais.Donc, je ne sais pas.Est-ce que toi, tu utilises en tant que proou ce que tu as déjà entendu par rapport à ça ?
01:12:39 :En fait, tu veux dire que tu débarres ton projetet que tu ne sais pas trop où mettre tes classes au début,c'est ça ?
01:12:46 :Où les mettre ?Ouais.Par exemple, tu ne prends pas de frameworkcomme Django ou autre,où tu n'as pas de dossier,tu n'as pas d'architecture.
01:12:53 :Là, c'est vraiment en mode,OK, je fais un mini script.Au lieu que ce soit le bordel,je veux ranger mes trucs.Est-ce que toi, tu as des bonnes pratiquesque, potentiellement, que toi, tu fais ?
01:13:04 :C'est les models, toi.Moi, perso, je découpe tout dans des packages.Après, je ne dis pas que c'est…Ça, je l'ai fait il y a longtemps.
01:13:14 :J'étais vraiment…Je débutais, vraiment.Donc, je ne sais pas.Je pense qu'aujourd'hui,je ne le ferai peut-être pas pareil.Mais je découpe tout.Et j'aime bien voir ici, par exemple,mon…Donc, ça, c'est un forum que j'ai fait en clear.
01:13:25 :Je n'utilise aucun framework.C'est vraiment Python pur.Et donc, je vais voir mes classesqui vont être découpées.Bon, là, c'est un peu trop découpépour la taille du projet.
01:13:34 :Mais oui, moi, je découpe toujours en…En fait, je m'écris déjà avant, en gros.Qu'est-ce que je vais faire ?Genre…Tu fais ton pseudo codeet après, tu vois ce que tu veux.
01:13:51 :Oui.Si on veut, je vais faire un pseudo code.Est-ce qu'il peut t'aider ?Je te file le truc.Pourquoi ça ne lance pas mon…Attendez, ça ne lance pas.
01:14:00 :Ah, si, il est là, mon…Hop là.Mon compte perso, c'est ça.Hop.Donc là, par exemple,je suis en train de bosser sur un projet.
01:14:10 :Je ne vais pas mettre…Celui-là, il n'est pas confidentiel.On peut le mettre.On s'en fout.J'écris toutet après, je mets tout dans un Kanban comme ça.
01:14:22 :Voilà.Et en fonction de ce que…Donc, j'ai mon Kanban.Après, je sais à peu près tout ce que je vais faireet en fonction de ce que je sais,qu'est-ce que je vais faire.
01:14:30 :Bon, là, je n'avais rien écrit sur celui-là.J'ai laissé un peu à l'arrache.Ça me permet d'organiser par avance mes dossiers et packages.Donc, moi, j'écris tout sur un Kanban avantet après, je fais ça.
01:14:41 :Voilà.Et après, comme ça, je ne sais pas,je fais un package Models par exempleou après, si ça a besoin de sécurité,je fais un package Sécurité ou…Enfin, tu vois.
01:14:51 :Ok, ok.Je ne laisse pas se balader un peu n'importe comment.J'essaie de structurer, de filer le départ.Oui, bien sûr.C'est juste que comme je me suis baladé un peusur les différents projets et les GitHubdes personnes qui ont proposé des projets,en fait, je voyais très rarement,
01:15:05 :je voyais toujours un fichier classese balader comme ça en mode à l'arracheet je voulais savoir,comme j'ai fait pas mal de JavaScript,à chaque fois, que ce soit React ou Angular,tu veux utiliser classe, tu vois.
01:15:17 :Et là, je voulais vraiment avoir…Toi, tu utilises Models.Du coup, potentiellement, je vais te copier, tu vois.Si c'est ta pratique,je pense que je vais te copierjusqu'à temps de trouver autre chose et puis voilà.
01:15:30 :Là, j'avais appris Models.Après, c'était un exercice pour le fun.Donc, j'avais mis un rapport avec Django, tu vois.J'avais même…J'ai un paquet dedans qui s'appelle même…Il s'appelle ForFun, tu vois.
01:15:40 :Enfin, tu vois, c'était pour rigoler, celui-là.Oui.C'était pour rigoler.Mais non, ouais.Sur le principe, en gros,c'est juste pour te montrer que je découpe tout.
01:15:50 :Normalement, là, j'ai mes utiles.Donc là, j'avais fait un navigateur entre guillemets en classe.Là, évidemment, mes tests qui sont à part.Le côté sécurité.
01:15:59 :Une fonction de sécurité, voilà, qui…Enfin, c'est un peu…Là, le projet était petit.Donc, il n'y avait pas forcément besoin de découper tout ça.
01:16:05 :J'aurais peut-être pu faire un seul…Effectivement, un seul package classe, c'est tout.Ça aurait été suffisant.Mais j'aime bien prendre l'habitude de tout découper comme ça.
01:16:14 :OK.C'est un peu insupportable.Voilà.Oui.Et puis, en général.Ouais.Par rapport à Guillaume,parce que même moi, je travaille comme ça.Je pense que c'est une bonne pratique.
01:16:27 :Parce que moi, même mes classes,je n'aime pas avoir toutes mes classes sur un seul fichier.J'aime avoir chaque classe avec un fichier.Donc, j'ai fait les imports.
01:16:38 :Donc, c'est…Ouais.Ouais, c'est comme ça.Tu sais, ouais.Ben, du coup, ce que tu disais, là, c'est pareil.Après, que ce soit Django, étant Django, c'est le reste du Python.
01:16:48 :Donc, je sais que moi, par exemple,mes modèles, je n'ai pas tout dans le même fichier.Voilà.Exactement.Ouais.Je découpe les modèles.Je connais un pro qui bosse sur une grosse boîte en France.
01:17:01 :C'est dans une boîte qui s'appelle Django.Je sais que lui, tous ses modèles, ils sont découpés comme ça en fichiers.Voilà.Effectivement.Voilà.Donc là, j'ai mon modèle avec le contenu du forum.
01:17:10 :Ici, je vais avoir la structure générale du forum.Ici, les interactions avec les likes et les notifications, par exemple.Enfin, voilà.Je pense que c'est pareil.
01:17:17 :Ça, j'avais compris.Je le pratique aussi sur mes projets.C'est le nom du dossier.Le nom, ouais.Le nom, ouais.Ouais, ouais.Parce que, du coup, on voit modèles.
01:17:27 :Du coup, côté JavaScript, c'est classe, avec un C majuscule.Tu vois ce que je veux dire ?C'est pour ça.C'était plus cette orientation-là que le découpage en lui-même.
01:17:35 :Je pense qu'il faut aussi que ça représente ce que tu mets dedans.Moi, j'aime bien faire ça.Tu vois que ça représente vraiment ici ce qui est base donnée.
01:17:47 :Ici, les modèles qui vont être pour la base donnée.Ici, la sécurité.Enfin, alors que j'aurais peut-être très bien pu faire un dossier fonction,mais je préfère avoir ici vraiment sécurité, avec la fonction sécurité.
01:17:59 :Enfin, moi, perso, j'aime bien nommer explicitement.Voilà.OK, ça marche.Merci à vous deux, Sylla et Gabriel, pour la réponse.Pas trop en faire non plus, parce que là, pour le fun,j'en ai découpé en plein de paquets.
01:18:17 :Mais voilà, après, il ne faut pas non plus abuser, je pense.Ah ouais, bah oui.Mais sinon, moi, j'aime bien faire comme ça.Voilà.Après, à voir dans une entreprise, travailler avec des autres gens.
Aucune occurrence trouvée pour « ».
00:39:58
abc