Vous allez réaliser une Calculatrice Cloud !
Vous avez maintenant toutes les clés pour la réalisation de ce premier petit projet !
A partir des échanges que nous avons eu en cours concernant la calculatrice dans le cloud, réalisé la dite calculatrice !
ℹ️ Utilisez votre session codespace pour ce TD
- Créer un dépôt privé avec un nom commençant par
4A_[ ILC ou SQR ]_ - Ajoutez le second membre du binôme en tant que collaborateur.
- Ajoutez-moi en collaborateur → jerome.massard@kiowy.com
README.md→ pour votre vous du futur, il vous remerciera. 🚀.gitignorecontenant**/__pycache__→ pour ne pas embarquer le superflu.
Concevoir une API simple ( Python/Flask ou Rust ). ℹ️ Vous pouvez reprendre le projet du module précédent en base.
La calculatrice doit permettre les additions, les soustractions, les multiplications et les divisions.
Pour demander ces calcules :
POST: Envoyer un tuple pour demander un calcul ( renvoie un id ).GET: Récupérer le résultat via un id.
Pour l'instant, les résultats sont stockés dans une variable dictionnaire.
Bonne pratique : pour plus de clareté utilisez un préfix pour vos routes api. exemple :
/api/ma_routeou/v1/ma_routepour le versionning des endpoints.
Utilisez curl pour demander des calculs et récupérer le résultat.
# Rappel
curl -X POST/GET -h localhost:PORT -d "tuple={}"L’API peut tomber 😱
Et que se soit par contrainte produit ou par goût de la chose bien faite : On ne va pas perdre toutes les demande de calcule pour un calcul impossible !
Utilisons Redis comme service externe pour la gestion des résultats.
Utiliser Redis comme serveur de données, c’est un système de stockage clé/valeur qui utilise le port 6379 pour communiquer. Vous pouvez le lancer dans un conteneur via la commande suivante :
# À exécuter dans un autre terminal.
docker run -p 6379:6379 --name myredis redisOui, on pourrait utiliser -d pour lancer le conteneur en mode detached mais dans un terminal on peut voir les logs, pratique pour débuguer ! 🧐
Enfin utilisez redis-cli pour accéder à redis et testez les commandes set, get, keys.
Connectons maintenant l’API à la Redis Documentation 👉 python et redis
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
# Ajout de variable
r.set('foo', 'bar') # Retourne True si réussite
# Lecture de
r.get('foo') # Retourne la value de fooRemplacer le stockage précédemment en variable par un stockage via Redis
Utilisez curl pour demander des calculs et récupérer le résultat.
Tout d’abord Félicitation ! Vous avez fini le sujet principal. Ça vous dit un peu de design et d’implémentation d’interface ?
Une seul consigne : Créer un frontend qui permet à l’utilisateur de saisir et d’envoyer des demandes de calcul à l’API.
Tips : vous pouvez utiliser le bon vieux combo HTML/CSS/JS ou ChatGPT ( pour gagner du temps uniquement 😉)