Session du 25 janvier 2024 à 20h00
Data Science & IA
Développement Web & Frameworks
DevOps & Environnement
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
APIs client-serveur, GitHub et dataframes
-
résolution de notre problème d'API post de la semaine dernière.
-
Un point sur Github et manipulations
-
Quelques manipulation de dataframe avec des re échantillonnage de dataframe et des fusions.
00:00:00 :Ok, donc juste désolé pour ceux qui prennent la rediffusion, je viens juste de lancer l'enregistrement,on avait tout juste à peine commencé à discuter d'une question de Yanis qui se demandaitc'est quoi la différence entre une API serveur et une API côté client.
00:00:17 :Et donc ce que je disais c'est que c'est pas que c'est des choses à mettre en oppositionmais c'est au même titre quand vous faites du développement web,vous avez des choses qui sont côté serveur et des choses qui sont côté client.
00:00:29 :Donc au même titre que les API, elles peuvent être côté serveur et côté client.Tout ce qui est sur une application web, quand vous êtes sur le front-end,donc sur la partie interface utilisateur, quand vous remplissez des formulaires, etc.,
00:00:42 :vous interagissez avec le site web, vous êtes sur le front-end.Donc ça c'est plutôt tout ce qui se passe côté client.En revanche tout ce qui va être, si dans votre formulaire vous rentrez un champ,vous faites une recherche ou des choses comme ça,tout ce qui va se passer derrière côté, dans le back-end en fait,
00:01:04 :tout ce qui va être interrogation à la base de données, vous allez avoir du résultat, etc.,ça c'est côté serveur.Donc c'est exactement la même chose pour les API.
00:01:13 :Quand vous avez une API, vous pouvez très bien voir ce qu'on a fait la dernière fois.Vous savez quand on a interrogé, vous n'étiez peut-être pas là,mais quand on interroge une API et qu'on fait des requêtes sur l'API,on fait des filtres ou des choses comme ça sur les datas,
00:01:28 :là en fait on est API côté client, c'est-à-dire on interagit directement,on fait des requêtes, on balance et voilà.Une API côté serveur ce serait plutôt dans tout ce qui est système d'authentification et tout ça.
00:01:43 :Si par exemple vous avez déjà suivi les mentorats qu'on a fait sur Firebase ou Superbase,ou en fait quand on avait fait des authentifications avec les databases,le fait de rentrer un mot de passe, un nom d'identifiant et un mot de passe,ça c'est une API plutôt côté serveur qui va aller taper dans la base de données des utilisateurs
00:02:09 :pour aller vérifier si le mot de passe est correct, etc.Donc ça c'est plutôt une API côté serveur.Mais voilà, il ne faut pas trop se prendre la tête en disant API côté client, API côté serveur.
00:02:20 :Les deux restent des APIs, c'est-à-dire que c'est un moyen que deux applications ont de discuter entre ellessans avoir une interface utilisateur.Mais voilà, ça reste la même chose.
00:02:33 :Est-ce que c'est un peu plus clair pour toi Yanis ?Ok, très bien.Alors après, je fais juste le...Alors question de Yanis aussi, pourquoi on passe par ça pour déployer une application ?
00:02:55 :Ce n'est pas obligé de passer par ça pour déployer une application,mais c'est hautement recommandé parce que c'est en fait un endroit,mais tu vas le voir quand je vais faire des exemples avec GitHub,c'est un endroit qui te permet d'avoir ton code à jour en fonction de toutes les modifications que tu fais.
00:03:13 :Imagine, toi tu développes ton code pour un client qui te demande...Ah, avec plaisir, Dolibah, c'est top pour gérer...Et puis, je ne sais pas comment tu l'as fait, si tu découvres,mais tu l'as déployé avec un Docker, j'imagine, simple,c'est ce que j'ai fait, je le fais tourner sur un serveur avec Docker,
00:03:35 :et voilà, ça tourne nickel.Donc je reviens à GitHub, imagine...Ah ok, très bien.Mais n'hésite pas à l'installer sur un serveur ou un VPS,parce que tu as beaucoup d'options, Dolibah, de partage avec tes clients,par exemple si tu veux faire signer un devis ou des choses comme ça,
00:03:55 :si ton truc tourne sur un serveur, tu pourras partager une page hébergée sur ton serveurde signatures électroniques ou des choses comme ça,donc c'est vachement intéressant le fait que ce soit sur un serveur.
00:04:05 :Tu peux mettre en place un système de gestion de tickets et tout ça,qui sera beaucoup plus... ça marchera bien si c'est sur un serveur.
00:04:14 :Mais oui, n'hésite pas si tu as des questions aussi là-dessus.Et donc Yanis, pour le code, imagine que tu as un client qui te demande de développer une application,donc toi tu développes un code, etc.
00:04:24 :Tu arrives à le mettre en production sur un serveur sans passer par GitHub,bon ben voilà, tu es content.Sauf que si jamais ton client va te demander une correction ou une nouvelle feature ou une nouvelle option,toi ce que tu vas faire, c'est que tu vas développer la nouvelle feature sur ton local,
00:04:42 :après tu vas devoir retourner sur ton serveur là où tu as mis ta production,tu vas devoir tout effacer, recopier le code que tu as fait pour pouvoir avoir la mise à jour, etc.
00:04:51 :Et de fil en aiguille, tu vas faire des versions 2, version 3, etc.Tu sais le fameux... quand tu es à l'école et que tu fais un rapport et que tu dis version finale 1,
00:05:00 :tu fais une modif, version finale 2, tu veux garder l'ancienne, etc.Voilà, donc ça devient vite le bordel,et GitHub te permet de centraliser à un seul endroit et de synchroniser toutes les différentes versions,parce que tu pourrais très bien te dire, je développe mon code sur mon PC perso à la maison,
00:05:21 :voilà, je développe mon code, je fais mes modifs,j'envoie mes modifs sur GitHub qui est un endroit sur Internet où tu conserves toutes les modifications de ton code,et après tu pourrais, je ne sais pas, au bureau pendant ta pause déj,tu travailles sur ton ordinateur de bureau,ben là tu n'as pas ton code qui est sur ton bureau.
00:05:38 :En revanche, il est sur GitHub, donc ce que tu peux faire c'est,tu vas aller chercher le code sur GitHub, tu vas modifier et tu vas envoyer tes modifications sur GitHubqui vraiment est l'endroit où tu synchronises toutes tes modifications,et comme ça tu peux travailler depuis plusieurs plateformes différentes et avoir un code qui est synchronisé.
00:05:58 :Donc voilà un peu pourquoi on utilise GitHub pour redéployer une application,parce que dès que tu veux modifier quelque chose,tu veux que tu aies un code centralisé qui récupère la modif et qui mette tout à jour.
00:06:09 :Voilà un peu le concept de GitHub.Mais bon, il y a vraiment beaucoup de choses à dire, moi j'ai juste dit...Ouais, voilà, donc je vais vous partager mon écran et puis on va s'amuser,on va commencer à s'amuser avec...
00:06:28 :Vous voulez commencer par ça, par GitHub ?En fait quand je dis commencer par ça, ça veut dire qu'on va prioriser ce qu'on fait sur GitHub,et si on n'a pas le temps de faire les autres choses, on les fera la prochaine fois.
00:06:40 :Ça vous va de commencer par GitHub pour la majorité d'entre vous ?Ok, ok, ok.Alors, on va partir de vraiment zéro.Vous allez voir, on va créer un compte, etc.
00:06:57 :Moi j'ai un compte perso, mais je n'ai pas de compte sur mon adresse pro,donc on va le faire ensemble.Donc on va sur GitHub, et juste avant de continuer,il y a deux choses qu'il faut bien différencier.
00:07:18 :GitHub n'est pas Git, et l'inverse, Git n'est pas GitHub.GitHub c'est vraiment une plateforme d'hébergement,retenez que GitHub c'est une plateforme d'hébergement de votre code.
00:07:29 :Vous allez voir que c'est une communauté, etc.Mais voilà, ayez bien ça en tête,GitHub c'est là où j'héberge mon code, où mon code réside sur Internet, sur GitHub.
00:07:39 :GitHub c'est comme Twitter par exemple,et Twitter vous balancez des posts, ou Instagram vous mettez des photos,là sur GitHub vous mettez votre code.C'est grossier, mais c'est ça.
00:07:53 :Et Git en revanche, c'est l'outil qui permet de gérer les différentes versions,les modifications, etc.Mais bon, vous allez voir petit à petit pour ceux qui ne connaissent pas.
00:08:02 :Donc vous allez sur GitHub, vous faites sign up,est-ce que vous voyez assez bien là ?Vous faites sign up, vous avez une belle interface,donc là vous mettez votre adresse mail,donc moi je vais mettre pacdev8.
00:08:14 :Ok, là qu'est-ce qu'il me propose ?Je vais choisir mon propre mot de passe,ou sinon non, il va me suggérer un mot de passe.
00:08:27 :Bon, je le changerai, ne vous en faites pas.Je vais mettre ça et je le changerai plus tard.Ok, vous mettez votre mot de passe.
00:08:57 :Le username, moi je mets pacdev8.Il ne marche pas.Ok, pacdev8, c'est dispo.Ok, on continue.Bon, là vous allez avoir la petite énigme,donc ça c'est marrant, en fait avec la flèche,il faut orienter le train dans la même...
00:09:20 :Enfin bref, c'est de la vérification, vous n'êtes pas un bot.Ok, donc là on a créé le compte,on va récupérer la vérification par email.
00:09:35 :Voilà, on va dire just me par l'instant.Moi ce que je veux faire c'est project management.Vraiment, vous m'arrêtez à la moindre question.Là on a juste créé un compte Github,il n'y a pas trop de complications.
00:10:03 :Donc là vous êtes sur votre dashboard de Github.Le premier truc à faire,forcément ça va être de créer un projet.Pour faire un projet, vous allez ici,create new repository.
00:10:18 :Create repository, donc là vous allez avoir,ça c'est votre utilisateur,et là ça va être le nom de votre projet.Donc ça ne va pas être le nom,il ne faut pas mettre le nom de votre script,c'est vraiment le nom de votre projet.
00:10:32 :Donc nous par exemple ici, qu'est-ce qu'on va faire ?On va mettre, on va s'en servir pour ce qu'on fait ensuitesur la data project.
00:10:45 :Vous avez deux options,soit vous avez public ou private.Donc là c'est important.Si vous faites public,ça veut dire que votre code sera visiblepar toute la communauté Github,ou même n'importe qui qui va sur internet.
00:11:00 :Ou sinon vous avez forcément private.Ça c'est dans le cadre où par exemple,si vous avez un projet perso,je vous conseille de le mettre en public,parce que de toute façon,de nos jours maintenant,il y a tellement,avec l'intelligence artificielle, etc.
00:11:20 :Il ne faut pas vous dire que si vous développez un code,le code en lui-même il a de la valeur.Ce qui a de la valeur c'est le projet,comment vous arrivez à le monter,si vous arrivez à le vendre, etc.
00:11:34 :Sauf vraiment dans les cas très particuliersde chercheurs, etc.Vous pouvez mettre votre code en public,ça ne posera pas de problème.Par contre si vous faites un codepour un client qui vous paye,je vous conseille de le mettre en private,parce que le client ne voudra pas
00:11:50 :que le code que vous avez...Ah, j'ai des gens qui veulent arriver.Voilà, le client qui vous a payépour faire le code,il ne voudra pas que ce soit publicet accessible gratuitement,donc vous le mettez en private,c'est ce qu'on fait ici,quand vous créez un projet.
00:12:07 :Ensuite vous mettez un readme file,c'est un fichier markdownqui permet de décrire un peu votre code.Le repository sur GitHub,c'est comme un dossier sur Internet.
00:12:17 :Quand quelqu'un arrive sur votre dossier,il faut qu'il puisse comprendre un peuc'est quoi l'objectif de votre projet, etc.C'est ce qu'on fait avec le readme file,je vous le montrerai ensuite.
00:12:26 :Et le gitignore, ça c'est très important,parce qu'en fait GitHub ce qu'il fait,c'est qu'il va synchronisertout ce qu'il y a sur votre localdans votre projetsur la plateforme GitHub.
00:12:36 :Mais vous imaginez bien que,par exemple quand vous faitesun environnement virtuel,vous avez des milliers et des milliersde fichiers qui sont dedans.Si vous oubliez de mettreun gitignore propre à Python,je vais vous montrer aprèscomment ça marche le gitignore,en fait il va tout balancer
00:12:51 :ce qu'il y a sur votre local,enfin ce qu'il y a dans le dossier,dans votre local, sur la plateforme.Et ça va prendre des plombeset ce n'est pas ce que vous voulez.
00:12:59 :Et le gitignore aussi,il permet de dire à GitHub,attention je ne veux pas que ce fichierqui détient par exempledes informations secrètes,comme des clés d'appli, etc.,
00:13:08 :il soit publié sur mon GitHub.Voilà, et après la licence,si jamais vous voulez partagervotre code, etc.,moi je vous conseille,je mets toujours une GNU licence V3.
00:13:19 :Et voilà.Oui Gabriel ?Petite question sur les licences,c'est vrai que j'ai l'habitudede GitHub maintenant,mais les licences,je ne mets toujours rien en fait.
00:13:29 :Ça apporte quoi vraiment ?Alors en fait,c'est un sujet un peu compliquéque je ne maîtrise pas à 100%,mais en fait les licences,si tu ne mets pas de licence,quelqu'un qui trouve ton code sur GitHub,il va vraiment pouvoir faire absolumentce qu'il veut avec ton code.
00:13:51 :Parce qu'en fait,comme tu n'as pas mis de licence,tu n'as pas mis de restrictionssur l'utilisation,tu n'as pas mis de restrictionssur le partage,donc il peut prendre ton code,il peut le copier-coller,il peut mettre son nom,enfin il peut faire tout ce qu'il veut.
00:14:01 :Alors que si tu mets une licence,de toute façon là,quand tu fais ce genre de,c'est des licences qui sontpour des logicielsou des codes open source,avec n'importe laquellede ces licences,normalement il faut vérifier,mais le code,il peut être réutilisé,etc.
00:14:17 :Mais en fait,ça te donne un peu des conditionsde la manière dont les personnes,ils peuvent réutiliser ton code.Par exemple,pour celle-là,il me semble qu'ils peuventutiliser ton codeet vendreet se faire de l'argent avec,mais ils doivent soit te mentionnerou s'ils ont modifié le code,
00:14:33 :ils doivent le mentionner,etc.Tu vois,c'est un peu ce qui te donneun cadre pour le partageet quoi que ce soit.Ok, ouais,je t'en remercie,je vois,c'est un peu commeles Creative Commons.
00:14:45 :Voilà,exactement.Et si tu n'as pas de licence,les gens,normalement,ils ne peuvent pas collaboreravec toi sur ton code.Parce qu'en fait,GitHub,c'est un parfait exemplede la collaborationchez les développeurs.
00:14:57 :S'il n'y a pas de licence,ils ne peuvent pas collaboreravec toi,normalement,d'un point de vue légal,tu vois.Donc,voilà,je vous conseilled'en mettre une.
00:15:08 :Ça ne mange pas de painet ça vous protégeraun petit peusur la distributionde votre code.Voilà,donc,vous faitesCreate Repositoryet donc là,maintenant,vous avez,voilà,un code,vous avez justepour le voircomme un dossiersur Internet,sur un espace réservéqui est ici privé
00:15:28 :parce qu'on ne l'a pasmis en public,donc,personne ne peut le voir.Donc là,vous voyez,vous avez votre fichierREADME,donc,c'est un Markdown,donc,vous pouvez le modifierdirectement depuisl'interface Web.
00:15:42 :Vous pouvez dire ici,this is mydata project,pleasecollaborateas youwish.Vous pouvezmêmemettre des petitsémojis,me semble.C'est du Markdown,donc,voilà,vous pouvez,donc,ce qu'on fait,c'est qu'on ditcommit changeetfirstmodificationofREADME.
00:16:07 :Voilà,donc,en fait,quand vous faitesunmodificationdeREADME,c'estquand vous faitesunchangementdefichieravecGit etGitHub,ça marche toujours comme ça.
00:16:26 :Vous avez une modificationde fichier,vous devez d'abord faire uncommit.En fait,un commit,ça veut juste dire,OK,bon,j'ai une modification,je veux qu'elle soit envoyéesur monsur monrépositoryqui estlà,sur GitHubeten gros,ça permet de dire,le fait de faire un commit,
00:16:47 :c'est à partir de ce moment-làoùvous avez une modificationde fichier.Donc,je parle bien de Git,du logiciel.Il va commencer à allercomparerles fichiers qui existent,les modifications,l'historique,etc.
00:17:00 :Et ensuite,vous allez faire un push.Donc,un push,c'est juste pour dire,c'est bon,je suis contentdetoutes lesmodifications que j'ai faites.
00:17:10 :Tu peux balancer ça surle repoonline.Tu peux écriretout à faittout ce que tu veux.Je te conseilled'aller voirle repo,comment est le readme.
00:17:20 :En fait,tu as souventun truc du stylehow to use,how to collaborate.Enfin,tu as plein de choses,quoi.Mais,voilà,c'est vraiment,c'est ton fichier à toi.
00:17:32 :Tu fais ce que tu veuxet elle t'expliqueun petit peu dedansce que tu faisetce que fait ton...Ben,voilà.Regardez,Thibault,il a mis un lien.
00:17:43 :Ça vous permetde faire des éditionsde readme.Ça peut être trèseffectivementtrès pratique.Voilà.Donc là,on a un petit peu fait...Voilà.
00:17:53 :Donc,on a le fichier de licencequi est toujours dans le repo.Donc ça,vous l'avez vu.Vous pouvez aller la lire.Ce n'est pas très long.
00:18:00 :Et vous avez votreGitignore.Donc ça,le Gitignore,c'est en grosun fichierdans lequelvous inscriveztout ce que vous voulez pasmettre dansvotre repo.
00:18:11 :Donc là,par exemple,vous allez voir,je vous ai parlé tout à l'heuredes environnements virtuels.C'est tout ce qui va êtreenv,venv,etc.
00:18:20 :Ça,ça veut dire ques'il voit ça dansvotre dossier local,il ne va pas le balancersur le repo.OK.Donc là,maintenant,ce qu'on va vouloir faire,c'est créerun espèce de miroirde la plateforme GitHubsur notre local.
00:18:36 :Donc pour ça,ce qu'il faut faire,c'est...Donc là,vous êtes sur votredashboard de projet.Vous allez dans codeparce qu'en gros,vous pourriez écrire icidu code.
00:18:46 :Vous voyez,si vous voulez,je peux faireadd file,create new file.Je peux faire un fichierPython,genrehelloworld.pyDonc là,il s'appelle comme çaet puis je vais direfor iinrange10printif.
00:19:06 :Voilà,commit,commit message,create,créationdu premierfile.Du premier script.Voilà,commit,change.Voilà,donc là,vous avez sur notre projet,on a créé un fichierhello.py
00:19:24 :avec,voilà,le script,le machin.Vous allez,vous pouvez me l'accorderquec'est...C'est pas très...Enfin,c'est pas oufde créer,d'écrire son codedirectementsur l'interface webparce que vous ne pouvez pas le tester,il n'y a pas d'interpréteur,etc.
00:19:45 :Donc c'est la galère.Donc vous,en fait,c'est vraiment juste une plateforme d'hébergement.Vous n'allez pas développer directementsur GitHub.Donc pour ça,il faut créer un miroirde votre...
00:19:54 :un miroir de votre reposur votre localpour pouvoir faire vos modifssur votre localet balancer tout sur GitHub.Je n'ai pas lâché...Enfin,ouais,je switch un peu entre GitHub et GitLab.
00:20:08 :Là,je monte GitHubparce que c'est quand même luiqui fait le déploiement des applications.Ça marche...Enfin,il y a beaucoup plus de compatibilitéavec GitHub.
00:20:16 :Pour répondre à ta question,Gabriel.Voilà,exactement.Mais voilà,sachez que c'est un petit peu dangereuxde modifier son code directementdepuis GitHubparce qu'après,quand vous retravaillezsur votre PC local,il ne faut pas oublierde faire un pool.
00:20:31 :En fait,un pool,ça va être de tirer le code,ça va être de resynchroniserparce qu'on a plus l'habitudede développer sur son PCet de le balancer sur GitHub.
00:20:38 :Donc si vous modifiez sur GitHub,quand vous allez développersur votre PC,vous allez parfois oublierde rafraîchir un peule code localdepuis le GitHub.
00:20:45 :Voilà.Donc si on veut créerun miroir de çasur notre local,il faut ici aller dans le codeet il y a deux possibilités.
00:20:54 :Soit vous dites,je veux cloner avec HTTPSou soit avec du SSH.Moi ici,je vais vous montrer avec SSHparce que HTTPS,c'est un petit peu moins sécure.
00:21:04 :Et aussi,ce qui est chiant maintenantavec GitHub,c'est qu'à chaque foisque vous faites un pool,ou un push,ou que vous voulezsynchroniser votre localavec votre GitHub,il va falloir taperun mot de passeou rentrer un token,etc.
00:21:17 :Donc c'est un peu chiantet je préfère vous montrerle SSH,c'est un peu plus propre.Donc avant de commencer ça,il faut d'abord se créerune paire de clés SSH.
00:21:31 :Si vous ne connaissez pasdu tout SSH,etc.,ne soyez pas trop perturbés,ce n'est pas gravesi vous ne comprenez pasexactement ce que c'est,ce n'est pas le but làparce que le SSH,c'est un protocolequi est un petit peu complexeà comprendre,mais c'est un protocole
00:21:48 :hyper sécurequi permet de dialogueravec des machines remoteou avec des plateformesici comme GitHub.Ouais,il ne veut que du token GitHubpour les mots de passe,c'est un peu chiant.
00:22:00 :Donc ce qu'il faut faire,vous faites,vous allez sur votre PC localà partir duquelvous voulez travailler.Vous tapez SSH,Keychain,donc Keychainpour key et générateur.
00:22:13 :Ça marche sur Linux,sur macOSet sur Windows,il faut le faire çasur PowerShell.OK ?Donc vous tapez SSH Keychainet donc là,il va vous dire,est-ce qu'il va vous donnerun endroitoù il va stockerla paire de clés privéeet publique.
00:22:29 :Donc là,par défaut,il me met ça,moi je vais en mettre une autreparce qu'en fait,j'en ai d'autresqui existent sur mon PC,je vais dire,je vais l'appelerID RSAet on va dire,c'est pour le comptePackDev UI,donc on va mettreGitHub PackDev UI.
00:22:50 :Voilà,donc là,il a créé ma paire de clésprivée et publique.Donc maintenant,je vais retourner dans SSH.Donc là,j'ai mes plusieurs clésqui existentet ce qu'il suffit de fairemaintenant,c'est d'afficher le contenude la clé publique.
00:23:09 :Donc on faitcat id rsaGitHubet c'est bienla clé publiquequ'il faut afficher.Donc vous allez avoirun truc comme ça,un petit peu barbare.
00:23:24 :Donc ça,c'est votre clé publiqueet ce qu'il faut maintenant,c'est que vous alliezdans vos settingsde compte,pas dans les settingsdu repo,c'est vraiment dans les settingsde votre compte GitHub.
00:23:39 :Vous allez dans SSH Cléet là,vous faites New SSH Cléet donc là,vous l'appelez votre clé.Donc ça vous permetd'identifier depuisoù vous faites,vers où vous,où est-ce qu'est votre local.
00:23:53 :Donc là,ici,je vais l'appelerMacbook Air.OK.Là,je colle ma clé publiqueet je faisAdd SSH Key.En fait,en gros,pour vous donner une imagede comment ça fonctionnele SSH,quand sur votre maison,vous avez une serrure.
00:24:17 :Donc une serrure,c'est les gens qui passentdans la rue,ils peuvent voir la serrure.Tout le monde voit la serrure.Le passant lambda,il peut voir la serrure.
00:24:28 :Donc en comparaison,si vous voulez,la clé publiquequ'on vient de copier,c'est la serrure de votre maison.Si quelqu'un,il passe devant votre serrure,tant mieux pour lui,il peut voir la serrure.
00:24:38 :Mais tant qu'il n'a pas la clé,il ne peut rien faireavec la serrure.Il peut mettre son doigt,s'il veut,dans la serrure,il ne se passera rien.
00:24:45 :Donc en fait,vous voyez qu'ici,le fait de partager la clé publique,ce n'est pas du tout un problèmeparce qu'il n'a pas la clé privée.
00:24:53 :En revanche,quand vous allez vouloir faireun pool ou un push du SSH,en fait,GitHub,lui,il a la serrure de porteet la clé privée.
00:25:04 :Donc ici,si je vous montre,ça,c'est la clé publiqueet ça,c'est le contenu de la clé privée.Donc en fait,dans la clé publique,il a une information de,il y a une seule clé privéequi rentre dans cette clé publique.
00:25:21 :Et cette clé privée,il n'y a que moi qui l'ai dans mon local.Donc ça veut dire quequand je vais faire,je vais essayer de discuteravec mon compte GitHub,lui, il a la clé publiqueet quand je vais faireun pool ou un push,il va comparer ma clé privée
00:25:35 :qu'il va trouver dans mon local,il va essayer de la,entre guillemets,de la faire rentrerdans la clé publiquequ'il a vue sur GitHubet il n'y a que la miennequi va rentrer.
00:25:44 :Donc c'est comme çaqu'on sécurise un petit peunos échangesentre mon localet le GitHub.Parce que si j'utilisaisle HTTPS,bon,il ne faut pas non plustrop s'inquiéter,ça reste secure quand même,mais le HTTPS,c'est avec un mot de passeou un token.
00:26:00 :Donc ça,le token,c'est quelque choseque vous allez devoir rentrerà un moment donnédans votre,dans l'invite de,dans la connexion,quand vous connectezsur un site webavec votre mot de passe,vous rentrez votre mot de passequelque part.
00:26:13 :Donc si jamaisil y a quelqu'unà ce moment-làqui arrive à intercepterles requêtes HTTP ou quoi,il arrivera à avoirvotre mot de passe.
00:26:20 :Alors que là,avec ce système de cléet de serrure,un peu comme j'ai faitl'analogie,c'est beaucoup plus complexe,voire impossibled'expliquer un peuvotre compte ou votre code.
00:26:29 :Donc,si je retourne sur,ça va,c'est clair ou pasce que je vous ai dit ?Alors,c'est une très bonne question,Edouard.En fait,il suffit,entre guillemets,parce que moi,à chaque fois que je disil suffit,tu vas te créerune nouvelle clé ici,SSH clé.
00:26:46 :En fait,tu vas aller,là je suis sur mon local,je vais fairemes développements,etc.Si,en revanche,je veux balanceren productionsur un serveur,sur une autre machine,mon code,je vais devoir faireun pool depuiscette nouvelle machine.
00:27:02 :Et pour faire ça,il faudra justeque tu te connectesen SSHou je ne sais commentsur ton autre machineou là,tu vois,je suis sur mon PCà la maison,mais si je suis au bureau,en fait,il faudrait que je recréeune nouvelle paire de clés
00:27:16 :pour mon PCde bureau.Et ici,je rajouteraiune nouvelle clé,donc je feraiNew SSH Cléet là,au lieu de mettrebooter,je mettraibureau desktop.
00:27:28 :Là,je copie la clé publiquede mon bureau desktopqui est sur mon PCde bureauet voilà,quand je ferai un push,il va comprendreet en fait,il va testerles différentes cléset il va voirs'il arrive à faireune combinaison valideentre la clé publique
00:27:47 :et la clé privéequ'il va trouver.Donc,voilà.Hum…C'est presque une bonne image,sauf que…C'est pas la même serrure,parce que tu vois,en fait,tu recréesune paire de clésà chaque foisen fonctionde la nouvelle machine.
00:28:06 :Donc,la clé publique,elle n'a qu'une seule clé privée.Donc,c'est pasla même serrure,parce que tu vois,en fait,tu recréesune paire de clésà chaque foisen fonctionde la nouvelle machine.
00:28:19 :Donc,quand tu perds ta clé,tu es obligéde régénérerune paire de clés,serrure clé.Donc,on se retrouvesur notre compte GitHub.Ensuite,on retourne,on va sur notre repo ici.
00:28:34 :Et donc là,on va pouvoir cloneravec SSH.Donc,il suffit d'aller dans SSHet vous faitesvous copier.Donc,vous voyez,il y a un petit boutonqui vous permet de copier.
00:28:45 :Sinon,vous faites tout simplementça, copier.Donc là,on a copié.Et maintenant,on va vouloir allerdans n'importe où.Voilà,une serrureet une clépour chaque PC.
00:28:57 :On va aller dansdocuments.Où est-cequ'on va aller ?OK.Donc là,on va se créer,on va dire.OK.Et en fait,vous faitesun petit boutonici.
00:29:10 :Et là,on va allerdansdocuments.Donc là,on va allerdans documents.On va allerdans documents.Vous faitesgitcloneet là,vous copiezce que vous avez copiédepuis le SSH.
00:29:26 :Donc,là,on y va.OK.Ah oui,il y a une choseque j'ai oublié de faire.Donc,on va retournerlà-dedans.CDSSHVous voyez icique j'ai plusieurs clésdifférentes.
00:29:41 :Si vous avezqu'une seule clé,on va allerdansdocuments.Donc,en fait,la clé par défaut,idrsa et idrsa-pub,vous n'aurez pas à fairece que je vais vous montrer là,mais il faut savoirqu'au plus vous allezrajouter de clés,ça pourrait être le cas.
00:29:56 :Imaginez que là,en fait,j'ai une paire de cléspour mon github,mais j'ai aussiune paire de cléspour mon gitlabou d'autres choses.
00:30:04 :Donc,en fait,vous savez cette fameuseinterrogation dequand je vais faireun push ou un pull.Forcément,sur mon local,il va se passer quelque chose.
00:30:13 :Il va essayer de trouverune comparaisonavec leavec la cléet la serrure.Donc,lui,en fait,il voit une serrure.Il faut quand mêmeque je lui diseil faut que tu ailleschercher les clés.
00:30:26 :Donc,pour ça,en fait,on va utiliserle ssh-agentqui va lui direc'est un peu comme sivous avez les clés,mais,en fait,là,pour l'instant,les clés,elles sont dans mon tiroiret il faut que je les mettesur mon trousseaupour pouvoir compareravec les serrures.
00:30:44 :Donc,là,je vais lui dirersac'est laquellec'était la githubpactefe8.Donc,là,j'ai ajouté à mon trousseaumes clésqui dormaient,en fait,dans un tiroir.
00:30:59 :Et maintenant,si tout s'est bien passé,si je revienset que je refais le clone,voilà.Donc,là,il a bien comprisce que je voulais faireet vous voyezqu'il ne faut pas oublierde rajouter votre cléà votre trousseau.
00:31:21 :Donc,maintenant,si je vais voir,si je regarde dans...Donc,là,je suis dans mon local.Je vais voircd data projectet là,vous voyez,j'ai bien les trucsque j'ai créésdepuis uniquementla plateforme.
00:31:36 :Là,vous voyez,c'est le...Est-ce que vous voyez assez?C'est le scriptque j'ai écritdepuis la plateforme web.Si,si,je changeais le scriptet qu'au lieud'afficher le i,je voulais faire autre chose,donc,je définis une fonctiondef addài.
00:31:55 :Et là,vous voyez,j'ai bien le scriptque j'ai écritdepuis la plateforme web.Donc,là,j'ai bien le scriptque j'ai écritdepuis la plateforme web.
00:32:05 :Je fais un retournea fois b.Je vais...Voilà,donc,en fait,ce que j'ai fait là,j'ai fait une modificationde mon repoparce que j'ai modifiémon fichierhello world.py.
00:32:24 :Donc,ce que je dois faire maintenant,c'est git add.Parce qu'en fait,si je faisais icigit status,vous voyez,il va me dire queà 30 secondes,il va me dire queattention,t'as modifié sur ton localton fichierhello.py,
00:32:39 :maisc'est pas synchroniséavecce qui se passesur la plateforme.Parce que vous voyez ici,si je faiscathello,en fait,mon fichier il ressemble à ça.
00:32:50 :Alors que quand je vais voir là-dessuset que je metsà jour,bah voilà,il est toujoursdans cet état-là.Donc,maintenant,ce que je peux faire,ce qu'il faut que je fasse,c'est qu'il faut que je diseà gittous lestous les fichiersdans un peu le process
00:33:07 :de synchronisation.Donc pour ça,moi je faisgit add .Donc ça veut diretout ce que tu vois dans le dossier,tu l'ajoutes dans le process.
00:33:14 :Maintenant,si je faisgit status,il dit,ah,je vois maintenantque t'as modifiéce fichier-là,mais j'ai toujours pasmis à jouravecle github.
00:33:26 :Donc,ce que je fais maintenant,c'est que je faisgitcommitm.Donc ça,tout ce que j'écris là,c'est juste pour dire,c'est pour mettre un messagesur la modification.
00:33:38 :Et donc là,je vais dire,j'aiajoutéune fonction.Voilà.Donc on ajoutegit commit.Et maintenant,si je fais gitstatus,il dit quej'ai vraimentquelque choseque je suis prêtà modifier sur mon code.
00:33:55 :En fait,le "-m",c'est la descriptiondu commit.Git add,c'est la même quegit...Ouais,c'est la même choseparce qu'en fait,le fois,c'est un wildcardpour dire toutet le point,c'est le dossier courant.
00:34:15 :Donc en l'occurrence,là,ça aurait fait la même chose.Sauf que si,par exemple,j'avais eu un dossier courantet un sous-dossier,toi,avec ton wildcard,tu l'aurais ajouté tout,mais moi,j'aurais pas ajoutéparce que j'aurais justeajouté ce qu'il y adans le dossier courant.
00:34:30 :Par exemple,je vais essayer de faireun git push.Oh merde,j'ai fait git push.Git push.Et donc,vous allez voir que maintenant,si je retournesur mon Hello World,j'ai bien la modificationque j'ai faite.
00:34:42 :Et ce qui est top,vous allez voir avecGitHub,c'est quesi vous allez là,vous pouvez,vous avez un trucqui s'appelle ici,là,history.
00:34:52 :Et vous pouvez voircomment a évoluévotre fichier,votre scriptaprès avoirmodifiévotre scriptavec les commits.Donc là,vous voyez,le premier commit,j'ai juste faitcreate world.
00:35:05 :J'étais dans ce statut-là.Si je vais là-dessus,en fait,il va dire,ah,quand t'as fait le commit,et en plus,il vous donne la date,etc.
00:35:14 :Donc,c'était il y a une minute,mais vous verrez que demain,vous verrez que demain,ça va être,il va vous donner la date.Bah,vous voyez exactementtoutes les modificationsque vous avez faitlors de ce commit.
00:35:25 :Donc,c'est exactementtoutes les modificationsque vous avez faitlors de ce commit.Si, par exemple,je refais un autre modification,je vais faireimax,ok,et disons que,par exemple,en fait,je me suis trompé,ce n'était pas un foisque je voulais faire,c'était un plus.
00:35:42 :Ok,donc là,je peux quitter.Je refais un peutout le bazar de,j'ajoute tout,je fais mon commit,le commit,c'est,j'aicorrigéma fonction.
00:35:54 :Voilà,et après,je push.Donc,voilà,si je retournelà sur mon truc,je retourne sur monhello world,je vais voirl'history.Donc,là,vous voyez que,en fait,dansle dernier commitque j'ai fait,je ne sais passi vous voyez assez bien,voilà,il va me dire que
00:36:16 :dans le dernier commitque j'ai fait,donc c'étaitnow,mais voilà,si je mets à jour,il va me donnerle timing,il va me mettre la date,il vous met exactementla modificationque vous avez faite.
00:36:28 :Et ce qui est cooldans GitHub,c'est que,par exemple,là,vous pouvez ajouterun message,vous pouvez dire,si par exemple,je ne sais pas,vous travaillez avecquelqu'un d'autre,vous dites,oui,en fait,ici,ce qu'on voulait,c'était unemultiplication,non,c'était,voici,c'est ça,non,je me suis trompé,
00:36:53 :c'est le contraire,je voulais faireune addition.Oui,j'avais une multiplicationet maintenant,je veux faireune addition,c'est ça ?C'était une addition,donc là,vous dites,OK,mais vous pouvezfaire plein de choses,vous voyez,avec,vous avez,vous pouvez fairedes listes,des checklists,tout ce que vous voulez,
00:37:15 :puis comme c'estdu markdown,ben,vous avez,par exemple,vous pouvez fairedu markdown,ben,vous avez,il faudravérifierque c'estbonquand même,là,si vous allez dansle preview,vous voyez,vous avez un peutout ce qui,tout ce qui est propreà markdown,donc là,
00:37:38 :vous faitesle single comment,et donc,maintenant,ce qui est cool,c'est que si,par exemple,dans,je ne sais pas,dans deux semaines,vous revenez sur votre code,vous dites,donc là,c'était il y a deux minutes,mais nous,on va dire qu'ici,c'est passé le 25 janvier
00:37:56 :à 20h41,ah ben oui,on a changé la fonction,on a mis une additionau lieu d'un retour,et puis là,oui,en fait,ce qu'on voulait,c'était une additioncomme ça,vous pouvez voirtout ce qui est,enfin,tout ce qui,vous avez vraimentun historique,et vous pouvez récupérer
00:38:14 :des versions précédentesde votre code,etc.,donc c'est vraimenthyper puissantIl n'y avait pas un truc,git push,oui,en fait,ça,git push origin master,c'est,tu n'as plus besoinde le faire,en fait,si,ça,tu as besoin de le fairequand,quand tu as plusieurs branches,
00:38:37 :ou quand tu veuxlui spécifierque tu veux vraimentfaire un pushsur ton repo,parce que,mais ça,c'est vraimentdans des cas de figuresun peu particuliers,où tu changes de repo,tu changes de branches,etc.,
00:38:50 :là,si tu fais git push,de base,il va te mettrela branche mainde ton repo.Tu peux faire les,oui,tu,oui,bien sûr,tu peux faire les modificationsdans VS Code,alors,moi,c'est parce que j'ai mis,j'ai été vite en ligne de commande,mais tu vois,
00:39:08 :si je fais,j'ouvre VS Codedepuis le repo,ici,là,je peux fairetoutes les modifications,tu vois,je dis,je metsgeneral docstringapply,ok,on est d'accord,voilà,j'ai fait ça,et,même dans docstring,tu vois,dans docstring,c'est formation professionnelle,dans VS Code,tu as,tu peux même rentrer ton message
00:39:32 :ici directement,donc,tu peux direupdate docstringvalidationsynchroniseret,voilà,c'est tout,c'est tout,c'est tout,c'est tout,c'est tout,c'est tout,voilà,donc,tu peux directement faire tes modificationsdepuis VS Code,il n'y a pas de soucis,tu vois,si je vais làet que je vais voir mon code,
00:39:55 :j'ai bien ma nouvelle docstringque j'ai mis,et puis pareil,si je vais voir dans l'history,qu'est-ce qu'il s'est passéquand on a fait update docstring,ah bah oui,on a fait ça,on a juste ajouté la docstring,donc,il n'y a pas de problème.
00:40:06 :Je regarde les messages en même temps,ouais,par exemple,ça,c'est un cas d'exempleexactement,où en fait,c'est un peu,quand tu es obligé de faireorigin master,c'est quand,on va dire,c'est comme s'il y avaitun tunnel qui se créaitentre ton localet GitHub,et si jamais
00:40:32 :tu fais,tu,bah,par exemple,l'exemple de Gabriel,quand tu supprimesta branche,il y a un tunnelqui se créeentre ton localet GitHub,et si jamaistu fais,tu supprimes ta branche,bah,en fait,tu coupes le,tu fermes le tunnel,et il faut juste le réouvrir
00:40:51 :avec ce que tu as dit,Jean-Philippe,le git pushorigin master,c'est juste pourrecréerla connexion,le tunnelentre ton localet ton GitHub.
00:41:01 :Donc,ça,c'est une des chosesimportantes de GitHub,il y a une autre chosequi est,exactement,ouais,tu peux aussi,là,je ne suis qu'un seul collaborateur,mais,justement,donc,ça fait une bonne transitionsur ça,c'est d'être,dans GitHub,vous avez ce qu'on appelledes issues.
00:41:21 :Alors,en fait,une issue,c'est,en anglais,c'est un problème,quelque chosequi se passe,vous pouvez dire,bah,on va créer une issueensemble,donc,on va dire,qu'est-ce qu'on peut dire,on voudraitla fonction cube,au lieu de,on va dire,on va créerla fonction cube,
00:41:42 :au lieu de,la fonction addition,fonction cube.Ok,euh,ok,donc,ce que vous pouvez dire,c'est que,vous envoyez une issue,donc,ça,ça peut être,soit vous,soit votre équipe,soit votre client,ou j'en sais rien,euh,je me suis,euh,bref,n'importe qui.
00:42:04 :Et donc,il y a un truc qui est assezsimple,c'est que,on va dire,n'importe qui.Et donc,il y a un truc qui est assezcool,c'est que,imaginez que vous avez un codequi est assez,qui commence à être costaud,euh,et,imaginez que,en fait,
00:42:21 :vous le mettez en production.Donc,ça,il y a des clients qui l'utilisent,etc.Si jamais,vous vous rendez compte d'un bugsur une partie,ou,je ne sais pas,quelqu'un qui veut ajouter une nouvellefeature,ben,en fait,vous ne voulez pas que laproduction,elle s'arrête,et là,
00:42:40 :vous êtes dans le pétrin.Donc,en fait,le meilleur moyen pour faire unemodification ou ajouter une nouvellefeature,c'est de créer une nouvelle brancheà partir d'une issue.
00:42:48 :Donc,là,imaginez,vous dites,ah oui,mais en fait,moi,je voudrais la fonction cube.Donc,vous créez une nouvelle issue,donc,c'est vraiment,vous avez un,ici,un endroit où vous avez plusieursissues,donc,on peut en créer plusieurs,si vous voulez,ou sinon,on veut aussi,voir,
00:43:10 :soustraire,pardi,je ne sais pas si c'est écritcomme ça,pardi,voilà,donc,si vous allez sur votre tableaudes issues,vous avez plusieurs issues.
00:43:20 :Donc,avant de faire une modification,un peu comme un bourrin,dans votre code,et tout péter,et ben,vous pouvez créer ce qu'onappelle une branche.
00:43:28 :Donc,depuis les issues,vous pouvez mettre,ici,dans développement,create a branch.Donc,là,il me dit automatiquement,et vous allez voir,donc,je vais faire créer la branche,et donc,là,il me dit,c'est ce que je dois fairesi je veux,faire un espèce de poolde la branche.
00:43:47 :Donc,je vais vous montrer,je copie,je vais là-dessus,je vais là-dessus,et puis,en fait,je pense que je peux mêmele faire directementdepuis ici,non,il faut peut-êtreque je le fassedepuis un terminal,non,il faut peut-êtreque je le fassedepuis un terminal,donc,
00:44:07 :git fetch origin,parce qu'en fait,là,si je fais,git branch,il voit juste,uniquement,la branche main,ok,donc,comment je faispour quitter ce truc-là,ok,maintenant,si je fais,git fetch,donc,ça,en fait,git fetch,ça veut dire,qu'est-ce qui se passesur le GitHub,
00:44:40 :c'est un rafraîchissement,et donc,maintenant,si je fais,git branch,normalement,pourquoi il ne me le montre pas,il me dit,en fait,ce qu'il faut que je fassepour,pour changer,ma branche,donc,je fais,git fetch,et là,il me dit,en fait,git checkout,fonction cube,
00:45:01 :voilà,donc,en fait,ce que j'ai fait,là,et normalement,on peut avoir un dessin,assez sympa,c'est que,maintenant,toutes les modificationsque je vais faire,donc,si,par exemple,ici,je veux faire une fonction,def,soustraction,et donc,là,je fais,ab,et là,je fais,retourne,
00:45:27 :a moins b,et là,je suis content,je sauvegarde,je vais faire,donc,là,vous voyez que VSCode,il me dit que je suis biendans ma branche cube,je vais faire,ajout,soustraction,validation,synchroniser les modifications,voilà,donc,maintenant,si je retourne sur github,sur ma plateforme,sur mon projet,
00:45:48 :donc,sur mon repo,je retourne,je suis là,je retourne,je retourne,je retourne,je retourne,je retourne,vous voyez quej'ai deux branches maintenant,j'ai la branche main,et la branche fonction cube,en fait,par défaut,il va toujours vous mettresur la branche main,mais en fait,
00:46:10 :quand vous voulez faireun nouveau développement,ajouter une nouvelle feature,il faut toujours se mettresur une nouvelle branche,donc là,vous voyez que je suisdans la branche main,si je veux voir dans la branchemain mon code,bah,j'ai le code initialque j'avais tout à l'heure,
00:46:23 :et si je vais dansfonction cube,et que je veux voirdans la branche,j'ai maintenantma soustraction,donc en fait,vous avez deux versionsde votre codequi coexistentsur votre localou sur votre github,mais qui sont indépendantes,ça veut dire queles modificationsque vous allez faire
00:46:39 :dans,vous voyez là,en fait,c'est un peu,vous avez une brancheet vous allez avoirune bifurcationde votre code,vous allez fairetout ce que vous voulez,et à un moment donné,vous allez dire,bon,bah,voilà,maintenant je suis contentça vous permetde faire des développements
00:46:58 :sans risquede tout casser votre codeet que ça continueà fonctionnerpour la production,en fait,souvent,c'est la branche mainqui est en production,et tous vos développements,vous les faitessur des branches à part,comme ça,votre code continuede fonctionner,et puis,vous ne cassez pas tout.
00:47:16 :Donc,maintenant,une fois que vous êtessatisfait de votre modification,vous êtes prêt à fairece qu'on appelleune pull request.Ouais,dans PyCharm,Git,c'est disponible aussi,celui-là,ou c'est peut-êtreune extension,mais voilà,ça se met facilementen place.
00:47:36 :Et typiquement,aussi,ce que je vous ai montréavec,donc là,une nouvelle feature,ça peut être aussiquelqu'un qui collabore,qui veut collaborersur votre code,en fait,il ne va pas modifiercomme un bourrinvotre code qui existe,il va créer sa propre branche,et une fois qu'il sera content
00:47:52 :de sa modification,il va faire une pull request.Et donc là,on va dire,est-ce que je peuxvenir,entre guillemets,fusionner les modificationsque j'ai faitesdans ma nouvelle branchesur la branche main.
00:48:04 :Donc,il va comparer,etc.,et on va fairecreate pull request,et donc,il y a quelqu'unqui va faire une demandede pull request,et donc,ça va être à vous,là,je suis tout seulà travailler dessus,mais ça va être à vousde dire,ok,merge pull request,
00:48:22 :confirme merge,on a fait une fusionde notre nouvelle brancheavec notre branche main,et vous pouvez même,ici,je vous proposed'effacer,de faire un deletede la branche qui existait.
00:48:32 :Oui,Gabriel ?Bon,en fait,je crois que tu as répondu.Du coup,oui,c'est vachement cool.Donc,en fait,tu as créé une issue,là,un problème,tu as créé ta branche,parce que moi,je faisais manuellement,je faisais créer une branche,un checkout,machin,et après,je faisais un merge,
00:48:53 :mais là,en fait,directement dans GitHub,tu as fait ton merge,tu l'as fait quasiment tout seulqu'en cliquant,et tu as,en même temps,pu supprimer ta branche.
00:49:02 :Exactement.Ça,c'est cool,c'est pratique.Oui,c'est hyper pratique,et vous voyez,après,moi,j'utilise VS Code,mais peut-être que dans PyCharm,il y a ça aussi.
00:49:14 :Vous avez un peutout l'historique de votre code,donc là,vous voyez,en fait,ça,ce qu'il vous met,c'est d'utiliser,en mode arbre,des branches.
00:49:24 :Donc là,vous voyez,j'ai créé une nouvelle branche,j'ai fait des modifications,donc j'avais vraimentune version parallèlede mon code,et après,j'ai fait un merge.
00:49:33 :Le Git Graph,en fait,ça,je ne sais plus si c'estune extension,mais c'est dans VS Code,en fait,quand tu téléchargesl'extension Git,tu as ça,et tu vas dans,ici,Git Graph,je crois que l'extension,attends,je vais te la trouver,l'extension,l'extension,elle s'appelleGit Graph.
00:49:53 :Voilà,donc,tu vas juste là-dessus,et ce qui est beau,c'est que vous pouvez,enfin,vous pouvez imaginerplein de choses,vous pouvez mêmefaire des branches,parce que là,j'avais fait une brancheà partir du main,mais vous pouvez fairedes branches à partirdes autres branchesque vous créez,
00:50:10 :enfin,bref,c'est infini comme possibilité.Voilà,là,ce que je vais faire,en fait,il faut switcher,je vais retournerma branchesur mon autre branche,parce qu'en fait,je n'ai plus besoinde cette branche-là,donc,je vais faireun Git checkout,c'est checkout main,ok,donc là,je suis sur le main,
00:50:31 :et en fait,moi,ce que je veux,c'estla brancheque j'ai créée,donc,j'ai crééune brancheà partir du main,donc,j'ai crééune brancheà partir du main,donc,j'ai crééune branchela branche,en fait,je vais retournersur ma branchequi existe maintenanten local,
00:50:55 :et je vais lui direque je veux la supprimer,branche,supprimer la branche,non,moi,je ne veux pas supprimercelle-là,donc,j'ai un petit conflitde branches,mais en fait,ce qu'il faut maintenant,c'est retournersur votre branchemain,main,voilà,vous refaitesune synchronisation,mais là,en fait,
00:51:33 :il m'a remis,il a un petit peu,j'ai un petit peucafouillé avec les branches,donc,j'ai mis le principelà-dessus,si je retourne là-dessus,code,voilà,donc,maintenant,je n'ai plus que ma branche,et je vais faire un pool,parce que sinon,voilà,donc,normalement,je n'ai plus ma branche,
00:52:03 :et j'ai bien fusionné,voilà,aussi,avec VS Code,ce qui est cool,c'est que vous pouvez me dire,par exemple,si j'ajoute une nouvelle fonctiondans ma branche main,def,multiplication,vous voyez qu'ici,ou si par exemple,ici là,je modifie quelque chose,je dis,print A,B,et que là,
00:52:26 :je dis,en fait,je veux faire,je ne sais pas,une division,en fait,ici dans la marge,je peux avoir accèsdirectementen liveaux modifications,mais bon,ça c'est un peuce que je vous ai montrésur Github,donc,voilà,c'est un petit peu,c'est hyper puissant,
00:52:45 :Github,attendez,je regarde un peu,là,j'ai perdu le fil des questions,alors,Jean-Philippe,pour répondre à tes questions,cela prend tous les fichierspour tester l'ensemble,oui,en fait,justement,le fait de,ici,dans ton gitignore,par contre,ici,si je faisais un fichierque j'appelle,je vais l'appeler grossièrement
00:53:08 :secrets,mais bon,il ne s'appelle jamais comme ça,secrets.txt,dans lequel tu metstous tes codes,etc.,si je le laisse comme ça,donc,tu vois,il est en vert,ça veut dire qu'il va vouloirle mettre dans mon process de git,mais moi,je ne veux pas ici
00:53:23 :qu'il me le balancesur le Github,donc,ce que je fais,c'est que tu vas dans ton gitignoreet il suffit juste d'ajoutersecrets.txt,et donc,tu vas voir que normalement,lui,il ne se met plus en vert,maintenant,il se met en gris,et donc,ça veut dire que
00:53:38 :quand je vais faire un push,ça,il ne va pas me l'envoyersur mon Github,donc,ça permet de protégerun peu tes mots de passe,etc.,
00:53:46 :si jamais ton projetest public.« Ça s'utilise commentavec Django,les branches ?On fait une branchepar app ? »Pourquoi pas,tu peux te dire,à chaque fois que je faisune nouvelle app,si j'ai peur de tout péter,je fais une nouvelle brancheet voilà.
00:54:00 :« Tu peux être en venveet sur giten même tempsdans ton terminal ? »Oui,oui,pas de soucis,regarde icisi je me metsdans mon terminal,donc,j'ai à la fois,là,je n'ai pas d'environnementvirtuel,mais si j'en crée un,tu vois,si je fais python
00:54:18 :venve,venve,allez,j'ai oublié l'œil.Alors,si je faispythonvenve,venve,venve,venve,source,venve,bin,activate,tu vois qu'il n'y a pas de soucis,j'ai mon environnement virtuelet j'ai aussi ma branche.
00:54:37 :Voilà,donc,sur GitHub,c'est vraiment pas maltout ce que vous pouvez faireavec les brancheset il y a un petit truc aussi,ce qu'on appelle,vous pouvez aller,si vous retournezsur votre dashboard,vous allez dans Projectet vous faites New Projectet en fait,là,ça vous permet un peu
00:54:58 :de gérertoutes vos,vous mettez Board,Cloud Project,vous voyez,vous pouvez gérer directementpour plusieurs projets différents,donc là,je ne sais pas,vous dites,ajouternouvellefonctiondivision,ok,donc là,vous avez,et vous pouvez lui attribuer,parce que là,en fait,je crois que je ne lui ai pas attribué
00:55:21 :de projet,je ne sais plus exactement,copiling in project,en fait,ça,après,normalement,il faudrait l'assignerà un projet,enfin bref,vous pouvez avoir une visionde toutes les featuresque vous voulezpour vos différents projets.
00:55:44 :Ouais,par exemple,tu peux dire,tu vois,donc imagine,tu as autant d'issues,ça va être autant de branchesque les différents membresde ton équipe,ils vont faireavec l'histoire de branches,c'est que tu peux avoirune version mèrede ton projet,et,t'imagines quetu as différents membres
00:56:07 :de ton équipeou différents collaborateurs,ils veulent travaillersur des chosesqui sont différentes,donc ils peuvent fairechacun une branche,comme ça,ils ne modifient pasdes chosesqu'une autre personneest en train de modifier,etc.,
00:56:20 :ils ont justeleur branche à part,et après,tu vas avoir le chef de projetqui va s'occuperdes pull requests,donc là,par exemple,tu vois,tu peux faire un Kanban,donc tu peux direajouter une nouvelle fonction,donc là,maintenant,elle passe en progrès,voilà,donc tu peux dire,
00:56:38 :enfin,tu peux faire,tu peux faire vraimentbeaucoup de choses.Voilà,en gros,enfin,on a effleuré,mais,on peut fairebeaucoup de chosesavec Git,bon,les professionnels de Git,ils font beaucoup plus,mais,moi,je ne me sers pasde beaucoup plusque ce que je vous ai montré
00:57:02 :sur Gitet GitHub,donc,on ales commits,création de branches,les pull requests,voilà,la gestion des issues,honnêtement,je ne me sers de pasbeaucoup plus que ça,après,parfois,si,quand j'ai fait de la merde,j'ai oubliéde régler les problèmes,mais,voilà,je ne me sers pas,
00:57:23 :et ce qui est bien,c'est que,même,VS Code,mais c'est pareil,depuis,je pense,PyCharm,vous pouvez aller voir directementce qui s'est passésurquel est l'historiqueet à quel moment,et puis,vous pouvez ajouter des messagespour ne pas être perdusur ce que vous avez fait,
00:57:40 :donc,c'est vraimentun outil superque je vous conseille d'utiliser,Git et GitHub,même si vous faites un petit projetet que vous êtes tout seul,ben,voilà,Gabriel l'a dit,une fois,il avait un codeet,voilà,vous êtes sauvé,parce que vous avez un endroitoù vous avez,
00:57:57 :quand même,votre data qui est,enfin,votre code qui est disponible.Et après,l'autre partie de GitHub,c'est tout ce qui est,tout ce qui va être déploiement,en fait,vous avez plein de plateformesqui vous permettent de déployervotre codes'il est hébergé sur GitHub.
00:58:10 :Bon,voilà,ça a prisun peu plus de tempsque je pensais,mais,je pense que c'est intéressantde,c'est toujours intéressantde voirce qui se passesur GitHubet,c'est toujours intéressantde voir GitHubet,un peu,la manière dont on peut faire,voilà,avec les clés,
00:58:30 :etc.Donc,ça,ça sera disponibleen rediffusion,donc,si vous avez besoin,vous pouvez aller revoircomment on a crééles clés SSH,etc.,pour faire discuternotre localet le GitHub.
00:58:44 :Et allez voir sur GitHub,il y a plein de trucscoolsque vous pouvez faire.Euh,voilà.Euh,bah,c'est tout pour moipour aujourd'hui.
00:59:06 :Bah,content que ça vous,que ça vous ait plu.Euh,je vais aller voir,je vais voir le lien,allez,je vais voir le lien,Platform,ouais,attendez,bah,je vais partager l'écran,s'il y en aqui sont encore là.
00:59:25 :Bonne soiréeà tous,pour ceux qui s'en vont,je vais juste partager l'écranavec un exemplede,euh,partager quoi ?Euh,c'est,non,c'est pas ça.
00:59:49 :Donc ça,c'est un,un partage d'écran,bonne soirée à tous,hein,pour ceux qui s'en vont.C'est un partage d'écrande,d'un readmedu repode Gabriel.
01:00:06 :Euh,donc ça me parait bien,ouais,exactement,t'as vu,t'as suivi un templateou,euh,t'as,t'as,t'as,c'est quoi la question ?Excuse-moi,je demande si t'as suivi un templatepour le readmeou si t'as fait un trucun peu freestyle ?
01:00:23 :Non,en fait,je vais un peu dans l'ordre,toi je fais une petite introductionpuis après je détailleapp par app,puis après je fais app par app,en fait.
01:00:31 :Ouais,ouais,ok,bah,très bien,enfin,je l'ai dit,hein,le readme,c'est vraiment un truc,euh,Tibo,c'est un truc qui te permetd'écrire,en fait,ton,des sections,t'as un petit peu des sectionsqui sont de base,donc tu peuxajouter une sectionen logement,appendix,tu vois,
01:00:55 :euh,ça,ça,ça te crée,euh,automatiquement les différents,euh,trucs et après tu peux le download,donc,euh,ouais,c'est top.Je vous conseille d'aller le voirce qu'il a mis Tibodans les liens de la discussion.
Aucune occurrence trouvée pour « ».