Session du 28 octobre 2025 à 21h00
Développement Web & Frameworks
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
Session de mentorat Django
On va faire du Hijacking de compte :)
00:00:00 :Il y a Eric qui croyait que c'était réservé au TOSA, mais non, ça va faire à tout le monde.Hop, il m'envoie un message et c'est bon. Hop. Voilà. Tac.
00:00:36 :Ok, excusez-moi. Bon, j'espère que vous allez bien du coup. Je voulais parler d'un truc ce soir de Django Hijack.En fait, j'en ai eu besoin dans un projet que je n'ai pas encore mis en production, mais qui va, j'espère d'ici un mois et demi, va l'être, qui est assez long.
00:01:03 :Et du coup, en fait, pour vous donner un peu le contexte, j'ai une personne qui va avoir une application web.Et en fait, il aimerait bien des fois pouvoir dépanner ses clients en se connectant entre guillemets à leur compte. Et le problème, c'est que les clients ne peuvent pas donner les mots de passe.
00:01:37 :C'est pas possible. C'est un peu de bazar. Après, sinon, on pourrait faire des vues personnalisées pour « agir » comme un autre utilisateur.Faire des espèces de vues admins, pourquoi pas. Mais j'ai découvert, grâce à Thibault, je crois que ça s'appelait Django Impersonnated.
00:02:28 :Est-ce que c'est bon ? C'est Eric.Bonsoir à tous. Salut.Salut.Excuse-moi, je croyais que c'était réservé au Tosard, parce que c'était écrit comme ça à la base. Mais en fait, c'est quand tu n'es pas connecté, que ça l'écrit.
00:02:46 :Ah ouais ? C'est ça ?Ouais, quand tu n'es pas connecté sur le site, c'est écrit réservé au Tosard. Et quand tu te connectes, tu as droit.
00:02:53 :Ok. Merci d'info.De rien.Du coup, je reprends rapidement. Le but, en fait, c'est vraiment de pouvoir prendre le contrôle de compte utilisateur. Alors, pas dans le sens de faire n'importe quoi, mais dans le sens de les aider.
00:03:34 :Sinon, il y a Django Hedgehog, que j'ai découvert. Django Hedgehog, qui me paraît vachement moderne.Donc, qui a été mis à jour quand ? Je l'ai vu quand ? Il y a quatre jours, ici, pour le Pyproject. Donc, ici, il y a deux mois.
00:04:43 :Oui, on voit tout. Désolé, je m'installe. Je m'installe Django rapidement. Je projecte. C'est bon, j'ai fait.Ok. Du coup, au passage, Hugo, t'as pris Copilot ou pas, au final ?
00:05:20 :Non, j'ai pas eu le temps encore, mais je vais le faire. C'est juste une question de temps.Ouais, ok.Je vais juste devoir checker ça, ouais.
00:05:28 :Bah ouais, carrément, si tu payes l'intérêt, c'est cool.Alors, juste pour ceux qui n'utilisent pas forcément encore l'IA ou qui veulent l'utiliser, en fait, là, j'ai un abonnement payant, moi, à Copilot.
00:06:01 :Donc, requêtes premium, vous voyez, c'est celles qui vont vous consommer, c'est des crédits. Donc, c'est une fois, une fois, une fois, une fois, ici.Et sinon, ça ne consomme rien. Donc, Grok, qui n'est pas trop mal, d'ailleurs. Mais perso, je n'utilise uniquement plus le Sonec 4.5.
00:06:29 :C'est hyper rapide avec ça. Et donc, ce que je voulais dire, c'est qu'en gros, on peut lui demander, aide-moi à développer quelque chose.Il va carrément coder avec vous, vous créer des fichiers ou directement jeter du code. Donc, en mode agent.
00:07:44 :Donc, si on clique là, ça ouvre ça. Et ici, en fait, dans copilot premium request, vous pouvez définir un budget supplémentaire.Donc, là, par exemple, je lui ai dit que je dépensais 10 euros maximum en plus de mon forfait copilot. Donc, là, on voit que depuis le début du mois, du coup,
00:08:25 :Donc, juste voilà pour la petite présentation rapide. Et sinon, ouais, alors, il y a ça aussi, mais c'est un peu autre chose encore.Il y a ClaudeCode, que j'ai déjà parlé ici, qui est hyper puissant dans le sens où, par contre, il faut avoir un abonnement, dans le sens où si je lui balance une commande init,
00:09:10 :Et quand vous faites un compact, en fait, il va prendre toute l'histoire de la conversation, il va tout compacter, tout résumer pour lui, tac.Et comme ça, vous repartez sur une conversation quasiment propre avec les informations essentielles pour continuer. J'aime bien, c'est puissant.
00:09:36 :le panse, et je vais rester sur mon copilot. C'était une présentation rapide. Ça va, du coup, c'est bon ?Oui, parfait, merci, Gab.C'était rapide, mais par rapport à tout à l'heure, on peut manager ce qu'on veut dépenser maximum. Donc, c'est vachement bien, je trouve.
00:10:01 :Il y a quelqu'un qui rejoint. Hop là, j'accepte. Est-ce que c'est bon ? Niquel, salut Fabrice. Hop là.Salut, désolé.Salut, pas de problème. Du coup, oui. Donc, j'en étais là. Donc, on a à peine commencé, du coup, j'engueuille Jacques.
00:10:25 :Donc, c'est tout simple. Pour l'installation, vous avez ce qu'il faut ici. On va se faire un projet un peu démo.Pour l'instant, on va se créer, du coup, une startup ici. On va l'appeler, je ne sais pas comment on peut l'appeler.
00:10:43 :En imaginant qu'on est... Bon, je n'ai pas d'idée, donc hop. On va l'appeler Core. Je donne des noms d'application comme ça des foisparce que c'est des applications un petit peu annexes. Donc, une application Core ici et on va se la rajouter ici dans les settings.
00:11:13 :quand même, rapidement. Une home view, ça me paraît. OK, ça me paraît très très bien. On va se faire une home view comme çaet on va se faire un template, du coup. Hop. Tac. Comme ça, ça permettra de tester l'application, quoi, qu'on se rende compte des choses.
00:12:36 :Et c'est parti, on va pouvoir commencer à tester ça. On va, du coup, exécuter une migration. On va s'écrire un spot utilisateur.Hop. Tac. Je sais pas s'il y en a qui commence avec Django ici, mais je passe un peu vite cette partie-là. OK. Donc là, j'ai un compte.
00:13:09 :J'ai un compte. Hop là. Donc maintenant, on va se faire un run serveur. On va faire ça à la base. OK. C'est parti.C'est parti. Donc, ici. OK. Donc là, je suis pas connecté. C'est en bas qu'on voit pas mon pseudo, mais si je vais me connecter, boum. Voilà.
00:14:02 :Alors, je vais pas exactement suivre comment ils font, eux, ce que je vais faire un peu différemment. Je vais pas suivre la doc, simplement.Alors, ils disent quoi ? Faut rajouter dans les applications installées, Hijack. Ça, on va le faire. Ça, on va le faire. Plus haut. Hop. Hijack.
00:15:42 :Merci. Hop. Et là, c'est parti. On va pouvoir commencer à l'utiliser. On va faire bugger express, je pense. Je vais vous montrer ça. OK.Du coup, on va relancer le serveur. Je vais fermer un serveur ici. OK. Donc, maintenant, ce que j'ai ici dans l'admin, on va aller créer un utilisateur.
00:16:13 :On va l'appeler Patrick, ici. Hop. Je vais mettre un mot de passe. Tac. Merci. OK. Et on va lui mettre une adresse email. Patrick.Voilà. Ça, ça ressemble à une vraie adresse. Hop. On save et c'est bon. Donc, là, maintenant, vous voyez, à côté de l'utilisateur, ici, j'ai un petit bouton impersonnater.
00:16:50 :Donc, s'il clique, normalement, on va se prendre un petit bug. Voilà. Donc, là, il ne trouve pas la route, je veux dire, account profile.Donc, en fait, ce que vous pouvez faire, c'est que par défaut, hijack va utiliser, s'il retourne ici, je vais l'appeler home. OK. Il va l'utiliser à la redirection.
00:18:30 :Et préparer les settings. Donc, ici, le hijack, le contrib admin. Voilà. Comme ça, on peut directement gérer ça depuis l'administration.Ce que je trouve vachement pratique de centraliser ça dans l'administration. Voilà. Et penser, du coup, au middleware.
00:19:58 :C'est facile à faire. C'est facile à mettre en place. On l'a fait en arrière-temps. C'est plus la partie après qui m'intéresse.Alors, ici, oui, c'est pour les permissions. Ils expliquent, en gros, que, par défaut, ce sont les administrateurs du site qui peuvent hijacker.
00:20:16 :Mais ce que vous pouvez faire aussi, c'est mettre, en fait, voilà, utiliser dans les settings cette constante et changer, en fait, la permission.Donc, on peut carrément mettre, après, mettre les super utilisateurs, si on veut, et le staff, je veux dire. Ce que, par défaut, c'est que les super utilisateurs.
00:20:35 :Donc, on peut dire que ceux qui sont marqués comme staff peuvent le faire aussi dans la Ninjango. Voilà.Aussi, alors ça, oui, vous pouvez aussi faire des permissions custom, mais ça, ils expliquent, en fait, qu'il faut éviter.
00:20:59 :Et, en fait, ici, si je me remets comme ça, on va aller hacker mon père. Voilà. Donc, là, ici, j'ai bien hacké son compte.Et, en fait, là, cet encart-là, si vous voulez, donc là, oui, il paraît pas très visible, du coup, ça, vous pouvez le personnaliser très facilement.
00:21:33 :avec un dossier hijack. Et, en fait, vous faites copier directement ce snippet qui est là, et après, vous le customisez.Donc, vous pouvez mettre des classes Django, vous pouvez mettre des classes, je veux dire, Bootstrap ou Tailwind, enfin, ce que vous voulez.
00:21:47 :Et ça, en fait, vous pouvez aller le customiser. Donc, voilà. Donc, c'est vraiment tout facile à faire. Et ça, ça m'intéresse.Et moi, ce qui m'intéresse, c'est que, si on ne peut pas tout faire ce soir, mais on va déjà faire un truc qui va encore nous prendre un petit peu de temps,
00:22:04 :c'est les signaux qui sont ici. Alors, en fait, Django Hijack vous donne les hijack start et les hijack ended.Comme ça, vous pouvez savoir quand un hijack commence et quand il se termine. Et ça, c'est super pratique.
00:22:20 :Donc, je me suis dit, quand même, au niveau des RGPD, je pense que c'est important de tracer un minimum, même pour les gens qui sont administrateurs sur le site,savoir qui fait qui, de tracer qui va aller toucher au compte des utilisateurs. Donc, en fait, ce que j'ai fait, moi, pour une application,
00:23:26 :Du modèle utilisateur. Donc, c'est dans Auth sans importer qu'as-tu dans le modèle, parce que je n'aime pas importer directement, faire importerqu'as-tu dans le modèle directement. Donc, j'aime bien, ici, utiliser dynamiquement. C'est plus propre. Ensuite, je réfléchis un peu.
00:23:51 :On va tracer, du coup, au niveau... Je pense que, pour l'instant, ça va nous suffire. On va faire un système d'adresse IP.On va essayer de récupérer les adresses IP des personnes qui prennent contrôle des autres, entre guillemets. Donc, ce qu'on va faire, maintenant.
00:25:56 :Donc, on fait ça, et sinon, ce qu'on va faire, on va aller, hop, récupérer. Tac. Récupérer. Donc, ici, c'est pour récupérer directement l'adresse IP.C'est de la machine que l'utilisateur, il utilise. Il faut que je retrouve sur Google, il y a plein de trucs comme ça. Voilà, on peut récupérer l'adresse IP originale, normalement, en faisant ça.
00:31:58 :Et on va se dire, tac, self.hijacker, hop, contrôle, tac, self.hijacker. Voilà. Donc, c'est juste pour avoir une représentation dans notre administration tout à l'heure.Et du coup, ce que j'ai fait avec ça, c'est que dans la méthode save, ici, il va falloir gérer la sauvegarde des emails en cas de suppression de compte.
00:33:58 :Si. Donc, j'ai hijacker.email. OK. OK. Ça, c'est bon. Hijacker.email. OK. C'est bon. Donc, voilà. Déjà, là, on a notre modèle qui est fait.Maintenant, on va pouvoir se faire un migration ici. On va faire un migrate de ça. Hop. Et avant d'attaquer les signaux, on va juste toucher à l'admin pour que ça soit visible dans l'admin, du coup.
00:36:37 :Le moyen, moyen point.Ouais, non, j'ai pas vu. J'ai pas reçu.Ok. Je l'ai fait il y a longtemps, un mentorat là-dessus. Et encore, c'était pas que là-dessus, je les avais utilisés juste pour déclencher des choses.
00:37:15 :Quelqu'un qui commence le hijack. Hop. On veut que, automatiquement, ça aille nous créer une instance de hijack log dans la base donnée.Eh bien, en fait, ça, c'est possible. On peut le faire grâce à des signaux. Ou, par exemple, imaginons que vous avez un modèle utilisateur et un modèle profil à part.
00:37:47 :Voilà. Ça, ça va ou pas, comme exemple, ou pas ?Oui.C'est un événement.Ouais, ouais, ça, ça, c'est un événement, en fait. C'est écouté. Donc, en gros, si tu fais ça, boum, ça déclenche ça, quoi.
00:38:00 :Un peu sur la partie navigateur, sur les événements, le pointeur, les trucs comme ça, quoi.Donc, là, c'est vraiment avec... T'écoutes, en fait, tes saves d'instances dans la base donnée. Tu les écoutes et tu vas déclencher d'autres actions, quoi, après, derrière.
00:38:20 :Et, du coup, ici, le but, c'est vraiment d'utiliser les signaux qu'ils vous fournissent. C'est hyper pratique.Là, ce que je vous fais, c'est pas un truc qui est dans la documentation. C'est vraiment un truc que je me suis fait, moi, parce que je n'étais pas rassuré de faire un hijack comme ça.
00:38:37 :Mais, enfin, ça se fait après pour aider les clients, entre guillemets. Mais, au moins, ça permet d'être propre là-dessus.Et donc, je me suis dit, je vais utiliser les signaux. Tac. Hop. Et c'est parti. Donc, les signaux. Comment ça se passe ?
00:38:54 :Ici, on va avoir notre signal. Donc, là, on va prendre le hijack start, qui est offert par l'élèveré, entre guillemets.Et on va sélectionner une petite fonction qui va nous permettre de créer une instance de notre modèle ici.
00:39:19 :Donc, après, ça, c'est un peu conventionnel. On va avoir le sender, le hijacker et le hijacked en paramètres.Et il faut penser à la request. Hop. Et les points ici. OK. Donc, on peut très bien dire maintenant qu'ici, hijack log, on va créer une instance.
00:39:47 :Voilà. Hop. Et c'est parti. Donc, on peut dire que le hijacker ici, ça va être notre hijacker. Tout simplement.Le hijacked, ça va être le hijacked. Voilà le hijacked. Voilà. Et maintenant, le but, c'est de récupérer l'adresse IP.
00:40:09 :Donc, là, c'est hijacker IP. Je la ferai plus haut. Hijacker IP. Voilà. Et bien, on va utiliser notre fonction directement.On va utiliser la guest client IP ici. Voilà. Et on va utiliser la request, qui est ici. Voilà.
00:40:42 :Ensuite, il fournit un deuxième signal. Voilà. Hop. Et c'est le hijack. Je fais n'importe quoi. Ah. J'ai pu y arriver.Euh. Tac. Hijack NBDC. Et bien, c'est parti. On va réécrire, en fait, une nouvelle fonction qui va ressembler un peu à l'autre.
00:41:11 :C'est jusque-là pour récupérer l'instance qui a déjà été créée. Donc, ce qu'on va faire, c'est qu'on va retrouver le sender ici.Hijack. Hijacker. Ouais, je me suis fait une erreur. Qu'est-ce qu'il y a ici? Tac. Request. La request. Et on va activer nos courriers ici.
00:41:31 :Il vaut mieux qu'on l'utilise pour arrêter ça directement. Hop. Donc, ici, le but, c'est de récupérer notre instance qu'on a créée juste avant.Donc, en fait, c'est assez simple. On va juste faire un filter ici. Donc, hop. Il est là. Tac. Point filter ici.
00:41:53 :Et ce qu'on va faire, c'est qu'on va récupérer du coup, en hijacker, le hijacker. Tac. On va faire pareil avec notre hijacked ici.On va faire pareil et il faut qu'on récupère du coup le champ qui est ici. End, il va être nul. Forcément. Donc, c'est ici. J'ai peur.
00:42:41 :Donc, comme ça, je récupère en fait mon instance qui a été créée avant ici. Donc, ça, pour les lookups, on n'en voit pas souvent,mais c'est hyper pratique comme ça de travailler sur des champs, savoir s'ils sont nuls ou s'ils ne sont pas nuls, justement.
00:43:24 :Voilà. Et comme ça, on va mettre à jour avec la date du moment, timezone.now. Voilà. Et on n'oublie pas de save.Donc là, normalement, si je fais ça... J'ai bien fait les migrations tout à l'heure. Et j'avais migré. OK. Donc maintenant, c'est parti.
00:44:00 :Hop. Mince. Alors. Ah, OK. Hop. Non, j'ai mon ennemi. C'est bon. J'ai failli se creuser, quoi. Hop là.Donc, hijack log, normalement, voilà, il est vide. Donc maintenant, si je reviens... Je ne sais pas ce que je voulais faire.
00:44:24 :Si je reviens sur l'utilisateur, on va voir si ça plante. Ça n'a pas planté. Si je ressors, ça n'a pas planté.Et c'est que, normalement, on ne devrait pas être mauvais. Voilà. On a un log qui s'est créé.
00:44:39 :Donc là, on voit qu'on a... Bon, là, forcément, on n'a pas les secondes. Mais on a fait un hijack de deux secondes.Donc, forcément, il n'y a pas de différence entre les minutes, ici. Mais là, on voit bien, du coup, que j'ai un tel qui a hijacké un tel.
00:44:58 :Ça a commencé à cette date-là, à cette minute-là, à cette heure-là, quoi, entre guillemets. Et que ça a fini à cette heure-là.Donc, après, on va voir si on recommence avec... Imaginons qu'on a un utilisateur qu'on va appeler Eli, ici, par exemple.
00:45:15 :Hop. Hop. Il n'y a rien, ici. Je vais hijacker Eli. Boom. Et je vais revenir, maintenant. Tac. Hop.Il revient dans l'admin. Alors, il n'a pas d'e-mail, du coup, forcément. Moi, dans l'application où j'ai mis ça en place, j'avais obligatoirement mis un e-mail.
00:45:42 :Mais bon, vous comprenez le principe. Mais là, c'est pareil. Donc, j'ai bien un nouveau log qui s'est créé.Donc, à chaque fois que quelqu'un va commencer à faire un hijack d'une autre personne, soit vous mettez l'e-mail, soit vous mettez le username,ou ce que vous voulez, peu importe. Mais comme ça, ça trace, en fait, ce qui se passe. Et j'ai bien, ici, l'adresse IP.
00:46:05 :Comme je suis en local, je récupère cette adresse IP, là. Et du coup, ça me permet, en fait, de récupérer l'adresse IP.Moi, je voulais m'arrêter à ça. Je me suis dit, pourquoi pas. Ça peut être un truc en plus, en cas de problème à avoir.
00:46:21 :Donc, voilà un petit peu. Est-ce que vous avez des questions, sur ce que j'ai fait, là, ou pas ?Non, c'est intéressant. C'est très intéressant. Je le fais moi-même, en fait, l'application. Pour m'entraîner.
00:46:37 :Ouais, ok. Et pour les autres, est-ce que vous pensez l'utiliser un jour, ou sans plus ?Non, c'est pas mal, en fait. Moi, c'est un projet pro. C'est assez similaire, dans la philosophie, et même pour la partie tracée.
00:47:02 :Oui, ben oui, oui.Sauf que là, c'est le temps de hijack, entrer et sortir. Après, l'IP, c'est toujours un peu délicat, l'IP, de savoir si c'est par là ou pas, parce que si ça vient d'un proxy...
00:47:15 :Ouais, ouais.Mais c'est bien, tu peux récupérer, quoi.Là, je récupère la première adresse IP, mais bon, effectivement, il y a toujours moyen de...Ouais, je ne connaissais pas la partie request méta.
00:47:32 :Ouais.Je me suis pas rendu compte.Ils te mettent, en fait, dans les requests métas, tu récupères l'adresse IP, comment dire...Tu vas récupérer la liste des adresses IP, en fait, parce que tu vas avoir, comment dire, les adresses IP, en fait, de l'utilisateur et tous les proxys, entre guillemets.
00:48:03 :Logiquement, c'est vraiment la bonne.D'accord.Après, je ne sais pas à quel point on peut gruger ça, mais bon, j'ai fait ça, quoi.C'est vraiment aussi pour faire de la bonne foi, entre guillemets.
00:48:16 :On voit que l'admine, au moins, enregistre son IP, entre guillemets.Normalement, il le fait.Bon, normalement, il l'admine, donc bon, est-ce que c'est vraiment qu'il doit le faire ?
00:48:24 :Moi, je l'ai mis en place, mais ça, je me suis posé la question.Non, non, mais moi, sur des cas, on m'a déjà demandé, il y a quelqu'un qui était malveillant, qui utilise un profil, on va dire, de hijacker.
00:48:41 :Ouais.Et en fait, il avait modifié des quantités.Allez, qu'on dise que c'est bien son adresse IP et tout, sinon on ne va pas retracer ça, quoi.
00:48:51 :Parce que sinon, on peut avoir beaucoup de logs.Après, être sûr que c'est la personne, c'est compliqué aussi.Ouais, ouais, ouais.Pour prouver, on peut passer du temps.
00:49:03 :Et normalement, je crois qu'il faut qu'il y ait une plainte de la police, au moins, pour que tu fasses cette démarche-là.Sinon, tu n'as pas le temps, quoi.
00:49:11 :Ouais, ouais, ouais, c'est clair.Non, mais c'est intéressant, ce que tu fais en mentorat, là.Bah, merci, c'est cool.Et donc, voilà, vraiment la grosse partie, c'est le côté log.
00:49:25 :Et surtout, en fait, ils fournissent des signaux.Alors, ils ne vous disent pas, faites des logs avec.Enfin, voilà.Mais avec les signaux, je me suis dit, ouais, c'est du coup pratique pour réussir à, entre guillemets, aller capturer les informations,puis de se dire, on va aller, hop, on va se créer un système de log, quoi.
00:49:42 :Donc, voilà.C'était vraiment ce que je voulais montrer.C'est une idée que j'avais eue en me creusant un peu la tête.Après, j'ai utilisé un petit peu d'IA.
00:49:49 :Et puis, au fur et à mesure, j'avais amélioré le truc.Et puis, comme ça, en fait, là, ça marche très, très bien.Voilà.Moi, ce que j'ai fait, c'est que,quand il y a un hijacker qui modifie quelque chose,qu'on affiche le log,ben, qui a hijacké et à quelle modification.
00:50:11 :C'est tout.Il faut juste prévenir que c'est modifié.Après, c'est en fonction des organisations.C'est la personne qui a hijacké.Ils voient que c'est un superviseur.
00:50:19 :Pourquoi t'as modifié ?Et puis, il n'y a pas besoin forcément de justifier tous les logs,parce qu'après, ça devient...On n'est pas la police, quoi.
00:50:28 :C'est bien, ça.Mais c'est intéressant.Là, je le fais pour quelqu'un où...Alors, pour l'instant, il est tout seul à bosser sur son projet.Il va être le seul administrateur.
00:50:43 :Mais c'est un gros projet.Donc, je vais quand même faire ça au minimum.Après, je verrai s'il a besoin de logs spécifiques.Mais je trouve que ça, c'est une base, on va dire.
00:50:56 :Des logs en fonction des modifications,des champs qui l'intéressent, quoi.Ouais.Ouais, voilà, ouais.Donc, après, moi, non, le but, c'est vraiment, entre guillemets,c'est faire du hijack, mais c'est bienveillant, quoi.
00:51:11 :C'est du support technique.Donc, c'est vraiment...Voilà, parce que la personne, elle a besoin d'aider des clientsqui sont vachement âgés, des fois,qui ont du mal à s'y retrouver au niveau des procéduressur l'application, voilà.
00:51:26 :Et donc, il a besoin des fois de les...Enfin, c'est le client qui l'appelle, qui dit,ouais, est-ce que tu peux me faire ça, ça, ça ?
00:51:30 :Et en fait, lui, il ne peut pas, là.Donc, il m'a dit, est-ce que tu pourrais me faire un truc comme ça, quoi.Non, c'est bien.
00:51:35 :C'est toujours utile.Ouais, c'est hyper intéressant, en vrai, Gabriel.Ouais ?Ouais, merci pour le montage, quoi, je ne sais pas,mais ça peut carrément entrer dans le cadre d'une utilisation.
00:51:47 :Donc, c'est bien.Ouais, ouais, moi, je suis assez fan de ça.Depuis que je l'ai découvert, je suis assez fan.En fait, à la base, tout ça, tout ce que j'ai vu là,tout ce que j'ai montré là, j'allais le faire à la main,vraiment, maison, quoi.
00:52:00 :Je me suis fait, non, il doit bien exister un truc, quand même.Et puis, voilà, je suis tombé là-dessus, sur Ajak, et j'ai fait.Ouah, génial.
00:52:09 :Merci.Donc, voilà.Les trucs qui sont faits.Ouais.Je ne sais pas s'il y a des questions, sinon ?Sinon ?Sinon ?Très intéressant.
00:52:24 :Ouais.Bah, merci, en tout cas.Ça fait plaisir.Il y a Pitont Trader.Juste Pitont Trader, c'est qui ?Parce que je n'arrive pas à reconnaître le pseudo, là, comme ça.
00:52:33 :Ça me perturbe.Est-ce qu'il veut bien se dénoncer ?Non, mais du coup, du coup,s'il n'y a pas de questions, pour moi, c'est bon.
00:52:47 :C'est vraiment ce que je voulais vous montrer ce soir.Désolé, parce que je pense que j'ai carrément dépassé.Bon, comme d'hab', vous me direz que je suis toujours en train de dépasser.
00:52:54 :Mais voilà, je voulais vraiment vous montrer un peu de A à Z,de l'utilisation que j'ai de ça, moi, actuellement.Si j'ai une question, t'as publié ce qu'on dit ?
00:53:04 :Ton blog ?Ah, ça, ouais, j'ai préparé un repo.Alors, je l'ai fait dans un projet de quelqu'un.Et là, j'ai fait quasiment la même chose pour une vidéo YouTube.
00:53:18 :Vraiment, quasiment, à peu de choses près.Et j'ai un repo qui est prêt, que je vais publier, là.Le Readme, il est prêt aussi.Là, je vais publier.
00:53:28 :C'est cool.J'ai une vidéo YouTube, là-dessus, que je publie demain.Ah, ça marche.Ça, on va voir demain.Ou ce week-end.Je vais voir si mon repo, il est propre et tout.
00:53:41 :Je vais regarder s'il est propre.Et sinon, je vais publier le soir au pire.On va publier ça demain matin, sinon.Ou demain matin, on ne sait pas.
Aucune occurrence trouvée pour « ».
00:00:51
Introduction
00:05:19
Note sur l'IA dans l'IDE
00:10:34
Mise en place du projet Django
00:14:00
Configuration de Hijack
00:23:12
Mise en place du modèle de Log
00:23:57
Récupérer l'adresse IP via la requête
00:35:45
Utilisation des signaux de la librairie Hijack