Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Caching Proxy

Un petit serveur proxy de mise en cache (GET-only) écrit en Python.

Ce dépôt fournit une application simple qui relaie les requêtes vers un serveur d'origine et met en cache les réponses localement pour accélérer les requêtes suivantes.

Prérequis

  • Python 3.8 ou plus
  • pip
  • (optionnel) virtualenv/venv

Installation

  1. Cloner le dépôt :
git clone https://github.com/Hermann002/cache_proxy.git/ caching-proxy
cd caching-proxy
  1. (Recommandé) Créer et activer un environnement virtuel :
python -m venv env
source env/bin/activate
  1. Installer le package en mode editable (installe le script CLI) :
pip install -e .

Après l'installation, le script CLI caching-proxy est disponible dans l'environnement.

Usage

Le point d'entrée CLI est caching-proxy (défini dans setup.py).

  • Démarrer le proxy (exemple) :
caching-proxy --port 8000 --origin http://dummyjson.com
  • Démarrer via le module (sans installation) :
python -m cache_proxy --port 8000 --origin http://dummyjson.com
  • Effacer le cache local :
caching-proxy --clear-cache

Remarques importantes :

  • Les options --port et --origin sont requises sauf si vous utilisez --clear-cache.
  • L'argument --origin doit commencer par http:// ou https://.

Fichier de cache

Le cache est stocké dans le fichier .caching_proxy_cache.pkl à la racine du projet (variable CACHE_FILE). Le CLI affiche le chemin absolu du fichier de cache au démarrage.

Exemple rapide

  1. Démarrez le proxy :
source env/bin/activate   # si vous avez créé un venv
caching-proxy --port 8000 --origin https://httpbin.org
  1. Testez via curl :
curl http://localhost:8000/get

La première requête sera transmise à l'origine et mise en cache ; les suivantes seront servies depuis le cache.

Dépannage

  • Si vous obtenez des erreurs d'import, vérifiez que vous utilisez le bon environnement virtuel et que le package a été installé (pip install -e .).
  • Si le fichier de cache est corrompu ou que vous voulez repartir de zéro, utilisez --clear-cache.

Notes et améliorations possibles

  • Le proxy gère uniquement les requêtes GET pour l'instant.
  • Améliorations possibles : gestion des en-têtes HTTP, invalidation fine du cache, stockage persistant plus robuste, tests automatisés.

Rédigé pour le projet d'exercice — instructions minimales pour installation et exécution.

About

créer un serveur de cache avec python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages