136 lines
3.3 KiB
Markdown
136 lines
3.3 KiB
Markdown
# Programme de Django Introduction
|
||
|
||
TODO: Remplacer les images de code par des sections Markdown
|
||
|
||
|
||
---
|
||
|
||
## Découvrir Django
|
||
|
||
- Design Pattern MVC : structure, utilisation
|
||
- Présentation de Django : paradigme, versions, documentation
|
||
- Autres frameworks web Python existants : Flask, Pylons, Pyramid etc.
|
||
- Environnements de développement intégrés
|
||
- Environnements de développement console
|
||
- Installation de Django et paquets annexes (applications Django)
|
||
|
||
---
|
||
|
||
### Structure générale d'un projet Django
|
||
|
||
- Structure générale d'un projet
|
||
- Structure générale d'une application
|
||
|
||
Atelier : Création d'un projet et d'une application Django
|
||
|
||
---
|
||
|
||
## Afficher des pages avec Django
|
||
|
||
- Routage d'URL
|
||
- Écriture de vues
|
||
- Intrpduction aux Vues basées sur des classes
|
||
- Introduction au middleware
|
||
|
||
---
|
||
|
||
## Templating (gabarits) avec Django
|
||
|
||
- Principe du templating général
|
||
- Principe du templating avec Django
|
||
- Espaces réservés (interpolation)
|
||
- Filtres de templates
|
||
- Balises de templates (tags) et structures de contrôle
|
||
- Héritage de templates
|
||
- Balises spéciales : include, load, url et static
|
||
- Balises et filtres personnalisés
|
||
|
||
---
|
||
|
||
Ateliers :
|
||
|
||
- Créer et afficher un template dans la console
|
||
- Utiliser un contexte dans un template (+filtres)
|
||
- Utiliser des structures de contrôle
|
||
- Utiliser l'héritage et les blocs
|
||
- Découvrir les balises spéciales
|
||
- Écrire des filtres personnalisés
|
||
|
||
---
|
||
|
||
## Saisir des données avec les formulaires
|
||
|
||
- Définition de formulaires manuels
|
||
- Utilisation de formulaires
|
||
- Utilisation des formulaires dans les templates
|
||
- Valeurs par défaut des formulaires, traitement, sécurité etc.
|
||
- Validation de la saisie utilisateur
|
||
- Gestion des téléchargements et fichiers média
|
||
|
||
---
|
||
|
||
## Persistance des données avec des bases de données (ORM)
|
||
|
||
- ORM : intérêt, avantages
|
||
- ORM Django : configuration, fonctionnalités
|
||
- Définition des modèles de données
|
||
- Définition des relations entre tables (clés)
|
||
- Configuration et classe Meta
|
||
- Héritage, Proxy et modèles abstraits
|
||
- Interroger la base de données
|
||
- Enregistrer et modifier des données dans la base (+ concurrence)
|
||
- Système de migrations de schéma Django
|
||
|
||
---
|
||
|
||
## Utiliser des formulaires avec la base de données
|
||
|
||
- Définition de formulaires basés sur les modèles
|
||
- Utilisation des formulaires et validation
|
||
- Gestion des téléchargements
|
||
|
||
---
|
||
|
||
## Interface d'administration de Django
|
||
|
||
- Présentation de l'interface d'administration intégrée
|
||
- Configuration de l'administration
|
||
|
||
---
|
||
|
||
## L'authentification et les utilisateurs
|
||
|
||
- L'application d'authentification de Django
|
||
- S'authentifier programmatiquement dans une vue
|
||
- S'authentifier avec un formulaire
|
||
|
||
---
|
||
|
||
## Traduction d'un projet Django (I18N)
|
||
|
||
- Traduction dans le code Django
|
||
- Traduction dans les templates
|
||
|
||
Ateliers :
|
||
- Ajout de traduction au code de projet
|
||
- Ajout de traduction dans les templates
|
||
|
||
Atelier : I18N de l'application
|
||
|
||
---
|
||
|
||
## Concepts avancés
|
||
|
||
- Envoyer des emails
|
||
- Créer des vues de téléchargment
|
||
- Lancement de tests d'un projet Django (unittest) :
|
||
- Test Runner
|
||
- Test Client
|
||
- Déploiement d'un projet Django
|
||
- Interconnexion avec les réseaux sociaux (django-allauth)
|
||
- API REST en Django
|
||
- Interfaçage avec un framework front-end (ex. Vue.js ou Angular)
|
||
- Interfaçage avec un frawework front-end basé sur le contenu HTML (ex. HTMX)
|
||
- Intégration avec Git et une usine logicielle
|
||
|