Choisissez votre langue
Formation Python Flask
Plus de 2 millions d'apprenants dans le monde

Formation Python Flask

4

Maîtrisez Flask de A à Z et créez de vraies applications Web Python 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 acquerrez les compétences pratiques que les employeurs et les clients recherchent réellement chez un développeur Python backend.

Dedika pour entreprises

Ce que vous allez apprendre:

Vous apprendrez à configurer un environnement de développement professionnel pour Flask et à structurer des 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 des utilisateurs avec Flask-Login, créerez des API REST avec sécurité basée sur des jetons et rédigerez des tests automatisés avec pytest. Les sujets avancés comprennent 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 meilleures pratiques de sécurité et déployer une application Flask entièrement fonctionnelle sur un serveur en direct.

Comment vous étudiez de façon pratique Formation Python Flask

Comment vous pratiquez Formation Python Flask

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.

Cliquez ici

Contenu du cours

8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondations de Flask et configuration de l'environnement

  • Leçon 1 • Environnement Python et environnements virtuels

    Configurez Python, pip et des environnements virtuels isolés pour les projets Flask. Une isolation adéquate évite les conflits de dépendances entre les projets.

  • Leçon 2 • Gestion de la configuration

    Chargez et alternez entre les configurations de développement, de test et de production. Une configuration externalisée garde les secrets hors 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 tracent une requête du navigateur vers une 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 évolutifs. Une bonne structure réduit les frictions à mesure que l'application grandit.

Chapitre 2Voir les détails

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 relie les motifs d'URL à la logique des vues.

  • Leçon 2 • Plans pour l'organisation des routes

    Regroupez les routes connexes dans des plans pour modulariser les grandes applications. Les plans sont le fondement d'une architecture Flask évolutive.

  • Leçon 3 • Construction d'URL avec url_for

    Générez des URL à partir de noms de points de terminaison plutôt que de coder en dur des chaînes. url_for maintient la cohérence des liens lorsque les routes changent.

  • Leçon 4 • Paramètres d'URL dynamiques

    Capturez des segments 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 appropriée des erreurs améliore l'expérience utilisateur et la capacité de débogage.

Chapitre 3Voir les détails

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 de modèles et blocs

    Définissez un modèle de base et étendez-le dans les modèles enfants à l'aide de balises de bloc. L'héritage impose une structure cohérente sur l'ensemble 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 partiels inclus. Les composants réutilisables réduisent la duplication sur plusieurs 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 propre au projet. Les filtres gardent la logique hors des modèles.

Chapitre 4Voir les détails

Formulaires, validation et entrée utilisateur

  • Leçon 1 • Validateurs et messages d'erreur

    Appliquez des validateurs intégrés comme 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 parcours de répertoires et l'exécution de fichiers malveillants.

  • Leçon 3 • Protection CSRF

    Activez et vérifiez les jetons 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 haut niveau abstraient.

Chapitre 5Voir les détails

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égations et un ordonnancement, puis paginez de 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 sécurisée et versionnée du schéma 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 chaque fonctionnalité axée sur les données.

Chapitre 6Voir les détails

Authentification et gestion des sessions

  • Leçon 1 • Configuration de Flask-Login et chargeur d'utilisateur

    Installez Flask-Login, configurez 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 de mots de passe et modèle utilisateur

    Hachez les mots de passe avec Werkzeug et stockez uniquement les valeurs hachées dans la base de données. Stocker les mots de passe en clair constitue 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 impose l'autorisation au niveau de la vue.

  • Leçon 4 • Contrôle d'accès basé sur les rôles

    Attribuez des rôles aux utilisateurs et restreignez les vues en fonction de l'appartenance à un rôle. Le RBAC sépare ce que les différents types d'utilisateurs sont autorisés à faire.

  • Leçon 5 • Vues d'inscription et de connexion

    Construisez des formulaires d'inscription 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 7Voir les détails

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 les 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 assure l'interopérabilité avec les clients de l'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

    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 8Voir les détails

Tests, déploiement 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 la gestion de versions.

  • 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 • Accessoires de test et couverture

    Utilisez des accessoires pytest pour configurer et démonter l'état des tests, et mesurez la couverture de 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.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Scénariste Python : prêt à transformer du code en véritables applications Web.

  • Changement de carrière : passer d’un emploi non technique au développement web en backend.

  • Analyste de données : souhaite exposer des modèles et des résultats par l'intermédiaire d'une interface Web.

  • Développeur ou développeuse pigiste : a besoin d’une pile Python fiable pour les projets Web de ses clients.

  • Étudiant ou étudiante en CS : cherche à faire le pont entre ses connaissances académiques en Python et les frameworks pratiques.

  • Développeur junior : réaliser des projets de portfolio pour décrocher un premier poste en développement backend.

Ce que nos apprenants disent

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir à changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Numérique
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont il est présenté ainsi que la transcription des vidéos, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika?

Le certificat est-il valable au Canada ?

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 fonctionne?

Cours PDF