Choisir son IDE Python et ses outils
Session du 19 janvier 2023 à 20h00
Bases du Langage
Frontend & UI
Qualité & Architecture
Outils & IDE
DevOps & Environnement
Deviens membre Premium
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- +100h de formations
- +180 exercices de code
- +100h de mentorats en rediffusion
- 20 projets
- Mentorats groupés hebdomadaires
- Support individuel avec nos mentors
Choisir son IDE Python et ses outils
Sujets abordés :
-
Différence entre Kivy, TKinter et PySide
-
Quel éditeur entre PyCharm et VS Code ?
-
Environnements virtuels et IPython
-
Nomenclature pour un environnement virtuel
-
Inspecter le code source dans VS Code
-
Les décorateurs
00:00:00 :Et ici je vais maximiser le nombre de sessions.Il y a déjà une petite question sur les différentes fonctionnalités entre Deka Inter, Kivy et PySide.
00:00:16 :Pour moi en fait, je ne suis pas le mieux placé pour répondre sur les interfaces graphiques,je maitrise pas beaucoup.Il me semble que Kivy c'est adapté un peu plus mobile, enfin pas mobile mais tu peux faire...
00:00:33 :il me semble, je peux peut-être dire des bêtises dans le chat s'il y en a qui savent, corrigez-moi.Et Deka Inter et PySide 6, en fait, pour moi c'est la même chose.
00:00:45 :Parce qu'en fait, Deka Inter c'est une bibliothèque.Et tu verras que normalement dans PySide ou Deka Inter tu vas utiliser les mêmes choses.Donc si t'as... moi j'en fais pas beaucoup mais la fois où j'ai dû en faire, j'utilise QtDesign
00:01:03 :où en fait c'est un assistant de l'interface graphique où tu peux placer tes widgets, etc.Et après le backend entre guillemets c'est du Deka Inter.
00:01:21 :Ouais, bah voilà.Comment savoir quel interprèteur choisir?Ouais, je pense que PySide il est plus moderne effectivement Gabriel.Stéphie, question, comment savoir quel interprèteur choisir?
00:01:42 :Tu veux dire, parce que pour moi l'interprèteur t'en as qu'un quoi.Si tu fais du Python, c'est Python, après t'as plusieurs versions.T'as Python 3.6, 3.9, 3.10.
00:01:55 :Donc ça pour moi c'est un interprèteur.Après tu peux avoir un interprèteur ePython, mais c'est la même chose.Du coup je suis pas sûr de comprendre ta question pour comment savoir quel interprèteur.
00:02:05 :Peut-être que je m'exprime mal, mais savoir entre Visual Code, PyCharm ou Python,c'est assez éloigné.Entre Visual Code et PyCharm, en fonction de ce qu'on veut faire, qu'est-ce qui est le mieux.
00:02:20 :D'accord.Alors entre VS Code et PyCharm, pour moi je les mets sur le même.Bonsoir.Oui bonsoir Maurice, c'est toi qui es souvent dans les sessions Mentora libre.
00:02:37 :Du coup entre VS Code et PyCharm c'est la même chose quasiment.Après c'est un peu comme les préférences de certains.Avec PyCharm t'as une version payante où tu peux faire un peu plus de choses.
00:02:51 :Par exemple tu sais quand tu fais des bases de données, tu peux avoir tes schémas UML automatiquement, etc.Mais vraiment, PyCharm et VS Code c'est la même chose.
00:03:03 :Si on me demandait, c'est ce que je conseillerais comme éditeur de texte pour écrire du code quand t'as des projets.Un gros projet, par exemple Django, etc.
00:03:12 :Moi je ne me verrais pas le faire autrement qu'avec du VS Code et du PyCharm.Parce qu'en fait, tu vois ici je vais mettre...Bon ça c'est la correction pour le truc de tout à l'heure.
00:03:22 :Mais en gros, tu peux facilement aller parcourir tes dossiers.Par exemple si tu les veux en split screen pour pouvoir les voir côte à côte, je trouve que c'est quand même pas mal fait.
00:03:34 :Tu vois là t'as ton premier script, là tu peux en mettre un autre, tu peux comparer.Et ici en dessous t'as ton terminal.Donc je trouve que les gros projets c'est bien pour s'y retrouver facilement.
00:03:46 :Et t'as toutes les extensions.Je sais pas si tu te souviens, j'avais déjà montré les extensions ici.Je sais pas si je l'ai, comment ils s'appelaient?
00:03:57 :Tu fais CTRL-SHIFT-...Ouais tu vois t'as ce truc là où tu balances des petits chats.Ça s'appelle les extensions.Voilà je te montre la plus marrante.
00:04:06 :Mais en gros, t'as beaucoup d'extensions que ce soit sur PyCharm ou VS Code.Tu as par exemple, tu vois moi j'ai une extension de Todo.
00:04:16 :Où en fait dès que je vais mettre un Todo quelque part.Donc là tu vois j'ai test en py.Si j'écris todo mettre à jour le code.
00:04:33 :Et puis qu'après je vais voir ici dans todo.Il va me rassembler tous les todos que j'ai mis.Donc tu vois si dans un gros code comme ça.
00:04:46 :Voilà c'est un petit truc.Mais si dans plusieurs scripts je mets des todos.Tu vois ici j'en mets un.Et là j'en mets un autre.
00:05:05 :Si je vais voir dans todo.Tu vois il m'a rassemblé mes todos dans mes différents trucs.Donc ça tu vois c'est le genre d'extensions qui sont pas mal avec ce genre d'éditeur de code.
00:05:16 :Je dis VS Code et PyCharm parce qu'il y a aussi Sublime Text.Je sais pas si vous connaissez.Mais ça marche bien aussi c'est beaucoup plus léger.
00:05:25 :Et voilà.Et après tu as les éditeurs de code type invite de commande.Donc par exemple si je fais.Moi j'utilise Emacs.Emacs en fait c'est un éditeur de code que en ligne de commande.
00:05:40 :Donc ça je m'en sers en fait quand je dois faire un seul petit script.Je pense que vous voyez pas bien à l'écran là c'est pas hyper gros.
00:05:49 :Mais en fait comme je l'avais déjà dit.Parfois tu fais des développements sur des serveurs.Et sur les serveurs t'as pas d'interface graphique.Donc en fait il faut quand même être capable de pouvoir écrire des petits scripts.
00:06:01 :Sur des invites de commande.Donc là tu vois si je fais documents.Tu vois ici je peux écrire du code dans mon invite de commande.
00:06:17 :Une porte OS tu vois c'est exactement.Cifier égale OS.Après ce qui est un peu plus chiant dans ce genre d'éditeur de texte.C'est qu'il faut tout configurer toi même.
00:06:30 :Mais ça peut avoir des intérêts.Tu vois par exemple là je fais shift X3 je split directement.Shift X2 je peux splitter ailleurs.Et puis après tu vois contrôle XF je peux aller voyager dans mes différents.
00:06:49 :Dans mes différents dotiers etc.Depuis l'invite de commande.Donc c'est assez puissant.Et moi je l'utilise pas mal aussi pour faire des petits scripts.Je vais sortir.
00:07:19 :J'ai fait un lalus sur les trucs.Je regardais un peu l'invite.Pour importer les modules c'est ultra simple.L'extension Todo c'est TodoTree.Excusez moi je lis les messages en même temps.
00:08:00 :Du coup Faro pour ta question tu t'en sors très très bien avec VS Code.Moi personnellement j'utilise que VS Code.Je ne l'utilise pas PyCharm.
00:08:08 :Donc pas de soucis.Ouais c'est cool.PSD ou LOM.La version payante de PyCharm elle est pas mal.Parce que tu as des features en plus.
00:08:22 :Comme les diagrammes UML pour les bases de données.Mais sinon tu t'en sors très bien avec VS Code.Je vais killer les petits animaux.Désolé pour eux.
00:08:39 :Alors Stéphie pour Python.Ah et Python.Peut être que ça peut intéresser d'autres personnes.Et puis je vais en profiter pour parler des environnements virtuels.
00:08:52 :Ça va faire une bonne occasion.Tu peux générer les UML avec VS Code.Mais il faut que tu installes un...J'avais mis sur...Je ne sais plus pour qui c'était pour répondre.
00:09:11 :Dans la discussion générale je la retrouverai si tu veux.C'est qui qui a posé la question?Tu peux générer...Ouais Céline je remettrai le lien dans...
00:09:21 :Enfin je le ferai remonter.Mais j'avais mis une petite extension.Un petit package Django qui te permet de générer ton diagramme UML.Mais sinon peut être que tu connais des...
00:09:32 :Peut être que certains connaissent des extensions VS Code pour faire des UML.Moi en tout cas je ne connais pas comme ça.Du coup les environnements virtuels.
00:09:40 :Et puis on va parler de Hypython.Donc ça je vais supprimer.Donc ce que je vous conseille de faire...Est-ce que Raphaël est là?Je sais qu'il avait posé une question.
00:09:51 :Il voulait voir les environnements virtuels.Ouais il est là.Ok.Alors en fait je vous conseille vivement quand vous commencez un projet.N'importe lequel.Que ce soit un petit ou un gros.
00:10:05 :De travailler avec des environnements virtuels.Parce qu'en fait ici...Si je...J'ouvre un terminal.Ou sinon je peux même le faire dans VS Code.Vous voyez ici je suis dans un terminal.
00:10:19 :Et si je fais Python.Si je tape Python que j'ai déjà installé.Je tombe sur Python 3.9.Qui est la version que j'ai installé.Je vais mettre un peu plus haut.
00:10:29 :Là vous voyez bien.Là c'est la version Python que...Si je fais une porte OS.Il y a tout qui fonctionne.Il n'y a pas de soucis.
00:10:38 :Et si je fais switch Python.Quand vous faites switch Python.Donc ça c'est la commande Linux ou Mac OS.Je crois que...Je la connais pas sur Windows.
00:10:53 :Mais en gros ça vous dit.Quel est le Python que vous utilisez actuellement.Et en fait.Normalement.Il ne faut jamais.Enfin c'est pas qu'il ne faut jamais.
00:11:02 :Mais si vous faites un petit truc rapide comme ça.Ouais sur Kitbash ça fonctionne pareil que Linux.Ou même Commander.Il ne faut jamais utiliser.
00:11:12 :Quand vous avez un projet.Il ne faut jamais utiliser cette version là.Parce qu'en fait.Imaginez que vous travaillez sur votre projet.Vous installez des packages.
00:11:18 :Par exemple.Pour installer un package.Je ne sais pas si vous connaissez.Vous faites pip install.Et par exemple.Moi je fais Panda.Ok.Voilà donc il m'installe le package.
00:11:33 :Bon peut-être que je l'avais déjà.Et j'ai une certaine version.Donc vous faites pip3 list.En fait.Vous faites pip3 list.Vous listez tous les packages.
00:11:42 :Que vous avez installés.Sur la version.Enfin sur votre installation de Python.Et vous voyez ici.Donc là c'est le package.Donc par exemple.Si on va aller voir sur Panda.
00:11:51 :Là vous avez Panda.Et là vous avez la version du package.Ok.Donc.Très bien.Mais imaginez que vous avez un projet.Que vous travaillez dessus.
00:12:00 :L'année X.Et vous utilisez Panda 1.52.Imaginez que vous revenez sur votre projet.Je ne sais pas.Deux années plus tard.Et vous voulez utiliser.
00:12:11 :Une librairie de Machine Learning.Qui utilise Python.Le problème c'est que.Si vous ne faites pas attention.Vous allez peut-être avoir des problèmes.Des compatibilités.
00:12:21 :Parce que.En deux années.Il y a peut-être.Vous avez peut-être utilisé.Des fonctions de Machine Learning.Qui ne supportent pas.La version de la bibliothèque de Panda.
00:12:31 :1.5.2.Et donc ça c'est un peu.Un peu embêtant.Et il y a un moyen pour ça.Pour solutionner ce problème.C'est d'utiliser les environnements virtuels.
00:12:40 :Donc pour créer un environnement virtuel.Ici on fait.Python.M.Vans.Vans.Donc ici.Quand je dis Python.Tirez M.C'est.J'utilise.C'est pour dire à Python.
00:12:53 :Que je vais utiliser le module Vans.Qui est le module.Qui sert à créer les environnements virtuels.Et je veux créer un environnement virtuel.Qui s'appelle Vans.
00:13:00 :Ok.Bon je vais peut-être l'appeler.Un nom comme ça.On comprend tous ce qui se passe.Et vous voyez ici dans VS Code.Il m'a dit.
00:13:09 :Ah.J'ai trouvé.Une autre installation de Python.Parce que.Attendez.Je vais.Je vais supprimer.Je vais écrire un petit script.Ok.Donc là j'ai mon petit script.
00:13:35 :Le lance.Vous voyez.Tout fonctionne bien.Ce que vous allez voir dans VS Code.C'est pareil dans les autres éditeurs.Vous pouvez voir ici la version.
00:13:43 :Du Python que vous utilisez.Donc là c'est vraiment la version originale.La version globale de Python.Vous allez voir que.Ça change ici quand on fait ça.
00:13:53 :Et donc là.Juste pour vous en convaincre.Si je fais Which Python.Pour savoir quelle est mon installation de Python.Que j'utilise.Ok.Maintenant je vais faire.
00:14:00 :Ce que je disais tout à l'heure.Je vais créer l'environnement virtuel.Vous voyez ici.Qu'il me crée un dossier.Et ici il me demande.Est-ce que tu veux travailler dans ton environnement virtuel.
00:14:06 :Donc je dis oui.Et maintenant.Vous voyez.Vous voyez qu'il y a un petit bouton.Qui me dit.Je vais aller dans le dossier.Et là.
00:14:13 :Je vais aller dans le dossier.Et là.Je vais aller dans le dossier.Vous voyez.Vous voyez qu'ici.Ça va plus être.Donc si je crée un nouveau terminal.
00:14:21 :Vous voyez ici.J'ai un petit truc entre parenthèses.Qui porte le nom.De mon environnement virtuel.Et ici maintenant.Si je fais pip list.Vous voyez.
00:14:28 :J'ai rien du tout.J'ai aucune bibliothèque installée.Parce que l'environnement virtuel.C'est un peu comme si.Si vous prenez par exemple.Vous prenez l'exemple d'une maison.
00:14:34 :Bah en fait.L'installation globale de votre Python.Ça va être.C'est un peu comme.Si vous prenez par exemple.Vous prenez l'exemple d'une maison.Bah en fait.
00:14:41 :L'installation globale de votre Python.Ça va être.La maison.Les quatre murs.Et l'environnement virtuel.Imaginez par exemple.Qu'une chambre de la maison.C'est un projet particulier.
00:14:53 :Bah en fait.Dans la chambre.Vous allez créer un nouvel environnement.Et donc ici.Quand vous avez.Entre parenthèses.Bah vous êtes.Dans l'environnement de la chambre.
00:15:02 :Il est au global.Dans l'environnement de la maison.Mais c'est un environnement particulier.C'est à dire.Si vous êtes dans ce salon.Vous n'allez pas avoir accès.
00:15:08 :À l'environnement qui est dans la chambre.Par contre.Quand vous êtes.Quand vous êtes dans l'environnement.Qui est dans la chambre.Vous avez à moitié accès quand même.
00:15:16 :À l'environnement général.Vous voyez un peu ce que je veux dire.Et donc ici.Ce que vous pouvez faire.C'est que vous dites.Bah moi je vais installer.
00:15:22 :Ici donc.Dès que vous avez ici.Une parenthèse là.Ça veut dire que vous êtes.Dans l'environnement virtuel.Si vous voulez sortir.Donc là maintenant.
00:15:29 :Quand je fais.Which.Python.Qui est.Which.Vous voyez ici.Là.Je ne suis plus.J'ai plus la même chose.Que quand j'ai fait tout à l'heure.
00:15:41 :Avec l'installation globale.Je suis en fait.Dans mon environnement virtuel.Et ici par exemple.Parce que là je suis avec.Avec des codes.Donc qui me permet d'activer facilement.
00:15:48 :Si vous voulez.Si vous désactivez votre environnement virtuel.Et que vous voulez l'activer.Il suffit de faire.Source.Don't.Been.Activate.Et donc là je réactive.
00:15:57 :OK.Vous allez voir où je vais en venir après.Peut-être là vous êtes en train de vous dire.Mais pour ceux qui ne connaissent pas.
00:16:10 :Qu'est-ce que ça peut faire.OK.Donc maintenant.Je suis dans mon environnement virtuel.Je le sais parce que ici.J'ai les parenthèses.Et je vais faire.
00:16:17 :Je vais installer un package.Donc là je fais.Pip install numpy.OK.Donc là je suis content.Maintenant quand je fais.Pip list.Vous voyez maintenant que j'ai mon installation de numpy.
00:16:34 :Avec sa version.Et donc maintenant.En fait.Le but de l'environnement virtuel.C'est de pouvoir partager votre script.Ou pouvoir le réutiliser plus tard.Avec tout ce qui va bien.
00:16:41 :Parce que imaginez que mon script.Ici.J'écris un truc.J'écris des fonctions.Qui sont spécifiques.A la version.Je ne sais plus comment ça s'appelle.
00:16:48 :Pip list.Donc là numpy 1.24.Imaginez que j'utilise.Après j'importe le package que j'ai installé.Import numpy as np.Imaginez maintenant que.J'utilise une fonction.
00:17:13 :Donc je ne sais pas.np.linag.OK.Je ne vais pas le faire.Mais imaginez que.Dans deux ans.Je reprends mon script.Et qu'en fait j'utilise.
00:17:22 :La version globale d'installation de numpy.Donc elle sera à jour.Elle datera de.Je ne sais pas.De 2025.Mais en fait.En 2025.Numpy.
00:17:33 :La version de numpy.Elle ne possède plus cette fonction.Ou ce module.Ça se peut.Ça se peut que les développeurs numpy.Dans la version mise à jour.
00:17:40 :Et bien ils ont dégagé cette fonction là.Et du coup votre script.Il ne va plus fonctionner.Alors.Que si vous avez un environnement virtuel.
00:17:48 :Qui a conservé un peu l'historique.Le passé avec la bonne version.Et bien votre script.Il fonctionnera toujours.Donc voilà un peu.A quoi sert l'environnement virtuel.
00:17:56 :Et vous êtes sûr.Que quand vous allez ouvrir votre fichier.Que vous allez prendre votre environnement virtuel.C'est un peu comme une capsule temporelle.En fait l'environnement virtuel.
00:18:03 :Vous pouvez conserver.Les versions passées.Des packages.Et vous pouvez conserver la compatibilité.Au moment où vous avez écrit votre script.Donc ça c'est.Je regarde un peu.
00:18:16 :Merci.Est-ce que.C'est une introduction.Pour l'instant.Après il y a deux petites choses.Encore sur les enjeux dans le monde virtuel.Mais est-ce que déjà.
00:18:23 :C'est un peu clair pour vous.Attendez je vais écouter le chat.Du coup faudrait.Ouais.Il faut un environnement virtuel.Pour le faire.Et bien.
00:18:30 :En fait au tout début de l'informatique.Ça aurait été inconcevable.De parler d'environnement virtuel.Parce que ça prend de l'espace.Par exemple.Je ne sais pas.
00:18:49 :100 kiloptés.C'était de l'or.Maintenant.Un environnement virtuel.Tu vois c'est juste.Tu as juste des fichiers.Donc ça prend très peu de place.Donc franchement.
00:18:57 :Vous ne gênez pas.A chaque projet.Faites un environnement virtuel.Si le VS Code.Il te démarre l'environnement.Dans le dossier.En fait.Si tu ouvres un dossier.
00:19:05 :Dans lequel il y a un environnement virtuel.Il te le démarre.Tu vois ici.Si je fais.Activate.Et que je démarre un nouveau.Un nouveau terminal.
00:19:12 :Il me l'active automatiquement.Et si tu le crée.Il te propose.Ouais.Et si.Ici vous avez un informatique.Et si tu le créé.Il te propose.
00:19:20 :Ouais.Et si.Ici vous avez un informatique.Il te propose.Et si.Il te propose.Il te propose.Et si.Ici vous avez une information aussi.
00:19:29 :Sur le.La version de Python.Que vous utilisez.Donc là.Je suis dans mon environnement virtuel.Ouais.Exact.Voilà.Donc ça.C'est.La première partie d'environnement virtuel.
00:19:40 :Donc comme je vous l'ai dit.C'est pour.Conserver un peu.Un historique.De.Des librairies.Et être sûr de la compatibilité.Entre vos scripts.Etc.
00:19:49 :Il y a.Un autre moyen.Et après.Ce qu'il faut faire.Quand vous avez un projet.Peut-être.Il y en a qui ont déjà commencé.
00:19:56 :A mettre leur.Environnement virtuel.Il faut.Jamais.Le balancer.Dans.Dans un.Répo.Parce qu'en fait.Au plus.Vous allez installer.De.Vous voyez ici.
00:20:09 :Si je vais dans libre.Au plus.Vous allez installer.De.Package.Au plus.Il va grossir votre.Environnement virtuel.Il va y avoir des.Milliers de fichiers.
00:20:19 :Et ça va être.Ça va être un cauchemar.Pour maintenir.La synchronisation.Des fichiers.Donc en fait.Ce qu'on fait.C'est.En fait.Mon installation de python.
00:20:29 :Elle sait.Quelles sont les packages.Grâce à ça.Et en fait.Ça on peut l'exporter.On peut dire.Et.Puis.Puis.En anglais.C'est.Je l'ai en fait.
00:20:41 :Et vous faites.Requirement.Et.Donc en fait.Ce que je fais là.Je lui dis.Tu me gèles.Toutes mes.Mes librairies.Et ici.Ce petit truc là.
00:20:52 :Si vous faites un peu de.D'utiliser les lignes de commande.C'est pour.Envoyer.La sortie.Dans le fichier.Et ici.Si vous en mettez qu'une seule.
00:21:00 :Si vous mettez qu'un seul.Un seul schéma comme ça.Un seul symbole.Il faut que le fichier existe déjà.Et si vous en mettez deux.
00:21:05 :S'il n'existe pas.Il crée le fichier.Donc moi.Comme il n'existe pas.Il donne le fait.Et vous voyez ici.J'ai un nouveau fichier.Qui est apparu.
00:21:13 :Avec juste.Ma librairie.Qui a été.Jelée quoi.Attendez.Je regarde le chat.Et.Je vais.Je vais.Je vais.Je vais.D'accord.Je vais les mettre.
00:21:26 :Je vais les mettre.C'est pour.C'est pour.Voila.Donc.En gros.Juste.Pour la question.Moi.Je les appelle tout.J'appelle pas.Point en passe.
00:21:38 :C'est le fichier.Qui te permet de mettre des variables d'environnement.Comme des secrets.Des choses comme ça.Je l'appelle toujours.Comme virtuel environnement.Et je le mets toujours.
00:21:45 :Dans.Le fichier.Pour donner.Un seigneur.Le premier.Est là.Et je vais.Est là.dans le dossier de mon projet.Il y en a d'autres qui mettenttout leur environnement virtuel dans un seul dossieret qui nomment l'environnement virtuelpar le nom de leur projet.
00:22:03 :Tu fais comme tu veux mais tu peux donner le même nom.De toute façon, ce qui faitfoi, en gros, c'est le...Si tu lui donnes pas de nom, si tu lui donnes juste« ventre » comme nom, il faut le mettre dans le projet où tu essinon tu ne vas plus t'y retrouver.
00:22:15 :Vas-y Gabriel, tu peux me la poser de vive voix.Oui, du coup,c'est vrai que quand je les appelle,je ne sais pas où j'ai vu ça,il y a quelqu'un qui les appelle toujours «.en »
00:22:29 :ces environnements virtuels.Je ne sais pas si c'est Thibaut, peut-être dans l'information,qui les a appelés «.en ».Peut-être qu'il le fait.J'ai un doute, peut-être.
00:22:39 :On peut, il n'y a pas de problème.Oui, tu peux, mais moi je préfère réserverce nom-là pour les variables d'environnement.Après, c'est préférent ça.
00:22:47 :Et toi, tu... Ouais, c'est vrai que les variables d'environnementje les appelle aussi «.en ».Bah ouais, du coup, toi t'es un peu...Ouais.Et toi, tu les appelles toujours « vendre », c'est ça?
00:22:57 :J'appelle toujours « vendre »et je le mets dans le dossierdans lequel je suis, comme ça je sais ce qu'il fait.Et le git ignore du coup,il ignore les « vendre » aussi du coup.
00:23:07 :Exactement, dans ton git ignore...Attends, je vais essayer de retrouver un...Je crois qu'il y a un « vendre », ouais.Ah oui, t'as un truc qui est plutôt comme ça,il est en « vendre » comme ça,donc c'est un dossier.
00:23:19 :Ok, d'accord. Merci.Pas de soucis. Et donc, là, ce que vous voyez,c'est qu'on a gelé notre bibliothèqueet sa version.Donc ça veut dire quesi on fait un voyage dans l'espaceet qu'on revient dans 5 ans,et bah, il suffira juste de...
00:23:35 :On saura que notre projet fonctionneavec NumPy, avec cette version-là.Et du coup, si je veux...Là, par exemple, j'ai ça, mais si par exemple,je fais « install » aussi,« install » en bas,je vais faire un« pip install matplotlib »Et maintenant, si je fais...
00:24:03 :Je refais un « pip freeze » parce que j'ai les nouvelles...les nouvelles librairies.Donc si je vais voir dans mon requirements...Donc là, vous voyez que je commence à avoir plein de librairies.
00:24:11 :Et je ne vais pas aller prendre le fichieret je ne vais pas faire« pip installcontourpyequali »En fait, quand vous installez une librairie,souvent vous faites « pip install panda »Ok? Mais vous pouvez aussi dire
00:24:27 :« pip install panda » avecle numéro de la version.Pour être sûr que vous installez la bonne version.Et ici, vous n'allez pas vous embêter à dire« pip install contourpy »Il y a un raccourci.
00:24:39 :Vous pouvez faire« pip installR requirements »Et en fait, si vous faites « pip install R requirements »Si vous faites « pip install requirements »Il va aller chercher tout ce qu'il y a dans la librairieTout ce qu'il y a dans le requirements.txt
00:24:59 :Et il va vous l'installer.Et en fait, ce qui est « génial »avec ça, c'est quequand vous faites...quand vous utilisezunun repo GitHublà où vous stockez votre code en ligneComme je vous l'ai dit, ça, il ne faut surtout pasle mettreen ligne. Par contre, ce « requirements »
00:25:21 :là, oui. Et ça, en fait, c'est juste un petitfichier texte qui vous indique quelle bibliothèqueil faut installer.Et du coup, vous, vous avez juste àsoit faire un push, donc vous l'envoyez surle GitHub, ou sinon, vous,quand vous le récupérez, vous avez juste à récupérer ça
00:25:35 :et vous savez quelle bibliothèque il faut installeret tout fonctionnera bien. Vous n'avez pasà télécharger tout l'environnementIci, vous voyez, imaginez qu'il fauttélécharger tout l'environnement avec tous les paquetset tout, c'est relou. Donc là, vous avez juste
00:25:47 :à télécharger ce requirement-làet comme ça, ça fonctionne. Et du coup,juste pour répondre à ta question, Steffi, normalementquand tu as un environnement virtuel, maintenant, si tu faistu vois ici, si je fais « ipython »il va me prévenir, il va direil marche quand mêmemais il me dit « attention, tu n'as pas
00:26:03 :« ipython » installé sur ton environnementvirtuel » et du coup, il m'utilisele « ipython » que j'ai installé sur monenvironnement global. Donc ça, c'est pas bien.
00:26:11 :Donc je fais unpip install ipythonça s'installe comme un packageet donc là, il m'installeet voilà.Et donc, maintenant, si j'ai lancé « ipython », je vais avoirle « ipython » de cetenvironnement virtuel.
00:26:27 :Voilà pour les environnementsvirtuelsJ'espère avoir étéclair. Je sais pas si ceux qui connaissentpas sont complètement perdus ou...dites-moi un peuSteffi, ça répond à ta question, déjà,pour « ipython »?
00:26:47 :Ok, très bien. Et puis les autres, bah voilàdites-moi si vous en voulez plus sur lesenvironnements virtuels. Je comptearrêter de parler.Anthony, ok,mais du coup, même si tu connais pas,est-ce que tu comprends un peu le principe?
00:27:07 :En fait, ce qu'il faut là, c'est...Ah, merci, rappel.Ce qu'il faut, si vous...Zamo,je vois que tu es très perdu.Je l'ai déjà dit plusieurs fois, je vais le redire.
00:27:23 :Pour ceuxqui connaissent pas du tout et qui comprennentrien du tout à ce qu'on fait,il faut le voir comme quelque chose quevous découvrez, et le jour où on vous leréexpliquera, vous l'aurez déjà vu au moins une fois.
00:27:35 :Et du coup, vous serez déjà un peu moins perdu.Donc en gros, pour ceux qui débutent et quiconnaissent pas du tout, ici, mon rôle, c'est de...
00:27:41 :c'est de faire en sorte que vous soyezmoins paniqués la prochaine fois que vous le verrez.Et du coup, la prochaine foisencore que vous le verrez, vous commencerez àcomprendre un peu plus, etc. Voilà, exactement.
00:27:53 :Merci Céline pour la...Ouais, l'environnement virtuel, en fait, si turegardes ici... Attends, je vais tele montrer avec le finder, ce sera mieux.Où est-ce qu'on est?
00:28:23 :En fait, l'environnement virtuel, tu vois,c'est un dossier dans lequelt'as...Ici t'as les exécutables de Python,et ici t'as toutes les livrairiesqu'on a installées.
00:28:35 :Donc dans site packages, tu vois,on a tout. On a NumPy,et en fait, tu vois,c'est vraiment des dossiers.Donc t'as des dossiers avec tous les points py,t'as tout ce qu'il faut.
00:28:47 :Ok.Ok.Voilà pour les environnements virtuels.Après, je vous dis,je vous embête à dire, il faut vraiment faireun environnement virtuel quand vous commencez un projet, etc.
00:29:09 :Enfin, moi non plus,j'ai pas envie de vous faire paniquersi vous ne comprenez rien aux environnements virtuelset que pour l'instant, vous travaillez avecl'environnement global, il n'y a aucun souci,ça fonctionne très bien.
00:29:21 :Moi, quand j'ai commencé à faire du Python, pendantdeux ans, j'ai pas utilisé l'environnement virtuel,je voulais pas en entendre parler, parce que ça me paraissait compliqué.
00:29:27 :Mais après, quand vous l'utilisezune ou deux fois, il n'y a vraiment rien de sorcier.Je ne peux pas enregistrer ce truc.Lui, je vais le supprimer.
00:29:39 :Du coup, qu'est-ce que vous voulez faire?J'avais préparé un petit truc sur les décorateurs.Il reste déjà plus que 20 minutes,donc je propose qu'on fasse ça.
00:30:03 :Et puis, si ça vous va.Il y a quelqu'un qui a un micro activé? Désolé, je ne sais pas qui c'est.C'est peut-être toi, Gabriel, vu que tu parles de temps en temps.
00:30:09 :Non, non, j'avais coupé,il était en rouge.Bon, si la personne a sa balance.Du coup, Anthony,s'il te plaît, aide à activer ton micro.
00:30:27 :Alors, les décorateurs.Attendez, parce que j'avais une correction.Je la retrouve.Pierre-André, j'avais une petite questionrapide sur VS Code.C'est dans PyCharm.Pour les projets Django,j'utilise PyCharm.
00:31:07 :Et quand tu fais CTRL B sur un module,ça t'ouvre le fichierde module en question.Et avec VS Code,on peut faire pareil ou pas?
00:31:17 :Oui, tu as un truc pareil.Tu peux...En fait, je vais te le montrer ici.Tu ne vois rien,tu n'as pas besoin de connaître tous les raccourcis.
00:31:27 :Tu fais clic droit et tu faisatteindre...Tu as plusieurs choses en fait,mais si tu fais atteindre la définition,tu as tout ce qu'il faut dans VS Code.
00:31:37 :Ah ouais, c'est bon, d'accord.Tu as tout ce qu'il faut dans VS Code.Ok.Est-ce que je voudrais vous présenter maintenant...Bah oui, clairement,Jean-Phil, Anthony, il a un gage.
00:31:49 :On va chercher, mais...Je vais tout réduire.Pour ne pas vous spoiler.Je vais essayer de vous introduireles décorateurs.Je ne vais pas vous balancer le truc.
00:32:21 :On va faire plusieurs étapes.Et puis...J'essaierai de vous faire comprendre au mieux.Alors, en gros,imaginez que...Imaginez que vous avez des fonctionset que vous voulezsavoir...
00:32:39 :Que vous voulez connaître leur temps d'exécution.Ok?Donc là, j'ai par exemple une fonction...Elle est très nulle, ma fonction, mais...Je vais grandir un peu.
00:32:49 :Ma fonction, elle est très naze.Mais elle prend deux paramètres.A et B, et elle les additionne.Vous avez ensuite une autre fonctionqui fait pareil.
00:32:59 :Elle sous-plaît.A et B.Donc rien de très sorcier.Donc, si vous voulez...Chronométrer, entre guillemets,le temps d'exécution de ces fonctions,vous pouvez utiliser le module Time.
00:33:13 :Donc là, j'ai défini mes fonctions.Et ici, ça c'est mon script.Donc dans le module Time,je dis...Juste avant l'exécution, ça veut dire que juste avantde lancer le runTime, quand je vais exécuterma fonction, il va me récupérermon Time t0,le temps tauquel j'ai lancé mon exécution.
00:33:33 :Donc il va dire, ok,je lance l'exécution, je fais ma fonction,là ma fonction est terminée,et ici,je récupère,je fais un delta...Ici, quand je faisun time.perfcounter,
00:33:49 :c'est pour récupérerle temps d'exécutionau moment où le Pythonpasse sur cette ligne. Comme vous le savez,Python c'est un langage interprété, donc en fait,il compile pas, il parcourt,il va de ligne en ligne,et il interprète le code.
00:34:05 :C'est pour ça que ça s'appelle un interpréteur.Un coup d'eau.Et donc, vous voyez ici,je le fais une première fois, je la stocke dans t0,et ici, à la fin de mon exécution,je refais, je récupère le time,enfin le temps du process,donc à quel temps est mon processeur,
00:34:21 :et je lui soustrais le t0,donc ce qui va me donner un delta,et ça va bien me donner le temps qu'a miscette fonction là pour s'exécuter.
00:34:29 :Parce que j'ai récupéré le temps juste avant,donc quasiment le temps au momentoù elle s'est exécutée, et le tempsjuste après.Donc là, ok,on est content, on fait ça,donc je vous montre,comment ici pour pas que ça se mette,et ici, si je fais run décorateur,
00:34:49 :le premier,donc vous voyez, il est arrivé ici,start execution,attendez, qu'est-ce qu'il me fait?Pourquoi il me le fait deux fois?Ah oui, pardon.
00:35:05 :Je relance.Donc là, il me fait une première exécution,il me fait ma fonction,après, je l'ai pas printé,mais j'aurais pu mettre un print ici là,et dire, je suis dans la fonction,je vais mettre print,et là, il me fait une exécution,et il me fait une exécution,
00:35:29 :et là, je vais relancer,et start execution, je suis dans la fonction add,fin d'exécution,et le time,donc en gros, il m'a mis 5 fois 10 puissancemoins 5 secondes, donc c'est hyper rapide,mais ici, l'objectif,c'est pas de...
00:35:47 :Donc imaginez maintenant que vous vous dites,j'aimerais bien aussi voir combien de tempsmet ma fonction de soustraction.Donc en fait, je fais exactement pareil,je relance,donc là, vous voyez, il me l'a fait plusieurs fois,et donc, j'ai des temps d'exécution différents,mais en gros, on a pu
00:36:07 :mesurer le temps d'exécution de ma fonction add,et celui de ma fonction de soustraction.Donc là, normalement,si vous voyez ça, et que vous commencezun peu à connaître les principesde Python, vous vous ditesque c'est très très mal ce qu'on fait.
00:36:21 :Parce qu'en fait, là,on va répéter du... En fait, quand vous voyezdes choses comme ça, quand vous écrivez du codePython, il faut s'alarmer,il faut être alarmé,on se répète là.
00:36:33 :Et en fait, dans Python, il y ail y a quelque chose,il y a un principe qui ditil faut être dry.Dry, en anglais, c'estdon't repeat yourself.
00:36:47 :Et en gros,ça veut dire qu'il ne faut jamais se répéterquand on écrit du code. Parce qu'en fait,le danger, c'est que vous vous dites, imaginez,vous êtes en fait, je ne sais pas, je dis une bêtise,ah merde, j'ai fait une faute d'orthographe.
00:36:59 :Par exemple ici, si j'avais mis off,vous l'avez écrit comme ça,vous vous dites, ah merde, j'ai fait une faute d'orthographedans mon truc.Donc vous parcourez tout votre code,et vous vous dites, ah ben c'est bon, je corrige ma faute,ici c'est bon, je suis content.
00:37:15 :Mais en fait, comme vous l'avez écrit plusieurs fois,ça veut dire que vous allez devoir retournerà chaque fois que vous l'avez écrit pour corriger.
00:37:21 :Donc vraiment, ça c'est juste un exemple pour vous direqu'il faut toujours essayer defaire des fonctions, etc.Il ne faut jamais se répéter.Donc là on se répète et ce n'est pas bien.
00:37:31 :Donc il y aurait un autre moyen de faire çaavec Python.En fait, il y a trois moyens de mesurer le temps.Donc là, c'est le premier moyen qui n'est pas ce qu'on veut.
00:37:39 :On va utiliser le fait que, en Python,Python c'est un langage interprétéet qu'une fonctionc'est tout bonnementcomme un paramètre pour Python.C'est-à-dire, il le stocke dans un espace mémoire.
00:37:53 :Et voilà, vous voyez ici, si je faisdonc là, j'ai définiadd.En fait, vous voyez, si je faisadd 3,je vais avoir, je suis dans la fonction add,j'ai 6.
00:38:09 :Mais par contre, si je fais justeadd,vous voyez que là, c'est un peu comme si je me donnaisune adresse.Donc en fait, une fonction, ça reste un objetqui est un petit peu particulier, mais ça reste un objet.
00:38:21 :Et du coup,il n'y a aucune raisonque vous ne pouvez pas passer en paramètred'une fonction, une autre fonction.Et donc en fait, ici, ce qu'on fait,c'est qu'au lieude répéter notre code ici,où on va dire, bah, printmachinetje fais un temps avant et un temps
00:38:43 :après, puis je calcule le delta,on pourrait très bien se dire, bah, en fait, je définisune fonction timer,qui est une fonction qui va permettre dechronométrermon exécution. Et en fait,
00:38:55 :ma fonction, elle va prendre en argumentune fonction.Vous voyez, ça peut paraître un petit peu tordu,mais en gros, vous définissezune propre fonction qui va prendreen paramètre sa fonction et les paramètres.
00:39:07 :Bon, ici, je mets A et B,il y en a peut-être qui connaissent, j'aurais pu mettre,vous savez, le fameuxargs, mais ici,on va rester simple, parce qu'après, ça va devenirun peu trop compliqué pour ceux qui ne connaissent pasles... qui connaissent, qui sont
00:39:21 :un peu moins avancés.Donc en gros, ici, ce que je fais, c'est queje définisun timer qui va, pareil, en fait,le t0, il me le met ici,il me met un start d'exécution,ici, il me fait la fonction,donc la fonction, puis ici, je lui ai rentré
00:39:37 :en paramètre, ça pourrait êtren'importe quoi, mais c'est ça l'intérêt, c'est queon peut mettre n'importe quelle fonction,et lui, il va prendre les arguments A et B,et en fait, il me refait exactement ça.
00:39:47 :Donc là, vous voyez ici, ce que j'aiécrit là, donc là,je l'ai écrit une fois, je l'ai écrit deux fois,le fait d'avoir une fonctionqui me permet de le faire, et bien, je l'aiécrit plus, je l'ai écrit juste une seule foisdans ma fonction, et là, je peux définir
00:40:01 :timer add et timer sub.Vous voyez ici, dans mon timer, je lui passefoc en fonction, je lui passe add, et je luipasse les arguments dont il a besoin.
00:40:09 :Et donc, par exemple, si jamais,je reviens sur mon exemple, si je merends compte que j'ai fait une paused'orthographe dans off, par exemple,je sais que je ne vais pouvoir le changer qu'une seule fois ici.
00:40:19 :Et là, je m'étranquille,et je fais serein, parce que je sais que je n'utilise qu'une fois,mais après, là, je faisjuste un appel à ma fonction.
00:40:27 :Donc là, vous allez voir que ça fonctionne,il n'y a pas de...il n'y a pas de mystère.Vous voyez ici, j'ai exactementle même fonctionnement,mais c'est beaucoup plus propre, parce qu'onl'a fait qu'une seule fois.
00:40:45 :Là déjà, est-ce que c'est clair pour vous?Parce que ça peut paraître un petit peu particulierde passer une fonction dansun... à une autre fonction.
00:40:53 :Ça, est-ce que c'est clair pour vous? Il faut lecomprendre pour voir la suite du décorateur.Donc dites-moidans le chat si ça vous voit.
00:41:01 :Dans le chat, si ça vous voit,si vous...si vous comprenez.Après, là, Céline, sur le...Là, je le faispour des exécutions,pour voir le temps d'exécution, mais ça peut êtrecarrément autre chose.
00:41:21 :Et d'ailleurs, on va voir dans l'exemple que j'ai mis après.Ok,merci. Et pour ceux qui ne connaissentpas du tout, enfin pour ceux qui commencent,etc. Tout à l'heure, je voyais, il y avait des gens
00:41:33 :qui étaient un peu perdus.Comment c'est pour vous?Ben en fait, Property,c'est un décorateur, Vincent.Ça reste...C'est un décorateur particulier, mais ça resteun décorateur.
00:41:47 :Res... Non, non, c'est pasun mot réservé. J'aurais pu l'appelerSotoou Basse,pour faire plaisir à Gabriel.Mais non, c'est pasréservé. Tu peux mettre ce que tu veux, et de toute façon,
00:42:05 :c'est une variable.Et donc, la dernière étape...Ok, très bien, Farouk.Merci.La dernière étape, et la mieux,c'est d'utiliser les décorateurs.Donc,n'ayez pas peur.
00:42:25 :Ça peut faire peur, mais en fait,ça n'a rien de sorcier.Alors en fait,c'est pour ça que je vous ai montré l'exemple juste avant.
00:42:35 :Le décorateur, c'est...En fait, c'est quasimentle même principe que ce que je vous ai montré tout à l'heure.C'est juste que là,on peut...
00:42:47 :Vous voyez ici, tout à l'heure, j'ai du...Ce qui était un petit peu ennuyeux...Ennuyant ou ennuyeux?Ennuyant. C'est que...Je ne peux pas vraiment utiliser ma fonction.
00:42:57 :Vous savez, je suis obligé de l'encapsuler.Je dois redéfinir...Je ne peux pas dire justeA, 2, 2, 3...Je suis obligé de redéfinirpar-dessus une autre fonction.
00:43:13 :C'est un petit peu dommage.Et avec le décorateur,on peut fairela même chose, maisun peu mieux.Ce qu'on fait,c'est qu'on va redéfinir le timer.
00:43:27 :Notre décorateur, ici, ça va être le timer.Et ici, time,ça va être... J'aurais pu l'appeler...Pas de soucis.Bonne soirée. Merci.Ici, je l'ai appelé time,mais j'aurais pu l'appeler Toto...
00:43:41 :En fait, on ne s'en sert pasdu nom. Mais ici, moi, je l'appelletime pour dire, en gros, en anglais,c'est le passé simplede timer. Ici, c'est comme si je mettais
00:43:51 :timer, et là, je metstimer.Le décorateur, il va timer,et je vais mettre une fonction à timer.Donc ici,je lui dis, c'est mon décorateur,je lui définis timer, et ici, à l'intérieur,je vais lui mettrela fonctionen argument, qui va être la fonctionqui va être décorée. Décorée,
00:44:13 :pas décorée,parce que la fonction qui décore,c'est elle, et ça, c'est la fonction qui va être décorée.Et donc là,je fais exactement la même chose, c'est juste que je faisun petit peu plus de trucs.
00:44:25 :J'utilise args et kwargs,ce qui me permet de rentrer plusieursparamètres, parce que je ne sais pas à l'avance...Vous voyez ici, quand j'ai écritça, timer.a et b,
00:44:35 :c'est parce que je savais à l'avance quema fonction que j'allais lui rentrer, donc a douceur,elle allait avoir deux arguments, a et b.Donc là, en fait, quand je faisça, ça me permet d'êtrebeaucoup plusgénéraliste,où en fait, je vaispouvoir mettreplusieurs arguments sans savoir à l'avance combien il y en a.
00:44:55 :Donc là, je fais la même chose,je fais mon t0,je fais mon exécution de fonctionavec la fonction que je vais lui rentreren paramètre,je calcule mon delta, etje lui affiche le temps d'exécution.
00:45:09 :Vous voyez ici, j'afficheun petit peu d'autres choses, donc là par exemple, je vais afficherle nom de la fonction,je vais afficher le nom de ses arguments,etc. C'est juste que je fais un petit peu plus de trucs, mais
00:45:19 :rien de particulierpar rapport au timer. Et maintenant,quand vous voulez utiliser votre décorateur, donc vous avezdeux choix, soit vousdéfinissez une nouvelle fonction qui esten fait la fonction décorer, donc làma fonction égale décorateurmyFunction, donc là icidécorateur, ce serait timer,pour ici décorateur, et
00:45:39 :myFunction, c'est votrefonction, donc ici nous ce serait add ousub, que je veux décorer.Et vous voyez ici, ce qui me permet d'avoirune fonction, c'est la même fonctionque j'avais au départ, je peux la faire de lamême manière, mais j'ai pas besoinde faire, vous voyez ici, timer,
00:45:55 :add, etc.Et pour pouvoir, donc ça c'est le premiermoyen, mais en fait le moyen le plus simple,et ce que Python permet avec la notationarrow base, c'est de le mettreen décorateur. Donc ici vous voyez
00:46:07 :le décorateur que j'ai défini,j'ai juste à le mettre en arrow base icide la fonction que j'ai définie, etquand je vais faire add2, 3 ou sub 5, 3,je vais même plus avoir besoin de définir quoique ce soit, vu que j'ai défini un décorateurjuste avant de définir la fonction,
00:46:23 :et bien il va me faireil va meil va me décorer.C'est pour ça qu'on appelle décorer, parce qu'en faitil vient faire quelque chose par dessus, sans enleverle fonctionnement principal de la fonction.
00:46:37 :Donc là vous voyez mon décorateur, il me ditj'ai la fonction add, sesarguments c'est 2 et 3,parce que je l'ai défini2 et 3,et il m'affiche le temps d'exécution.
00:46:51 :Donc ça c'estun peu leprocess ultime qu'il faudraitrespecter pour décorer une fonction.Si par exemple à chaque fois que votre fonctions'exécute, vous voulezque le tempss'affiche, vous pouvez décorervotre fonction avec vos propres décorateurs.
00:47:09 :Donc ça c'est la syntaxe.Après si vous voulezenfinje peux vous le passer, mais çavous le trouvez sur internet n'importe où.Moi ici ce que je veux c'est pas quevous entendiez lasession, vous savez faire votre propredécorateur vous même, ce qu'il faut juste c'estun peu comprendre le principe,
00:47:29 :et quand vous en aurez besoin vraimenten détail, vous allez voir la documentation,vous allez sur internet, surchat.tpt, surStackoverflow, j'en sais rien, etvous regardez comment on fait dans le détail pour définirle décorateur, mais ici ce qui compte c'est de comprendreun peu le principe, et voilà.
00:47:45 :Donc pour ceux qui débutent,soyez pas effrayés de vous dire jamaisje vais pouvoir faire ça tout seul, c'est pasle but, le but c'est de vous faire comprendreet que un jour, si vous vous rendezcompte qu'à chaque fois vous avez besoinde voir le temps d'exécution de votre fonction,
00:47:59 :et bien au moinsvous saurez qu'il ne faut pas faire un trucde ce genre là, après si vous voulez faire un truc rapide, bien sûrvous pouvez, mais l'idéec'est de plutôt partir sur ce genre deméthode où vous avez un décorateur et c'estbeaucoup plus simple, vous voyez c'est beaucoup plus maintenable,
00:48:13 :ici si je modifie ici,ce que fait ma fonction, par exemplesi je veux afficher la dateà laquelle j'ai effectué la fonction,je pourrais faire par exemple...
00:48:25 :..................et en fait je pourrais afficher la dateà laquelle j'ai affiché mon truc, etc.et comme ça j'ai juste à le changer une fois ici, et n'importeoù je définis ma fonction, où je veux cettefonctionnalité là, je le mets en décorateur.
00:48:47 :..................Exact,il y a plein d'idées de décorateurs...................quelques temps et c'était sur du Python je sais pas quoi et je crois qu'il y avait encoreles f-strings ou alors je connaissais pas mais maintenant j'utilise les f-strings c'est beaucoup
00:49:35 :plus simple. Avant la 3.6 oui. Ouais tout à fait Moïse.Voilà pour les décorateurs donc j'espère que c'était assez clair.Bah tant mieux. Du coup voilà la séance elle touche à sa fin je peux répondre à
00:50:21 :quelques questions après je suis désolé je peux pas non plus trop m'attarder mais si vous avezquelques questions je peux répondre quand même. Bonne soirée. Bonne soirée s'il y a pas de
00:50:44 :questions n'hésitez pas je reste encore quelques minutes. Salut tout le monde. Salut. Salut bonsoir.Salut. En fait c'est pour signaler que je n'avais pas trouvé le lien sur l'agenda mais bon après
00:51:07 :j'ai dû le trouver dans la communauté. Ok bah merci pour l'info faut que je vois avec Thibautpourquoi il marche pas le lien sur le truc mais merci d'info faudra que je le signale. Et puis
00:51:23 :aussi pour les replays aussi moi j'ai du mal à voir l'écran et tout ce qui s'est fait. C'esten écran c'est pas trop visible je sais pas si c'est du mon côté. Non je pense que la qualité
00:51:38 :malheureusement du record elle est pas là par exemple là tu vois mon écran bien net. Oui enlive c'est bien mais en replay c'est un peu difficile je sais pas si du côté admin vouspouvez ajuster les choses je sais pas. En fait. Les petites fenêtres ou si tu les noms peut être
00:51:59 :un peu compliquée. Bah ouais en fait c'est le service de vidéo qu'on utilise pour faire lerecord etc la session qui pour l'instant n'autorise pas l'enregistrement au moins en 1040p du coup jepense que ça joue beaucoup ça la qualité et je peux pas maximiser plus que ça l'écran quand
00:52:24 :j'enregistre malheureusement. Donc voilà merci bonne soirée. Bonne soirée à tous je vois qu'ilreste quelques personnes dans la salle si vous avez des questions profitez-en sinon je vaisfermer la session. Merci merci The Crow. Bonne soirée à tous. Bon bah je vais quitter la session. Merci à bientôt
Aucune occurrence trouvée pour « ».
Bravo, tu es prêt à passer à la suite