Formation Django : plan du site
- Développement web : de quoi a-t-on besoin et que devons-nous faire ? – Le développement d'applications web et de sites Internet présente des points communs avec le développement d'autres formes de logiciels, comme les applications de bureau « client lourd », les programmes système, etc. Il comporte aussi quelques contraintes et besoins spécifiques, comme la scalabilité, les besoins en performances pour le requêtage ou la vitesse d'affichage des pages…
- Qu'est-ce qu'un framework ? – Cette page vous permettra de comprendre ce qu'est un framework de développement informatique, et quels sont les avantages et inconvénients d'utilisation des frameworks.
- Principales caractéristiques du framework Django – Django est un framework d'application web, pour « les perfectionistes qui ont des deadlines »… Voici queques unes-de ses principales caractéristiques.
- Écosystème d'une application Django – Cette page a pour vocation de présenter l'écosystème d'une application Django, c'est à dire les composants logiciels qui sont liés au bon fonctionnement d'une telle appli : serveur, bases de données, langages…
- Design patterns et bonnes pratiques – Cette page présente une introduction à quelques design patterns et principes de programmation importants et implémentés par Django (comme par beaucoup de frameworks). La liste n'est bien sûr pas exhaustive, et le lecteur est invité à consulter la littérature spécialisée pour une étude plus avancée.
- Test et qualité : comment créer des applications robustes – Les tests en informatique ont fait couler beaucoup d'encre, et en feront encore couler beaucoup. Cette page n'a pas vocation à présenter un état de l'art exhaustif du testing, mais plutôt comprendre le besoin et quelques-unes des solutions appropriées (tests unitaires, tests d'intégration…).
- Premier projet ↓
- Installation de Django : guide pour installer le framework sans soucis – Cette page comporte les informations nécessaires pour installer Django sur votre machine de développement.
- Présentation du projet : système de gestion de projet Scrum – Notre premier projet Django consistera en la conception et le développement d'un système de gestion de projet Scrum (méthode agile dédiée à la gestion de projets, particulièrement adaptée aux projets informatiques). Cette page est en quelque sorte notre cahier des charges « simplifié ».
- Création d'un projet Django pas à pas : MiageScrum – Vous apprendrez sur cette page à créer un projet Django, pas à pas. Ce projet nous servira de fil conducteur durant tout notre apprentissage du framework. Notre projet : un système simple de gestion de projet Scrum : backlog, équipe, sprints….
- Création d'une application au sein de notre projet Django – Nous allons maintenant créer une première application Django, au sein de notre projet. Cette application métier nommée django-chistera (la passe dans le dos en rugby !) sera le cœur de notre projet, et gérera l'ensemble des problématiques liées à la gestion d'un projet Scrum.
- Ajout des modèles de l'application – Cette page vous apprendra à créer des modèles pour une application Django. Avant de commencer, assurez-vous de connaître MVC et de savoir ce qu'est un modèle…
- Scaffolding ↓
- Mise en œuvre du scaffolding avec Django : paramétrage de base – Vous allez apprendre sur cette page à mettre en œuvre une interface d'administration simple pour votre projet Django en quelques secondes, grâce aux fonctionnalités de scaffolding du framework.
- Paramétrage avancé de l'interface d'administration (scaffolding) – Nous allons voir sur cette page comment personnaliser notre interface d'administration grâce à un paramétrage « avancé » des fonctionnalités de scaffolding de Django.
- Testing ↓
- Quelques rappels et généralités sur les tests, Python et le TDD – Cette page a pour but de s'assurer que le lecteur est bien au fait de ce que l'on entend par testing unitaire et d'intégration, sur sa mise en œuvre avec Python (unittest) et sur la démarche de TDD (test driven development).
- Tester ses contrôleurs (views) avec Django – Cette page vous montrera comment écrire des cas de test simples et efficaces pour vos contrôleurs d'application Django. Nous écrirons pour cela des classes de test, fondées sur unittest, avec une approche TDD.
- Routage d'URL ↓
- Notion de contrôleur frontal – Cette page est une introduction générale à la notion de contrôleur frontal et au routage d'URL. Il servira de rappel à ceux qui ont déjà pratiqué MVC, de découverte pour les autres !
- Le fichier urls.py : contrôleur frontal et dispatch d'URL avec Django – Nous allons voir sur cette page comment créer un contrôleur frontal sous Django, en utilisant le fichier urls.py. Le fichier urls.py contient les routes du projet : il dispatche les requêtes vers les contrôleurs adéquats.
- Contrôleurs (views) ↓
- Quelques petits rappels sur les contrôleurs en MVC – Pour comprendre l'implémentation des contrôleurs (views) sous Django, il faut bien comprendre ce que l'on entend par contrôleur côté MVC, et connaître les spécificités des contrôleurs sous Django. Cette page est faite pour ça !
- Django function based views : 1 contrôleur = 1 fonction – Nous allons voir sur cette page comment écrire des contrôleurs (views) puissants très simplement en Django, sous la forme de fonctions : un contrôleur = une fonction. Tout simplement !
- Vues (templates) ↓
- Quelques rappels sur les vues en MVC – Cette page fait le point sur la notion de vue (template) dans l'approche MVC, et fournit quelques rappels pour écrire des vues (templates) pertinentes et efficaces.
- Le langage de template de Django – Nous présentons sur cette page le moteur de templates de Django, un outil extrêmement puissant et pratique pour écrire des vues (templates) élégantes et efficaces.
- Création des templates Django de notre application – Maintenant que nous connaissons le langage de template de Django, nous allons créer les premiers templates de notre application chistera : dashboard.html et backlog.html.
- Zoom sur… ↓
- L'ORM Django : quelques astuces à connaître pour des accès BDD parfaits ! – Travailler avec un ORM est généralement synonyme de gain de temps et de meilleure maintenabilité des applications web… si on le fait bien (sinon, c'est surtout l'occasion de plomber méchamment les performances) : Django ne déroge pas à cette règle !
- Fichiers statiques et médias : collecte et gestion pérenne avec Django – Les applications web doivent toutes stocker et utiliser des fichiers statiques (assets, media) : images, scripts Javascript, feuilles de style CSS, etc. Django vient avec quelques fonctionnalités pratiques pour la gestion de ces fichiers.
- Commandes personnalisées Django : les management commands – Les frameworks web permettent de servir des pages web. Mais il est parfois utile voire nécessaire d'exécuter des programmes sans passer par un navigateur, par exemple dans des tâches planifiées (CRON…) ou manuellement via la ligne de commande. Django vient avec un outil puissant pour ceci : les management commands.
- Context processor Django : ajouter automatiquement des variables aux contextes des templates – Pour constituer les pages rendues aux utilisateurs, nous avons régulièrement besoin de variables qui représentent des données génériques, non spécifiques à un contrôleur (view) particulier : items d'un menu général, derniers articles publiés, etc.
- Templates Django : tags et filtres personnalisés – Dango est fourni avec les piles : de nombreux outils sont disponibles dans la distribution de base, ceci incluant des filtres et tags de templates. Quand cela ne suffit pas, vous pouvez définir vos propres tags et filtres de template pour vos besoins personnels. Cette page vous apprendra à le faire.
- Déploiement d'applications Django : exemple sur serveur Linux/Apache – Nous avons travaillé durant toute cette formation sur le serveur de développement gracieusement fourni par Django : vient le moment de déployer un projet Django en production. Cette page vous montrera une façon de faire, parmi d'autre, en utilisant Apache.
- Middlewares Django : comment créer son propre middleware – Cette page sur la création de middlewares Django est en cours de rédaction.
- Python : présentation d'ensemble du langage – Publié dans sa première version en 1991, Python est un langage de haut niveau élégant, portable et extensible qui vous permettra de créer du code lisible, selon l'un des paradigmes de programmation que vous maîtrisez.
- Comment installer Python sous Windows, Mac et Linux ? – Cette page vous expliquera comment installer Python sur votre machine (Linux/Unix, Mac ou Windows) afin de pouvoir commencer à programmer en Python.
- Quel éditeur ou IDE pour Python ? – Le choix d'un IDE ou d'un éditeur de code est hautement subjectif et par conséquent appelle généralement de longs débats. Voici quelques pistes pour votre environnement de travail sous Python !
- Mon premier programme Python – Cette page a pour but d'apprendre à écrire un tout premier programme Python, très simple, et à utiliser l'interpréteur Python.
- Instructions et structures de base pour la programmation Python : kit de survie – Cette page regroupe un ensemble d'éléments sur les instructions et structures de base proposés par Python. C'est une sorte de kit de survie pour vos premiers pas en Python : rassurez-vous, Python est pensé pour être simple, et en cas de problème, vous trouverez vite une solution (ici ou ailleurs) !
- Programmation objet en Python : classes, héritage… – Vous trouverez sur cette page une introduction à la programmation objet en Python. Python est un langage orienté objet, permettant la définition de classes.
- Petites choses diverses à savoir pour débuter en Python – Cette page recense quelques astuces et conseils divers utiles pour les débutants Python, qui vous éviteront de perdre du temps en développant vos premiers programmes.
Autres pages