API en Python
  • Back to Main Website
  • Home
  • Introduction aux API
    • Introduction aux API
    • API - Définition
    • Utiliser une API
    • Créer une API
    • Sécuriser une API
    • Concepts élargis

    • Travaux Pratiques
    • TP - Premiere requêtes
  • Consommation avancée d’API
    • Consommation avancée d’API
    • Protocols de communication
    • Authentification et sécurité des API
    • Optimisation des ressources et de la performance des API

    • Travaux Pratiques
    • TP : Comparaison des performances des appels en tant qu’utilisateur
  • Communication entre Processus (IPC)
    • Communication entre Processus (IPC)
    • Introduction à l’IPC
    • Sockets
    • Fichiers et IPC
    • Shared Memory
    • Pipes
    • gRPC
    • Conclusions

    • Travaux Pratiques
    • TP3 Option 1 Service gRPC pour indicateurs de marché
    • TP3 Option 2 Serveur de Données de Marché via Socket et Mémoire Partagée
  • Conception d’APIs
    • Conception d’APIs
    • Introduction à la Conception d’APIs
    • Les principaux Frameworks d’APIs en Python
    • Fast API
    • Django REST Framework
    • Tester et documenter une API
    • Bonne pratique générale
    • Conclusion

    • Travaux Pratiques
    • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès
  • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Introduction au Déploiement d’API
    • Heroku - Présentation du service
    • Meilleurs Pratiques avant un déploiement
    • Deploiement sur Heroku
    • Déploiement avancé
    • Bonus - Nom de Domaine
    • Conclusion
  • Sujets de Projets possibles
    • Projets
    • M2EIF Quant 2023/2024
    • M2EIF Quant 2024/2025
  • Code source
  1. Travaux Pratiques
  2. TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès
  • Conception d’APIs
  • Introduction à la Conception d’APIs
  • Les principaux Frameworks d’APIs en Python
  • content/Cours_4//3-Falsk.qmd
  • Fast API
  • Django REST Framework
  • Tester et documenter une API
  • Bonne pratique générale
  • Conclusion
  • Travaux Pratiques
    • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès

On this page

  • Visualisation de données avec Python
  • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès
    • Description
      • Consignes Spécifiques pour ce TP :
      • Fonctionnalités attendues
      • Etapes

Code Links

  • Launch Binder
  1. Travaux Pratiques
  2. TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès

TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès

Cours
Fondamentaux
Asynchronie vs synchronie
Author

Remi Genet

Published

2024-12-10

Visualisation de données avec Python


TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès


Description

Consignes Spécifiques pour ce TP :

Ce TP est à réaliser en trinôme. Lors de la soumission de votre projet sur GitHub, assurez-vous que chaque membre du groupe est correctement ajouté en tant que collaborateur sur le dépôt du projet. Objectif

Construire une API qui fournit des indicateurs financiers pour les cryptomonnaies et les actions. L’API doit gérer l’authentification des utilisateurs et offrir différents niveaux d’accès en fonction de l’abonnement de l’utilisateur.

Fonctionnalités attendues

Fonctionnalités de base 1. Authentification des utilisateurs : - Implémenter l’authentification JWT pour sécuriser l’API. - Permettre aux utilisateurs de s’inscrire et de se connecter pour accéder à l’API. 2. Niveaux d’accès : - Définir différents niveaux d’accès (par exemple, gratuit, premium, entreprise) avec des taux de requêtes et des fonctionnalités variés. - Implémenter un système de gestion des droits d’accès en fonction du niveau d’abonnement de l’utilisateur. 2. Endpoints des indicateurs financiers : - Fournir des endpoints pour calculer et récupérer différents indicateurs financiers (par exemple, RSI, MACD, SMA, EMA). - Limiter l’accès à certains indicateurs en fonction du niveau d’abonnement de l’utilisateur. 4. Rate limiting : - Mettre en place un rate limiting pour limiter le nombre de requêtes que les utilisateurs non authentifiés et ceux avec un abonnement gratuit peuvent faire. - Fonctionnalités avancées (optionnelles - points bonus projet final) 3. Amélioration des niveaux d’accès : - Permettre aux utilisateurs de mettre à niveau leur abonnement pour accéder à des taux de requêtes plus élevés et à des indicateurs supplémentaires. 4. Cache des données : - Implémenter un système de cache pour améliorer les performances de l’API en stockant les résultats des calculs des indicateurs. 5. Webhooks et notifications : - Offrir la possibilité de configurer des webhooks pour recevoir des notifications lorsque certains indicateurs atteignent des seuils spécifiques.

Etapes

  • Choisissez un des frameworks (Flask, FastAPI, Django REST Framework) pour implémenter l’API.
  • Concevez votre modèle de données pour gérer les utilisateurs, les niveaux d’abonnement et les indicateurs financiers.
  • Développez les endpoints nécessaires pour chaque fonctionnalité en vous assurant de bien gérer les erreurs et les cas d’usage. Mettez en place un système de rate limiting pour gérer la fréquence des requêtes. Écrivez des tests pour vos endpoints pour garantir leur bon fonctionnement.
  • Documentez votre API pour que les utilisateurs et les développeurs puissent facilement comprendre comment l’utiliser.
  • Créer un exemple de client qui utilise votre API
Back to top
Conclusion

Python API, Rémi Genet.
Licence
Code source disponible sur Github

 

Site construit avec et Quarto
Inspiration pour la mise en forme du site ici
Code source disponible sur GitHub