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

Formation Python Flask

4

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.

Dedika pour les entreprises

Ce que vous allez apprendre:

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 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 les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.

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

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

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

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.

Certification

Votre certificat valide de réussite

Ce cours est 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.

Ce que disent nos apprenants

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 besoin de 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 Digital
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 les vidéos sont présentées et transcrites, 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 en Algérie ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail du 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