Session du 10 novembre 2022 à 20h00
Data Science & IA
Frontend & UI
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
Créer des cartes choroplèthes interactives
Découverte des cartes choroplèthes avec Plotly en Python et échanges autour de questions pratiques, y compris un peu d’interface graphique avec Tkinter.
00:00:00 :Les problèmes concrets que vous avez quoi.Ouais désolé je suis un peu chiant.Non non bah non bah t'es là pour ça.On est là pour ça, t'es là pour ça, on est tous là pour ça donc c'est super.
00:00:10 :J'ai vu t'avais une question JavaScript aussi, là je vais aller voir ça.C'est intéressant pour tout le monde tes questions.Bah c'est ça ouais.Non mais j'ai pas envie d'abuser non plus alors c'est un peu chiant.
00:00:19 :Mais comme là je...ça commence à s'accélérer donc c'est pour ça.Ouais ouais bah t'inquiète pas on est là pour ça.Donc on est une petitepetite dizaine, quinzaine je crois.
00:00:30 :14, 14 personnes.Moi je vais pas rester, je vais laisserPA faire la présentation desje sais plus c'est quoi le nom de ton truc là les shlokatines.
00:00:38 :Coromplettes, coromplettes.Coromplettes. On dirait un nom de cafard ou un nom de diogen.On a tous appris je crois un nouveau mot cette semaine qu'on pourra sortir au dîner de famille à Noël.
00:00:48 :Ah bah ça marche bien vous allez voir.Donc je te laisseexplorer tout ça et puis répondre aux questions.Et bonne séance à tout le monde.
00:00:56 :T'as lancé l'enregistrement?Ouais ouais c'est lancé.Ah oui c'est marqué. Et moi je pense que c'est bon.Niveau partage ça a l'air bon.Ok j'ai réduit le hallo. Parce qu'en fait maintenant on est directement
00:01:06 :intégré dansje sais pas si c'était comme ça avant dans le doc screen j'ai réduit la barre sur la gauche là.Ah ouaissi tu t'es connecté par là oui.
00:01:14 :Toi tu peux te connecter avec le lien que t'as surwhereabouts sinon effectivement c'est intégré.Ouais.Avec la barre sur le côté en minusculelà c'est pas de soucis.
00:01:24 :Humça marche. Bon bah merci Thibault.Euh justefaut vraiment que j'arrête à21h la session doncsi vous avez des questions puis même de toute façonc'est mieux qu'on fasse les questions d'abord.
00:01:40 :Donc avant de commencer est-ce que vous avez desquestions? Quelles qu'elles soientça peut intéresser tout le monde.Si je peux pas y répondreje regarderai plus tard mais en tout cassi vous avez des questions c'est maintenant si vous voulez.
00:01:52 :Après bien sûr pendant tout le moment t'auras.Mais hésitez pas.Comme ça on peut prendre un peu de temps pour la questionet c'est moins grave si onn'aborde pas le programme prévu.
00:02:02 :J'attends un petit peu sur le chatvoir s'il y a des questions maisEuh okbon bahok bah de toute façon hésitez passi pendant le trucvous avez une question on peut l'aborder.
00:02:22 :Du coup on vacommencer parce fameux motdont on a parlé.Je vais aussi le faire en liveparce que j'ai pas eu le temps de tout préparercomme je voulais. Donc je le ferai
00:02:36 :en liveen même temps.Dites moi dans le chat si vous voyez bienl'écran. Je vais peut-êtreréduire çapour l'instant.Je vais réduire l'écran et vous avez bien le son.
00:02:50 :J'ai désactivé ma caméra.C'est normal, c'est parce que je vais fairedes aller-retour avec ma correction.Du coup ce sera moins grave pour vous.Vous allez voir ma tête bouger.
00:03:00 :C'est pour ça que j'ai désactivé la caméra.Alors du coupune cartechoroplettec'est un bien grand mot mais en faitc'est pour parler d'une carteque ça soitlocale, mondiale oud'un pays qui varie en fonctiond'une statistique.
00:03:20 :Par exemple sur une cartemétéorologique de la France, quand vous voyezpendant les canicules ou des choses comme çaquand la températureest plus ou moins importante, vous voyezdu rouge qui est plus ou moins foncé et en faitla couleurelle dépend de la variabletempérature. Donc c'est tout simplement ça en fait
00:03:38 :une carte choroplette.Choro commec'est du... je sais pasdu latin mais dans les originesici vous reconnaissez les couleurs.Donc voilà d'où ça vient.
00:03:50 :Donc en fait ça c'est directement implémentédansdans Plotly, la librairie qu'on adéjà évoqué et en faittout leprocess pour faire ce typede carte est déjà implémenté.
00:04:04 :Donc ici vous pouvezfacilement importerle module avec Plotlyen fait Plotlyil offrele module express qui est en faitun raccourci pour fairedes graphes facilement parce qu'en fait dans Plotlyc'est un peu compliqué à mettre en place des graphesparfoispour les gens qui ont déjà fait du matplotlib ou des choses
00:04:26 :comme ça vous pouvez vous dire bah c'est vachement compliquépour mettre en place mais du coupPlotly met à disposition ce module expresspour que ça soit un peu plus simpleexpress comme son nom l'indique.
00:04:36 :J'ai entenduque... non c'est bon?Du couptout simplementcomment on fait pour faire une cartede ce type là? Il suffitde définir une figure, c'estune instancedu moduleon utiliseici la méthode coropleton définiten anglais c'est locations pour direqu'est-ce qu'on veutfaire apparaître
00:05:06 :et donc ici on ditje veux faire apparaître la Franceles USA, l'Inde etl'Allemagneici vous dites location mode ISO3 c'est la manière dont vous décrivez votre paysparce qu'en fait des fois vous pouvezpar exemple si vous disiez juste FR, USetc c'est un autre type de
00:05:24 :code mais ici comme ondéfinit par 3 lettres les paysc'est juste ISO 3et ici quand vous faitesfig update layout donc en faitvous dites, vous désactivezces options là qui sont par défauton va les utiliser après vous verrezet ensuite ici tout simplementfig show
00:05:44 :okj'ai étéc'est bondonc voilà c'est partiet donc là normalementtout çaen fait vous voyezil vous affiche une carteune map monde en fait où vous avezvraiment la localisation de toutdes pays que vous avez demandédonc ce qui est pas mal aussic'est que vous voyez il vous met aussi toutes les
00:06:20 :les territoiresenfin pas tous les territoires outre mervous voyez pour la France il ne met pas outre mer mais ici pourles USA etcil met tout ce qu'il faut pour l'Indelà ici vous voyez un peu la Corseici vous pouvez, et vous avez un peuune interactivité avec la carte vous pouvez passer
00:06:38 :ici votre souris et vous avezvous avez icilesvoilà ça s'affichel'ISO code 3 qu'on avait vu tout à l'heuredonc ça déjà rien que ça je trouve que c'estquand même assez puissantouais c'est çaiciil me semble, je ne suis pas expert en géographiemais
00:07:00 :en faitje trouve que c'est assez puissant vous voyez endeux lignes de code on aça et vous pouvez imaginer, moi je me souviensquand j'étais petitj'avais un jeu sur ordinateuret c'était en grosil y avait une carte comme çaet il y avait les pays qui s'illuminaient
00:07:18 :en couleur et il fallait dire quel était le paysdonc vous me pourrez très bien imaginer créer vraimentfacilement ce type d'exerciceavec ça en fait on peut mettre un wildtrou par exemple et puis on y terreet puis on fait varierles localisationset puis l'étudiant il doit essayer de trouver
00:07:34 :de quel pays on parleok et juste un point à noter, donc vous voyez icicomme c'est unc'est un dibou mais je crois que c'est çahumet vous voyez iciPlotlist c'est unune bibliothèque qui fait des graphesen ligne donc c'est pour ça queça tourne sur un serveur local
00:07:54 :ce port làvoilà donc en gros maintenant on va essayerde faire des chosesnon c'était pas celui làon va essayer de faire des choses un peu plusintéressantes justement on va faire varierjustement nos paramètresen fonction de datadonc attendez je regardedans ce que j'avais noté
00:08:14 :on va utiliser en premierbon ça je vais peut être le virer je pensehum ouaisje vais le virerj'ai importéquelques data donc iciespérance vie et températureoù en fait on va essayer d'abord de faire une cartequ'on va coloriserenfin on va coloriser en fonction de l'espérance
00:08:36 :de vie donc voilàsi ça vous va comme exercice on vaon va faire çahumokdonc on va importer d'abordimport panda as pdon va importer notredata framedfégal pd.
00:09:02 :read csvça vous devez avoir l'habitude pour ceux quifont dudu pandaok on va justealler voir un peu icinotre data framepour l'explorerje relancedonc en fait ici on ale pays, on al'annéedu recensement et puis l'espérancede vie, enfin voilà on a quelques data
00:09:38 :si vous voulez on peut faire un df.describeoù là en faitvous avez un peu des statistiquesje l'avais déjà montréça peut être intéressantet si vous vous souvenez on peut faire unun profile report où là on a vraimentun rapport pdf htmlqui est vraiment bien détaillé
00:09:58 :donc ok on a nosdonnées, on va réimportercomme tout à l'heureimporthotly.xaspxokdonc maintenant on va redéfinirnotre figuredonc c'est px.
00:10:20 :okdonc là en fait on va lui dire directementil y a un paramètrequi permet de rentrer directementdans notre data frame et nous ce qu'on vavouloir ici c'est uniquementfaireune carte sur l'espérancede vie en 2015 par exempledonc en fait pour çaon peut aller faire un query
00:10:42 :dans notre data frameici et on va luidire, c'est un peu commepour ceux qui font la base de donnéesça marche comme çadonc en fait vous dites yearégal égal2015, donc là on va vraiment aller chercherici par exemple si je faisaisdf.
00:11:02 :queryégal2015vous voyez il me sort bientout ce qui s'est passé en 2015donc c'est un moyende faire des requêtes sur les data framesje sais pas si vous l'utilisezpeut-être que vous avez plus l'habitude de faire duà l'intérieur des crochets mais sachez queon peut faire des requêtes un peu
00:11:32 :évoluées sur les data frames avec des filtresde cette manièreok donc ça c'était juste un appartépour le data frameon va locationdonc là on va vouloir tous lespays qui sontqui sont dansla base de données, donc en fait ici làvous lui spécifiez la colonne et lui il va
00:11:52 :aller chercher tous lesil va faire un uniqueà tout seul, parce qu'en fait les pays se répètentplusieurs fois, mais lui il va faire justeleil va faire un np uniqueensuitelocation mode, donc là on va récupérerlesje vais vous montreren même tempsah oui pardon c'est un autre
00:12:36 :vous savez tout à l'heure quand j'ai fait le location modeoù j'ai défini l'isoici il va vraiment aller directementchercher le nom despaysensuite la projectionça c'est le typede projection que vous voulez pour votre cartevous savez des fois on peut avoir une carte aplatie
00:12:54 :une carte, une map monde un peu envolume, donc ici nouson va juste direattendezc'est natural earthdonc en anglaiscomme si on voulait une reproductionfidèledu globeensuite la couleurdonc là ici ce que vous pouvez faire c'est que vous pouvezrenseigner unecolonne et comme ça lui
00:13:20 :en fait il va prendreon va prendre l'espérancelui en fait il va prendre cette colonnepour faire son dégradé de couleurdonc ça c'est quand mêmeintéressant et ici vous lui définissezvous lui définissezcomment il va faire sondégradédonc nous on va le définirdonc là en fait c'est des
00:13:54 :faut définir des toupletsoù on dit queça pour définirun peu le gradient de l'échelleen grosvous allez voir 0.25désolé c'était peut-être pasla partie la plus intéressantepour vouset on va finiren gros c'est le pourcentage vous lui dites icivous lui ditesde 0 à 0 à 20
00:14:42 :de l'opacité, non non nonen fait c'estquand il estil va prendre les données en faitl'espérance de vie il va prendrele minimum et le maximum, 0 ça va être bleuet 1 ça va être rouge et en fait entre les deuxlà je lui dis jusqu'à 25%
00:15:00 :tu vas du bleu au light blueet il va faire le dégradé tout seulc'est le dégradé pour pourcentageen grosvoilà etqu'est-ce que j'ai oubliéje pense que là on devrait être bon...
00:15:31 :voilà donc en gros iciil a défini l'espérance de vieen fonctiondu pays, vous voyez franchement j'ai pas fait grand chosemoi j'ai justeimporté mon data frameet il m'a sortiune carte comme ça, donc là vous voyeznormalement en bleu c'est ceux qui ontl'espérance de vie la plus faible
00:15:53 :donc on peut regarder icisans surprise malheureusementc'est des pays d'Afrique qui sont pasdéveloppés et les paysqui ont l'espérance de viela plus élevéedonc vous voyez ici 0 ça correspondaitau minimum, ici là on parle pas de 0et 1 c'était bien un pourcentagedonc c'était le plus bas, bleu
00:16:13 :ici le plus haut donc je sais pas ça doit être90 ou quelque chose comme ça, en rougeon a les pays nordiqueson a l'Australie, le Japonvoilà ici on avous voyez quoi on afacilement colorisé la carteet puis vous pouvez même, vous voyez icitout à l'heure quand j'ai mis location mode
00:16:31 :country nameça veut dire que quand je vais passer ma sourissur les trucs il me dit United Statesof America, donc là il me met bienle nomdu pays en entier et vous voyez aussi que vous avezmême l'espérance de viedu pays quand vous passez votre
00:16:47 :souris, doncje trouve quand même que c'est assez puissant ce qu'on peutfaire encore avec çaje me répète maisje trouve çaquand même assez intéressantqu'est ce qu'on peutfaire d'autre, regardez ce quej'avais fait, bon je sais pas si ça va être intéressantest ce que
00:17:07 :vous voulez qu'on en fasse un autre avecavecla températuremoyenne relevée dans le mondevu que c'est un petit peu d'actualitéest ce qu'on peut faire aussije vais faire, ouaisdites moi dans le chat si vous voulez voir un autre exempleokhumon va fairecelui là, qu'est ce que
00:17:31 :comment je vais le commenterhumdu coupon va réimporter notredata frame et cette fois ci on va prendre lestempératures, donc juste pour vous montrerouaisje trouve pratiquedu coup vous voyez iciça c'est lesbah voilà c'est une bonne idée çahumvous voyez le fichier csv il est assez simple en fait
00:18:05 :vous avez le code du pays avec la températuredonc je sais pas exactementce à quoi ça correspond, c'est un truc que j'airécupéré sur internet, vous avez en faitj'imagine c'est une valeur moyenneouais moi je trouve ça styléquand mêmele stage managerhum, qu'est ce que
00:18:23 :qu'est ce qui te plait pas là dedansje trouve que tu vois visuellement facilementle truc, pour ceux qui sont pas surmac en fait c'est la dernièremise à jour de mac os 16humoù vous avez en fait icienfin bref on s'en fout je vais pas
00:18:39 :m'éterniser là dessus pour ceux qui ont pas macils s'en fichent, donc vous voyez icile fichier température c'est juste que vous avez une températuremoyenne j'imagine en fonctiondu paysdonc on va importerpareil donc comme tout à l'heurepdcsvtemptempératurecsvouais on peut pas
00:19:05 :drag and drop le stage manager c'est un peu chianthumdonc on va redéfinirnotre, bon je vaisessayer d'aller un peu plus viteje vais l'écrire et puis comme ça vous pouvez regarder en même tempspeut être mêmeprendre la fonction ça va aller plus viteok donc là notre data frame
00:19:35 :c'est toujours machince qu'on veut faire nous est ce quenon on veut plus filtrerdonc y'a plus besoinhumlocation toujourspays par contre je sais passi c'est écrit là, ouais c'est justevraiment mettre le nom du truclocation name je pense qu'on peut gardernon il va falloir le mettre
00:19:57 :en iso 3 comme on l'a eniso 3okla projection pour l'instant on va mettre comme çaaprès vous verrez on va faire avec le globeet ici donc le color on va mettrebleu, green, orangered ça me parait bienokhumqu'est ce que j'ai fait de mal
00:20:19 :à visser la couleur icimettre la températuredonc il faut bien mettrele nom de la colonneque vous devezj'ai oublié le filvoilà donc je sais plus qui disaitqu'il allait choisir ses prochaines destinationshumbahtu peux partir en Afriqueil y aura pas de soucis
00:20:51 :il t'aura bien chaudpar contretout ce qui est Pôle Suddéconseiller, tout ce qui est Russieetc déconseiller, enfin brefvous avez un petit peule différentenfin imaginezvous avezvous pouvez imaginer beaucoup d'applicationsà cela et je voulais vous montreraussi là dessus il y a un truc sympa
00:21:15 :on peut faire une, vous voyez ici quand je faisprojection natural earthon peut faire une projection un peu plusstylée ou en fait un truc un peuplus interactif donc je vais essayerde le faireattendez je vérifiehumon va faire donc ça marcheça marche en figure en fait
00:21:39 :ce qu'on fait c'est qu'on veut mettreon veut changer un peu la manière dont c'est affichédonc c'est un updatedu layout et donc là on va changerla projectionprojection oket là ça marche par dictionnairedictionnaireici vous dites le typede dictionnaireil s'appelleorthographiqueok
00:22:05 :ça sert à rien d'apprendretout ça par coeur, il faut aller voir dans la documentationà chaque foisrotationet là on va direça c'est lele méridien etcpar rapport auquel on faitla rotationla longitudinal0la latitude40, je suis mon exemplema vieest
00:22:39 :0okessayonset donc là en faitvous voyez vous avez une map mondeque vous pouvez tourner un peu à lagoogle earthhumdonc voilà je trouve que c'estsympa donc vous voyez juste en changeantla manière dont on veut afficherles axes on aon a ce type
00:23:07 :de carte interactive et en plusqui dépend ici de la températuredonc voilà je sais pas ce quevous en pensez mais moi je trouve que c'estplutôt joliet assez puissantdoncvoilàvous voyez aprèsles lignes de code je pourrais vous les envoyersouvent je dis ça et puis après j'oublie
00:23:29 :donc n'hésitez pas à me le rappeler dans lescommentairesvoilà que noter si jamais il y a un code que vous avez vu et que vous voulez revoirque je vous l'envoie je crois que la dernière fois il y a quelqu'un quivoulait le code là pourles manipulations
00:23:41 :les recherches de paterneje peux désabonner masuitebah ouais franchement après moiavec le boulot je travaille beaucoup avec excel encoremaisje me sers aussi de Python en faitj'essaie pas d'oublier excel parce que excelen plussouvent les collèguesils bossent aussi avec excel donc vous pouvez pas
00:24:03 :complètement oublier excelen plus ça fait des choses assez simplesmais ce qui est pas mal avec Python c'est que vous avez des librairiescomme panda ou mêmexlrd ouxwje sais plus, xwt quelque chose comme çaoù vous pouvez interagir avec votre fichierexcel et vous pouvez
00:24:21 :injecter des formules Pythondans des cellules exceldonc ça devient assez puissantet voilàexcel etla place de Python en place de VBAqui est le langage dans excel, vous pouvez utiliserPythonje fais juste une pause 30 secondes...
00:25:01 :ok c'est bonc'était ce que vous voulez me montrer sur les cartescoroest-ce queça vous va?...dites moiokvoilà doncon va passerà ce que je voulais faireje voulais vous montrer aussila documentationsur plotlibvous avez une documentation assez détailléeje vous invite à aller la visiter
00:25:41 :...ok donc maintenantce qu'on va faireon va changer de sujetc'est un truc différenton va essayer deon va manipuler une imageon va essayer d'interagir avec une imagetoujours avec la librairiematplotlib en fait...
00:26:03 :on va utiliser quelque chose qui est sous-jacentà matplotliben fait TKinter je pense que vous connaissezc'est ce qui sert à faire des interfaces graphiquesTKinterje crois quedans la formation docstring c'est PySidequi a montré mais TKinteravecQtDesign vous pouvez fairedes interfaces graphiquesun peu
00:26:27 :de manière efficaceet ici je vais vous montrer un trucassez simple comment on peut interagiravec une image...comment on peut interagir avec une imagedonc en gros je vais peut-êtrecomment je vais faireje vais le mettre là et puison va le faire ensemble...
00:26:49 :............ok.........alors déjà on va travaillersur cette image làoù en fait la dernière fois j'avais parlé dede ce truc là où est Charlie...
00:27:15 :...........................Hum...on va utiliser cette image là...en vous connaissez le jeuil faut avoirpouvoir isoler des morceauxen fin c'est juste un...
00:27:49 :......sur recipientsj'obtiens les coordonnées des points de là où j'ai cliquécomme ça après on peut aller faire ce qu'on appelle des crops de l'imageun crop en fait c'est en photographie c'est quand vous prenez un morceau de l'imagedonc on peut très bien se dire je vais essayer de créer un programme
00:28:11 :qui fait qu'à chaque fois que je clique dans l'imagej'enregistre les positions du clic de ma souriset après plus tard je ferai des crops de cette image làgrâce aux coordonnées que j'ai récupérédonc l'idée icidonc comme je vous l'ai dit on va utiliser Matplotlibje vais pas avoir besoin de vos aides
00:28:42 :donc en fait ce qu'on fait ici c'est on va d'abord créer une fonctionqui fait l'import de l'image et qui la rend interactivedonc en fait ici ça c'est là y'a rien de sorcier c'est quand on a un graphon a un graph classique donc c'est comme ça qu'on importe toujours son graph
00:29:06 :en fait on définit un subplot comme ça 1 1et vous verrez dans beaucoup de tutos Matplotlib c'est comme ça qu'ils importent les imagesaprès parfois on a juste fig... on a pas le subplot
00:29:17 :il y a quelqu'un qui a un micro alluméici le axe.imshow ça permet en fait de direbah je veux que tu me charges l'imageok et ici c'est ici que va jouer en fait la logique du programmevous allez avoir... vous allez définir qu'est-ce qu'il se passe quand je clique sur mon bouton
00:29:57 :donc ici on a le press eventevent ok et onclicket en fait onclick ça va être la fonction qu'on va définirqui va appeler quand on va appuyer sur le boutondonc ici lt.show faut pas oublier d'afficher l'image à chaque fois
00:30:20 :et ici on va définir cette fameuse fonction qui va faire quelque choseen fait quand on va appuyer sur l'image à un endroit spécifiquedonc ici on va lui dire que xrx c'est mon événementdonc c'est le xdata de mon événementet y c'est l'événement ydataen fait ça c'est juste quand vous cliquez, quand vous faites un événement
00:30:49 :donc cliquez, pas de soucis pour le retardquand vous cliquez ça s'appelle un événementdonc c'est l'événement que vous avez défini ici onclickdonc bouton presset en fait x va récupérer le xdata et le ydata de cet événementensuite on va lui dire icitant qu'il est pas
00:31:12 :parce qu'en fait si vous mettez pas isnotnone pour x et yil essaiera de faire cette fonction làmême si vous cliquez pas donc il va pas comprendre et vous allez avoir un bugdonc and y is not knownet moi ce que je vais faire en faitj'ai envie de me dire
00:31:35 :c'était dans l'exemple que j'ai fait tout à l'heureje veux qu'il m'enregistre mes coordonnées à chaque fois dans un fichierdonc pour ceux qui connaissentest-ce que vous connaissez tous ça cette fonction qui permet d'enregistrer la data dans un fichierdites moi dans le chat parce que connaissant les gens qui y a
00:31:55 :je sais qu'il y en a qui connaissent ça très bienmais il y en a qui peut-être connaissent moins biendonc dites moiok c'était fije vais revenir dessus juste aprèsEdgar, Alex, ok je reviens justeje l'écris et puis après je reviens dessusici je continue à écrire
00:32:17 :je vais le copier coller ça ira plus viteet ça aussi pareil je reviendrai dessusvoilà donc en fait ce qu'on dit c'est quesi j'ai un événement qui est non nultu m'ouvres un fichieret à chaque clic, c'est ce que je fais icidonc en fait à chaque clic j'appelle cette fonction
00:32:40 :cette fonction elle récupère le x et le y de mon événementet s'il n'est pas nul il me le met dans un fichieril va m'écrire le x et le yque j'ai défini iciet ensuite pour moi c'est bonici maintenant on va charger notre imagenotre image on peut la charger facilement avec game read
00:33:04 :notre image elle s'appelledites moi si vous pensez que ça sert à rien que j'ai un code déjà écritque je devrais écrire mais c'est juste comme ça vous voyez toutes les étapesouais pas de soucis Eric j'ai compris que c'était à cause du webinarmais y'a pas de soucis
00:33:29 :voilà donc si on récapituleah oui d'accordc'est juste pour savoir pour la méthodepédagogiqueok donc ça vous va que même si le script est déjà écrit ça vous va qu'on le réécrivecomme ça on voit toutes les étapestrès bien merci pour votre tourdu coup ce qu'on fait c'est qu'on appelle cette fonction là
00:34:03 :cette fonction là elle définit une image qui va être interactiveet qui va définir, qui va appeler une fonction à chaque fois qu'on va cliquer dessusok donc je lance mon scriptoù est-ce qu'il me l'a affichéc'est dingue çaen fait le stage manager il me fait galérer
00:34:38 :ça va faire marrer Thibauten fait il me le met sur un autre bureau j'ai l'impressionputain c'est pas vraije galère à vous afficher ce qu'il se passe en faitnon c'est pas un problème de ram c'est juste que je sais pas où est-ce qu'il me le fout
00:35:32 :je crois que je vais devoir le désactiver parce queattendez excusez moi je galère avec mon trucj'arrête le partageje suis bien embêté ça ne m'est jamais arrivéattendez excusez moi vous pouvez discuter entre vousle soucis c'est que j'arrive pas à l'affichermon réglage se met dans mon stage manager sur la gauche
00:37:20 :et j'arrive pas à l'afficherj'avoue que ça fait pas longtemps que j'utilise le stage managerc'est pas un problème de double écran c'est juste qu'il est sur le côtéje monte mon écran on fait du débugage en même tempsje crois que c'est à cause du partage d'écranest-ce que vous voyez mon écran avec la fenêtre affichée par la figure 1
00:38:31 :je gère très mal le stage managerj'imagine que Tibo rigolera beaucoup quand il verra çaje pense que le stage manager ça dépend de l'écrança c'est le résultat de ce que j'ai affichési je vais dans mon dossier il m'a créé un fichier cropsavec les coordonnées des points que j'ai cliqués
00:39:15 :avec mon problème de partage d'écran je pouvais pas le voir en interactifil remplit un fichier et il met le XYsi je veux faire un crop de mon image pas loin de ce point làune image c'est juste un MPI arrêtje veux entre 887 et 887.50
00:39:47 :ici pour le Y je veux dire 521 et 521.50là j'ai mon image, je vais lui dire que c'est mon cropc'est pas vrai, pourquoi il est faux?
00:40:21 :Vincent si tu connais çaj'ai beau cliquer dessusc'est le mission control, les 3 doigts sur le padça te permet d'avoir un aperçu de toutes les fenêtresouais celui làmais tu vois en fait dès que je lemoi j'ai pas eu ce bug làet en fait le truc c'est que j'ai essayé de
00:40:51 :désactiver, tu vois je vais retrouver mes paramètreset je peux même pas les voir dans mes paramètresparce que du coup il est plus dedansje voulais le désactiverj'ai pas eu ce bug là honnêtementc'est un peu foireux, attendez je referme mon partage d'écranje suis toujours là, j'ai juste
00:41:46 :ok j'ai récupéré quelque choseok là ce que j'ai essayé de faire c'était de vous montrer comment faire un cropdonc j'étais là dessus, là je dis que mon imagevoilà et ensuite vous pouvez faire un plt.mumshow du crop
00:43:05 :et plt.mumshowlà vous avez un zoom, en gros le crop c'est vraiment juste la section de votre image que vous avez récupérépar contre que du coup à ce point là auquel j'ai ajouté 50 pixels en lignedonc 50 pixels vers le bas et 50 pixels en colonneà partir de ce point là
00:43:55 :donc voilà désolé c'était un peu chaotique sur la fin des exercices que je vous avais préparéje sais pas, faut que je vois le problèmedu coup pour moi c'est tout ce que je voulais vous montrer sur les cartes et puis le TK Interj'ai lu dans le chat qu'il y a des gens qui connaissaient pas comment on fait pour
00:44:25 :pour enregistrer des datas dans un fichier, est-ce que vous voulez qu'on regarde ça ou est-ce que vous avez d'autres questionsd'autres choses que vous voulez voir plus en détailGo Data mais qu'est-ce que tu veux voir en dataqu'est-ce que je pourrais vous dire sur la data, je sais pas si vous
00:45:10 :j'essaierai de faire un jour une session là dessusc'est sur Apache Airflow, je vais essayer de montrer, est-ce que vous connaissez Apache Airflowalors en fait Apache Airflow c'est quelque chose qui permet de faire des pipelines de dataoù en fait vous pouvez automatiser des tâches de donnéesje vais voir si j'ai un exemple quelque part, non je crois que j'en ai pas mais est-ce qu'on peut faire
00:45:48 :je peux vous montrer je pense qu'il doit y avoir des exemples, Apache Airflowbon c'est un peu compliqué à mettre en place parce que moi j'utilise Docker pour mettre en place ce genre dec'est containerisé mais j'aimerais bien montrer Apacheen fait l'interface c'est un peu comme ça, j'essaie de voir s'il y a pas un truc un peu mieux
00:46:25 :ça marche par, on appelle ça des DAG, en fait un DAG c'est un diagrammeje sais plus exactement ce que ça signifie, DAG, Apache AirflowDAG c'est Directed Acyclic Graph, en fait c'est quand vous avez un pipelineun pipeline en data c'est souvent extraction de la donnée, nettoyage de la donnée, post-traitement
00:46:56 :et après vous appliquez des modèles de machine learning ou des choses comme çaje répondrai après Arnold, je continue sur Apache et puis je répondrai après là dessusdu coup en fait un pipeline de données, c'est exactement ça, extract, transform, loadet en fait juste avec des scripts Python, vous avez qu'à écrire des scripts Python
00:47:20 :avec les niveaux de récurrence que vous voulez dans vos scripts pour votre tâcheet en fait ce qui est bien c'est que lui il gère automatiquement le processen fait vous voyez ici c'est un peu comme les diagrammes de Gantt, une tâche dépend de celle-làdépend de celle-là dans le graph qui est ici, parce qu'après des fois vous avez des graph à plusieurs branches
00:47:45 :mais en gros ce qu'il va faire c'est que si jamais vous lui ditescette tâche là je veux qu'elle s'effectue tous les jours à 15het bien en fait pour que cette tâche là elle soit réalisée, il faut que celle-là soit réalisée, celle-là et celle-là aussiet en fait lui il fait la gestion lui-même de tant que cette tâche là
00:48:04 :je sais pas si il y a un bug, si il y a la foirée, si il y a eu un manque de connexion ou quoiil va la répéter jusqu'à ce qu'elle soit validée et ainsi de suiteet en fait il pourra pas la faire tant qu'il aura pas validé toute celle-là
00:48:17 :donc ça peut être intéressant si jamais vous voulez par exemple avoir plein d'étapes de validationCéliri je connais pas Vincent, mais est-ce que... Céliri...Ce qui est bien avec Apache Airflow c'est que ça marche bien avec les scripts PythonJe pense que ça m'a l'air d'être à peu près la même chose, distributive task queue
00:48:43 :C'est pour automatiser des tâches ça non? Mais plutôt des tâches genre envoyer un mail ou des choses comme ça non?Là le Apache Airflow c'est vraiment orienté data, où en fait tu vas voir sur des serveursJ'essaie de trouver un graph un peu plus intéressantIl n'y en a pas de chose plus intéressante, j'essaierai de trouver des exemples
00:49:23 :J'aimerais bien un jour en mettre en place un pour vous montrermais c'est assez puissant en fait, vous pouvez enchaîner des tâches et parfois faire des tâches parallèlesparce que parfois vous n'avez pas besoin qu'une tâche est terminée pour en commencer une autreDonc ça c'est des tâches parallèles et lui il peut gérer ça
00:49:42 :Donc voilà ce qui m'est passé par la tête quand on m'a posé la questionquand Jonathan m'a demandé de parler de la data, c'est ça qui m'est venu en têteApache Airflow, et j'essaierai de faire une démo la prochaine fois, peut-être pas la prochaine foisparce que ça prendra un peu de préparation
00:50:01 :Est-ce que vous connaissez aussi Docker pour conteneuriser des applications?Si Willy connait, il connait pas mal de choses quand mêmeJe pense que c'est Jonathan, non okEn fait Docker ça permet de conteneuriser des apps et c'est quand même vachement intéressantparce que vous avez la fameuse question quand vous développez une application sur votre ordinateur
00:50:30 :et que vous l'envoyez à un ami ou un collègue et que ça marche pas chez luiIl y a la situation, ça marche sur mon ordi et ça marche pas sur le tienneau, c'est bizarreEt en fait Docker ça permet de faire un conteneur, vous voyez ça comme un conteneur
00:50:45 :où il va empaqueter tout l'environnement de votre ordinateurque ça soit Windows, Linux, MacSi vous faites un conteneur Docker avec votre applicationça marche pas sur n'importe quelle plateforme qui peut faire tourner un processus DockerDonc ça premièrement c'est intéressantet ça permet aussi de déployer des applications beaucoup plus facilement
00:51:07 :surtout si vous avez des interactionsPar exemple imaginez, vous avez un modèle de machine learning qui tournesur des données qui sont sur une base de donnéesDonc en fait ça vous fait déjà, vous pouvez le voir aussi comme deux applications séparéeset vous pouvez les mettre en réseau les deux de manière très simple
00:51:31 :Vous pouvez les faire interagir et par exemple aprèssi vous avez besoin de déployer votre application globalevous déployez uniquement votre Docker qui contient déjà ces deux sous-applications làEt en fait Vincent, Docker et Kubernetes tu peux pas vraiment les comparerparce que c'est pas la même choseAvec Kubernetes en fait ça te permet de déployer et de distribuer sur plusieurs machines virtuelles
00:51:56 :ton application, comme ça si jamais par exemple imagine que tu as un site internetqui tourne sur un serveurtu peux dire avec Kubernetes tu peux facilement déployer ton site websur des centaines voire des milliers de serveurscomme ça quand tu en as un qui tombe en RAID
00:52:18 :si ton serveur tombe en RAID, Kubernetes va gérer automatiquementla prise en charge de tous les autres serveurset ça, ça sera transparent pour ton utilisateurça va pas lui changer son URL ni quoi que ce soitmais c'est ce que permet de faire Kubernetesdonc c'est vachement puissant aussi
00:52:36 :c'est un peu comme tout, Apache Airflow, Docker, Kubernetesça prend un peu de temps à prendre en mainmais une fois que c'est pris en main ça marche bienet ce que tu fais Vincent, ça peut Kubernetes si t'as l'occasion de regardermoi j'avais quelques cours là dessus sur Kubernetes
00:52:53 :donc si tu commences à t'intéresser on pourra en discuterFailover je connais pasWilly qui disait ça facilite la sécuritéoui c'est vraiparce que si par exemple on vous envoie une application et que vous voulez la testeril y a l'option de mettre sur une machine virtuelledans votre machine, comme ça vous ne pétez pas tout votre système
00:53:20 :mais vous pouvez aussi la faire tourner dans un containerqui en fait ça fera jamais sortir l'application du container dans votre systèmeça se met dans Docker et je te rappelle la dernière foisquand j'ai montré StreamlitStreamlit c'est une application qui tourne un peu comme Djangotu peux avoir un serveur de développement
00:53:48 :Streamlit et ce que tu peux faire c'esttu as tes deux applications, Streamlit et Djangoimagine que Streamlit c'est juste l'interface web qui vient piocher dans ta databaseet bien en fait avec Docker et Docker Composetu peux déployer facilement tes deux applicationstu peux les faire tourner sur le même network
00:54:12 :et elles vont se parler entre elleset si tu veux j'ai un repo github dans lequel j'ai une application Djangoque j'ai transformé en Docker et que je fais tourner sur un Raspberry Pidonc si tu veux tu pourras voir l'exempleça pourra t'aiderpas de soucis parce que c'est vraiment long à maîtriser ce genre de truc
00:54:42 :donc voilà pour çaallez-y continuez à poser des questionsj'ai encore quelques minutesest-ce que d'autres dans le chat veulent voir quelque chose en particulierje sais que Stéphie a un fameux problème avec le mkdircorrige moi si je me trompe Stéphie sur le chatoui est-ce que tu as toujours ton problème?
00:55:18 :oui mkdir mec directoui oui tout à fait Willy mais du coup Stéphie j'arrive pas à comprendre ton problèmeparce qu'en fait mkdirtoi tu utilises git bash c'est ça?
00:55:37 :oui et du coup quand tu vas dans git bash et que tu fais mkdir test foldertu as un problèmeen fait ce que tu fais c'est çatu lances un interprète python et après tu fais mkdirdis moi si c'est ça que tu faisoui exactement c'est ça
00:56:09 :mais ça peut pas fonctionner comme çaparce que tu es dans un interprète pythondonc tu peux pas utiliser les commandes que python connait paspython il connait pas mkdirpython ce qu'il connait lui c'est import os.pass.shuttle
00:56:33 :enfin bref si tu veux créer un dossier à partir de python il faut que tu utilises une bibliothèque pythonle mkdir ça se tape uniquement dans une invite de commande ou dans un terminaldonc en fait quand tu es dans git bashça doit se présenter un peu de la même manière que ça
00:56:51 :c'est ici que tu tapes mkdiroui en fait je suis la même chose que fait Thibautdonc il tape mkdir puisqu'en fait c'est un parallèle pour le bolt sur discordet en fait il dit qu'il faut faire mkdir pour pouvoir aller ensuite sur discord pour télécharger la fameuse bibliothèque
00:57:22 :pour créer le bolt si je me souviens bienet du coup...et du coup... j'y arrive pasmais Thibaut il tape pas sa commande mkdir dans l'interprète pythonje sais pas c'est sur lui il tape je sais pas sur quoi il est exactementil est forcément soit dans un terminal linux dans une invite de commande windows ou dans git bash
00:57:52 :mais je pense qu'il est dans git bash mais non il est pas sur du windowsok mais dans tous les cas il tape toutes les commandes de windowsil tape mkdir après il marque dogbot et ensuite en dessous il y a toute une ligneil y a des choses qui s'inscrivent etc et puis au fur et à mesure ça lui permet d'aller télécharger cette fameuse bibliothèque
00:58:26 :je comprends mais le point de départ qui te manque c'est que tu dois taper dans une invite de commande et pas dans un interprèteet en fait ici tu vois là je suis dans mon invite de commande ou là je peux faire mes commandes ls etcpar contre dès que je fais python là je rentre dans l'interprète et là je peux plus faire mkdir
00:58:48 :c'est ça voilà c'est ce que j'ai exactementc'est parce que tu es dans un interprète python en fait il faut que tu sortes soit tu fais un ctrl z je croisexit ouai ouai en fait il faut que tu sortes tu vois là je tape python et si tu fais exit
00:59:07 :tu sors de ton interprète donc tu as plusieurs méthodes de sortir mais il ne faut absolument pas taper tes commandesah oui c'est ça c'est ce que je voulais savoir ctrl z tu vois tu ne dois pas taper les commandes indiquées dans un interprèted'accord donc essaye et puis si jamais tu as un problème si je t'avais proposé on peut faire une video
00:59:32 :écoute j'essaierai et puis si jusqu'à dimanche je ne suis pas arrivé à trouver mon bonheur à ce moment là je te contacterai pour faire une videoah bah n'hésite pas ok super merci avec plaisirdu coup les autres est-ce que vous avez d'autres questions est-ce que les sujets désolé c'était un peu décousu là
00:59:56 :ce que je vous ai fait aujourd'hui à cause des bugs que j'ai eu et puis voilà désolé pour ça je ferai mieux la prochaine foismerci Arnold et dites moi si les sujets dont on a parlé là le Apache Airflow le docker etc est-ce que ça vous intéresseest-ce que vous voulez voir ça c'est plus pour après on s'est écarté un petit peu de Piton donc faudra que je vois aussi avec Thibaut ce qu'il en pense
01:00:27 :mais je pourrais essayer de faire quelque chosebon bah voilà je pense que c'est bon pour aujourd'huitu vas refaire des sessions de Data Science merci bonne soirée oui probablement je pourrais en refaireil faut que je réfléchisse à quoi mais si tu as des idées aussi Vincent si tu veux voir des choses n'hésite pas
Aucune occurrence trouvée pour « ».