Session du 03 novembre 2022 à 20h00
Bases du Langage
Librairie Standard & Modules
Deviens membre Premium magic_button
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- check +100h de formations
- check +180 exercices de code
- check +100h de mentorats en rediffusion
- check 20 projets
- check Mentorats groupés hebdomadaires
- check Support individuel avec nos mentors
Regex, arguments de script et OpenCV
Découvrez comment valider des emails avec des regex, passer des arguments à un script Python et introduire la détection de motifs avec OpenCV.
00:00:00 :Je te lance de mon côté et on semble être pas trop mal cette fois ci pour la...J'ai mis en avant du coup le partage d'écran, maximisé.
00:00:10 :Ah oui ça a l'air bien, ouais.Le chat je vais le laisser parce que c'est quand même intéressant de la voir si les gens ont des questions.
00:00:18 :Bah voilà je pense que c'est tout bon, du coup je te laisse.Ouais, merci.Bonne session à tous.Merci Thibault.Bonjour à tous, vous allez bien?
00:00:35 :N'hésitez pas.Comme d'habitude vous mettez sur le chat s'il y a un problème de son ou un coup.Ouais, merci ça va.Du coup je vois des gens que j'ai déjà vus.
00:00:50 :Gabriel, Jonathan, Mathieu il me semble, Ludo aussi, Newtortle.Après désolé si j'en oublie mais...Donc c'est plutôt des gens qui sont avancés dans la formation, qui sont présents.
00:01:06 :Dites moi un peu où est-ce que vous en êtes.Personnellement je suis pas trop avancé encore, je suis toujours...Ouais mais c'est fini les formations depuis tant qu'on est là.
00:01:20 :Pour les projets, les vidéos courses, la calculatrice.Ok, non mais très bien. Avancé est un grand mot.Si Newtortle, je te vois répondre sur le forum, on peut considérer que...
00:01:36 :C'est que t'es avancé.3 mois sans procs là.J'ai commencé ce matin, suite à la masterclass.Pas terminé, je suis un peu avancé.Bon bah de toute façon, n'hésitez pas à m'arrêter.
00:01:51 :Pour ceux qui n'ont pas l'habitude des mentorats,des fois je montre des choses qui sont soit vraiment très débutants pour certains,et puis il y en a qui vont...
00:02:05 :J'essaie d'aider, mais...Ouais, je suis d'accord avec toi Newtortle.Moi aussi c'est comme ça que je fonctionne.En gros, voilà, je vais présenter des choses.
00:02:13 :Soyez pas du tout dépassés ou quoi.Vous dites, je suis complètement dépassé, je comprends rien à ce qui se passe.J'essaie de vous montrer des choses, c'est aussi une session de partage,donc n'hésitez pas à poser plein de questions.
00:02:24 :Je prépare toujours un petit programme,parce que c'est aussi pour me rassurer moi-même.J'aime bien avoir quelque chose de préparé,pour pas être pris pourvu.
00:02:33 :De toute façon, moi j'ai aucun problème à dire que c'est pas un truc.Je suis sûr que parmi vous, il y en a qui savent plus de choses que moi sur un certain sujet,donc je suis ouvert à toute remarque et il n'y a pas de souci.
00:02:47 :Donc là pour les sujets, bonsoir Alex.On va pas arrêter.Ok, bah Mathieu, il n'y a pas de souci, franchement, vas-y à ton rythme.William, pareil, il faut vraiment aller dire,ça sert à rien de se forcer, parce qu'après on emmagasine de l'information et tout ça,et puis on ne sait pas quoi en faire, donc avancez à votre rythme
00:03:08 :et ça se passera très bien.Ouais, avec le boulot, je comprends, il faut gérer, c'est pas facile.D'ailleurs, j'ai préparé un petit truc, mais c'est pas rien.
00:03:19 :Avec le boulot, je n'ai pas pu faire la préparation que je voulais,mais on va y aller comme ça, parfois un peu en freestyle, ça peut marcher.
00:03:25 :Donc en gros, je voudrais vous montrer un peu, on va créer un modulede vérification d'email, par exemple, mais bon, c'est juste pour vous introduire un peu les regex,j'en ai déjà parlé, mais on verra ça plus en détail.
00:03:39 :Ensuite, je vous montrerai un peu comment on peut passer des arguments à un script Pythonautrement qu'avec le input, ce que vous connaissez déjà,Gabriel, si tu es sur la calculatrice en ce moment, bonsoir Stéphie.
00:03:51 :Tu vois qu'on passe des arguments avec input, même ceux qui ont déjà fait l'exercice,mais il y a un autre moyen de passer des arguments.
00:03:57 :Et aussi, si on a le temps, je vous montrerai un peu de la reconnaissance de pattern.Donc pattern, c'est un mot anglais, c'est un motif un peu dans une image.
00:04:08 :Donc par exemple, si vous avez une photographie avec des joueurs de foot,si vous voulez repérer où est-ce qu'il est le ballon, c'est possible avec la librairie OpenCV.
00:04:20 :Donc je vous montrerai ça sur un exemple.Ok, donc on va commencer, qu'est-ce que j'ai dit?Ah oui, avant, je voulais vous montrer une petite extension de VS Codeque j'ai découvert ce matin, vraiment une extension sans prétention.
00:04:37 :Ça s'appelle VscodePets, en fait pets en anglais ça veut dire ces petits animaux de compagnie.Donc moi je l'ai déjà installé.Et vous pouvez l'activer comme ça, vous faites pets.
00:04:53 :Ah non je ne l'ai pas installé, c'était sur ma machine.Donc là il est installé.Et vous faites pets, vous démarrez StartPetCodingSession,et là vous voyez en fait, vous allez faire apparaître des petits animaux de compagnie.
00:05:19 :Voilà, ça peut être, si vous faites additional pets,donc là il vous dit qu'est-ce que tu veux rajouter,donc je sais pas, on dit un crabe, vous pouvez même lui donner un nom.
00:05:31 :Et en fait il va arriver ici.Donc voilà, je trouve que c'est sympa, c'est marrant,si jamais vous faites du live coding,quand vous faites du partage d'écran ou quoi,ça peut être rigolo, et dans ce monde de brut, ça peut faire du bien.
00:05:55 :Voilà, je vais les laisser pendant la session.N'hésitez pas à installer cette extension, ça s'appelle EVS CodePets.Et si vous voulez, on va en rajouter un autre.
00:06:07 :On va mettre un canard en caoutchouc.Voilà.Bon vous faites pas trop déconcentrer, si ça vous déconcentre trop vous me dites.Et si jamais un jour vous voulez, si vous avez des envies meurtrières,vous pouvez tous les éliminer.
00:06:23 :Vous faites, il y a un truc.Tu cliques sur quoi pour en faire un par exemple?Ça c'est, sur Mac c'est Command Maj P,et sur Windows c'est Control Shift P.
00:06:42 :En fait tu vas avoir une invite de commandeoù tu peux mettre tout ce que tu veux dans VS Code.Et pour installer les extensions, c'est ici sur le côté.
00:06:52 :Il y a une commande pour les tuer mais je sais plus comment faire.Ok, donc ce qu'on va vérifier,on va faire une fonction qui permet de vérifier un format d'email.
00:07:05 :Donc on va définir une fonction,checkMail, avec ici un email.Moi je commence toujours mes fonctions par dire retour non et après je le change.
00:07:18 :Et ici on va définir le pattern.Donc j'écris et après je vous explique.Et on va dire ici résulte égale, pour importer une porte RE,résulte égale RE.
00:07:59 :Ne vous inquiétez pas, je vais tout vous expliquer.Pattern compile prog match.Résulte RE.match email.Attendez, je suis en train de faire n'importe quoi.Je vais faire ma correction.
00:08:52 :Ok, donc en fait ce qu'on fait quand on veut faire un index,on définit d'abord, je vais vous l'expliquer après, ce truc barbare ici,on définit d'abord notre motif qui va nous permettre de trouver le motifdans un groupement de texte.
00:09:10 :Ici prog ça veut dire qu'en gros vous compilez,c'est à dire c'est un peu comme si vous le mettiez dans une fonction,votre pattern.Et ici résulte prog match, ça veut dire que vous allez essayer de faire matcher,donc correspondre votre motif avec votre texte.
00:09:29 :Je vais vous montrer, ça sera plus simple.Ici, ça faites-le, je ne sais pas si vous avez l'habitude de l'écrire comme çaquand vous voulez exécuter un code.
00:09:41 :If name == main, parce qu'en fait si jamais vous voulez tester votre moduleet qu'après vous avez un autre module et que vous voulez importer,si vous mettez tout à l'arrache ici en exécution,dès que vous allez l'importer il va s'exécuter.
00:09:53 :Alors qu'ici, si vous êtes à l'intérieur de ça,vous allez uniquement exécuter le code quand vous êtes dans le module.Ici on va définir un email,je vais tester,gmail.com
00:10:10 :et on va faire un retourne résulte.Ok, et je vais faire un print check mail email.Ok, on va tester déjà si ça fonctionne.Ok, et si par exemple je fais ça.
00:10:35 :Ok, ça marche.Donc en gros, ici ce qu'on fait ça s'appelle une regex,ça peut paraître un peu barbare,mais ça permet d'identifier des motifs.
00:10:48 :Ici ce qu'on dit, c'est que, vous voyez on reconnaît quand même arrow base ici,parce qu'en fait on sait qu'une adresse mail c'est une chaîne de caractère,ça peut être qu'il peut y avoir des tirés, des chiffres, etc.
00:10:58 :mais là on ne va pas rentrer dans le détail.Mais en gros c'est une chaîne de caractère suivie d'un arrow base.Ici ensuite on a un gmail ou un awl ou quelque chose comme ça,ensuite on a un point, et ensuite on a un.com,.fr,.yahoo,.net, j'en sais rien.
00:11:14 :Donc en gros ici, quand on fait notre regex, on va juste direje veux que tu trouves dans toute ma chaîne de caractère un motif qui est comme ça,c'est à dire, ici entrecroché, quand vous mettez entrecroché dans les regex,ça veut dire que vous mettez tout ce qu'il y a entre eux.
00:11:32 :Donc ici je dis tout ce qu'il y a entre A et Z,donc toutes les lettres de l'alphabet en majuscule,ou toutes les lettres de l'alphabet en minuscule,donc c'est ici qu'on écrit A à Z et A à Z, après je ferai des exemples, vous verrez.
00:11:46 :Ici le petit plus, ça veut dire que vous dites je veux qu'il y ait au moins une foisce schéma là qui se reproduise, parce qu'en fait ici,si je mets juste A à Z sans le plus, ça veut dire une seule fois,il va y avoir qu'une seule lettre.
00:12:03 :Alors qu'ici si je mets le plus, il va direok j'accepte le motif s'il y a la répétition d'au moins une lettre.Ensuite vous voulez votre arrobas, donc ça vous le laissez,et ensuite pareil, vous voulez qu'après votre arrobas, vous voulez une chaîne de caractères,donc souvent c'est Gmail ou quoi que ce soit,
00:12:22 :donc vous remettez la même chose ici.Pareil plus, et ici pourquoi je mets un backslash, un anti-slash,parce qu'en fait je veux échapper, entre guillemets, le point.
00:12:35 :Ouais, bah merci Willy.Et donc en fait, ici, parce que si je mets simplement le point,c'est un caractère spécial qui remplace n'importe quel caractère.
00:12:47 :Donc ça c'est pas acceptable, donc vous mettez un backslash pour direattention, je veux bien repérer le point, mais le point de la langue française,pas le point de regex qui me fait correspondre n'importe quel caractère.
00:13:02 :Et pareil, ensuite vous voulez un.com ou un.fr,donc là vous remettez un enchaînement de caractères ici.Donc je vais juste vous montrer pour le tester,donc il y a Willy qui a mis un lien qui peut être intéressant,mais il y a aussi, est-ce que je l'avais mis là-dessus?
00:13:22 :Non, c'est pas là.Regex en 1.En fait, regex en 1, ça vous permet de trouver la regex,peut-être que ça va être plus clair pour vous, si je la mets ici.
00:13:40 :Ok, donc en gros, dans regex en 1, c'est un site qui vous permetd'élaborer vos propres regex, parce qu'en gros, si vous utilisezun peu comme ça à l'aveugle, c'est un peu compliqué à définir.
00:13:51 :Donc vous pouvez, bonjour Arnold, bonsoir, ou je sais pas, où tu es, salut.Du coup, ça reste bonsoir.Sud de la France.Du coup, ici, on va écrire un texte, donc envoyer un emailà l'adresse suivante svp, et là je vais mettre pierre.gmail.com.
00:14:25 :Et vous voyez qu'en fait, ma regex ici, elle a bien trouvé mon bon après-midi au Québec.Ici, ma regex, elle a bien uniquement trouvé mon adresse mail.
00:14:36 :Parce que, voilà, si par exemple, je veux, comment on peut dire,bonjour monsieur, madame, ça je vais l'enlever.Imaginez que je veuille uniquement trouver les mots qui ont une majuscule.
00:14:55 :Donc en fait, c'est simple, une majuscule, je l'écris comme ça,donc c'est de A à Z, avec, donc ici c'est une seule fois,et ensuite ce que je veux, c'est une suite de minuscules, au moins une fois.
00:15:09 :Et donc, voilà.Donc en fait, vous voyez, il m'a mis, et si le mail a des chiffres,bah voilà, en fait si le mail a des chiffres, ce que tu peux faire,c'est qu'on va faire un test, donc pierre59, moi je viens du nord,donc c'est le 59, donc on va remettre la regex ici.
00:15:36 :Je ne vais pas me la trouver, mais si par exemple, vous pouvez aussi envoyer à jeanatowell.fr.Vous voyez en fait, ma regex ici, elle m'a bien trouvé,elle m'a bien trouvé ici cette adresse mail là, parce qu'elle est sous le format,mais par contre elle ne m'a pas trouvé celle là, parce que comme demandé par Willy,
00:16:05 :qui a déjà fait l'exercice, tu as déjà travaillé sur les regex Willy?Et du coup en fait, il ne me l'a pas trouvé ici, parce que moi je n'ai pas spécifié qu'il y a un chiffre.
00:16:16 :Donc en fait, il faut que je lui mette ici qu'il faut un chiffre aussi.Donc ici c'est 0 à 9, et voilà, vous voyez qu'il me l'a trouvé maintenant.
00:16:27 :Parce qu'en fait, je lui ai rajouté, ça peut être aussi, je peux avoir n'importe quel chiffre entre 0 et 9.Donc voilà, c'était qui qui avait posé la question? C'était William.
00:16:40 :Donc voilà comment tu peux faire en fait, si jamais, après il y a plein de trucs, là c'était juste pour l'exemple.Après il peut y avoir des tirés, pourquoi je mets un plus?
00:16:50 :Alors en fait, si je ne mets pas le plus, je vais faire avec un truc plus simple.Imagine, je mets juste, en fait, si je mets juste le A à Z, est-ce que c'est judicieux ça?
00:17:10 :En fait, si je mets juste, je veux une lettre compris entre A à Z, donc n'importe quelle lettre de l'alphabet en minuscule,et bien il va me trouver toutes les lettres qui sont en minuscule.
00:17:21 :Alors celle-là il ne me l'a pas trouvé, tu vois par exemple le grand E, le grand B, il ne me l'a pas mis.Et si je mets un plus ici, si je mets un plus, il va bien me prendre un groupement de lettres.
00:17:31 :En fait, c'est au moins une fois. Donc au moins une fois, ça veut dire une fois ou deux fois, trois fois, jusqu'à l'infini.Donc en fait, le plus, il sert à dire, c'est un mot, ce n'est pas seulement une lettre.
00:17:44 :Donc en fait, tu vois ici, je vais te montrer si je l'enlève.Je le remets ici, et que je l'enlève le plus, n'importe où en fait.
00:17:58 :Tu vois, il va juste me prendre le F ici, si je mets là, il ne va plus du tout me le trouver,parce qu'en fait, dans ce que j'ai écrit, ça n'existe pas le fait d'avoir arrobas et uniquement une lettre.
00:18:10 :Donc c'est pour ça qu'il faut que je mette le plus.Voilà, comme ça. Et ici, pareil, il faut que je le rajoute.Voilà, donc là j'ai trouvé mon adresse mail.
00:18:24 :Donc ça, en fait, ça me permet de trouver, imaginons que vous avez un grand texte de 1000 mots,et on vous demande de chercher les adresses mail.
00:18:32 :Donc là, vous pouvez utiliser le script Kami Willy.Et là, en fait, vous avez une fonction qui s'appelle REFindAll.Là, en fait, vous allez pouvoir trouver toutes les correspondances.
00:18:46 :Là, j'en ai trouvé qu'une seule, mais si jamais vous voulez trouver tous les emails,il suffit de faire ici, au lieu de faire PROGMATCH, vous faites un FINDALL,et là il va vous trouver tous les emails dans la chaîne de caractère.
00:18:58 :Donc c'est un peu chiant, un peu dur à prendre en main.25 emails, voilà les trois derniers à l'entière.Pardon, attendez, excusez-moi.Je ne sais pas si vous avez entendu l'intervention de Thierry, désolé.
00:19:16 :Qu'est-ce que je disais?Oui, donc les reggae, c'est un peu dur à prendre en main,parce que c'est un peu conceptuel et c'est abstrait.Vous voyez ici, quand on lit ça, on ne comprend rien, mais bon, au fur et à mesure...
00:19:28 :Ok, est-ce que vous pouvez me dire, les autres, si vous avez toujours du son?Ok, merci.Pas de problème.Ok, merci.Du coup, c'est un peu dur à prendre en main les reggae, parce que c'est un peu abstrait,mais sachez que c'est vraiment très puissant et vous pouvez faire plein de choses.
00:19:47 :Donc là, en fait, on a juste...Moi ici, je ne suis pas en train de rechercher un email dans un texte,je suis juste en train de vérifier que mon email est sous le bon format.
00:19:56 :Vous voyez, par exemple, on vous demande de créer un script qui permet de vérifiersi les gens ont bien renseigné les emails au bon format.
00:20:04 :Par exemple, dans Django, si vous faites un site web, que vous demandez un email,vous voulez vérifier automatiquement que l'email qui est rentré, il est correct, sous le bon format.
00:20:13 :Parce qu'en fait, ici, vous voyez, si par exemple, avec la reggae que j'ai écrite,j'ai email comme, vous voyez bien que ce n'est pas bon comme email,et bien il me dit bien en fait, non.
00:20:23 :Après, je pourrais écrire tout un message en disant, si c'est non,s'il n'y a pas de match dans l'email que j'ai envoyé, tu me mets une erreur de format.
00:20:32 :Donc ici, on peut, voilà, comment on peut faire...Je vais mettre ici un email.Ah, vous voyez, même les plus grands utilisent les reggae.Du coup, voilà pour les reggae.
00:20:50 :Reggae, est-ce que c'est clair pour vous? Est-ce que vous voulez aller plus loin dans le détail?Ou est-ce que je peux passer à la suite pour les arguments?
00:20:57 :Je vais utiliser cet exemple-là pour les arguments.Dites-moi dans le chat si vous voulez un peu plus de détails sur les reggae.Qu'est-ce que tu voudrais voir un peu plus en détail dans les reggae?
00:21:18 :Un autre exemple?Je ne sais pas, Jonathan, si tu as un autre exemple que tu voudrais voir?Ouais, par exemple, là vous voyez, Thibaut a proposé un petit exercice.
00:21:32 :Attends, je réfléchis, ce que je pourrais...Là, je n'ai pas d'exemple, mais ce que je te conseille, Jonathan, c'est d'aller sur reggae101,donc le truc que j'ai montré juste avant.
00:21:49 :Et je crois qu'il y a un site aussi pour faire des reggae challenge.Ah oui, sur un téléphone par exemple, ça c'est une bonne idée.
00:22:03 :Un numéro de téléphone, en fait, ce qu'il faut faire sur un numéro de téléphone, on va le faire là-dessus.Vous pouvez...06 07 45 09Ce numéro, c'est un numéro de téléphone,09, et ce numéro, c'est totalement inventé.
00:22:34 :Sur un téléphone, j'avais eu le coup.Donc imagine que là tu veux récupérer les numéros de téléphone dans un texte, c'est bien ça que tu veux faire?
00:22:47 :Donc en fait, ça commence toujours par 09,donc là, si je fais ça, mais par contre ici, ça ne marche pas, parce que si je fais ça,j'ai deux voitures et une maison.
00:23:09 :Tu vois que si je mets juste un chiffre comme ça, ça ne va pas aller, il va m'en prendre.Et je peux même dire, j'ai 20 voitures.
00:23:16 :Tu vois, ça, ça ne va pas marcher.Qu'est-ce qu'on peut faire pour ça?En fait, nous, ce qu'on veut, c'est des groupes de chiffres, de deux chiffres avec un espace.
00:23:28 :Donc en fait, ce qu'on peut lui dire, c'est que il va...Donc là, ce n'est plus plus, parce qu'en fait, si je fais plus, comme tout à l'heure,si je fais plus, il va juste me sortir, tu vois, il va me faire pour ce...
00:23:45 :Il y a Willy qui est vraiment chaud sur les regags.Si vous voyez que si je fais juste plus, il va me dire ou moins un, il va me prendre 0,6,mais en fait, il va me prendre séparément 0,7, 0,45, etc.
00:23:57 :Il ne va pas considérer que c'est un numéro de téléphone entier ici.Donc en gros, ce qu'il faut faire, c'est qu'on peut lui dire,mais peut-être qu'il y a plein de solutions de le faire,on peut dire, je veux ou moins deux,ça en fait, quand vous mettez entre-acolade juste après votre regag,
00:24:13 :ça veut dire, je veux exactement deux.Ici, vous dites que vous voulez, je crois que c'est comme ça, c'est un espace,et ça en fait, vous voulez exactement le nombre de fois qu'il y a dans un numéro de téléphone.
00:24:29 :On peut faire comme ça, par exemple, et sur le dernier, il ne faut pas d'espace.Donc là, par exemple, une regag comme ça, ça te sortirait un numéro de téléphone.
00:24:37 :En fait, il faut être sûr que tous tes numéros de téléphone sont fournis au format comme ça.Mais par contre, il pourrait y avoir, je ne sais pas, des fois,il y a des numéros de téléphone qui sont fournis comme ça.
00:24:55 :Donc là, ce que tu veux, c'est bien ici, c'est un point,mais comme tout à l'heure, on l'a dit, il faut que tu échappes le caractère point.
00:25:03 :Parce que, en fait, point, je vais expliquer après ce que c'est,enfin j'ai déjà dit, mais en gros, c'est un caractère spécial.En fait, ici, j'ai remplacé par un point, et après, tu pourrais juste avoir 2, 4, 6, 8,tu pourrais avoir les 10 chiffres d'affilé.
00:25:26 :Donc là, pour ça, il suffirait juste de mettre 10 comme ça,là, tu aurais tes 10 chiffres d'affilé, comme ça, sans espace, sans rien.Donc là, tu vois, tu vas juste récupérer ton numéro de téléphone.
00:25:41 :Donc ça, c'était pour les regex, mais bon, je vous ai toujours ça,en fait, quand j'ai besoin de faire une regex dans mon script,je vais le tester sur regex 101, comme ça, en plus, il me le sort tout de suite,et je vois si j'ai bon ou pas.
00:25:56 :Donc là, imaginons maintenant, en fait, on a un script, et on veut checker les emails.Donc c'est un peu chiant, parce que ça veut dire que dans le script, à chaque fois,on est obligé d'ouvrir le code, en gros, de faire un clic droit,open with, ouvrir avec vs code, et c'est un peu chiant.
00:26:13 :Enfin, un peu chiant, ça dépend de l'utilisation que vous faites.Mais si vous voulez un script qui peut s'interagir en ligne de commande,vous pouvez passer les arguments d'une manière différente.
00:26:21 :Je vais écrire ici...Je vais mettre, en fait, en gros,si il trouve quelque chose, il va me sortir un objet.Si il trouve quelque chose, il va me sortir un objet. Par contre, si il trouve...
00:26:56 :Si il est en non, ça veut dire qu'il n'a rien trouvé.Donc ça veut dire que mon email n'est pas bon.Donc if result, on va dire print...
00:27:05 :Ok, on est content.On dit, ben voilà, bon format.Et sinon, on dit, attention, mauvais format.Et on va tester quand même.Ok, bon format, si je change...
00:27:41 :Ok, ça marche.Donc vous voyez, c'est un peu chiant, parce que j'ai oublié de rentrer mon email ici.Donc est-ce que, dites-moi si vous connaissez ça.
00:27:51 :6, j'imagine que vous connaissez, parce quequand on veut voir les variables de 6,6.pass,vous avez la variable de pass du système.Donc j'imagine que vous connaissez.
00:28:08 :Du coup, Lisa, tu dis oui, tu connais 6,ou est-ce que tu voulais dire, voilà, comment on fait pour passer les arguments d'une autre manière?
00:28:16 :Tu l'as déjà fait, peut-être?Ok, donc en fait, tu vas voir que 6, ça permet,6, ça permet de faire plein de choses avec Python,mais vous pouvez aussi récupérer des arguments sur un script.
00:28:29 :En fait, 6, il a une variable qui s'appelle argv.Donc en fait, argv, c'est une liste,de base, c'est une liste, vous voyez, moi j'ai rien défini.
00:28:40 :C'est une liste et il contient plusieurs...Non, celui qui remplace os, c'est passlib, je crois,dans les nouvelles versions de Python.Je crois que Thibault a fait une vidéo, je ne sais pas s'il y a ça dedans.
00:28:56 :Non, non, c'est pas passlib, 6, c'est autre chose.Donc en fait, argv, quand vous avez un script ici,attendez, je vais quitter ça.Je vais faire print 6.argv.
00:29:30 :En fait, qu'est-ce qu'il me dit?Normalement, le argv par défaut,le argv par défaut, il contient le nom de votre script.Vous voyez ici, emailverif.
00:29:45 :Mais ce qui est intéressant, c'est que vous pouvez aussipasser des arguments.Vous voyez, en fait, argv,c'est parce qu'il l'a quitté, je vais le refaire.
00:30:10 :Vous voyez ici, c'est le nom de mon script.Mais ça, c'est vraiment le truc de base.Est-ce que vous pouvez faire, ce qui est intéressant,c'est print 6.argv.
00:30:35 :Comme je vous l'ai dit, vous l'avez vu, c'est une liste, argv.0, c'est le nom du script.Et tant que vous ne lui passez pas d'argument à votre script,il n'y a rien d'autre.
00:30:43 :Mais par contre, si vous commencez à lui passer des arguments,normalement, je devrais faire un tryexceptpour être sûr que j'ai passé un argument.Mais si je fais python emailverif,et là que je lui dis hello, le fameux hello world.
00:31:01 :Je vais le faire.Vous voyez en fait, ici, tout ce que vous mettez en après,il va vous le, je peux même mettre, for lm in 6.argv.
00:31:33 :Donc moi, je vais lui dire, tu me l'es,ici je dis 1 parce que tu ne me prends pas le premier,parce que c'est le nom du script et je m'en fiche.
00:31:40 :Et 1, 2 points, ça veut dire que tu me vas jusqu'à la fin.Print lm.Là vous allez voir en fait, si je fais python emailverif,arg1, arg2, hello, bonjour.
00:32:02 :Ce qui est intéressant, c'est que vous pouvez interagiravec votre script sans rentrer dedans,pour lui passer des arguments.Donc vous me voyez venir ici,au lieu maintenant de passer l'email ici,et bien en fait, vous allez le mettre en argv.
00:32:34 :Vous pouvez imaginer qu'on n'en passe qu'un seul.Maintenant vous voyez, j'aurai plus besoin de rentrer dans mon script,je peux juste faire un emailverif.pyet je lui dis, maintenant je veux pierre.gmail.com
00:32:55 :Ok, bon format.Maintenant si je lui dis, ah, mauvais format.Donc voilà, c'est un truc, c'est quelque chose qui est,vous le verrez beaucoup,en fait vous voyez quand vous avez des,parfois il y a des logiciels qui ne fonctionnent que en script,enfin que en ligne de commande.
00:33:17 :C'est ce qu'on appelle CLI, command line interface,où en fait vous pouvez interagir que avec la ligne de commande,il n'y a pas d'interface graphique,et donc pour passer des arguments vous faites comme ça.
00:33:29 :Et après, peut-être qu'on verra ça une prochaine fois, peut-être,mais il y a des librairies qui permettent de,vous savez des fois quand vous faites sur un,ici quand je fais python help, je crois que c'est ça,ouais, en fait quand vous tapez help comme ça,il vous donne plein de, il vous dit comment fonctionne le script,
00:33:52 :enfin comment fonctionne, ici c'est python,mais si vous avez défini un logiciel, vous pouvez,je crois que c'est doctor ou je ne sais pas quoi,en fait c'est une librairie qui vous permet d'écrire la documentationde votre script, comme ça quand vous faites,si vous faites python check email,
00:34:10 :comment je l'ai écrit, emailverif.py,et puis que vous faites, enfin là je ne l'ai pas fait,et que vous faites help comme ça,vous pourrez définir un peu comment fonctionne votre scriptet comment il faut lui passer les arguments.
00:34:25 :Ici par exemple, si on voulait faire,si on voulait en passer plusieurs,je vais juste faire un petit exemple,en fait on veut en tester plusieurs,ici on va mettre des fstring,et puis là on va mettre,voilà, et puis, attendez maintenant,ici par contre il faut que je le mette là en paramètre,
00:35:37 :python emailverif.py,donc on va tester pierre.gmail.com,hello.awel.fr,donc là ça va marcher,et si par exemple je tape juste,alors juste une seule lettre, il ne va pas me le prendre,gmail.fr,
00:36:02 :voilà donc pierre andré, bon format,bon format il me l'a pris quand même,ah oui parce que j'ai mis plus,donc c'est au moins une,donc une ça marche,mais si je fais par exemple avec un chiffre,et que je mets un tiré,et que je mets, je n'en sais rien,
00:36:18 :celui là il ne va pas me le prendre,vous voyez pierre andré, bon format,donc c'est un mauvais format.Donc voilà un peu ce que je voulais vous montrer avec les arguments,retenez bien ça,après ici il faut faire attention,il faut mettre des try except en disant si jamais la liste est vide,
00:36:35 :attention il faut dire qu'il manque des arguments,des trucs comme ça.Voilà, est-ce que c'est clair pour vous?Très clair, ok,alors on va passer à la suite,et j'espère que vous pourrez l'utiliser dans vos prochains scripts.
00:37:04 :Alors ce qu'on va faire maintenant,attendez je vais vérifier que c'était bien ça,ce que je voulais faire,à chaque fois je perds,est-ce que j'ai foutu ma prese?
00:37:18 :Après ça j'avais dit quoi déjà tout à l'heure,ces reconnaissances d'images?Ça sert dans tous les langages,pour la regex tu veux dire Willy ou pour les arguments?
00:37:30 :Ah dans tous les langages de programmation?Ah la regex ok.Oui la regex c'est pas propre à Python,il y a des Java, enfin avec tous les langages le C, le Java.
00:37:48 :Ok, donc la reconnaissance d'images,donc vous allez voir on peut faire des choses intéressantes,donc en gros l'idée ce qu'on va faire,c'est un peu imaginer par exemple le jeu Où est Charlie?
00:38:02 :si vous le connaissez,pour ceux qui sont au Canada et tout ça,je ne sais pas si ça existe Où est Charlie au Québec.Dis nous,je ne sais plus comment c'est,ok, on a déjà discuté ensemble,c'était Samy je crois,Samy tu es toujours là?
00:38:28 :ça existe Où est Charlie au Québec?En gros si vous avez une image avec plein de motifs dedans,et que vous jouez au jeu,vous essayez de trouver la tête de Charlie,donc là en gros c'est un peu ce qu'on va faire.
00:38:45 :Donc pour le jeu,voilà vous voyez que,juste pour vous faire plaisir,ça c'était une photo de mon enterrement de vie de garçon,en gros ce qu'on va faire,c'est que dans cette image là,on va essayer de chercher le motif,imaginons qu'on cherche le motif,ici une bière,
00:39:09 :on veut, je ne sais pas,imaginez que votre...Ah bah super!Je ne sais pas,là ça va c'est assez simple,mais imaginez que c'est compliqué comme photo,qu'il y a plein d'objets,et que votre femme veut vérifier s'il n'y avait pas trop de bières,qu'elle veut compter le nombre de bières qu'il y avait sur la photo,
00:39:31 :donc elle pourrait utiliser ce logiciel,où en fait on va faire une reconnaissance de ce motif là.En gros, du coup, on va...Est-ce que...
00:39:46 :Je ne vais pas tout réécrire parce que j'ai peur qu'on perde du temps.On va le faire comme ça.Donc en gros ce que vous faites,il faut importer d'abord la librairie CV2,en fait CV2, si je vous le mets en pip-list ici,la librairie elle s'appelle OpenCV Python,
00:40:06 :donc là c'est la version actuelle,mais avec la version ça marche.Ensuite, il vous faut NumPy,parce qu'en fait vous allez voir que les images,en gros les images c'est quoi?
00:40:18 :C'est juste...Ce sont des NumPy Array,c'est des...Je vais vous montrer après ce que c'est.Donc NumPy, et Globe ça c'est pas important,c'était juste si on voulait faire...
00:40:29 :Dans l'exemple je le ferai pas,mais vous voyez ici sur l'image que je vous ai montrée,j'avais aussi préparé des petits motifs ici,6, 5, 4,et puis je voulais vous montrer qu'on peut en faire plusieurs,mais ça on verra si on le fait, c'est pas important.
00:40:44 :C'est pour ça que j'avais pris Globe,Globe c'était pour parcourir tout le dossier,assets, et aller chercher tout ce qui commence par un template.Donc là en fait, on va juste faire...
00:40:52 :Donc ça c'est une fonction qui permet juste de charger l'image,donc il va chercher l'image en.png ou quoi que ce soit,et ici c'est le read,donc c'est vraiment une fonction du module CV2,donc il le lit, et ici il resize,ça veut dire en fait il redimensionne l'image.
00:41:17 :Et ici vous lui définissez un ratio fx et fy,donc en gros vous dites sur la largeur et sur la longueur,combien vous le redimensionnez.
00:41:25 :Moi je fais un big size, c'est pas obligatoire,c'est juste que moi je le fais pour que l'image soit pas trop grandeet pour que ça soit plus simple à regarder.
00:41:32 :Donc là pour l'instant, je fais pas grand chose,je vais juste vous montrer déjà.Je vais commenter pour pas dévoiler le suspense.Ici qu'est-ce qu'on fait?
00:41:47 :Donc on était où déjà?Ah oui non pardon c'est bon.Ok.Donc j'ai chargé le main et j'ai chargé aussi mon template.Vous voyez c'est ça, c'est le motif de la bière que je veux retrouver dans mon image.
00:42:27 :En fait je fais ça c'est pour vous montrer qu'est-ce que c'est qu'une image en vrai,quand on regarde une image en numérique.En fait quand vous voyez une image, vous voyez des magnifiques imagescomme vous l'avez vu avant.
00:42:44 :Mais en gros, ce que l'ordinateur comprend, pour lui c'est une suite de pixels.Et en fait juste une image c'est ça, c'est un enchaînement de pixelset chaque pixel il a une colorisation.
00:43:00 :Une bière sur internet, oui oui ça marche.C'est juste en fait ici, je te montrerai après, mais c'est quand tu fais ton...Là ça va bien matcher parce que j'ai pris une bière qui correspond à l'image.
00:43:16 :Mais en fait si tu prends une bière qui a un peu la même forme en fait,c'est-à-dire c'est une bouteille et si tu arrives à prendre la même couleur aussi c'est bien,mais il pourra matcher le pattern.
00:43:34 :Et ça va dépendre du taux de ressemblance que tu t'autorisesquand tu fais ton match template.Du coup juste pour vous montrer ce que c'est...
00:43:43 :Où est-ce que j'en étais?Ouais, l'image.Donc en fait qu'est-ce que c'est qu'une image?Une image c'est plusieurs pixels et chaque pixel a une colorisation.
00:43:50 :Donc en fait il a un mélange des couleurs primaires qui sont...Je vais pas dire une bêtise.Enfin pas les couleurs primaires mais les couleurs RGB.
00:44:02 :Donc rouge, vert et bleu.Et ouais, RGB en anglais et RVB en français.Et en fait c'est un mélange de couleurs comme ça.Donc si je regarde main image qui m'a allôé,donc vous voyez c'est un enchaînement de caractères.
00:44:19 :Et si je fais main image.shapeen fait vous voyez ici mon image elle fait 900 en ligne.En fait elle fait 900 lignes de pixels.
00:44:31 :Elle fait 675 colonnes de pixels.Donc en gros quand vous avez une image et que vous voyez qu'elle est en 900 par 675,ben en fait c'est ça.
00:44:40 :Il compte le nombre de lignes de pixels et le nombre de colonnes.Ici 4 ça veut dire que chaque pixel c'est un mélange des 3 couleurs RGB.
00:44:49 :Mais il y a aussi un dernier paramètre qui est le paramètre alphaoù en fait c'est le niveau de transparence.Mais bon celui là vous pouvez l'oublier.
00:44:59 :Vous pouvez juste considérer qu'en fait ici c'est 900 par 675 par 3qui serait le mélange des 3 RGB.Donc en gros ici quand je fais...
00:45:09 :Attendez parce que j'ai déjà tapé main image.Vous voyez ici ce que j'ai fait.Si on veut juste récupérer le premier pixel,enfin ici 1 1 ça va être le deuxième pixel.
00:45:23 :En fait le pixel que je vais trouver sur...ça commence à 0 donc je vais le mettre...En fait mon tout premier pixel qui va être tout en haut à gauche,c'est un mélange de...
00:45:39 :L'enchaînement c'est BGR.C'est le bleu, le vert et le rouge.Donc en fait mon premier pixel c'est un mélange de rouge, de vert, de bleuà ces niveaux là d'exposition.
00:46:00 :C'est un peu comme quand vous allez sur Paint ou Powerpointque vous définissez le mélange de RGB.Donc en gros là c'est comme si ils vous donnaient le mélange de votre palette.
00:46:13 :Ça n'analyse pas les métas que nous avons dans toutes les photos.Si, tu peux, c'est les données, je crois que c'est les exifs.Tout ce que tu dis là, le méta, le type, le nom de l'appareil, etc.
00:46:27 :C'est les données exifs et tu peux les récupérer très bien avec Python.Là c'est pas l'objet, on fait le traitement d'images pures.On fait pas le traitement d'exifs, mais oui tu peux récupérer la date, la signature, etc.
00:46:42 :Oui, il y a beaucoup plus de paramètres.Là c'est vraiment juste le traitement numérique de l'image.Donc là comme je vous dis c'est un mélange de ces trois couleurs là.
00:46:48 :Ici 255 c'est le canal alpha, c'est juste pour dire qu'il n'y a aucune transparence dans le pixel.Donc voilà, c'était juste pour vous montrer un peu ce que c'est qu'une image.
00:46:56 :Donc là j'ai chargé l'image et le template.Ici j'ai récupéré la hauteur et la largeur de mon template,parce qu'en fait je vais m'en servir après pour tracer,en fait quand je vais faire une recherche je vais vouloir tracer un rectangle autour de mon pattern.
00:47:14 :Donc je récupère la largeur et la longueur du pattern.Ici je vais décommenter.Donc c'est ici en gros toute l'intelligence du script, elle se fait ici.
00:47:30 :En gros vous utilisez le match template.Donc en gros vous lui dites je veux que tu me trouves la correspondance dans mon image,avec mon motif, et ici c'est la méthode qu'il utilise.
00:47:41 :Donc là c'est une méthode mathématique, où en fait ce qu'il va faire,c'est comme si vous aviez un gros carré en fait,et dans ce gros carré vous savez que vous cherchez une image qui a cette taille là, H et W.
00:47:59 :Donc en fait il va parcourir l'image avec un rectangle, un plus petit rectangle qui a ces dimensions là,et pour chaque position il va comparer les pixels de la grosse imageavec les pixels qui sont à l'intérieur du petit carré qu'il est en train de déplacer.
00:48:14 :Et en fait quand il va trouver qu'il y a le moins d'erreurs entre la colorisation des pixels à l'intérieur du petit carré avec le gros,il va dire ah bah c'est bon j'ai trouvé la correspondance.
00:48:28 :Donc en gros c'est vraiment ici que se fait toute l'intelligence.Et vous pouvez définir ici ce qu'on appelle un threshold.Je sais pas si il va me le donner.
00:48:40 :C'est en gros un seuil où vous lui dites quel degré de correspondance vous voulez.Là je l'en mets pas parce que je sais qu'il va me la trouver vu qu'elle était dans mon image,mais si vous prenez une photo de bière sur internet,faudra mettre un seuil pas trop élevé parce qu'en gros il faut lui autoriser à ce que sa correspondance ne soit pas exacte.
00:49:00 :Et après ici, bon ça c'est moins intéressant,en fait ça permet juste de... attendez je vais décommenter.Donc le match en fait c'est une localisation dans l'image.
00:49:19 :Donc ici vous lui dites quel est le coin inférieur gauche,ouais une certaine marge d'erreur pour le threshold c'est ça.Où est mon coin inférieur gauche de ma correspondance?
00:49:31 :Et ici vous définissez en gros les dimensions du carré que vous allez vouloir retracer sur votre image.Donc là vous lui dites ça c'est mon coin en haut à gauche et ici ça va être mon coin en bas à droite.
00:49:43 :Et après c'est tout simple, vous lui dessinez le rectangle que vous voulez.Vous définissez le rectangle et du coup je vais tester.Et voilà, et donc en fait ici,il m'a trouvé où est-ce qu'elle était la binouze.
00:50:17 :Donc voilà démasqué, si j'en avais eu une autre ici sous le même format il me l'aurait trouvé.Voilà, c'est super j'arrive plus à sortir cette superbe image.
00:50:38 :Voilà, c'est quand même assez puissant vous voyez,et en fait vous pouvez faire ça aussi avec une vidéo.En fait moi je m'en suis servi dans mon boulot, je vais essayer de vous montrer.
00:50:51 :Je vais vous montrer sur mon compte Twitter.Ouais c'est ça, en gros...Juste pour vous montrer avec la vidéo.Est-ce que j'avais foutu ça?Ouais ici, alors en fait vous voyez ce que vous pouvez faire c'est,en fait une vidéo c'est juste un enchaînement d'images.
00:51:58 :Donc ici une vidéo c'est quoi? C'est un enchaînement d'images,donc là c'est une superposition d'images et il suffit de chercher le pattern.Est-ce que je peux me poser là-dessus?
00:52:12 :Vous voyez en fait ce que vous pouvez faire c'est vous pouvez dire,je sais que j'ai un point fixe sur ma vidéo qui est ici,vous le définissez, en fait vous mettez un premier motif comme on a fait,qui correspond à ce dessin là, et ensuite vous dites je veux un autre motif
00:52:25 :qui correspond à ce dessin là, et du coup en fait quand il va se déplacer sur la vidéo,il va continuer à trouver le motif.
00:52:33 :Et du coup comme c'est une vidéo, il va le faire sur chaque image,ça dépend du taux de rafraîchissement de votre vidéo,mais souvent on parle de 24 images par seconde,ou pour les meilleurs 60 images par seconde,où en fait toutes les secondes il va faire 60 fois la reconnaissance de pattern.
00:52:51 :Et du coup ça, en fait une vidéo c'est juste une supercherie pour votre oeil,où en fait vous croyez que c'est une vidéo, mais c'est juste un enchaînement d'images.
00:53:01 :Et donc vous pouvez mesurer une distance comme ça.Donc imaginez, moi dans mon boulot, si par exemple j'ai une vidéo avec une bouéequi suit le mouvement des vagues, si je mets un capteur dessus,et que je sais comment est mon capteur,c'est les frames par seconde, le FPS comme disent les gamers.
00:53:22 :Et du coup vous pouvez mesurer en temps réel la position de votre capteur,l'évolution, là vous voyez ici j'ai calculé une distance relative,où en fait je sais que mon objet se déplace, la distance elle diminue,vous voyez au plus je me rapproche.
00:53:40 :Voilà c'était juste pour l'exemple de ce que vous pouvez faire avec OpenCV.Je vais essayer de... quand même c'est dommage de ne pas savoir les...
00:53:56 :RemoveAllPets, ouais c'est ça.Ok, voilà un peu pour ce que je voulais vous montrer.Je regarde un peu les messages, tu peux tout faire, même contrer ton blender.
00:54:15 :Non...Attendez, je regarde un peu le fil des trucs.Alors ouais je suis d'accord avec toi Ludo, c'est fou.Quand aussi j'ai découvert cette librairie, j'ai trouvé ça fou.
00:54:38 :En fait oui, et en plus imaginez si vous combinez ça à du machine learning,c'est comme ça que vous arrivez à identifier des visages ou des choses comme ça,par exemple si vous avez un iPhone, que vous avez une photo,vous voyez des fois il arrive à identifier des visages,
00:54:52 :c'est comme ça en fait il fait des correspondances de motifs,et il sait identifier, bah là je vois en fait un visage pour lui c'est quoi,il a ces deux yeux avec un truc vertical au milieu là,qui est plus ou moins gros en fonction de la personne.
00:55:04 :Et puis voilà, c'est comme ça que ça fonctionne.Donc si vous mettez du machine learning en plus,vous pouvez identifier des comportements suspects sur une vidéo,des images, vous pouvez les comparer à des bastes de données pour direah là il y a peut-être une personne, c'est un peu comme ça que la télésurveillance
00:55:23 :elle fonctionne maintenant.Non c'est pas trop, tu vois là,en fait ce qui va être lourd je pense c'est,quand tu fais ça sur une image,si tu as une image qui est classique, non ça va pas être lourd.
00:55:42 :Ce qui va être lourd je pense c'est quand tu vas faire de la vidéooù tu vas avoir des FPS importants,et là il faut des machines très puissantes,et puis si tu veux en faire beaucoup en même temps, faire beaucoup de recherches,mais sinon non ça va, ça reste, j'ai fait ça sur un ordinateur classique.
00:55:57 :Un exemple, c'est quoi, Willis que t'as mis,c'est un truc, une appli que toi tu avais développée?En fait c'est une appli qui a une open source sur le net,ça permettait d'avoir les températures des gens autour de soi,pour savoir s'il y a une personne qui a une température haute
00:56:20 :de manière à éviter le Covid.Ok, intéressant.Et du coup c'était quoi par rapport à la reconnaissance d'image,c'était en fonction de la couleur des joues ou des choses comme ça,ou il y avait une caméra infrarouge qui voyait?
00:56:32 :Oui il y avait une caméra infrarouge qui mesurait les températures.Ok, intéressant.Jonathan Paillotogui, je ne connais pas.Je ne peux pas te dire si c'est OpenCV, si c'est mieux ou pas.
00:56:48 :En tout cas je peux te dire que OpenCV ça fonctionne très bien,j'ai déjà utilisé plusieurs fois et en plus la documentation elle est très propre.
00:56:57 :Principalement la reconnaissance d'image, on voit souvent sur le méta.Ouais, Might be, ouais, exact.Voilà.C'est tout pour moi.Est-ce que ça vous a plu?
00:57:23 :Avec plaisir.Tant mieux si ça vous a plu.Ah bah ouais, il n'y a pas que du web.Je suis dispo si vous avez des questions, des remarques.
00:58:01 :Après je me demandais, par rapport à ce qu'on parlait cet après-midi juste avant.Oui, il n'y a pas de soucis Gabriel, on verra ça juste après.
00:58:11 :Juste avant, s'il y a des gens qui ont des questions sur des trucs, sur leur formation.J'imagine que là il n'y a pas tout le monde, mais s'il vous plaît, n'hésitez pas à clôturer la question.
00:58:25 :Quand vous posez une question sur la plateforme, des fois je clôture moi-même,mais je préfère que ce soit vous qui la clôturez, parce que des fois je clôture la question et je me dissi ça se trouve la personne attendait encore d'autres.
00:58:39 :Est-ce qu'on pourrait récupérer le code?Oui, bien sûr, je vous l'enverrai.Je ne vous mettrai peut-être pas la photo, si vous êtes d'accord.Mais oui, je vous enverrai le code.
00:58:54 :Python, programmation, objet, machine learning, réseau de neurones, et Python Web.Qu'est-ce que tu veux dire? Django?Willy, ta question c'est quoi? C'est par rapport au mentora?
00:59:32 :Du coup, je disais, en attendant que Willy réponde, s'il vous plaît,quand vous posez une question, si vous avez reçu la réponse qui vous va,si vous pouvez clôturer la question, ça nous aide à faire le tri un peudans les gens qui sont en attente de réponse ou pas.
00:59:50 :Après, il n'y a pas de message particulier à quelqu'un ici dans l'Assemblée,c'est juste en général, le programme en général, c'est surtout Python les basiques,où en gros, tu as tout ce qui est scripting et tout ça.
01:00:09 :Ensuite, tu as une partie dans le programme sur PySide,où en gros c'est pour développer des interfaces graphiques,pour faire des applications.Ça c'est une partie à laquelle je ne trouve pas trop.
01:00:25 :Je ne sais pas si vous avez vu, mais il y a Tristan, un nouveau mentor,qui est arrivé la semaine dernière, qui lui est spécialisé plutôt en PySide.
01:00:33 :Moi je ne sais pas trop, j'ai déjà fait du Qt Design,c'est basé sur Tkinter pour faire des interfaces graphiques.J'utilise ça, mais je n'utilise pas trop.
01:00:44 :Et programmation web, il y a tout un programme sur Django,qui est un framework web pour faire développer des sites web dynamiques,donc avec des bases de données, des choses comme ça.
01:00:58 :Et puis là en Python Web aussi, j'avais fait une session de mentoratil y a quelque temps sur Streamlit,où en fait c'était un framework qui te permet de faire des applications web assez facilement.
01:01:11 :Donc voilà.Est-ce qu'il existe d'autres frameworks que Django et Flask pour le web?Oui, il y en existe d'autres.Moi j'ai déjà utilisé Django et Flask,après il y en a qui sont un peu plus...
01:01:29 :Il y a FastAPI, mais c'est plus pour, comme son nom l'indique,pour développer des API,donc c'est un peu moins orienté end-user en fait.Mais en gros c'est ce que je connais, Django, Flask et FastAPI.
01:01:47 :FastAPI c'est un peu comme Flask, c'est pas pareil que Django.Mais dans la formation, ce qui est couvert c'est Django.C'est Django, ouais.Descendre de gradient Machine Learning,c'est pourquoi Arnold c'était pour faire la descente de...
01:02:15 :C'est quoi, c'est des régressions linéaires à plusieurs variables?Juste une simple régression linéaire, simple.Pas à plusieurs variables, juste une variable.Et il présente un petit peu, il explique un petit peu en fait le principe,comme ce que tu as déjà expliqué.
01:02:36 :Et il présente en fait un petit bout de code en fait,mais en PO, en programmation,mais c'est plus détaillé.Il n'y a pas de SeekItLearn, il n'y a pas de méthode spécifique,c'est juste les explications.
01:02:57 :Enfin le code est bien, il présente bien la démarche en PO.Ok, c'est par rapport à la session que j'ai faite la semaine dernière,je crois sur le Machine Learning SeekItLearn.
01:03:11 :Je suis tombé sur ça juste avant que tu commences la session.La semaine dernière?La semaine dernière, oui.Ok, intéressant. Merci du partage.Tu pourras le remettre plutôt sur le chat.
01:03:27 :Oui, dans la communauté.C'est plus simple, tu dis juste pour référence,tu dis par rapport à la session de mentorat de la semaine dernière, etc.
01:03:39 :Ok, super.Merci du partage Arnaud.Je vois le message avec le truc offert avec l'Aravej.J'aimerais savoir s'il y a de quoi qui se rapproche le plus possible.
01:03:53 :Je ne connais pas la Ravel.Désolé Samy, du coup je ne peux pas t'en dire plus.Non, t'inquiète.Je ne sais pas si dans l'assemblée il y en a qui connaissent un peu la Ravel.
01:04:06 :PHP, je connais le langage, je crois que ça reste le langage web le plus populaire.Encore.Je lis juste le début de ta question, Ludo, il n'y a pas de question bête.
01:04:21 :Un site en Python, Django ou en autre langage?En fait, Django, le gros avantage c'est que ça marche par application.Je ne sais pas si tu en as déjà fait du coup.
01:04:34 :En gros, on dit parfois dans Python tout est objet.Moi j'aime bien dire dans Django tout est application.En fait, la moindre chose que tu veux faire avec Django, ça va être une application.
01:04:52 :Par exemple, tu vas vouloir faire un dashboard, par exemple un tableau de bord,où tu veux récupérer des informations sur un site web et tu veux les afficher,tu veux faire des statistiques, tu vas faire une application.
01:05:09 :Après, tu vas avoir une autre application qui gère l'inscription de tes utilisateurs.Tu te dis ça pour la réponse que je suis en train de faire, Uturtle?
01:05:21 :Et du coup...Ça c'est fait pour l'envers.Mais quoi?Et du coup, tu vas pouvoir avoir une autre application qui te gère tes utilisateurs,tes inscriptions, le login, etc.
01:05:39 :Imagine après que tu fasses un autre site web, qui est totalement différent,ce n'est pas un tableau de bord,mais tu te dis peut-être que juste mon application de gestion d'utilisateurs,je peux la réutiliser sur mon autre site web.
01:05:53 :Donc là, tu as juste à prendre le dossier qui correspond à l'application des utilisateurset tu peux le mettre dans ta nouvelle application.Après, il y a un petit peu de réglage, tu dois le remettre dans Settings, etc.
01:06:05 :Mais en gros, ça c'est une des grandes forces de Django,c'est que tout est bien séparé avec le modèle MCV,donc c'est modèle vue template ou modèle vue contrôleur,où en fait tu as vraiment une séparation de tout ce qui se passe sur le back-end,avec ta base de données, tes templates, avec ce que voient tes utilisateurs,
01:06:27 :et tes actions avec tes vues.Donc ça en fait, c'est deux forces de Django,c'est de bien séparer le back-end, le front-end, etc.Et aussi le fait d'avoir des applications, tu peux...
01:06:41 :Je ne sais pas, il y a un micro qui...Il y a un problème, les autres, vous pouvez me dire dans le chats'il y a un problème quand je parle, il y a une saccade?
01:07:03 :Ok.Guest qui a... Oui, oui.Et donc, voilà, pour Django, c'est ça,c'est le fait de pouvoir transposer tes applications...Non, non, pas de souci.
01:07:20 :Le fait de pouvoir transposer tes applications d'un site web à un autre,ça c'est une force, et puis bien séparer tout ce qui est front-endet back-end avec Django.
01:07:29 :Et puis après, Django, il y a une communauté hyper...Hyper développée sur Django, tu vois que c'est quelque chose de solide,donc il y a beaucoup de gens, tu poses une question sur Stack Overflowavec le hashtag Django, tu vas avoir ta réponse dans deux heuressi tu as bien respecté toutes les règles pour poser une question.
01:07:51 :Voilà, je ne sais pas si ça répond à ta question,puis ton Django, après, tu sais, c'est un peu comme tout,c'est mieux Mac ou c'est mieux Linux ou c'est mieux Windows,tu as toujours des choses comme ça, mais...
01:08:04 :Tu peux faire des choses avec Django que tu ne peux pas faireavec Flask ou FastAPI, et l'inverse.Tu vois, FastAPI ou Flask, c'est beaucoup plus léger que Django,Django c'est un peu lourd quand même à mettre en place,mais voilà, bon après tu as toujours des avantages et des inconvénients,
01:08:19 :mais c'est ce que je vois là de tête.En fait, tu peux créer une application avec Django,si tu as déjà un site web Django qui existe,tu peux installer Django REST Framework,ou en fait tu peux, de ton application, faire une API.
01:08:35 :C'est simple.Je peux te dire que c'est simple parce que je l'ai déjà fait,peut-être, d'ailleurs ça fera l'objet d'un mentorat plus tard,mais tu peux assez facilement améliorer ton site web Djangoavec Django REST Framework, ça s'appelle, pour faire une API.
01:08:54 :Bon bah voilà, si vous avez d'autres questions, je t'en prie.Après, je vais rester en ligne pour discuter avec Gabriel,je crois qu'il avait une question sur les TrueFalse, etc.,
01:09:09 :sur les booléens, sur les trucs, etc.Je vais vous laisser, je vais vous laisser,je vais vous laisser, je vais vous laisser,je vais vous laisser, je vais vous laisser,TrueFalse, etc., sur les booléens,
01:09:24 :vous pouvez tous rester, mais sinon, vous pouvez quitter,il n'y a pas de soucis.Merci Arnold, bonne soirée, merci.Merci, bonne soirée tout le monde.
01:09:43 :On est à jusqu'au bout. Ok, pas de soucis, bonjour à la famille.Et Samy, je ne t'ai pas oublié, pour les exercices mandat,il faut juste que je trouve le temps.
01:09:57 :Merci, bonne soirée à tous.Oui, ça ne te dérange pas, Gabriel, si ça ne te dérange pas.Non, par contre, c'est Arnold qui est tout le début du temps.
01:10:11 :Non, il n'y a pas de soucis.Du coup, c'est quoi ton problème?En fait, j'ai un peu du mal, là c'était sur le, je crois bien sur ma peinturatrice.
01:10:25 :Oui, mais attends, je vais mettre dans le partage d'écran.Ça te dérange si ça reste dans l'enregistrement?Ah non, pas du tout.Ok.Ce que je m'étais mis, attends, je vais juste mettre ça.
01:10:37 :J'ai vu que tu avais posé pas mal de questions, du coup j'avais même un dossier, des scripts juste pour Gabriel.Alors, c'était liste de courses?
01:10:47 :Alors, ça c'était encore autre chose, mais ça c'était un calcul.Oui, c'était un calcul, je crois.Non, c'était pas ça non plus.C'était ça, c'était ça, c'était ça.
01:10:58 :C'était ça, c'était ça.C'était ça, c'était ça.C'était ça, c'était ça.C'était ça, c'était ça.Parce que moi, en fait, j'ai fait, il y avait une autre version où j'avais fait le note.
01:11:13 :Voilà, entre parenthèses, j'avais mis note, et ensuite entre parenthèses, A, point X, digit, 1, B, X, digit.Ouais.Donc ça, le note, il concernait le note, en fait.
01:11:26 :Donc toi, tu m'as dit du coup...Oui, tu peux rester, Stéphie, pas de souci.Tu m'as dit, en fait, le note, quand c'est une condition 1, une condition 2, en fait, quand tu les sépares, ça fait or.
01:11:38 :Ça, c'est du mal à...Ça, en fait, c'est de la...C'est pas, enfin, si t'as du mal à comprendre, c'est pas, t'inquiète pas, c'est pas vraiment un problème de programmation informatique, ça.
01:11:50 :C'est vraiment de la logique mathématique.Oui.En fait, quand tu fais, mais on va essayer de, si on essaie de raisonner, en fait, quand tu fais...
01:12:00 :Attends, je vais reprendre ici.Donc, le truc de base, c'est ça.Le truc de base, c'était ça, je crois.Donc, c'était note...Enfin, à la base, je crois, le truc.
01:12:21 :En fait...C'était ça, je crois que c'est ça qui vient.Oui, c'est ça.Donc, en gros, là, ce que tu dis, c'est que, avant de regarder dans la note, regarde ce qu'il y a dans ta parenthèse.
01:12:38 :Tu dis, ici, je veux que A et B soient des digits.Donc, là, si tu ne regardes pas ton note, tu dis, je veux que A et B, en même temps, soient des digits.
01:12:52 :Ok.Si tu mets un note devant, ça veut dire que tu dis...Ça veut dire que...Parce qu'en fait, A, ça veut dire, en logique, c'est en même temps.
01:13:04 :Ça veut dire, il faut que tu aies l'un et l'autre.Mais du coup, la négation de l'un et l'autre, c'est où?Parce qu'en fait, si tu en as un seul des deux, tu es d'accord avec moi que c'est l'opposé de...
01:13:23 :Ce n'est pas l'opposé, mais c'est...Je ne sais pas comment t'expliquer.En gros, quand tu dis la négation de G, l'un et l'autre, c'est qu'il y a au moins un des deux qui n'est pas bon.
01:13:38 :Alors ça, je vais...Et du coup, au moins l'un des deux qui n'est pas bon, ça se traduit par un or.D'accord, ouais, ouais.Mais ça, c'est du...
01:13:51 :C'est ce que je t'ai mis tout à l'heure, c'est un théorème en logique mathématique qui est comme ça.En gros, quand tu distribues un note sur un E, tu obtiens un ou.
01:14:00 :Mais ce n'est pas...Si jamais tu as du mal avec ça, ce n'est pas lié à Python, c'est...Ouais, ouais, ouais.C'est ça qui me inquiète.
01:14:12 :J'ai beaucoup pensé que ça me souvient, je n'arrive pas à comprendre, mais oui, c'est de la logique.Sans les notes, c'est plus difficile à comprendre, je pense.
01:14:20 :Mais c'est le note qui est la même en logique.Ce que tu avais mis dans ton...Tu as directement distribué ton note à... En gros, c'est comme si tu faisais une...
01:14:32 :C'est comme une multiplication devant une parenthèse avec une addition.Tu distribues.Mais là, ce n'est pas le cas, en fait.Tu ne peux pas distribuer comme ça.
01:14:41 :Tu dis bien... Il faut que tu dises dans ta tête.Ne pas avoir l'un et l'autre.Eh bien, en fait, c'est...Ne pas avoir l'un et l'autre, c'est... Il y en a un des deux qui n'est pas respecté.
01:14:55 :Je ne sais pas si ça t'a...Oui, c'est ça.Et du coup, après, ça se traduit comme ça dans...Si tu veux le faire en piton, si tu veux le faire en deux.
01:15:11 :Et par contre, il ne faut pas... Attention, moi, souvent, je fais tout le temps,quand tu as deux conditions dans un if ou dans un while, mets toujours des parenthèses entre tes deux conditions.
01:15:22 :C'est pas obligatoire, ça?C'est pas obligatoire, mais moi, je prends l'habitude de le faire parce qu'il y a des fois...Par exemple, sur Panda, tu sais, j'avais montré sur Panda, quand tu mets des conditions dans Panda,dans tes crochets, si tu ne mets pas les parenthèses, ça va bugger.
01:15:40 :Ça ne coûte rien de les rajouter, et puis au moins, comme ça, tu vois bien ce que ça veut dire.Oui, à la base, si les notes étaient valables pour les deux, si les deux ne sont pas en même temps,ne sont pas légit, ça ne peut pas marcher.
01:15:57 :J'ai du mal avec le... Je ne sais pas si c'est ça qui me...Après, si tu y penses à... Attends, je ne sais plus où est-ce que je te l'avais mis...
01:16:08 :Après, tu vois, c'est un peu à la con, j'en répète pas tout le temps, je ne sais pas, mais...Non, non, mais c'est bien de...
01:16:15 :Tu as le dire à ton gros, notes, et puis avec le end, tu as la loi d'un crochet.Ouais.Bon, ça me parait.Attends, je regarde dans les questions... Je ne sais plus si c'était projet avec gestion d'erreur...
01:16:27 :Ouais, attends, si c'était...Ouais, donc je t'avais répondu, le fait de distribuer comme ça, c'est la loi de Morgan, en logique.Oui.C'est ce que je t'avais répondu, et après, tu avais aussi des soucis avec le fait de tester,si une liste est vide ou pas.
01:16:46 :Oui.Ouais.J'ai compris, si je fais ça vite, tu sais, il y a un message sur la question, et en fait, du coup, j'ai compris.
01:17:05 :Non, je ne crois pas que tu puisses.Non, c'est dommage.C'est pas grave, en fait, du coup, ce que je peux faire... Bon, ça fait plus longtemps, mais est-ce que ça va bien s'afficher?
01:17:16 :Là, je suis en train de... Ouais.Tu vois, donc là, c'est vraiment... Et lui, je crois qu'il les a trois, donc j'ai mis iflen, donc ça fonctionne.
01:17:26 :Ça, pour moi, c'est comme ça que j'aurais fait.Et du coup, c'est comme ça que j'ai voulu faire. Et du coup, tu me pourrais très bien dire, c'est juste pour comprendre le système du W1,
01:17:35 :j'ai créé une variable en plus, donc mon pool, je vais l'appeler égale bool entre parenthèses 10 de course,donc if et mon bool égales trop, du coup, je peux... Là, ça marche.
01:17:45 :Ouais.T'as défini une nouvelle variable, bool, qui est égale à la 10 de course?Là, du coup, ça marche, je l'ai testé comme ça, ça fonctionne.
01:17:57 :En fait, ma variable bool, ça va être égale à bool entre parenthèses 10 de course.Hum.Tu vois?Ah oui, t'as transformé ta liste de chat en bool et 1.
01:18:10 :C'est juste dans le chat.C'est juste dans le chat.OK. Oui, d'accord, je comprends. T'as transformé ta liste en bool et 1.Mais c'est inutile, c'est juste pour comprendre le système, mais du coup, là, ça marche.
01:18:24 :Ouais, ouais. Mais regarde la réponse qu'a fait Thibaut aussi, je pense que tu l'as déjà vue.Hum. Il t'explique un peu aussi cette histoire de...
01:18:35 :Bah, je sais pas si t'as vu sa réponse encore, tu regarderas.J'ai lu la réponse.Mais en gros, oui, c'est ça. Mais c'est pour ça que moi, j'aurais choisi comme toi la solution de...
01:18:46 :En gros, j'aime pas faire des tests bool et 1 sur des choses, tu vois, sur des listes ou sur des...Des ziggers ou des choses comme ça, parce que je sais que je fais que des tests bool et 1 sur des conditions, tu vois.
01:18:59 :Je dis 2 plus grand que 3, bah je sais que ça va me donner un bool et 1.Tu vois. Je fais pas de tests bool et 1 sur des choses où je suis pas sûr en fait du type, tu vois, 2 plus grand que 3,
01:19:12 :c'est bien un bool et 1, mais c'est une condition.Je fais pas, par exemple...Euh...Enfin, je... Ouais, tu vois ce que je veux dire, mais je fais toujours des tests de bool et 1.
01:19:25 :Je vais aller dire if 2 plus grand que 3.Et en fait, quand je fais ça, je sais que je fais un test sur un bool et 1, parce que je teste une condition.
01:19:33 :Je teste un résultat true ou false.Ouais, ouais, ouais, je voulais compliquer la tâche en fait.Et c'est pareil pour, par exemple, les data frames, etc.
01:19:40 :Je me suis souvent fait avoir aussi où j'ai essayé de tester si mon data frame, il existait.En fait, je faisais if des f, mais en fait, moi ce que je voulais, c'est que je voulais tester s'il était rempli ou non,s'il était vide ou non.
01:19:51 :Et je me suis fait avoir de la même manière.J'ai fait if des f, machin, et en fait, ça me sortait un bool et 1 false, parce que c'était pas un bool et 1 à la base.
01:20:08 :J'ai déjà fait cette erreur aussi, t'inquiète pas.Ok, ok, ok, non, puis, non, bah c'est bon.Bah du coup, j'ai eu mon script extrait, parce que je sais pas comment ça se passe sur les projets,s'il y a la solution, qu'il y a la solution, voilà, après.
01:20:23 :Mais savoir ce qu'on a fait, nous, c'est correct.Du coup, je termine la question, et je sais pas si...Bah non, pour les projets, il n'y a pas de validation.
01:20:35 :C'est juste, en gros, si t'arrives à obtenir le résultat escompté, qui était dans la consigne, bah t'as réussi ton projet.Mais je vois des fois qu'il y en a qui mettent leur projet dans les questions, pour...
01:20:49 :Voilà, après, y'a pas de soucis, on peut en discuter, si jamais y'avait des alternatives ou quoi.J'ai remis le script final, là, dans la question, puis on verra si les trucs arrivent ou pas.
01:21:00 :Ouais, tu vois, comme Samy dit, comme y'a plusieurs solutions, après c'est bien,tu mets dans les questions, si tu trouves ça intéressant, les autres, ils peuvent aussi le voir.
01:21:10 :Bah j'ai commencé à avoir la solution à Tibo, tu vois, j'ai vite fait, mais je vois qu'il a pas fait du tout pareil,et c'est pour ça que je dis bien, non?
01:21:17 :Ouais.Ok.Et, voilà, après, ces choses-là, c'est bien d'essayer de les comprendre en profondeur,parce que tu vas voir quand t'auras des gros scripts et que t'essaieras de les débuguer,avoir cette connaissance-là de, tu vois, est-ce que c'est un boulet 1, pourquoi ma condition elle marche pas, etc.,
01:21:35 :ça va t'aider à débuguer tes scripts, surtout, quoi.Ouais, ok.Bon, bah nickel, c'est bon.Bah je t'aime bien, ça, en tout cas.Ouais, pas de soucis, avec plaisir.
01:21:47 :Hum...Ok.Ouais.Hum...Voilà, bah, est-ce que...S'il y a d'autres questions...À la semaine prochaine, bah ouais.On va faire un numéro du Turtle.
01:22:18 :Et puis, bah, les autres, je sais pas, je vois que vous êtes encore là, là, Stéphie, Alex,est-ce que vous avez des questions?Willy?T'as du mal avec le bot?
01:22:39 :Qu'est-ce que t'as comme problème en pratique, si t'arrives à me donner un truc?Pas de soucis, Alex, à la prochaine.Du coup, Stéphie, je sais pas si t'as un truc particulier...
01:23:06 :Je cherchais le micro, je suis désolée, tu m'entends bien?Ouais, ouais, j'entends bien, ouais.Ouais, en fait, c'est... je dois créer le bot dans Discord,
01:23:16 :et en fait, j'essaye de faire comme Thibaut a fait,mais il faut passer par VS Code ou par... par quel biais?Parce que si je fais par Python et je fais par exemple msk comme il a fait Thibaut,ça marche pas, c'est invalide.
01:23:39 :Oui, en fait, il faut pas confondre le terminal et l'interpréteur Python.En fait, le VS Code, c'est un éditeur de texte, enfin un éditeur de code,tu peux écrire ton code, etc., pour le récupérer plus tard.
01:24:00 :Et c'est différent d'un interpréteur Python, tu vois.Ici, là, je sais pas si tu vois sur mon écran, là, j'ai lancé un interpréteur Python,et par exemple, toutes les commandes...
01:24:10 :Enfin, là, c'est un mauvais exemple, parce qu'avec IPython, tu peux taper des commandes,mais tu vois, si je tape juste Python, là, je suis dans l'interpréteur,mkdir test, tu vois, ça va pas marcher.
01:24:23 :Si tu veux créer un dossier à partir de l'interpréteur Python, tu peux le faire,tu peux faire import os, et tu peux faire os.mkdir test, j'écris Steffi, tu vois.
01:24:37 :Tu vois, il m'a bien créé un dossier test Steffi.Mais en gros, c'est pas la même chose.L'interpréteur Python, c'est vraiment, c'est que des commandes Python,alors que la commande ici, tu vois, ls, lsa, etc., tout ça, c'est ce que tu tapes dans le terminal.
01:24:56 :Ouais, parce que, en fait, de créer le bot dans Discord, comme il dit,mais il dit qu'il faut, avant de faire ça, il faut récupérer une bibliothèque,une certaine bibliothèque, et c'est cette bibliothèque que j'arrive pas à récupérer.
01:25:12 :Parce qu'il dit qu'il faut passer par Python 3.6, et quand moi je veux passer par Python 3.6,quand je vais sur Python.org, il me dit que 3.6, en fait, il est obsolète,
01:25:25 :que maintenant il faut passer absolument par Python 3, parce que maintenant,je crois que c'est 3.11, 3.14, ou un truc comme ça.Oui, là, actuellement, c'est 3.11.
01:25:34 :Ouais.Mais ça, pour moi, c'est pas trop un problème.En fait, normalement, je sais plus comment ça s'appelle, c'est un nom,mais en gros, quand t'as des versions plus récentes,elles sont censées être compatibles avec les versions précédentes.
01:25:50 :Et donc, avec la version plus récente, je fais la même chose que si j'avais la version 3.6, c'est ça?Oui, normalement, c'est transparent.En fait, tout ce qui va être en 3.quelque chose, normalement, ça va être compatible.
01:26:05 :Par contre, si tu faisais du Python 2.7 ou des choses comme ça,tu vas avoir un problème de compatibilité.Mais en gros, t'as une compatibilité sur les versions ultérieures qui sont en 3.quelque chose.
01:26:16 :Donc ça, je me demande si on n'avait pas échangé là-dessus.Aujourd'hui, j'ai envoyé un message. Je ne sais pas si c'est toi qui m'as répondu.
01:26:28 :Il m'a dit qu'il fallait passer par Git Bash.Ouais.Voilà.Et puis, ça, c'est plus du tout…Git Bash, tu vois ce que c'est?Ouais, j'ai téléchargé un truc Git Bash.
01:26:43 :Attends, on va voir la réponse.Ouais.En fait, Git Bash, c'est…C'est Alexandre qui m'a dit que MKDIR, c'est à moi de créer le dossier dans Git Bash ou dans le terminal.
01:26:56 :Oui, tu vois, il m'a dit…Si je fais ici… Tu vois, moi, je suis dans un terminal.Si je fais MKDIR dossier test, je n'ai pas de soucis, tu vois. Il m'a bien créé mon dossier test.
01:27:07 :Mais parce que je suis dans un terminal.Et Git Bash, c'est un terminal comme un autre.C'est juste que sur Windows, ça permet de taper les mêmes commandes que sur Linux.
01:27:17 :D'accord. OK.Parce que moi, quand je fais par exemple Python 3.8 ou 3.10, c'est Shell que j'ai.C'est pas Python Git Bash, donc c'est pas ça.
01:27:30 :Mais t'es sur Windows ou sur Mac ou sur Linux?Alors là, je regarde sur Mac, mais sinon je travaille essentiellement sur Windows.OK.Là, je fais la formation. En fait, je fais les vidéos comme ce soir, on m'entoura via ma tablette Apple.
01:27:48 :Sinon, je travaille sur Windows.Ah oui, d'accord.Le Mac que tu dis, c'est iPadOS, c'est pas MacOS?Ouais, iPadOS, tout à fait.OK. Oui, sur iPadOS, tu vas pas pouvoir utiliser les interpréteurs, etc. T'as pas de Shell.
01:28:04 :Mais sur Windows, oui, tu vois, comme dit Gabriel, en fait, tu peux utiliser Git Bash pour avoir...Ça te fait comme un environnement Linux un peu dans Windows.
01:28:17 :Et comme ça, tu peux suivre les mêmes commandes.Parce qu'en fait, moi au début, tout début, quand j'ai commencé,la première question que j'ai eue, c'était comment savoir pour prendre le bon interpréteur?
01:28:31 :Soit Git Bash, soit VS Code, soit...Enfin voilà, comment arriver à bien déterminer où est-ce qu'on doit aller pour entreprendre quelque chose.C'était au début, quand j'ai débuté, donc je savais pas trop où j'allais.
01:28:45 :Oui, d'accord. Maintenant, ça va?Ouais, ça va un peu mieux, ouais.Oui, c'est vrai qu'au début, t'as beaucoup de trucs, t'as le terminal, t'as l'éditeur de code,t'as l'interpréteur, tu vois, t'as plein de trucs différents, mais tu verras que après tout s'imbrique facilement.
Aucune occurrence trouvée pour « ».