Flask pour la Data et l'Analytics : Démystifier les APIs de Données

@joekakone

Joseph Konka @joekakone

03/03/2026 · 6 min

Découvrez pourquoi et comment utiliser le microframework Flask en Data & Analytics : exposez vos modèles de Machine Learning, servez des agrégats calculés avec Pandas et déployez des micro-services analytiques robustes.

Vous venez d'entraîner un modèle de Machine Learning prometteur capable de prédire le risque d'attrition (churn) de vos clients ou le montant prévisionnel d'un panier d'achat. Votre notebook Jupyter affiche une métrique de précision remarquable de 92 %.

Mais un modèle enfermé dans un notebook ne rapporte pas le moindre euro à une entreprise : il n'a de valeur que s'il est accessible par les applications opérationnelles (le site e-commerce, le CRM des commerciaux ou le tableau de bord Power BI de la direction).

Pour transformer un script de calcul Python en un service universellement interrogeable via le protocole HTTP, le microframework Flask est l'outil historique et pédagogique par excellence.


🎯 Les Objectifs Pédagogiques#

À l'issue de cette formation pratique orientée Data et MLOps, vous serez capable de :

  • Comprendre le rôle pivot d'une API REST dans l'écosystème de données d'une entreprise.
  • Créer un serveur Flask léger pour servir des calculs analytiques et des KPIs en format JSON.
  • Structurer un projet Flask propre et modulaire avec la méthode Application Factory et des Blueprints, en isolant le code métier et les artefacts de Machine Learning.
  • Exposer un modèle Scikit-learn sérialisé (.joblib / .pkl) via un endpoint /predict sécurisé et validé.
  • Persister l'historique des prédictions dans une base de données avec Flask-SQLAlchemy pour surveiller la dérive du modèle (Model Drift).
  • Conteneuriser l'API avec Docker et un serveur WSGI de production (Gunicorn).
  • Comprendre la transition moderne vers FastAPI et ses avantages d'auto-documentation et de typage strict.

📚 Ne confondez pas : API Web vs Tableau de Bord Décisionnel (BI)#

Une question revient fréquemment chez les Data Analysts : "Pourquoi coder une API en Flask alors que je peux publier un rapport dans Power BI ou Tableau ?"

Ces deux technologies ne sont pas en concurrence : elles sont complémentaires et répondent à des besoins diamétralement opposés :

┌────────────────────────────────────────────────────────┐
│             TABLEAU DE BORD BI (Power BI / Tableau)    │
│ ──► Destiné aux humains (décideurs, managers)          │
│ ──► Visualisations interactives, graphiques, filtres   │
│ ──► Actualisation planifiée (ex: 1 fois par jour)      │
└────────────────────────────────────────────────────────┘

┌────────────────────────────────────────────────────────┐
│                API DE DONNÉES (Flask / REST)           │
│ ──► Destiné aux machines (applications, serveurs, CRMs)│
│ ──► Échange de données brutes structurées (JSON)       │
│ ──► Inférence en temps réel (temps de réponse < 50 ms) │
└────────────────────────────────────────────────────────┘
Critère Tableau de Bord Décisionnel API Web Flask
Utilisateur cible Décideurs, analystes, directeurs métier Systèmes tiers, applications mobiles, pipelines ETL
Format de sortie Visuels, diagrammes, jauges interactives Objets JSON normés ({"prediction": 1, "score": 0.88})
Temps de réponse De quelques secondes à minutes de rafraîchissement Instantané (inférence synchrone en temps réel)
Cas d'usage type Analyser le bilan des ventes du trimestre passé Noter le risque de fraude d'un paiement en cours

💡 Qu'est-ce qu'un Microframework ?#

Flask, créé par Armin Ronacher en 2010, est qualifié de microframework.

Contrairement à des frameworks d'entreprise monolithiques comme Django qui intègrent d'office un ORM lourd, un panneau d'administration et un système d'authentification complexe, Flask ne fournit que le strict minimum nécessaire : - Un système de routage d'URLs puissant. - Un gestionnaire de requêtes/réponses HTTP. - Le moteur de templates HTML Jinja2.

Pour tout le reste, vous restez entièrement libre d'ajouter uniquement les briques dont vous avez besoin : Pandas pour le traitement vectoriel, Scikit-learn pour le scoring, SQLAlchemy pour les bases relationnelles.


⚡ Flask en 7 Lignes de Code#

Voici à quoi ressemble un micro-service de données minimaliste :

app.py : Votre premier micro-service de données
from flask import Flask, jsonify

app = Flask(__name__)

@app.route("/api/kpis", methods=["GET"])
def get_kpis():
    # Simulation d'un calcul d'agrégat analytique
    data = {"total_ventes": 154200, "croissance_pct": 12.5, "statut": "OK"}
    return jsonify(data)

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)

En lançant ce script, tout système distant peut interroger l'adresse http://localhost:5000/api/kpis pour récupérer vos calculs analytiques sous forme de JSON propre.


🧭 Le Programme de la Formation#

Notre cursus se décline en deux grands paliers d'apprentissage :

Palier 1 : Fondations & Architecture Data#

  1. Installer Flask & son Écosystème Data : Préparer un environnement virtuel propre avec Flask, Pandas, Scikit-learn et Joblib.
  2. Démarrer avec Flask : Comprendre les routes, les méthodes HTTP (GET, POST) et la sérialisation JSON avec jsonify.
  3. Structurer un Projet Professionnel : Découper son code selon l'architecture modulaire d'entreprise (Application Factory, blueprints et dossier d'artefacts ML).
  4. Ajouter une Base de Données : Connecter Flask à SQLite ou PostgreSQL via Flask-SQLAlchemy pour archiver les logs d'inférence.

Palier 2 : Inférence ML, Docker & Modernisation#

  1. Créer des Vues & Interfaces de Contrôle : Construire des écrans de restitution Jinja2 pour tester manuellement ses modèles.
  2. Créer une API pour Scikit-learn : Le cœur du sujet : charger un pipeline entraîné et exposer un endpoint d'inférence temps réel /predict.
  3. Déployer avec Docker : Conteneuriser l'API avec un serveur WSGI de production (Gunicorn) pour le déploiement cloud.
  4. Prendre en main FastAPI : Découvrir la relève moderne, avec validation Pydantic et documentation Swagger automatique.
  5. Ressources & Bonnes Pratiques : Quiz d'auto-évaluation et checklist de mise en production.

Prêt à faire sortir vos modèles de vos notebooks pour leur donner un impact concret en entreprise ? Rendez-vous dans la prochaine leçon pour installer votre atelier de développement !

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue