À la rencontre de vos professeurs
Gérald est un ingénieur logiciel freelance. Après avoir travaillé sur des projets très variés au cours de sa carrière, il s’est spécialisé en Python, TypeScript et dans le développement web full-stack.
Patrick est développeur full-stack et Data scientist freelance. Il est spécialisé sur les langages Python et JavaScript, bien qu'il ait travaillé sur de nombreux autres langages. Depuis plusieurs années, il donne des cours d'informatique dans différentes écoles d'ingénieurs et a écrit un livre sur le Machine learning et le Deep learning.
Rafiq est un ingénieur logiciel full-stack expérimenté, et il travaille avec Lambert Labs. Spécialisé en Python, il a conçu et livré plusieurs applications Django de haute qualité. Originaire du Royaume-Uni, Rafiq profite de sa carrière de développeur pour voyager et travailler dans le monde entier, de l’Indonésie à la Nouvelle-Zélande, en passant par les Philippines ou encore le Canada.
Apprenez à l’aide d’un scénario professionnel
Dans ce cours, vous allez créer une application web complète, du début à la fin. Le contexte est expliqué ci-dessous :
Un collectif de photographes cherche un moyen de montrer et de partager son travail à un large public. Ils veulent pouvoir mettre leurs photos en ligne et créer des posts à leur sujet sur un blog. Ils ont fait appel à vous en tant que développeur Django, et vous ont demandé de créer une application web qui leur permette justement de faire cela. Ils ont besoin d’avoir deux types d’utilisateurs, les abonnés et les créateurs. Seuls les créateurs doivent pouvoir créer du contenu. Ce contenu doit ensuite être partagé dans un flux social, et les abonnés doivent pouvoir choisir quels créateurs ils veulent suivre.
Suivez activement le texte et les vidéos
Le texte et les vidéos du cours vont vous guider dans la création de ce blog photo. Pour tirer le maximum de ce cours, profitez de ces deux formats :
Commencez chaque partie en regardant la vidéo de la capture d’écran (ou screencast) pour avoir une vue d’ensemble des concepts clés.
Lisez le texte sous la vidéo pour apprendre à mettre ces concepts en pratique.
Entraînez-vous en parallèle en codant les étapes vous-même. Essayez de ne pas copier-coller ! Vous apprendrez davantage si vous écrivez le code vous-même.
Si vous êtes bloqué dans l’implémentation de quelque chose, référez-vous à la vidéo. Ce guide visuel devrait éclaircir les choses et vous permettre de continuer.
Vérifiez votre compréhension
Repository GitHub
Ce cours est accompagné d’un dépôt GitHub.
Chaque section de ce cours a un commit portant un tag, ou une étiquette, dans le dépôt qui y réfère. C’est-à-dire que vous pouvez accéder à n’importe quelle section n’importe quand grâce au commit étiqueté.
Vous pouvez voir ces étiquettes ici.
C'est à vous !
En plus de suivre le texte et les tutoriels en vidéo, vous aurez quelques exercices à faire.
Vous trouverez leur solution sous forme de commits portant un tag dans le dépôt.
Pour voir les changements de code nécessaires à la solution, ajoutez /compare à la fin de l'url du dépôt et comparez le tag PxCxSx-EXERCICE-nom-de-l-exercice au tag PxCxSx-SOLUTION-nom-de-l-exercice .
Lorsque vous faites un exercice, résistez à la tentation de regarder la solution trop rapidement. Ces exercices sont faits pour challenger votre compréhension. Vous avez beaucoup plus à gagner en persévérant et en cherchant votre propre solution qu’en regardant la réponse.
Cependant, vous n’avez pas à faire les exercices de mémoire ! C’est une très bonne chose si vous trouvez une solution en utilisant Google, StackOverflow, ou même la documentation Django officielle ! Savoir bien utiliser ces outils est crucial pour améliorer significativement vos compétences en développement.
Quiz
À la fin de chaque partie, vous aurez également un quiz pour vérifier que vous avez bien compris les concepts. Il vous aidera aussi à mettre en lumière tout domaine que vous devriez revoir. N’hésitez pas à revenir sur les éventuels chapitres problématiques avant de passer à la partie suivante.
Allez plus loin
Le périmètre de ce que l’on peut considérer comme Django « intermédiaire » est large. Ce cours a pour objectif de travailler à partir de ce que vous savez déjà faire, en introduisant de nouveaux concepts. Vous allez certainement enrichir vos connaissances à leur sujet à mesure que vous accumulez des expériences au-delà de ce cours.
Au fil de votre apprentissage continu, je vous conseille de conserver l’excellente documentation Django comme point de référence principal.
Dans Django, vous verrez fréquemment qu’il existe plusieurs façons d’atteindre le même but. Si vous cherchez de l’aide pour ce genre de situation, vous pouvez vous tourner vers le livre Two Scoops of Django 3.x (ressource en anglais) : c’est une ressource de grande qualité et aux opinions tranchées sur les meilleures pratiques.
Comme toujours, vous trouverez de nombreux tutoriels en faisant une simple recherche rapide, et des questions et réponses sur StackOverflow (ressource en anglais).
Mais pour l’instant, commençons à travailler sur notre application web de photos !