Session du 18 novembre 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 rest framework
Session de mentorat Django rest framework
00:00:07 :Ce qui était bien avec les templates HTML, c'est qu'avant l'IA, on pouvait avoir des templates tout fait.Maintenant, comme je dis, ma combo pour les templates, c'est l'HTML avec Bootstrap.
00:00:23 :Oui, Bootstrap, j'ai commencé à l'utiliser, mais c'est révolutionnaire sur le template.Au niveau du CSS, ça réduit presque de moitié. On se retrouve presque à un tiers du CSS qu'on devrait avoir au début.
00:00:41 :C'est impressionnant.Oui, carrément. C'est énorme.Pour personnaliser, il suffit de surcharger la classe du Bootstrap.On rajoute deux ou trois choses dessus, puis on a un truc qui est totalement personnalisé, totalement comme on veut.
00:00:56 :Oui, c'est ce que je fais.Ce que je dis, c'est que Bootstrap, c'est hyper vieux comme framework.Enfin, hyper vieux. Ça date déjà un peu.
00:01:04 :Du coup, l'IA, elle est vraiment...Oui, c'est ça. C'est quelque chose...C'est relativement simple à comprendre. Une fois qu'on a compris qu'on met tout dans la classe,
00:01:16 :et qu'on regarde un peu dans la documentation Bootstrap, on a un peu tout ce qu'on peut mettre dedans,et ça le fait plus ou moins tout seul.
00:01:26 :Voilà. OK. Il est quelle heure ?Il est 4.OK, on va commencer.Est-ce qu'il y en a qui ont déjà fait du Django RACE Framework ?
00:01:43 :On me l'a conseillé il y a peu de temps.OK.Je ne me suis pas encore trop trop penché dessus, parce que pour le moment, je n'en ai pas eu réellement besoin.
00:01:55 :Oui.Et d'autres ? Quelqu'un avait dit qu'il avait été utilisé ?Jérémy.Personnellement, je l'ai utilisé. C'était vraiment pour question d'exercice, et voir ce qu'on peut faire avec.
00:02:12 :OK. Je l'ai utilisé, moi, vraiment énormément, pendant peut-être 3-4 mois, et après, je n'en ai plus fait du tout.Là, ça fait longtemps, donc je vais me remettre dans le bain avec vous.
00:02:26 :Mais bon, après, si on sait faire du Django, on sait déjà faire à 80% du Django RACE Framework.C'est une surcouche, mais qui n'est pas hyper complexe.
00:02:37 :OK.Tout le monde est à l'aise avec le principe d'API ? Ou moyen ?Oui.Oui.OK.Oui.De toute façon, ceux qui sont là, vous avez déjà dû regarder.
00:02:52 :OK.Pogpog, je ne sais pas si tu es déjà venu dans les mentorats, mais je ne reconnais pas ton pseudo.Mais je viens que tu m'as écrit, oublie ça.
00:03:00 :OK.C'est parti. Je partage mon écran.Hop.Monter en screen.OK.Donc là, j'ai lancé un projet Django vierge.J'ai préparé un modèle d'exemple à copier-coller, normalement, où je regarde.
00:03:19 :Donc j'ai un projet Django, entre guillemets, vierge.J'ai juste créé une application librairie.C'est tout.Voilà.Donc, si tout le monde est à l'aise avec tout ce qu'est le principe de l'API, je ne reviens pas forcément dessus, du coup.
00:03:32 :Mais là, le but, c'est de fabriquer sa propre API avec Django.Donc on va prendre vraiment du cas bateau, des livres, des librairies, des empreintes de livres.
00:03:41 :Et on va faire, entre guillemets, plein d'exemples avec ça, juste pour manipuler.Même si des fois, les exemples, on se dit que c'est un peu inutile.
00:03:50 :C'est vraiment là qu'on va s'intéresser au côté technique, du coup.Restreinds-moi, on va voir ce qu'on peut faire avec.Alors, déjà, la doc, par contre, j'avoue qu'elle est super bien foutue.
00:04:05 :Même si on me cite beaucoup l'IA, moi je vais quand même souvent dans la doc, quand j'ai des doutes sur ce qu'elle me dit.Sur ce que je connais, ok, pas de problème.
00:04:13 :Mais dès que j'ai un gros doute, je vais dans la doc, ou sur ce fameux Stack Overflow, ou même d'autres sources.Voilà.Déjà, on va commencer par installer Django REST Framework.
00:04:30 :Tac.Donc, on va, je réfléchis à un truc.Alors déjà, on l'a juste installé pour l'instant.On va gérésifier un des modèles dans, hop là, dans librairie.
00:04:43 :Tac.Hop, hop.Donc, ça va aller vite, on va se créer des petits modèles.Il met un bouc direct, c'est marrant.C'est ce que j'allais faire, comme quoi ça doit être bien bateau ça.
00:04:59 :Déjà, on va avoir besoin de notre utilisateur ici.C'est presque ce que je voulais faire.Sauf que moi, je n'aime pas importer l'utilisateur comme ça.
00:05:09 :J'utilise toujours GetUserModel ici.Hop.Et si vous faites comme ça, c'est cool.C'est une assez bonne pratique de faire comme ça.Ça permet de récupérer dynamiquement le bon modèle utilisateur du projet.
00:05:23 :Tac.Il y avait une question ?Ah, j'ai un doute.J'ai entendu du bruit, c'est pour ça.Je continue du coup.Donc, alors, on va avoir une classe en anglais, en dios.
00:05:37 :Non, c'est au sort, comme ça.On va avoir un name.Ouais, c'est mon fiche, ça.On va juste avoir un champ de name ici, on va rester simple.
00:05:49 :On va rester simple.Ça me paraît pas mal, on va avoir un auteur.Hop.Donc, tout le monde ici est à l'aise normalement avec le dango pur.
00:05:58 :Donc, si vous voudriez me faire des modèles, vous me le dites.Mais normalement, ça devrait aller.C'est tout.On va rester simple.On va avoir un modèle livre.
00:06:11 :Et un livre, du coup, on aura un auteur de rattaché au livre.Ça me paraît pas mal.Et on prend un cascade, ok.On va faire un...
00:06:24 :Au cas où, si on en a besoin ici.Relate a name, book, tac.Comme ça, on pourra passer par auteur.Et ici, on pourra faire un auteur.books.all
00:06:35 :pour récupérer toutes les listes de l'auteur, si on en a besoin.Bon, je ne suis pas sûr, mais je le prépare d'avance.Voilà.Et un dernier modèle.
00:06:43 :Donc, vraiment, ça va être des modèles très simples.On va faire, pour l'exemple de REST Framework,le but, ce n'est pas de bosser des modèles hyper complexes,mais de voir vraiment tous les concepts de REST Framework.
00:06:55 :Ok, il me propose quoi comme champ ?On va...Ok.Hop, ça c'est pour les emprunts.On va avoir le livre.For NK, book...Ouais, ok.
00:07:14 :Relate a name, parce que je vais m'en servir, en fait.Je ne sais pas, je vais le supprimer pour l'instant.Moi, celui-là.Ensuite.Bureau date, ici.
00:07:26 :Ça me paraît pas mal de faire, d'avoir ce champ-là,et d'avoir un return date, ici.Comme ça, on aura un emprunt.Donc, c'est quelqu'un qui emprunte un livre,et il y a une date d'emprunt et une date de retour.
00:07:38 :Ok, c'est pas mal.Hop.Merci.Nickel, ça me va très bien.C'est bon.Ok.Je vais rester les modèles, mais c'est pas mal.Ok, donc ici, on a trois modèles qui vont nous servir,pour l'exemple.
00:07:58 :Je suis en train d'écrire un guidesur The World's Longest Remarks, qui est assez long à écrire.Je pense que...Je ne sais pas, je ferais bien des sessions.
00:08:07 :Le problème, c'est que tout le monde ne peut pas être là à chaque fois.Je comprends.Mais j'aurais bien fait cette session-là, en fait.La faire évoluer sur plusieurs sessions.
00:08:14 :Genre, mardi prochain, voir un autre concept.Mardi d'après, encore un autre concept avec DRF,mais continué sur ce projet-là, en fait.Peut-être faire un truc comme ça, je vais voir.
00:08:22 :Ah, on a des rythmées, si jamais...Ouais, c'est ce que je me dis aussi.Je me dis aussi, donc voilà.C'est parti.On va enregistrer ici, dans l'admin, ici.
00:08:32 :Ok.Ok.Nickel.Hop.Donc comme ça, on va enregistrer dans l'admin Django.Quelqu'un qui veutvenir dans l'entourage.Est-ce que ça fonctionne ?Hum.Bon, ça va se connecter.
00:08:56 :Il y a peut-être une erreur.Ok, je continue, du coup.Donc voilà, on a fait les modèles.On a fait les modèles.Ah oui, ce que je n'ai pas fait tout à l'heure,c'est de rajouter Django REST Frameworkdans les applications installées.
00:09:10 :Donc on n'oublie pas REST Framework, ici.Voilà.Et maintenant, on va...On va se créer les migrations.C'est parti, allez.Hop.Tac.Il n'a pas de middleware à mettre dedans, lui ?
00:09:27 :Non.Non.Non, non, non.Après, il y a des librairiesexternes qui pourraient...Je réfléchis.Est-ce que...Quand ce sera fait...Comment ça s'appelle déjà ?
00:09:42 :Je regarde un truc.Il n'y a pas un lienDjango Core Azure.Vite fait.Hop.Il y a un truc.Vite fait.Alors, eux, ils ont des middleware.
00:09:58 :Mais on n'aura pas...Ça, c'est pour, en fait, autoriser les...C'est pour autoriser, entre guillemets,les...Comment dire ?Les...Les sites, entre guillemets,qui veulent consommer ton API.
00:10:12 :Donc, lui, par exemple,il y a les librairies externes.Celle-là va souvent perdre Django.Là, par exemple,il faudra une middleware.Mais ce n'est pas Django Azureet moi qu'en soit.
00:10:22 :C'est vraiment une librairieencore à part.Désolé.J'ai la gorge encore...OK.Alors.Donc.J'ai fait...J'ai plus écrit l'immigration.Ouais, je l'ai fait.On va créer un super utilisateur.
00:10:38 :Create super user.Tac.Hop.Tac.Tac.Il y a longtemps,je n'ai pas fait des DRFs, en plus.Ça va me faire plaisir d'en faire, là.
00:10:56 :Ça va être un peu en live,mais ce n'est pas grave.Je débugerai en même temps,mais comme ça.Alors.Ce qui est génial avec DRF,du coup,c'est ce qu'on appelleles serializers.
00:11:07 :Est-ce qu'il y en aqui connaissent les serializersou pas du tout ?Non.Si tu peux rappelerles concepts.OK.Ça, avec Django REST Framework,c'est le truc indispensableoù on n'a pas le choix.
00:11:24 :Il faut vraiment l'utiliser.J'ai déjà vuun ancien projet DRFoù,je ne sais pas,la personne avait fait une applicationet ne passait pas par les serializers.
00:11:34 :Ils faisaient tout en durdans le code comme çaet, bon, un peu dangereux.Parce que les serializers,en fait, à quoi ça sert ?
00:11:40 :C'est des classes.Parce que, du coup,les API, en fait,on communique avec du format JSON.Donc,ça permet de, ce qu'on appelle,de désérialiser les données.
00:11:50 :Donc, elles vont transformerles données JSONen objets Python.Et les serializers,ils permettent ausside sérialiser les données.C'est l'inverse.On transforme les objets Pythonen JSON.
00:12:01 :Donc, ce qu'on va renvoyer.Donc, en gros,ils vont traiter ce qu'on reçoitet ce qu'on envoie.Et les serializers,ils permettent de valider les données.
00:12:08 :C'est très, très prochedu système de formulaires,des formulaires de Django,en fait.C'est,vous allez traiter les informationsque vous allez recevoir.Et,comme ça,pour la sécurité,c'est vraiment le top.
00:12:23 :Puis, après,les données que vous envoyez,que vous envoyez,vous pouvez, justement,avec les serializers,les modifier,les enrichir,ainsi de suite.Alors,comment ça se passe ?
00:12:36 :On va commencer,ici,dans librairie.Je vais,je me suis notéà l'arrache,comme ça,de ce que je voulais faire ce soir.Hop là,ce que je voulais faireavec les serializers,ce sera pas mal.
00:12:53 :On va commencer simple.Alors, on va importer,ici,je vais couper,je vais couper ça,parce que je n'ai pas envieque ça m'embêtepour le mentorat.
00:13:03 :On va importer,du coup,les serializers.On va revenir sur la basedes serializers,en fait,parce que,si on peut faire ça déjà ce soir,c'est pas mal,c'est juste un peu les,la différenceentre lesserializerset les modèles serializers.
00:13:19 :J'ai fait une vidéo YouTube,d'ailleurs,aujourd'hui,là-dessus,que j'ai donnéeà des personnesavec qui je fais du Djangoà mentorat privé,parce que,souvent,c'est un gros mélange.
00:13:32 :Est-ce que vous connaissez,ici,si je vous pose la question,la différenceentre un modèle formet un form de Django,sans serializer,vraiment,avec Django ?
00:13:41 :Entre un formde Django formou un formde Django modèle form,c'est quoi ?La différenceentre form.formet form.model.form,entre ces deux classes-làde Django.
00:13:51 :Non,non,pas vraiment.Et,normalement,c'est,form.model,c'est,à partir du modèle,tu peux récupérer,tu peux créerun formulaire.Donc,c'est,c'est,c'est,c'est,c'est,c'est,c'est,c'est,c'est,c'est,c'est,tu prends toutun formulaire,yes,carrément,en force,Tan ErarabianTan ErabianTan ErabianTan ErabianTan Erabian
00:14:25 :Tan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTan ErabianTamiraThere is noThere is noTamiraTamiraThere is noTamiraTamiraTamiraTamiraTamaraTamaraTamaraTamaraTamara
00:15:02 :TamaraTamaraTamaraArizonaArizonaTaraTamaraCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileCar FileTheaTheaTheaThea
00:15:38 :TheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaThea
00:16:29 :TheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaTheaStakourStakourStakourStakourStakourStakourStakourStakourStakourStakourStakourStakourStakourStakourStakorStakourStakourNATIONAL COVID-19 Crusade
00:17:36 :NATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL COVID-19 CrusadeNATIONAL PROCESSNATIONAL PROCESSNATIONAL ELECTRONICSNATIONAL ELECTRONICSNATIONAL ELECTRONICSNATIONAL ELECTRONICSNATIONAL PROCESSNATIONAL CDSNATIONAL CDSNATIONAL PROCESSNATIONAL CDSLET THE
00:18:02 :LEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFT
00:22:18 :LEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFT
00:25:42 :LEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFT
00:29:06 :LEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFT
00:32:30 :LEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFTLEFT
Aucune occurrence trouvée pour « ».
00:03:05
Introduction à l'application
00:12:28
serializers
00:23:07
Le décorateur @api_view
00:33:10
L'interface API de DRF