Compréhensions Python, mémoire et classes
Session du 12 janvier 2023 à 20h00
Développement Web & Frameworks
Programmation Orientée Objet (POO)
Bases du Langage
Structures de Données
Librairie Standard & Modules
Qualité & Architecture
Veille & Discussions
Deviens membre Premium
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- +100h de formations
- +180 exercices de code
- +100h de mentorats en rediffusion
- 20 projets
- Mentorats groupés hebdomadaires
- Support individuel avec nos mentors
Compréhensions Python, mémoire et classes
-
Revue questions
-
Comment s'organiser et apprendre efficacement ?
-
Listes et dictionnaires en compréhension + un mot sur comment le programme gère les espaces mémoires pour les listes et les numpy arrays
-
Éviter les boucles imbriqués avec products
-
Les classes et la méthode init
00:00:00 :Ok, pardon, excuse-moi, est-ce que tu peux répéter ta question? J'avais un problème avec le partage.Oui, donc j'ai bien réussi à télécharger Python, Git Bash et le VS Code, Visual Studio Code, c'est ça?
00:00:22 :Voilà, donc je suis au niveau, oui il faut exécuter un script depuis le terminal, mais j'ai un peu de mal.Pourtant je suis bien la procédure, mais je pense que j'ai du mal faire un truc parce que pendant que j'envoyais cette question,mais je n'arrive pas à créer un nouveau file en fait.
00:00:42 :D'accord, ok.Il faut exécuter le script sur le terminal.Pas de souci. Ça c'est une question qui revient souvent, de toute façon un peu la configuration, etc.
00:00:52 :Donc là tu vois mon écran?Non, je suis sur la réunion là.Mais le partage d'écran tu vois pas. Les autres, est-ce que vous pouvez me dire dans le chat, parce que j'ai quitté et revenu.
00:01:07 :Est-ce que vous voyez mieux?Ok, vous le voyez bien, merci. La cam est en principal.Moi je le vois pas, le partage d'écran. Je suis toujours sur la réunion là.
00:01:30 :Attendez, je regarde le chat. Pour ceux qui disent ouvrir le partage en grand, etc.Vous dites ça The Crow là, c'est pour moi ou c'est pour la personne qui pose la question que tu dis ça?
00:01:45 :J'ai cliqué sur ouvrir partage.D'accord, merci The Crow.Ouvrir le partage. En fait je sais pas exactement comment ça se présente pour ceux qui assistent à la réunion.
00:01:59 :Moi je partage mon écran.Si tu le vois pas, est-ce que tu as fait la mise à jour de Chrome?Je sais que c'est ce que m'a dit le support de l'outil qu'on utilise.
00:02:12 :Que ça pouvait être ça le problème. Sinon Adblock effectivement, la semaine dernière qu'on a eu aussi comme soucis.D'accord.Sinon pour ce genre de questions, hésite pas, je sais pas si tu l'as posé dans l'onglet questions.
00:02:29 :Oui dans l'onglet questions je l'ai posé. J'ai suivi la procédure mais ça marche pas.Ok, bah écoute, je vais répondre à ta question directement dans l'onglet questions.
00:02:41 :D'accord.Parce que là si tu vois pas le partage d'écran, je la batte.Ouais, c'est ça.Pour ceux qui ont des problèmes de partage d'écran, pendant la semaine je peux regarder avec vous pour qu'on fasse des tests.
00:02:51 :D'accord.Et après je vais répondre à ta question directement dans la communauté comme ça, ça sera plus simple.D'accord, ça marche. Merci.Merci Thibault. Et puis pareil, si Thibault est de répondre à la question et que c'est toujours pas clair,
00:03:03 :hésite pas à nous demander une visio, peut-être à tête ou qu'on puisse répondre ensemble rapidement pour pas que tu restes bloqué.J'ai noté. Merci.De tout à fait.
00:03:14 :Excusez-moi, j'ai juste une question. Moi aussi c'est la première fois que j'assiste à cet événement et j'ai commencé la formation récemment.Et du coup je sais pas s'il faut quand même avancer dans les cours ou il n'y a pas besoin d'avoir un certain niveau?
00:03:35 :Non, pour les mentorats, en fait l'idée c'est vraiment que ça soit un complément à la formation, qu'il y ait sur Doctrine.Donc en fait pendant les mentorats, on voit pas, enfin forcément on voit du piton, donc on va avoir des choses qui sont sur la plateforme.
00:03:50 :Mais l'idée c'est pas de parcourir la plateforme et le faire, c'est juste de voir des choses un peu plus approfondies.Donc ça peut être parfois des questions, on approfondit des questions qui ont été posées pendant la semaine.
00:04:02 :D'accord.Après ça peut être, je sais pas si tu sais, mais en fait si tu vas voir dans l'onglet mentorat, tu as accès à l'enregistrement de tous les mentorats qui ont été faits.
00:04:12 :Et tu peux voir que des fois on explore des bibliothèques un petit peu particulières.D'accord.Tu peux aller parcourir et donc non, il n'y a pas de prérequis pour les mentorats et c'est vraiment un espace d'échange quoi.
00:04:26 :Ok, ça marche. Merci.Pas de souci. Je vois une question, je regarde dans le chat, donc c'est Alain. La relation entre piton et django.C'est basique cette question, mais oui, c'est vraiment comme moi je débute, c'est vraiment pour comprendre en fait, comment on fait en fait cette relation,comment on prend un sujet, comment on aborde en fait, est-ce qu'il y a une méthodologie, par exemple, je ne sais pas si vous comprenez un peu ce que je veux dire,
00:04:59 :mais c'est une question globale.Oui.Je comprends. Est-ce que c'est, parce que là je vois ta question Alain, c'est par rapport à django, mais du coup c'est plutôt global ou c'est vraiment propre à django?
00:05:10 :Django est une question globale en fait, c'est-à-dire que par exemple cette relation entre goût de piton et django, c'est en fait à peu près la même idée,comment on fait aussi par exemple quand on nous demande, par exemple une demande systématique, une chose comme ça, comment on fait pour aborder ce sujet-là
00:05:28 :et par quel bout on le prend en fait, comment on débute, comment c'est… Oui, je ne sais pas.Non, mais je vois à peu près ce que tu veux dire, je vais essayer d'apporter une réponse et puis n'hésite pas à me recadrer si ça va trop loin ou si ce n'est pas du tout ce que tu veux.
00:06:00 :À la ligne quoi, en fait, je vais suivre, oui.En fait, tu vas suivre un tuto, tu vas lire la théorie, tu vas essayer de comprendre les bases, etc. Mais en fait, il faut vraiment que tu aies un problème concret à résoudre.
00:06:13 :Parce que imaginons par exemple, je ne sais pas, en fait, tu ne fais pas de la programmation pour faire de la programmation, ce n'est pas…Oui, c'est ça, exactement.
00:11:56 :Les fichiers, ça va. Les dossiers en goût, c'est des gros trucs quand même. Tu vois, tu ne peux pas tout renvoyer, j'imagine.Ça dépend en fait. Il y a des choses que tu es obligé d'envoyer, par exemple si tu développes, je ne sais pas si tu as déjà travaillé avec le collecte statique de Django.
00:13:13 :Non, ça normalement, soit c'est dans le Gitignore quand tu fais un Gitignore typique Python, ou sinon tu l'ajoutes.Ok, j'ai vu que dans Settings, tu as une Secret Key.
00:13:33 :Je ne sais pas si tu te souviens, on en a déjà parlé dans l'Elementor.Oui, tu avais fait un fichier à part, non?Oui, c'est ça, mais pour l'instant, peut-être que si tu es au début Django, tu ne te prends pas trop la tête avec ça, parce que ça, c'est des trucs avec lesquels tu te prends la tête quand tu fais une mise en production.
00:13:50 :Là, quand tu es en local, de toute façon, il n'y a pas de risque. Tu n'as pas une base de données en ligne, etc.Non, non, bien sûr.
00:14:08 :Ok, je vais l'adresser à la recherche.Mais après, au plus tu avanceras dans Django, tu poseras les questions, je compte sur toi là-dessus.Il faut faire attention à ce que tu ne veux pas mettre, à ce que tu ne veux pas push, donc ça c'est dans ton Gitignore.
00:14:27 :Mais après, le reste, il faut laisser faire Django, il faut qu'il ait des modules fonctionnels.D'accord, ok, je vous vois. Pas de problème.Mais t'inquiète pas, c'est normal, il y a des projets où, tu vois, je réfléchis, sur Duck String, il y a bien 500 fichiers, si non plus,
00:14:51 :entre les fichiers de migration, les modèles, les vues, les fichiers CSS, ça finit par faire beaucoup de fichiers, mais c'est normal, les Gits,et au final, comme c'est des fichiers textes, même des gros projets, ça pèse vraiment pas grand chose,et effectivement, ce qu'il faut éviter de faire, c'est de mettre tous les fichiers, des fichiers dont t'as pas besoin,
00:15:11 :des gros fichiers, si t'as une vidéo par exemple, si t'as une vidéo de 400 meg que tu mets sur ton GitHub,là ça va prendre toute la place de ton Git, mais ça effectivement, c'est des trucs que tu gères avec le Gitignore.
00:15:24 :Ok, je regarderai comment on fait ça, les petits trucs, les petits scripts, ça va, mais je vais pas encore regarder un peu,quand c'est des plus gros projets, comment on fait. Ok, merci en tout cas.
00:15:34 :Pas de soucis, et je vois une question de William, apparemment tu dis que t'as un peu du mal à t'organiser,franchement, il y a vraiment plein plein d'outils qui existent pour s'organiser, moi je t'avoue que j'aime pas trop,mais c'est vraiment personnel, tous les outils où t'as des suivis de progrès, genre je suis à 10%, 20%, des sous-tâches, etc,
00:15:58 :je trouve que ça part vite, en fait c'est des outils de productivité, mais au final tu perds plus de temps à pimper ton outil de productivitéqu'à vraiment produire des choses, donc moi j'aime pas trop tout ce qui est un peu bullshit, désolé pour le gros mot,mais en fait il faut que tu trouves ton moyen de t'organiser personnel, il faut pas essayer de copier un moyen de s'organiser
00:16:25 :de quelqu'un ou des gens que tu vois sur Youtube, en fait c'est des solutions qui marchent pour eux, il faut que tu trouves la solutionqui marche pour toi. Donc en fait tu peux faire des choses vraiment très simples, tu peux avoir ne serait-ce que des post-its
00:16:52 :qui est bullshit, pour moi le bullshit c'est quand on passe plus de temps à pimper son outil de productivité qu'à produire des choses.Je ne dis pas du tout qu'un outil est bullshit, loin de voir cette idée, mais c'est vraiment, en fait on voit des fois sur Youtubedes gens dont le métier est de parler de productivité. Et je trouve qu'on est vraiment très galvaudé, on perd pas mal de temps
00:17:51 :d'utiliser un outil de productivité, moi ce que je veux dire c'est qu'il ne faut pas passer son temps, il ne faut pas perdre trop de temps à essayerde trouver un outil, le pimper, l'optimiser. Est-ce que ça répond un peu à ta question William? C'est un peu une question globale.
00:18:23 :Je voulais vous demander, vous travaillez sur papier, ou quand t'as une idée, par exemple, tu parles de ton projet, au début, est-ce que tu grattes un peuau papier pour te dire, il y a ça, ça, ça à faire, ou alors tu fais directement ton code et tu vois après quoi. C'était juste ça le truc, c'est comment,
00:18:51 :une application. Parfois tu ne commences pas par le graphique forcément, ce que j'entends graphique c'est la plateforme finale, en fait c'est vraimenttu commences par coder. En fait c'est là où je me perds un peu. Après comme je te dis, moi je peux partager ma méthode, comment j'avance,
00:20:21 :Au final, peut-être si tu continues à réussir, tu vas avoir plusieurs projets. Donc j'aime bien que ma liste de todo soit globale, c'est-à-direqu'en un clin d'œil, j'ai une vision de tout ce que je dois faire, quel que soit le projet. Et il faut juste un moyen de filtrer le projet.
00:20:55 :tu définis toutes les tâches. Donc tu les mélanges toutes. Par exemple, ta première ligne, c'est faire ma page d'accueil pour mon site web perso.Et ta deuxième ligne, ça va être travailler sur l'application de comptabilité. Et dans la colonne qui est juste à côté, tu peux dire
00:21:09 :quel projet c'est. Donc la première ligne, c'est projet web perso. Et la deuxième ligne, donc ta deuxième colonne, ce sera projet comptabilité.Et comme ça, tu peux filtrer par projet et tu vois les tâches qui seront assignées à chaque projet.
00:21:25 :D'accord. Ok. Oui, oui. C'est vraiment les trucs de base. Voilà. Vous partez du début et puis après, au fur et à mesure, on avance.Voilà. C'est ça. Il ne faut pas... Je comprends en fait ce que tu veux dire. En fait, tu as l'impression d'être dépassé avec tout ce qu'il y a à prendre.
00:21:40 :Et c'est vrai que poser des choses sur le papier ou même numériquement, ça soulage déjà et ça fait moins de surcharge mentale.Et voilà. Moi, j'utilise beaucoup la suite MacOS. Donc tu vois sur mon téléphone, j'ai l'application Note. Je mets des to-do dessus.
00:21:58 :Et après, quand je reprends mon ordinateur, mon Mac, je retrouve mes to-do, etc. Mais vraiment, trouve le système qui te convient en pratiquant.D'accord. Ok. Bon. Merci. En tout cas...
00:22:24 :Oui. Bonjour. Bonjour. Oui. Bonjour. Christine Le Grafferon. Je me permets d'intervenir. C'est un petit peu sur le même sujet que la personne précédente.Oui. Je suis effectivement débutante, très débutante même. J'ai un projet effectivement personnel de site web un petit peu compliqué.
00:23:26 :Est-ce qu'il y a une ligne de conduite, quelque chose? Qu'est-ce qu'on peut se prendre comme guide en fait?Je comprends ce que tu veux dire. Donc là, tu me parles d'un site web. Donc typiquement, tu vas suivre la formation Django j'imagine sur Doctrine.
00:24:37 :Donc en gros, il va taper un URL. Un URL ici, tu vois, par exemple, https://.machin.Donc moi, c'est la première chose dont je vais m'occuper. Je vais définir, je vais vraiment, je reste global, je ne vais pas rentrer dans le détail de Django parce que ça va vraiment être trop détaillé pour cette session.
00:27:34 :Et donc après, naturellement, tu es amené à manipuler et à utiliser tout ça. Après, effectivement, je pense que pour apprendre plus facilement au début,je vais essayer de faire ce qu'a dit PA, de montrer en dehors d'un framework précis, en dehors de Django, de Python, comment fonctionne le web en général.
00:27:53 :Par exemple, le front-end, le back-end, je sais que c'est des questions qui reviennent souvent et c'est le genre de choses aussi où on a l'impression finalement,quand on est la tête dedans, que c'est des choses qui sont assez connues alors que forcément pour un débutant, ça ne l'est pas, alors que c'est des concepts très importants à séparer.
00:28:17 :D'accord.Et oui, Alain, pour répondre à ta question, oui, le MVT, tout ça, effectivement, tu le vois dans les cours. C'est pour ça, tu vois, c'est des concepts par contre que tu peux retrouver dans d'autres frameworks,
00:28:53 :Et c'est nécessaire parce que je sais que c'est l'avantage aussi avec Python, c'est que c'est un peu moins la jungle qu'avec JavaScript.Donc, avec Python, en fait, on peut quand même assez rapidement, une fois qu'on sait qu'on est dans le Django, on n'a pas trop d'occasion de s'éparpiller, même si on a quand même un petit peu.
00:30:07 :Pour le coup, j'aurais une question complémentaire et puis après, je me tais, je laisse la place aux autres quand même.Est-ce que Django permet de faire un site de A à Z ou est-ce qu'il faut justement d'autres éléments à prendre, hormis HTML et CSS?
00:30:30 :Mais est-ce que le framework Django, je peux me dire, voilà, moi, mon projet, je vais pouvoir complètement le construire avec ça?Oui, alors oui, effectivement. Après, tu auras par contre la partie front-end, effectivement, que tu vas faire avec du HTML, du CSS, voire un framework type Bootstrap,
00:31:05 :Mais oui, Gabriel, Bootstrap. Donc forcément, le HTML, tu ne peux pas passer outre.Mais par contre, et tu vas le voir là aussi, tu vois, dans le projet de City Commerce, c'est exactement ce que j'ai voulu montrer,c'est qu'on peut faire, je crois, ça dure 7 ou 8, 9 heures de cours où je n'écris quasiment, peut-être que j'en mets une ou deux pour régler la taille d'une image
00:31:28 :pour pas que ça prenne tout l'écran, mais je n'écris quasiment pas de CSS.Donc tu te rends compte à la fin que tu as un site qui fonctionne, c'est juste absolument horrible parce que tu as l'impression d'être retourné dans les années 90.
00:31:39 :Avec, tu vois, il n'y a aucune mise en forme, tous les textes sont noirs et bleus quand tu as des liens.Enfin, tu vois, ça ne ressemble à rien, mais c'est fonctionnel.
00:31:47 :Tu peux passer commande, tu peux afficher les articles, tu peux les mettre dans ton panier, tu peux les supprimer.Et tout ça, c'est du Django. Donc effectivement, Django te permet de faire toute la logique de ton site.
00:31:57 :Et après, si tu veux rajouter un peu plus de beauté, ça va être du HTML, du CSS, peut-être du Bootstrap.Et après, tu peux là encore t'en aller dans ce qui est un métier à part entière, le front-end,et utiliser du React, du Vue, des trucs comme ça qui sont, mais qui sont, qui nécessitent autant,
00:32:14 :sinon plus de temps d'apprentissage que la partie back-end.D'accord, très bien. Donc, mais bon, voilà, déjà la structure en back-end peut être faite complètement par Django.
00:32:28 :Oui, tout à fait.Peu importe ce qu'on met dans le site.Oui, tout à fait. Tu as des centaines de milliers de sites qui sont faits avec Django,
00:32:36 :donc tu peux faire tout ce que tu veux, il n'y a vraiment pas de limite.D'accord, très bien. Merci beaucoup.C'est vraiment, en fait, tu sais, Thibault a parlé du modèle MBT, donc modèle du template,c'est vraiment ton, l'aspect modèle, donc en gros, c'est comment tu vas définir,en gros, le format de tes tables dans ta base de données.
00:32:58 :Et ça, tu peux mettre ce que tu veux. Et c'est un peu la beauté de la programmation orientée objet.En fait, un modèle, c'est, voilà, comme une classe Python,tu peux définir tout ce que tu veux dans ton modèle, tous les attributs que tu veux.
00:33:13 :Et c'est ça qui permet, en fait, d'avoir toutes les possibilités.Et pour ce que tu, juste, je rebondis aussi sur une question que tu avais,par rapport à une question de Céline aussi, sur le front-end, etc.
00:33:31 :Moi, c'est pareil, de mon côté, je ne fais que du back-end, je suis vraiment très mauvais en front-end.Et du coup, ce que vous pouvez faire aussi, c'est que vous pouvez vous dire,je développe toute mon application Django et ensuite, par-dessus, je développe une API.
00:33:46 :Donc API, c'est Application Programming Interface.Donc, en fait, c'est un moyen pour pouvoir venir se brancher sur votre application.C'est un peu comme si, vous savez, vous avez une prise électriqueavec des prises européennes et des prises anglaises dessus.
00:34:03 :En gros, au final, ça va délivrer du courant, mais vous pouvez brancher n'importe quoidessus, du français, de l'anglais, du sud-américain, je ne sais rien.
00:34:12 :Et en fait, l'API, elle, elle va faire le lien entre votre application,votre base de données et un front-end, par exemple.Donc, imaginez que vous avez une application, vous ne voulez pas vous embêterà définir une application mobile.
00:34:26 :En fait, si vous avez défini une API pour votre application,la personne qui va développer l'application mobile, elle aura juste à venirinterroger votre API pour pouvoir accéder à votre application backend Django.
00:34:38 :Donc, ça, c'est…Ce n'est pas super clair pour moi, là, tout de suite, maintenant.Il n'y a pas de souci.Et aussi, ce que je voulais rajouter, c'est que pour ceux qui débutentet qui vont découvrir Django, etc., vous allez voir, même si la formation
00:34:56 :est très bien faite et c'est très clair, il va y en avoir dans tous les sens.Et vous allez vous dire, mais je ne comprends rien, il y a plein de trucs,il faut penser à plein de trucs.
00:35:05 :Et franchement, au bout de quelques mois, vous allez voir,c'est vraiment une certitude, vous allez pouvoir…Vous allez faire un projet Django sans aucun tuto, sans aucune documentation.
00:35:17 :Vous allez pouvoir lancer un petit site Django avec une base de donnéesqui tourne derrière en 30 minutes, honnêtement.Donc, il ne faut vraiment pas… Vous allez être perdus, c'est sûr,mais il ne faut pas se décourager et vous allez voir qu'ensuite,ça se développe tout seul.
00:35:33 :Et une fois qu'on a compris la logique, vous verrez que Django,c'est vraiment un framework très logique, en fait.D'accord. Bon, super.Ça me rassure un peu parce que j'ai…En regardant, moi, je ne parle vraiment de rien.
00:35:48 :Oui, mais c'est pareil.Je ne pose pas grand-chose.Il n'y a pas quelque chose d'horrible pour moi, mais…Voilà, moi, j'ai un projet qui est bien défini dans ma tête.
00:36:03 :Je suis très, très créative et je voudrais mettre ça en…Véritablement le réaliser à un moment donné ou à un autre.Et voilà, il y a des moments où on se dit, je ne sais pas comment faire.
00:36:20 :L'idée aussi, ça serait de savoir s'il y a des groupes qui sont formésen fonction de nos compétences ou de notre lieu géographique.Parce que ça peut être aussi intéressant de pouvoir échangeravec des gens qui ne sont pas très loin de chez nouset pourquoi pas travailler ensemble.
00:36:39 :Oui, alors…Vas-y, Thibault.Oui, je vais répondre sur deux choses.Déjà, le fait d'avoir un projet, ça, c'est génial.Je ne sais pas si Vincent est là.
00:36:48 :C'est toujours celui qui me revient en tête.Je ne le vois pas.Vincent Randon, justement, qui a commencé exactement comme toi.Christian, non, c'est ça, je ne me trompe pas.
00:36:57 :Christian.Christian, ah, parce qu'on a Christian qui est Christian.Désolé.Et lui, tu vois, il a commencé en décembre l'année dernièreet au bout d'un peu près six mois, il a commencé au bout…Je dirais, c'est aussi ce que je te disais, Gabriel,je te le donnais comme exemple par rapport au timing un peu.
00:37:15 :Au bout de trois, quatre mois, il avait déjà bien appris les baseset tout ça de Python.Vers l'été, il a commencé à se lancer dans Django.
00:37:22 :Au début de l'été, il était au début de Django.À la fin de l'été, il avait déjà des prototypes de son site.Et là, ça fait deux, trois mois qu'il est vraiment avec le site live,avec quelque chose qui fonctionne.
00:37:33 :Et lui, c'était vraiment un projet entrepreneurial, du coup,qui a motivé tout ça.Et ça, c'est génial parce qu'en fait,moi, je conseille à tout le monde d'avoir un projet.
00:37:41 :Si vous n'en avez pas, essayez d'en trouver un.Il y a plusieurs façons. Là aussi, Gabriel, on en avait parlé un petit peu.Écoutez autour de vous.
00:37:47 :Il y a toujours plein de gens qui, autour de vous,ont des problèmes très spécifiques que vous pouvez résoudre avec du code.Et sinon, moi, j'ai des adresses de dépôt Gitavec des centaines d'idées de projets que vous pouvez faire.
00:37:57 :Et le mieux avec les projets comme ça, c'est qu'en fait,vous allez justement, tu vois, Christine, tu dis,je reprends l'exemple de Marmiton, on va se dire,OK, si tu n'as pas un projet comme ça, tu te dis,bon, il faut que je fasse un site web.
00:38:08 :OK, donc là, en fait, on ne sait pas par où commencer.Ça revient un peu à ce que disait Alain aussi tout à l'heure.On est un peu face à la page blanche et on ne sait même pas,en fait, qu'est-ce qu'il faut faire.
00:38:16 :Est-ce qu'il faut apprendre justement Python?C'est compliqué. Par contre, si on se dit, OK,je vais faire un site comme Marmiton, tout de suite, on se dit,OK, Marmiton, il y a quoi? Il y a une page d'accueil avec des images.
00:38:25 :Donc, OK, il faut que je trouve comment on affiche les images.Il faut que je stocke forcément les recettes.Il faut après que je puisse afficher chaque recette.
00:38:33 :Donc, tu vois, directement, en fait, tu vas être confronté à des problèmes.Et tu vas... Le problème le plus... Enfin, comment dire?La difficulté après, c'est que souvent, il va falloir savoiret apprendre à poser les bonnes questions.
00:38:44 :Parce que forcément, si tu tapes sur Googlecomment afficher les images d'une page d'un site type Marmiton,tu ne vas peut-être pas tomber précisément sur ce que tu veux.
00:38:52 :Par contre, tu mets, tu vois, un truc plus générique.Comment afficher des images avec Python?Là, tu vois, tu vas probablement tomber sur un truc qui dit,en fait, ce n'est pas Python qui va afficher les images.
00:39:00 :Ça, c'est côté front-end.Par contre, il va falloir stocker les recettes.Donc, mais ça, c'est génial d'avoir des projets comme ça.C'est vraiment super.Et sinon, pour ta deuxième question,alors, je ne sais pas si tu étais là au tout début.
00:39:14 :Je disais qu'on a créé, en fait, cette semaine,j'ai rajouté une salle qui s'appelle Sessions libres,qui est un peu dans cet état d'esprit.C'est une salle qui est disponible tout le temps, toute la semaine.
00:39:24 :Et j'encourage, du coup, tout le monde à rejoindre cette salleparce que c'est ça qui permet le mieux.C'est donc une salle de réunion comme celle-ci.
00:39:30 :Donc, voilà, on n'est pas forcément là pour modérer.Donc, n'importe qui peut la rejoindre.Et tu vois, il y a déjà des gens qui s'y mettentpour faire des projets ensemble, pour résoudre des exercices.
00:39:41 :J'ai prévu aussi, alors ça, c'est toujours un petit peu plus compliqué.En fait, j'avais commencé une page pour affichertous les membres de l'accompagnement et tout.
00:39:49 :Après, c'est plus compliqué parce que si je veux faire les choses bien légalement,je suis obligé de faire les choses en opt-in, comme on dit.
00:39:56 :C'est-à-dire que par défaut, je ne dois rien afficher de vos données personnelles.Et je dois vous demander de les afficher.Donc, forcément, le problème, c'est que ça limite les possibilités de synergieparce qu'il faut déjà envoyer la communication pour dire aux gensque vous pouvez l'afficher.
00:40:10 :Tout le monde ne va pas le faire forcément.On n'a pas envie de savoir où on habite, etc.Donc, je suis un petit peu...Des fois, je me dis, bon, je vais passer outreet puis j'affiche tout le monde.
00:40:18 :Mais bon, après, voilà, c'est...Sur les trucs, les données personnelles, c'est pas forcément...C'est pas forcément le mieux.Donc, oui, je réfléchis à ça.C'est prévu d'essayer de trouver des moyens de faire çaet je vous tiendrai au courant de toute façon.
00:40:31 :Oui, parce que ça pourrait être sympa, justement,parce que j'imagine que là, il y a des gens qui sont aux quatre coins de la France,voire peut-être même en dehors.
00:40:39 :Et voilà, ça peut être un soutien ausside ne pas être tout seul dans son coin avec ta plateforme.Tout à fait.Mais vraiment, je vous conseille, là, le mieux, c'est vraiment de rejoindre...
00:40:53 :Comme je vous disais au tout début, même s'il n'y a personne,n'hésitez pas à aller dans la salle,parce que forcément, c'est l'effet du restaurant vide.
00:40:59 :S'il n'y a personne dans le restaurant, on n'a pas envie d'y aller.Mais si vous voyez là, je voyais plusieurs personnes,Moïse, Céline, il y avait...
00:41:07 :Alors, je ne sais pas au tout début, donc je n'ai pas vu du coup...Donc, c'est un icône, c'est quoi, sur...C'est sur la page du Mentorat, en fait.
00:41:15 :Vous avez sur la page du Mentorat, vous allez voir qu'il y a plusieurs...Non, mais peut-être que tu peux le partager.Oui, vas-y, tu peux montrer.
00:41:23 :Oui, tu vois là, Christine?Oui.Donc là, quand tu vas dans Mentorat, ici,là, tu as tout, et ici, tu vas dans Sessions libres.Tu vois là, il y a Moïse qui est connecté.
00:41:38 :Ok.Et en fait, j'ai affiché justement dans la barre à côté du Mentorat,tu vois, tu as un petit 1, ça t'indique le nombre de gens qu'il y a dans la salle,donc c'est aussi justement pour inciter les gens à y allerquand ils voient qu'il y a du monde, etc.
00:41:53 :Mais comme je vous dis, après, c'est vraiment ça.Il ne faut pas hésiter à y aller quand vous êtes dans votre moment d'apprendre.Là, quand vous faites une session d'apprentissage le soir,vous vous connectez dans la salle de session,il y a des gens qui vont arriver,et puis comme ça, ça permet justement de créer ces synergies.
00:42:09 :D'accord.Ok, super.J'ai vu là où c'était, donc voilà, c'est très bien.Je te laisse reprendre, P.A.Ouais, pas de souci.Merci Thibault.Attends, je regarde si je l'ai partitionné.
00:42:23 :Excuse, excuse.Laurence, tu m'excuses, mais je vais enlever ta camérasi ça ne te dérange pas pour maximiser le partage.Merci.Ok.Bon, c'était cool.
00:42:39 :Vous avez mis pas mal de questions.On va avoir quelques questions.Il reste un petit peu… Ouais, j'ai vu qu'il y a une autre question.
00:42:47 :Vas-y, Christian.Je vais avancer un peu,et puis je reviendrai sur ta question après.Du coup, je vous propose qu'on regarde un peu…Ouais, du coup, Christian, par rapport au projet PySide,moi je t'avoue que je suis un peu moins…Il y a beaucoup en route.
00:43:13 :… spécialiste en PySide.Du coup, si ça te va, est-ce qu'on peut continuer,tu sais, les questions, parce que tu poses des questions là sur PySide.
00:43:25 :Ouais, donc soit vous voyez ensemble avec Thibault qui…Ouais, je te propose de regarder ça samedi si t'es disponible,où on pourra se faire une petite session si tu veux.
00:43:35 :On pourra en rajouter une.Il n'y a pas PySide, c'est ça?Il y a peut-être 5 ou 10% des gens qui sont sur DuckStreamqui sont intéressés par PySide, donc c'est assez spécifique.
00:43:45 :Et effectivement, c'est un sujet assez pointuet qui peut mener à beaucoup de discussions.Donc le problème, c'est que là, si on l'aborde là,ça risque de parler à peu de personnes.
00:43:55 :Donc je te propose qu'on voit ça samedi,vu que c'est un peu plus avancé,ou sinon une autre fois si tu n'es pas disponible.Après, sinon, on continue sur les questions à te répondre, Christian.
00:44:05 :Ouais, après, de toute façon, c'est ça, toutes les questions,n'hésitez pas à les poser, pareil, dans l'onglet questionset on continue d'y répondre.Et effectivement, sur PySide, ça peut être bien d'avoir un truc un peu live,parce que c'est souvent des petites questions,mais avec justement une ligne de code à voir et à décortiquer.
00:44:21 :Mais c'est un peu un live, mais pas pour ça.Donc pas de souci.Regarde ça samedi, je le note.Ok, merci Thibault.Du coup, en fait, il ne reste plus énormément de temps,mais soit on parle un peu de classe et d'héritage,ça va peut-être être un petit peu avancé pour les gens qui sont débutants.
00:44:38 :On va peut-être voir un peu les listes.Les listes et puis les listes imbriquées.En fait, ça m'a donné une idée.Donc pour ceux qui débutent,les listes compléhension, on va voir ça aussi, Céline.
00:44:56 :Je ne sais pas si c'est Céline qui a posé.Donc en gros, imaginez que vous ayez ces listes-là.Imaginez que vous voulez faire les combinaisons,c'est-à-dire, là on a la liste,ça se présente comme ça, une liste en petit ton.
00:45:13 :On a une liste de noms, donc Jean, Michel, Rachid, Elsa, Marion, Michael.Ensuite, on a différentes professions, infirmiers, boulangers, pompiers, etc.,profs, des animaux et des habitations,donc type d'habitation, campagne ou ville.
00:45:27 :Imaginez que vous voulez créer toutes les combinaisons possibles,c'est-à-dire que Jean pourrait être infirmier,il pourrait avoir un chien, il pourrait vivre à la ville.
00:45:37 :Mais il pourrait aussi être boulanger, il pourrait avoir un chat,il pourrait vivre à la campagne.Donc vous voyez qu'il y a quand même beaucoup de possibilités.
00:45:45 :Ce qu'on fait naturellement quand on commence la programmation,ce n'est pas ça, c'est ici.Ce qu'on va faire quand on commence naturellement la programmation,c'est que je vais essayer de représenter toutes les combinaisons possibles.
00:46:02 :Un point rouge ici, c'est un élément dans la liste.Le nom qui est ici, il peut aller avec cette profession-là, celle-ci, celle-ci, etc.Vous voyez qu'en fait, vous pouvez vous multiplier par le nombre d'éléments,le nombre de combinaisons.
00:46:19 :Moi ici, si je retourne sur mes listes,je regarde un peu les messages en même temps.Si je regarde sur mes listes ici,donc imaginons, Jean, quelles sont toutes les combinaisons que je peux faire avec Jean.
00:46:32 :Donc ici, il y a une, deux, trois, quatre, il y a quatre professions possibles.J'ai trois animaux possibles, donc ça fait douze.Donc ça fait quatre fois trois et fois deux.
00:46:43 :Donc ça fait 24 combinaisons possibles.Donc ce qu'on peut faire naturellement,est-ce que c'est pareil pour tout le monde, pour le partage d'écran,ou il n'y a que pour une personne?
00:46:55 :Vous voyez toujours mon VS Code avec le code?Oui, ça marche nickel.Ok, désolé. Est-ce que tu peux réfléchir à ta page?...Le son n'est pas génial chez moi, je ne sais pas si c'est pareil.
00:47:34 :Oui, Thibaut, ton son, on n'entendait rien en fait.Ok, et là, ça va?Nickel, c'est bon là.Parfait.Ok, désolé, je ne sais pas....
00:47:49 :Désolé, c'est un peu embêtant avec les problèmes techniques....Donc imaginez que vous voulez faire ces combinaisons-là.Le premier truc qu'on se dit,c'est de faire des boucles imbriquées.
00:48:02 :Je ferme le chat ici.On va d'abord parcourir tous les noms.Ensuite, pour chaque nom, on va parcourir tous les jobs.Pour chaque job, on va parcourir tous les animaux.
00:48:14 :Et pour chaque animal, on va parcourir toutes les habitations.Donc en gros, ça donne un truc comme ça....Si je lance le code ici,je vais commenter, on va le voir juste après.
00:48:33 :...Ok, donc là, j'ai bien toutes mes combinaisons.Ici, j'ai parcouru tous mes noms.Et pour chaque nom, j'ai parcouru tous les éléments.Par exemple, on commence par Jean.
00:48:47 :Jean, ici, c'était le premier élément.Tout en haut.Donc Jean...Qu'est-ce qui se passe ici?...Jean, ici, pourrait être infirmier.Vous voyez, c'était le premier élément de ma liste.
00:49:09 :Il pourrait être boulanger.Avec infirmier, il pourrait avoir un chien.Et il pourrait aussi habiter à la campagne.Donc il pourrait être...Ah, p*****, à chaque fois, ça revient tout au début, pardon.
00:49:22 :...Il pourrait être infirmier.Il pourrait avoir un chien.Et il pourrait habiter à la campagne.Donc là, vous avez un peu compris.Je vous conseille vraiment de jamais faire ça.
00:49:34 :De jamais imbriquer des listes comme ça.Parce que, au niveau du code, c'est vraiment illisible.Et en fait, il y a un...P*****, micro en noir, c'est pas vrai.
00:49:44 :...Désolé de vous redemander.Vous voyez toujours mon partage d'écran?...Oui, nickel.OK, merci.Désolé de vous redemander.Je sais pas, mais dès que je vois un message comme ça, ça me perturbe.
00:50:03 :...Désolé, pour ceux qui...Parfois, si je vois un message, je le vois pas.Je peux pas m'occuper de la personne qui a un écran noir.
00:50:16 :Je suis désolé.Donc, il y aura la rediffusion.Si vous loupez des passages, vous pourrez revoir le partage d'écran....Donc, en gros, ce que je vous conseille, c'est de jamais faire ce genre de choses.
00:50:27 :Et ce que vous pouvez faire, c'est utiliser le module Product.Donc, en fait, Product de EtherTools.Donc ici, EtherTools, c'est un module qui existe déjà programmé dans Python.
00:50:38 :Et en fait, vous voyez ici, vous pouvez directement...En fait, en une ligne, vous avez la combinaison directement de tout...Vous avez toutes les combinaisons possibles.
00:50:48 :En fait, Product, c'est, en théorie, le produit cartésien.Donc, en gros, ce qu'il fait, c'est qu'il prend chaque élément de la listeet il multiplie les possibilités avec tous les autres éléments de la liste.
00:50:57 :Donc, vous voyez, au lieu d'impliquer toutes mes listes ici, il suffit de faire...Donc, vous redéfinissez vos différents éléments d'itération.Donc, Name, Job, Animal, Habitation.
00:51:10 :Et vous dites juste que vous le faites parcourir le produit cartésien de toutes vos listes.Et vous allez obtenir exactement la même chose.Vous voyez ici, si je mets...
00:51:20 :Si...Si je commente ici et que je relance...Vous obtenez exactement la même chose.Donc là, vous avez directement la combinaison.Et donc ça, c'est quand même beaucoup plus simple à lireet beaucoup plus propre que des listes imbriquées.
00:51:38 :Donc ça, c'est pour le product.Et j'ai vu aussi qu'il y avait pas mal de questions sur les listes compréhension.Donc, en fait, les listes compréhension, c'est juste un moyen de définir une liste.
00:51:47 :Pour définir une liste, vous avez un moyen.Vous pouvez dire liste.En fait, ce que vous faites, c'est que vous dites...Ben, j'initialise ma liste.
00:51:58 :Je lis qu'elle est vide.Et je dis...Imaginez que vous voulez itérer.Donc là, si par exemple, pour ceux qui ne connaissent pas,for e in range 12, si je fais print e,je vais juste afficher les éléments de 0 à 11.
00:52:12 :Mais imaginez que vous voulez remplir votre liste.Donc vous pouvez vous dire, for e in range 12,en fait, je vais ajouter dans ma liste,donc list.happened,
00:52:23 :je vais lui dire, ajoute-moi le carré de l'itération.Donc ici, si je fais...Je vais voir maintenant ma liste.Et je retrouve bien tous les éléments de ma liste.
00:52:36 :Enfin, le carré des éléments de ma liste.Donc ici, 0 au carré, c'est 0.1 au carré, c'est 1.2 au carré, c'est 4.3 au carré, 9, etc.
00:52:44 :Donc ça, c'est le premier moyen pour créer une liste.On initialise une liste vide et on la remplit.Et ça, c'est vraiment pas efficace.Enfin, pas efficace.
00:52:58 :C'est pareil, ça prend...Vous voyez ici, je dois initialiser.Ensuite, je dois parcourir avec un itérateur, etc.Donc c'est un peu fastidieux.Vous pouvez utiliser la liste de compréhension.
00:53:09 :Donc vous pouvez dire, au lieu d'initialiser,vous pouvez directement créer votre liste en disant...En une ligne, en fait, pas besoin de faire par étage une boucle.
00:53:18 :Vous dites ici, i carré, for e in range 12.Et là, vous voyez, j'ai directement ma liste.Si j'y affiche, ça marche de la même manière.
00:53:33 :Donc, je ne sais pas si...C'était Céline qui avait un peu ce doute-là.C'est comment on trouve les astuces tout seul,si on a un searcher sur Google?
00:53:47 :En fait, comme...Alors, pour répondre à votre question,il y a des choses qui doivent vous mettre un peu...Déjà, il faut... Je ne sais pas si vous connaissez ça.
00:53:58 :Une porte 10.Donc ça, c'est le zen de Python.Ça, c'est un peu...Et puis, il y a des guidelines aussi, quand on fait de la programmation.
00:54:06 :C'est essayer de ne pas...De faire un code propre et intelligible.Donc, en gros, vous voyez ici,simple is better than complex.Donc, simple, c'est mieux que complexe, etc.
00:54:18 :Donc, il faut essayer de suivre un peu ces mantras.Et aussi, quand vous voyez un truc dans un code,où vous avez... Bon, là, ça va encore, parce qu'on n'en a pas beaucoup.
00:54:26 :Mais si vous avez plein d'étages,vous commencez à vous dire...C'est un peu bizarre quand je le lis.Et il faut se dire qu'il y a...
00:54:34 :Souvent, en programmation, on essaye de réinventer la roue.C'est-à-dire, on essaye de recoder des modules qui existent déjà.Donc ça, c'est un peu avec l'expérience,que vous allez vous dire...
00:54:43 :Avant de faire ça, peut-être qu'il y a un module qui existe.Donc là, c'est pareil.Vous cherchez un peu sur...Google, c'est ça?C'est là, du coup, qu'on va chercher sur Googleou on fait appel à la communauté ou des choses comme ça.
00:54:53 :Voilà, c'est ça.Vous dites...Mais c'est comme disait Thibault, en fait.Aussi, un bon développeur, c'est un développeur qui sait bien chercher.Donc, il ne faut pas aller sur Internet...
00:55:05 :J'ai vu Pierrick qui dit... J'ai pété.Il ne faut pas aller sur Internet et dire...Comment je fais pour bien organiser mes listes?Il faut vraiment faire un truc plus précis en disant...
00:55:17 :Y a-t-il un moyen d'empiton?De... Enfin, avec des mots clés.D'obtenir les combinaisons possibles de plusieurs listes.Et là, de fil en aiguille, vous allez tomber sur...
00:55:28 :Pas de souci, Sky, bonne soirée.Vous allez tomber sur Product.Donc, oui, en fait...Ça, maintenant, c'est quelque chose que moi, je connais bien.Mais quand j'ai découvert, je ne connaissais pas.
00:55:38 :Donc, forcément, j'ai dû aller chercher quelque chose.Est-ce que sur Python, il existe ce que j'avais, moi, à l'époque,quand j'ai appris Excel?Le gros dictionnaire d'Excel où...
00:55:47 :On a l'ensemble de toutes ces fonctions,de toutes ces choses-là.Est-ce que ça existe?Est-ce que je peux trouver ça quelque part, par exemple?En fait, ça existe, c'est la documentation.
00:55:57 :Mais c'est quand même par...Il faut quand même chercher un peu la documentation.Il faut savoir que...Imagine, tu veux faire du calcul scientifique.Y a la bibliothèque NumPy qui existe.
00:56:09 :Donc, en fait...Import NumPy...Si tu fais... Je crois que c'est ça, c'est help NumPy.En fait, imagine que tu dis...Je veux faire du calcul scientifique.
00:56:22 :Donc, déjà, tu sais que tu vas devoir utiliser la bibliothèque NumPy.OK?Une fois que tu sais que tu dois utiliser la bibliothèque NumPy,tu vas sur Internet, tu fais help NumPy,et là, tu vas avoir accès à toutes les méthodes,qu'est-ce qu'elles font, etc.
00:56:36 :Là, je vais...Tu vois, np.look for keyword.Il me dit, pour utiliser...Pour faire une recherche,tu peux tout simplement faire une recherchedans la documentation comme ça.
00:56:48 :Tu vas avoir une liste de toutes les fonctions qui existent.Tu vois, ligne-algue, polynomial, etc.Donc, t'as vraiment la documentation dans ton code.Et alors, du coup, j'ai encore une dernière question.
00:57:01 :Là, par exemple, t'as tapé dans ton script directement NumPy.Comment je sais si NumPy est reconnu?Comment je peux le savoir, ça?En fait, t'as ce qu'on appelle des bibliothèques built-in de Python.
00:57:16 :C'est-à-dire, c'est des bibliothèques qui sont installées en même temps que Pythonquand tu l'installes.Par exemple, si je fais import os,je sais que c'est un module qui existe déjà quand j'installe Python.
00:57:26 :Par contre, NumPy, il n'y est pas.Donc, si moi, ici, je n'avais pas installé NumPy...Attends, si je vais essayer de faire...Si je fais import...
00:57:35 :...pilo, par exemple.Tu vois, il n'existe pas.Donc, il faut que je fasse un pip...Enfin, ici, je suis dans......faire un pip install et le nom du module.
00:57:47 :De toute façon, il va te le dire, Python, que ton module existe.Et du coup, ça, par contre, c'est ce qui est composé comme question.
00:57:54 :On peut, nous, ajouter une bibliothèque dans Python.C'est-à-dire que Python peut être plus développé que le Python du copain.Exactement, c'est exactement ça.D'accord.Je suis désolé, j'avais promis à Raphaël de parler des environnements virtuels.
00:58:09 :Non, non, je vais te dire, merci.Non, non, pas de souci.Mais c'est juste que je voulais...Justement, ça serait une belle transition pour les environnements virtuels.
00:58:18 :Mais là, ça va être trop avancé.Désolé, Raphaël, on peut en parler en détail, si tu veux.Je ne sais pas s'il était là.Je crois qu'il était là.
00:58:27 :OK, un compliment, par exemple.Du coup, je suis...Ah oui, donc là, j'étais parti sur les listes.J'essaye de réduire les boucles plus complexes.Et donc, du coup, je reviens là-dessus.
00:58:42 :Je reviens sur ma liste.OK, et imagine, par exemple,Céline, dans la liste compréhension qu'on fait ici,imagine, en fait, le carré de tous les nombres impairs.
00:58:56 :Donc, en fait, tu peux rajouter aussi des conditions dans la liste compréhension.Donc là, j'ai dit i étoile étoile pour dire carré.En fait, c'est juste une appellation.
00:59:04 :On pourrait dire if fois i, il me...Ouais, si ça marche, ça.Mais en gros, ça, c'est le carré de i.If, x, pour centaines...
00:59:15 :Je vais écrire après, deux, égale, différents...En fait, si je fais ça,je vais obtenir le carré d'uniquement les nombres impairs.OK? Avec le modulo exactement.
00:59:31 :En fait, ici, i pourcentage 2,c'est le reste de la division euclidienne de i par 2.Et ça, en mathématiques, c'est un moyen de voir si un nombre est pair ou impair.
00:59:41 :Mais ici, par exemple, si je fais 4 modulo 2,j'obtiens 0, parce que 4, c'est 2 fois 2 plus 0.Par contre, si je fais 5 modulo 2, j'ai 1.
00:59:53 :Parce qu'en fait, 5, c'est 2 fois 2, plus 1.Et du coup, je sais que... Enfin bref, je vais pas rentrer dans les détails,c'est des mathématiques, mais ça permet de voir si c'est pair ou impair.
01:00:03 :Et donc, tu vois, c'est l'une que dans une liste compréhension,tu peux en plus mettre des choses un petit peu plus complexes,où en fait, tu dis... Tu mets tes conditions dans ta boucle.
01:00:12 :Encore plus complexes!Après, tu peux mettre tout ce que tu veux.Tu peux... Oui.Tu peux mettre toutes les conditions que tu veux,mais pour moi, en fait, le concept de base est là,celui qui est ici, et après, tu fais tout ce que tu veux dedans.
01:00:31 :Ouais, exactement.Et ce qui est... Parce que les gens aussi,ils savent pas forcément quand tu fais des listes compréhension,tu peux faire pareil avec un dictionnaire.
01:00:42 :Tu peux dire... Ici, avec un dictionnaire,on peut dire que la clé...Je crois que je vais peut-être devoir virer...Il va falloir 1, 2, 3, 4.
01:01:00 :Ici, 1, 2, 3, 4.Je vais devoir virer les trois derniers.Imagine que tu veux créer un dictionnaire à partir de NEMS et JOBS.Donc JOBS, on va le mettre ici.
01:01:11 :Là, tu peux le faire avec un dictionnaire compréhension.On va mettre ici JOBS.OK. Et donc ici, tu peux dire data égale...Donc ici, la clé, ça va être ton nom,donc ça va être NEMS, ça a une variable.
01:01:29 :Le job, for name, job in zip,NEMS, JOBS, NEMS.Voilà, tu vois, j'ai créé mon dictionnaire en compréhension.Donc la compréhension, ça marche pour les listes et les dictionnaires.
01:02:04 :C'est aussi efficace.Ici, j'ai utilisé ZIP, c'est pour pouvoir boucler sur deux listes en parallèle.Ouais, franchement, c'est pratique.Attends, je vais revenir sur le ZIP.
01:02:19 :Si je fais FOR NG pour NAME et JOBS,in zip, NEMS, JOBS,INT NG,vous voyez, en fait, le ZIP, ça permet de...comme si vous descendiez en parallèle.
01:02:40 :Donc là, j'ai parcouru NEMS et JOBS avec la variable NG,grâce à ZIP.Voilà pour les listes et les listes compréhension et les dico.Je suis désolé, Céline, je ne sais pas trop ce que tu voudrais voir en plus.
01:02:56 :Tu peux mettre le niveau de complexité que tu veux,mais au final, ça restera une itération dans ta listeavec ou pas des conditions.Mais au final, ça restera la même chose.
01:03:09 :Je t'en prie.Je ne sais pas trop ce que je peux faire maintenant,parce que j'avais d'autres sujets, mais ça va prendre un petit peu de temps.
01:03:28 :Gabriel, je ne sais pas si tu es toujours là,il y avait ton histoire de...Super init, etc.On va peut-être voir ça.Pour les faire prévenir, pour ceux qui sont débutants,ça va être un petit peu plus avancé, mais il n'y a pas de souci,vous pouvez rester.
01:03:44 :Mais ça va être un petit peu plus avancé.Je vais juste vous prévenir.Ok, donc en gros, ta question, Gabriel, c'estle super init, j'en ai pas besoin.
01:03:56 :C'est ça que tu disais, parce que...Ouais, ouais, ouais.On va dire ça comme ça, ouais.Mais non, mais ce n'est pas du tout réducteur,c'est juste pour...
01:04:07 :Oui, oui, oui.Mais en gros, imagine, pour ceux qui ne connaissent pas ici,en fait, on fait de l'héritage.Donc, on définit une classe, une véhicule à 4 coups.
01:04:18 :Attendez, je regarde si ça marche.En fait, là, ce qu'on disait tout à l'heure,ici, c'est une classe, pour ceux qui ne connaissent pas,on définit une classe vraiment avec les attributs qu'on veut.
01:04:30 :Et on va faire de l'héritage, c'est-à-dire queici, ma classe voiture, avec cette syntaxe ici,on peut lui faire...On l'a fait hériter de la classe mère.
01:04:42 :Donc là, ici, ma classe voiture, c'est la classe fille,et ça, c'est ma classe mère.Et en fait, là, ce qui est intéressant dans l'héritage,c'est qu'on n'a pas besoin de...
01:04:49 :C'est pour éviter de se répéter soi-même.Donc, en piton, c'est ce qu'on appelle dry.D-R-Y.Donc, repeat yourself.Bonne soirée.N'hésitez pas à partir, il n'y a pas de souci.
01:05:03 :Salut, Stéphie.Pour éviter de se répéter, en fait,parce qu'en fait, une voiture, c'est quoi?C'est un véhicule à 4 roues, mais un petit peu particulier.
01:05:12 :C'est un véhicule à 4 roues pour la famille, etc.Enfin bref, on pourrait par exemple imaginer une autre classequi hérite de la véhicule à 4 roues, qui est un bus.
01:05:22 :Et vous voyez bien qu'une voiture, c'est pas pareil qu'un bus.Une voiture, ça a 5 sièges,alors qu'un bus, ça en a 60.Enfin bref, vous voyez un peu le concept de l'héritage.
01:05:33 :Ça partage des propriétés,mais les classes filles sont différentes.Vous voyez, un bus et une voiture, c'est presque pareil.C'est à peu près les mêmes attributs,c'est-à-dire ça transporte d'un point A à un point B,mais ça a beaucoup plus de sièges, etc.
01:05:48 :Donc là, en fait, ce qu'on fait, c'est qu'on définit notre classe mèrevéhicule 4 roues avec un attribut ici global.Le constructeur, qui nous permet de définirnotre véhicule à 4 roues en lui donnant...
01:06:00 :Pourquoi j'ai mis...En définissant le poids du véhicule à 4 roues.Donc on définit son attribut comme ceci.Et on va lui définir une méthode vitesse.
01:06:14 :On va dire, c'est une hypothèse,on va dire qu'en fait, la vitesse du véhicule à 4 roues,ça évolue linéairement avec son poids,suivant un ratio qu'on lui donne.
01:06:24 :Donc imaginez, par exemple, je dis une bêtise,vous faites 10 kg, je dis que votre vitesse,ça va être un ratio fois 10 kg,parce que ça doit être homogène à une vitesse,donc en mètres par seconde,donc le ratio doit être homogène,il est en secondes moins 1, enfin bref,
01:06:45 :on réfléchit, mais pas en secondes moins 1,en mètres secondes moins 1,avec l'unité qui permet de faire la vitesse.Vous ne vous inquiétez pas de ça.
01:06:54 :Donc là, dans notre classe voiture,on va pouvoir accéder à la méthode de la classe mère.Donc ici, je vais lancer classe métage.Donc je vais définir d'abord,si je définis une voiture, imaginons ma voiture,vous voyez que dans ma classif, mon constructeur,il ne prend que la couleur.
01:07:16 :Donc si je fais ça, Gabriel, je peux définir une voiture,et que si je lui dis,quelle est la couleur, c'est rouge.Par contre, si je lui dis,calcule-moi la vitesse avec un ratio de 2,en fait, il ne comprend pas,parce que la voiture, elle n'a jamais hérité du poids.
01:07:36 :Donc c'est pour ça, en fait, c'est là qu'intervientton super init.Super init.Ici, tu veux surcharger le constructeur de ta classe mère.Donc tu veux lui dire qu'il a un poids et une couleur aussi.
01:07:54 :Tu définis le poids, en fait,c'est un peu comme si tu voulais pouvoir définirtout ce qu'il y a dans la classe véhicule à 4 roues,mais en plus, les attributs qui sont propres uniquement à ta voiture.
01:08:08 :Et en fait, avec ça, si je relance,là, je redéfinis ma voiture.Cette fois-ci, il faut lui définir un poids,donc 2500 kg.J'ai un problème, voiture.
01:08:35 :Excuse-moi, il y a un...Qu'est-ce que je fais encore qui ne va pas?Oui, non, c'est ici.C'est le couleur.Pardon.Il faut que je débug en live, c'est pas évident.
01:09:45 :OK.voiture.vcs2Et maintenant, si je fais voiture.vcs3,tu vois, ça me permet d'hériter quand même des attributset en définir en plus pour ma voiture.
01:10:00 :Je ne sais pas si c'est...Du coup, je te l'avais envoyé le script, Gabriel, sur la communauté.Est-ce que c'est un peu plus clair pour toi?
01:10:07 :Je ne sais pas très bien expliquer, je pense.Mais...Alors, attend, si, OK, écoute, ouais.Ça, c'est juste le fait que dans ta classe fille, en fait, sans le super,tu peux déjà appeler toutes les méthodes qui sont dans la classe mère.
01:10:25 :Oui, ça, tu peux.Ça, il n'y a pas de souci.D'accord, OK, c'est ça que vous voulez être sûr.Ça, ça fonctionne.Ça, ça fonctionne.
01:10:31 :Par contre, tu vois, mais par contre, ça veut dire que tu peux pas,si tu fais ça, si tu définis pas le super,et bien tu peux pas définir de constructeur pour ta classe filleparce que, en fait, ça ne bouge pas.
01:10:43 :Ça va être un nouveau, non?Ouais, en fait, soit si tu définis pas de constructeur dans ta classe fille,il va forcément appeler le constructeur de ta classe mère.
01:10:52 :OK.Par défaut.Donc, dès que tu vas commencer à définir un constructeur,là, il va commencer à écraser le constructeur de la classe mère.Donc, si tu lui mets pas le super ici, il va pas initialiser,il va pas créer une première instance de ta classe mère.
01:11:09 :Et donc, en fait, si tu définis pas ce super,t'as aucun moyen de définir un constructeur pour ta classe fille.Si, ça va marcher, mais tu vas pas avoir accèsà ce que t'avais accès dans ta classe mère.
01:11:20 :Et le super, tu pourrais l'utiliser, parce que du coup, pour la méthode vitesse,tu pourrais très bien utiliser le super, du coup, ici dedans,si tu fais def vitesse, non?
01:11:31 :Ah oui, oui, tout à fait.Mais t'as pas besoin, parce que tu peux y avoir accès, justement.Là, si tu fais ça, t'es pas dry,parce qu'en fait, à moins que tu veux définir un truc...
01:11:41 :Ouais, d'accord, OK.Tu vois, t'as pas besoin, parce que ta voiture, elle a déjà...Ton ratio, t'as ton poids, OK.Elle est déjà des méthodes de la classe mère.
01:11:50 :C'est si je voulais rajouter quelque chose en vitesse, quoi,propre à ma voiture.Voilà, c'est ça.Oui, après, tu pourrais surcharger ta classe vitesse.Donc, il faudrait que tu la redéfinisses, effectivement, avec d'autres choses.
01:12:03 :Je sais pas, tu voudrais rajouter en plus,pot d'échappement qui est propre à la voiture.Là, tu devrais le redéfinir.Ouais, OK, ça m'embêtait de pas, ce que j'étais passé dessus,j'avais pensé avoir compris, et je sais pas pourquoi,et d'un coup, j'ai eu des doutes.
01:12:19 :C'est bon, c'est bon, en fait.OK, merci, en tout cas.Bah, je t'en prie.C'est à peu près tout pour moi, pour aujourd'hui.On a un peu dépassé le temps.
01:12:35 :Ouais, pour ceux qui posaient la question,normalement, c'est une heure la session.Bonne soirée à tous ceux qui disaient bonne soirée.Et voilà, dites-moi un peu, n'hésitez pas à me dire dans le chat.
01:12:51 :J'ai fait, moi, comme début, des conneries,c'est que je ne pensais pas, je voulais pas trop regarder les lives et tout,parce que je m'étais dit, j'allais rien comprendre.
01:13:00 :C'est qui qui parle, là, pardon?Excusez-nous, j'avais oublié d'enlever le micro.On disait que c'était top, donc merci, nickel.Ah, OK, bah merci.Mais excuse-nous.
01:13:15 :Pas de souci.Pour les salons, Laurence, les salons,tu veux dire ce qu'on a montré, là, tout à l'heure?Dis-moi dans le chat.Oui, en fait, je suis arrivée en retard,donc je n'ai pas entendu ce que vous avez dit au début.
01:13:31 :Pas de souci.Attends, je vais te remontrer.La nouvelle option que Thibault a rajoutée…Attends, je mets ça là.Tu vois mon écran?Oui.Tu vois, ici, tu vas dans « Sessions libres ».
01:13:50 :D'accord.Donc là, tu vois, il a rajouté le nombre de personnesqui sont déjà dans le salon, et tu as juste à rejoindre la session.
01:13:57 :OK, d'accord.Donc là, on va mettre un truc libre.OK, merci.Pas de souci.Ben voilà, je pense que…Si vous n'avez pas de questions, on va s'arrêter là.
01:14:20 :OK.Oui, bien sûr, Raphaël, c'est possible de parler des environnements virtuelsle jeudi prochain.Désolé pour aujourd'hui.Je ne t'oublierai pas jeudi prochain.On fera ça dès le début.
01:14:40 :OK.En plus, c'est pratique.Ben oui, oui.Et pour Jonathan et Raphaël, est-ce que vous avez déjà…Parce que j'avais déjà parlé dans un mentorat d'environnement virtuel.
01:14:53 :Donc, dites-moi si c'est en fait que vous voulez que je réexpliqueou si c'est parce que vous voulez des choses en plus.Vous me direz en plus.
Aucune occurrence trouvée pour « ».
Bravo, tu es prêt à passer à la suite