
Formation Python Flask
Maîtrisez Flask en partant de zéro et construisez de véritables applications web Python qui soient sécurisées, évolutives et prêtes pour la production. Ce cours couvre tout, du routage et des templates aux bases de données, à l'authentification, aux API REST et au déploiement. Vous développerez les compétences pratiques que les employeurs et les clients recherchent réellement chez un développeur backend Python.
Ce que votre équipe va maîtriser:
Vous apprendrez à configurer un environnement de développement professionnel pour Flask et à structurer vos projets pour une maintenabilité à long terme. Le cours couvre le routage dynamique, le templating Jinja2, la validation de formulaires et la gestion de bases de données avec SQLAlchemy. Vous mettrez en œuvre l'authentification utilisateur avec Flask-Login, construirez des API REST avec une sécurité basée sur des jetons et rédigerez des tests automatisés avec pytest. Les sujets avancés incluent les tâches en arrière-plan avec Celery, les fonctionnalités en temps réel avec Flask-SocketIO et la conteneurisation avec Docker. À la fin, vous saurez configurer la journalisation, appliquer les bonnes pratiques de sécurité et déployer une application Flask entièrement fonctionnelle sur un serveur en production.
Comment votre équipe apprend de façon pratique Formation Python Flask
Comment votre équipe s’exerce Formation Python Flask
Des professionnels de ces entreprises se forment sur Dedika









Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondations de Flask et configuration de l'environnement
Fondations de Flask et configuration de l'environnement
Leçon 1 • Environnement Python et environnements virtuels
Configurez Python, pip et les environnements virtuels isolés pour les projets Flask. Une isolation correcte empêche les conflits de dépendances entre projets.
Leçon 2 • Gestion de la configuration
Chargez et basculez entre les configurations de développement, de test et de production. Une configuration externalisée garde les secrets en dehors du code source.
Leçon 3 • Votre première application Flask
Écrivez et exécutez une application Flask minimale pour comprendre le modèle d'usine d'application. Les étudiants suivent une requête du navigateur vers la fonction Python et retour.
Leçon 4 • Installation et configuration de Flask
Installez Flask et vérifiez l'installation avec une application minimale. Cela établit la chaîne d'outils de base pour tous les chapitres suivants.
Leçon 5 • Structure d'un projet Flask
Organisez les fichiers et dossiers selon les conventions Flask pour des projets extensibles. Une bonne structure réduit les frictions à mesure que l'application grandit.
Chapitre 2MasquerCacher les détailsVoir les détailsRoutage, vues et construction d'URL
Routage, vues et construction d'URL
Leçon 1 • Principes de base des routes et méthodes HTTP
Définissez des routes avec le décorateur @app.route et restreignez-les à des méthodes HTTP spécifiques. Cela connecte les modèles d'URL à la logique de vue.
Leçon 2 • Blueprints pour l'organisation des routes
Regroupez les routes associées dans des Blueprints pour modulariser les applications volumineuses. Les Blueprints sont le fondement d'une architecture Flask extensible.
Leçon 3 • Construction d'URL avec url_for
Générez des URL à partir de noms de points de terminaison au lieu de coder en dur des chaînes de caractères. url_for maintient la cohérence des liens lorsque les routes changent.
Leçon 4 • Paramètres d'URL dynamiques
Capturez des segments de variables dans les URL et convertissez-les en valeurs Python typées. Les routes dynamiques permettent une conception d'URL basée sur les ressources.
Leçon 5 • Redirections et gestionnaires d'erreurs
Émettez des redirections HTTP et enregistrez des pages d'erreur personnalisées pour les réponses 404 et 500. Une gestion correcte des erreurs améliore l'expérience utilisateur et la capacité de débogage.
Chapitre 3MasquerCacher les détailsVoir les détailsModèles et moteur Jinja2
Modèles et moteur Jinja2
Leçon 1 • Rendu de modèles avec render_template
Passez des données Python à des fichiers HTML à l'aide de render_template et de la syntaxe Jinja2. Les modèles séparent la présentation de la logique métier.
Leçon 2 • Héritage (POO) de modèle et blocs
Définissez un modèle de base et étendez-le dans les modèles enfants à l'aide de balises block. L'héritage (POO) impose une structure cohérente à l'échelle du site.
Leçon 3 • Structures de contrôle Jinja2
Utilisez des blocs if/else et des boucles for dans les modèles pour générer du HTML conditionnel et répété. Les structures de contrôle éliminent le balisage redondant.
Leçon 4 • Macros, inclusions et composants réutilisables
Encapsulez des fragments HTML répétés sous forme de macros ou de parties incluses. Les composants réutilisables réduisent la duplication sur de nombreuses pages.
Leçon 5 • Filtres et tests de modèles
Transformez les valeurs de sortie avec des filtres intégrés et écrivez des filtres personnalisés pour le formatage spécifique au projet. Les filtres évitent d'inclure la logique dans les modèles.
Chapitre 4MasquerCacher les détailsVoir les détailsFormulaires, validation et saisie utilisateur
Formulaires, validation et saisie utilisateur
Leçon 1 • Validateurs et messages d'erreur
Appliquez des validateurs intégrés tels que DataRequired et Email, et affichez les messages d'erreur dans les modèles. Les validateurs imposent l'intégrité des données avant le traitement.
Leçon 2 • Téléchargements de fichiers
Acceptez les téléchargements de fichiers, validez les types de fichiers et enregistrez les fichiers de manière sécurisée sur le serveur. Une gestion sécurisée des téléchargements empêche le traversée de répertoire et l'exécution de fichiers malveillants.
Leçon 3 • Protection CSRF
Activez et vérifiez les jetons d'authentification CSRF dans chaque soumission de formulaire pour empêcher la falsification de requête intersite. La protection CSRF est obligatoire pour tout formulaire modifiant l'état.
Leçon 4 • Configuration de Flask-WTF et WTForms
Installez Flask-WTF, configurez une clé secrète et définissez des classes de formulaire avec des champs typés. Les classes de formulaire centralisent les règles de validation et les définitions de champs.
Leçon 5 • Gestion des données brutes de formulaire
Lisez les valeurs de formulaire soumises à partir de request.form et request.args sans bibliothèque de formulaire. Comprendre l'accès brut clarifie ce que les outils de plus haut niveau abstraient.
Chapitre 5MasquerCacher les détailsVoir les détailsBases de données avec Flask-SQLAlchemy
Bases de données avec Flask-SQLAlchemy
Leçon 1 • Définition de modèles et de relations
Créez des classes de modèle qui correspondent aux tables de la base de données et définissez des relations un-à-plusieurs et plusieurs-à-plusieurs. Les modèles sont la définition du schéma pour l'application.
Leçon 2 • Requêtes avancées et pagination
Écrivez des requêtes complexes avec des jointures, des agrégats et un ordonnancement, puis paginez les grands ensembles de résultats. Des requêtes efficaces réduisent la charge de la base de données et améliorent les temps de réponse.
Leçon 3 • Migrations de base de données avec Flask-Migrate
Utilisez Flask-Migrate pour générer et appliquer des migrations de schéma sans perte de données. Les migrations permettent une évolution de schéma sécurisée et versionnée en production.
Leçon 4 • Configuration de Flask-SQLAlchemy
Installez Flask-SQLAlchemy, configurez l'URI de la base de données et initialisez l'objet db. L'objet db est l'interface centrale pour toutes les opérations de base de données.
Leçon 5 • Opérations CRUD
Insérez, interrogez, mettez à jour et supprimez des enregistrements à l'aide de l'API de session SQLAlchemy. Les opérations CRUD sont les éléments constitutifs de toute fonctionnalité pilotée par les données.
Chapitre 6MasquerCacher les détailsVoir les détailsAuthentification et gestion de session
Authentification et gestion de session
Leçon 1 • Configuration de Flask-Login et chargeur d'utilisateur
Installez Flask-Login, configurez le LoginManager et implémentez le rappel user_loader. Le user_loader reconstruit l'utilisateur actuel à partir de la session à chaque requête.
Leçon 2 • Hachage cryptographique de mot de passe et modèle d'utilisateur
Hachez les mots de passe avec Werkzeug et stockez uniquement les valeurs hachées dans la base de données. Le stockage de mots de passe en texte clair est une vulnérabilité de sécurité critique.
Leçon 3 • Protection des routes avec login_required
Restreignez l'accès aux vues à l'aide du décorateur @login_required et redirigez les utilisateurs non authentifiés. La protection des routes applique l'autorisation au niveau de la vue.
Leçon 4 • Contrôle d'accès basé sur les rôles (RBAC)
Attribuez des rôles aux utilisateurs et restreignez les vues en fonction de l'appartenance à un rôle. Le RBAC sépare ce que différents types d'utilisateurs sont autorisés à faire.
Leçon 5 • Vues d'enregistrement et de connexion
Construisez des formulaires d'enregistrement et de connexion qui créent des comptes et authentifient les utilisateurs. Ces vues sont les points d'entrée de la partie authentifiée de l'application.
Chapitre 7MasquerCacher les détailsVoir les détailsConstruction d'API RESTful avec Flask
Construction d'API RESTful avec Flask
Leçon 1 • Principes REST et conception d'API
Appliquez les contraintes REST pour concevoir des schémas d'URL orientés ressources et choisir les verbes HTTP corrects. Une bonne conception d'API réduit la complexité côté client.
Leçon 2 • Renvoi de réponses JSON
Sérialisez des objets Python en JSON à l'aide de jsonify et définissez les en-têtes de réponse appropriés. Une sérialisation cohérente garantit l'interopérabilité avec les clients API.
Leçon 3 • Gestion des erreurs d'API et documentation
Renvoyez des réponses d'erreur JSON structurées et documentez les points de terminaison avec des docstrings ou des spécifications OpenAPI. Des messages d'erreur et une documentation clairs réduisent les frictions d'intégration.
Leçon 4 • Authentification d'API avec des jetons d'authentification
Protégez les points de terminaison d'API à l'aide d'une authentification basée sur des jetons avec Flask-HTTPAuth ou JWT. L'authentification par jeton sans état est la norme pour les API REST.
Leçon 5 • Analyse des requêtes JSON entrantes
Lisez et validez les charges utiles JSON à partir de request.get_json() et gérez les entrées mal formées avec élégance. La validation des entrées empêche le traitement de données corrompues ou malveillantes.
Chapitre 8MasquerCacher les détailsVoir les détailsTests, déploiement (logiciel) et préparation à la production
Tests, déploiement (logiciel) et préparation à la production
Leçon 1 • Variables d'environnement et gestion des secrets
Injectez des secrets et une configuration via des variables d'environnement et utilisez un fichier .env pour le développement local. L'externalisation des secrets empêche les identifiants d'entrer dans le contrôle de version.
Leçon 2 • Journalisation, surveillance et suivi des erreurs
Configurez la journalisation Python, la sortie de journal structurée et intégrez un service de suivi des erreurs. L'observabilité permet un diagnostic rapide des problèmes de production.
Leçon 3 • Serveurs WSGI et proxys inverses
Remplacez le serveur de développement par Gunicorn et placez Nginx devant en tant que proxy inverse. Les serveurs WSGI de production gèrent la concurrence que le serveur de développement ne peut pas gérer.
Leçon 4 • Fixtures de test et couverture
Utilisez des fixtures pytest pour configurer et démonter l'état de test, et mesurez la couverture du code avec pytest-cov. Les métriques de couverture révèlent les chemins de code non testés.
Leçon 5 • Tests unitaires et d'intégration avec pytest
Écrivez des tests basés sur pytest pour les fonctions de vue, les modèles et la validation de formulaire à l'aide du client de test Flask. Les tests automatisés détectent les régressions avant le déploiement.
Votre certificat valide de réussite
Ce cours est fait pour vous :
Scripteur Python : prêt à transformer du code en véritables applications web.
Reconversion professionnelle : passer d’un emploi non technique au développement web backend.
Analyste de données : souhaite exposer des modèles et des résultats via une interface Web.
Développeur freelance : a besoin d'une pile Python fiable pour ses projets web clients.
Étudiant en CS : cherchant à faire le pont entre les connaissances académiques en Python et les cadres pratiques.
Développeur junior : construire des projets de portfolio pour décrocher un premier poste de backend.
Cours associés
FAQ
Qui est Dedika ?
Le certificat est-il valable en France ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail des cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF



















