• 20 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Tirez parti de ce cours

Log in or subscribe for free to enjoy all this course has to offer!

Bienvenue dans ce cours ! Vous allez y apprendre Django (à moins que vous ne vous soyez trompé de cours !) à travers un exemple concret : la réalisation d'un site pour un disquaire !

Les disquaires ? Ça existe encore ?

Oui, même s'il est vrai que la décennie passée ne les a pas vraiment épargnés. Les vinyles reviennent en force ces dernières années, alors pourquoi ne pas croire à leur retour ? I believe!

Bref ! Le Bateau Pirate, un disquaire parisien, vous contacte car il veut un site un peu particulier. Il souhaite que ses clients puissent y découvrir les derniers CD achetés par la boutique et les réserver facilement.

Un site de réservation pour disquaire

Plus précisément, la boutique aimerait gérer son stock dans une interface d'administration et offrir à sa clientèle un catalogue affichant les produits disponibles.

Le catalogue en ligne aura les fonctionnalités suivantes :

  • Affichage des derniers CD ajoutés en base dans la page d'accueil,

  • Visualisation d'un CD en cliquant sur sa pochette ou sur son titre,

  • Recherche par auteur,

  • Demande de réservation par un formulaire présent sur chaque page de CD.

L'interface d'administration sera privée et accessible par un seul utilisateur. Voici les fonctionnalités demandées :

  • Ajout de disques, modification et suppression.

  • Recherche d'un disque par titre d'album ou référence.

  • Liste des demandes de réservation.

  • Possibilité d'indiquer qu'un album est indisponible. Dans ce cas, il n'apparaît plus dans le catalogue public.

Le Bateau Pirate vous a même fait parvenir une maquette de leurs attentes.

 

De quoi aurez-vous besoin pour réaliser ce projet ?

  • Une base de données : vous devrez conserver de nombreuses données ! Les albums, les artistes, les réservations... Afin de les gérer efficacement, vous aurez besoin d'une base de données.

  • Un service qui vous permet d'interagir avec la base de données de manière sécurisée.

  • Un serveur web dont le rôle va être de recevoir des requêtes HTTP, de les traiter et de renvoyer une réponse HTTP conforme.

  • Une interface d'administration pour gérer le contenu du site.

  • Bien d'autres éléments que nous verrons au fur et à mesure.

Vous pourriez tout réaliser de zéro en pur Python. Néanmoins, vous vous doutez bien que cela serait extrêmement long et rébarbatif (sauf si vous adorez coder jour et nuit) ! Plutôt que de réinventer la roue, accueillez à bras ouverts Django !

De nombreux mots me sont inconnus. Dois-je prendre une aspirine tout de suite ?

Non, pas d'inquiétude ! Nous verrons tout cela petit à petit, dans la joie et la bonne humeur (enfin, si vous arrivez à supporter mes blagues).

Django, le framework web pour perfectionnistes déchaînés

Django est un framework en open source écrit en Python. Décortiquons cette phrase :

  • framework : en français, "cadre de travail". Désigne un ensemble de modules pensés pour fonctionner à la fois indépendamment et collectivement. Un framework vous donne un ensemble d'outils couramment utilisés pour commencer un projet rapidement.

  • open source : en français, "source ouverte". Cela signifie que le code est librement consultable. Vous pouvez d'ailleurs le visualiser à cette adresse.

Il a été créé en 2003 par quatre développeurs pour le journal local de Lawrence (dans le Kansas en Amérique) : Adrian Holovaty, Simon Willison, Jacob Kaplan-Moss et Wilson Mine. Depuis juin 2008, la Django Software Foundation a repris le relai pour développer et promouvoir le framework.

Le but principal de Django, qui a présidé à sa création, est de simplifier la création de sites web complexes utilisant une base de données. Il est connu pour ses bonnes pratiques et son interface d'administration, extrêmement puissante.

Quel genre de site puis-je réaliser avec Django ?

Vous pouvez aller très loin avec ce framework ! Par exemple, saviez-vous que les sites suivants l'utilisent ? Instagram, Pinterest, National Geographic, OpenStack, AutoLib, Liberation, ...

Instagram utilise Django !
Instagram utilise Django !

Avant tout, Django est facilement compréhensible. Il n'y a pas de magie ! Vous importez les modules qui vous sont nécessaires et bien que le framework vous incite à suivre l'architecture MVT, vous êtes libre d'organiser votre projet à votre guise.

Organisation du cours

Dans ce cours vous découvrirez de bonnes pratiques pour commencer sereinement un projet utilisant Django. A la fin de ce cours, vous saurez :

  • Installer Django,

  • Organiser un projet Django,

  • Configurer une interface d'administration selon les besoins du projet,

  • Ajouter un formulaire,

  • Intégrer un thème statique tiers,

  • Créer une base de données et associer les modèles entre eux,

  • Effectuer des requêtes basiques dans la base de données,

  • Ajouter des tests unitaires,

  • Déployer une application Django sur des serveurs Heroku.

Avant de commencer à disserter sur ces concepts ô combien passionnants, prenez un moment pour regarder le dépôt de ce projet sur GitHub. Chaque chapitre commence par un rappel de l'objectif pédagogique et des notions qui seront abordées. Il termine par un rappel du code ajouté. Vous pouvez consulter le code à tout moment sur le dépôt GitHub.

Afin de bien assimiler ces informations, je vous incite fortement à réaliser le projet en même temps que moi. Vous pouvez bien entendu parcourir ce cours sans coder mais vous en perdriez les connaissances très rapidement. Rien de tel que la pratique pour apprendre à coder !

D'ailleurs, qu'attendons-nous pour commencer ? C'est parti !

Example of certificate of achievement
Example of certificate of achievement