← Tous les projets

Back-end

API Python

API FastAPI qui expose les calculs topologiques, conteneurisée avec Docker.

Terminé Sprint S6-S7 · 8 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Un service en ligne auquel d'autres programmes envoient un objet 3D, et qui leur renvoie ses mesures.
À quoi ça sert
Brancher les calculs du portfolio dans d'autres logiciels, sans rien installer chez eux.
Ce que ça montre
La mise en service d'un programme sur un serveur, en Python, de façon sûre et reproductible.
Code source

Comment les morceaux tiennent ensemble

Schéma : Client HTTP → API (POST /v1/mesh/…) ; API → lib-c (statistiques) ; API → Topologie (invariants) ; API → Classifieur (classe de la forme). POST /v1/mesh/… statistiques invariants classe de la forme Client HTTP fichier en corps brut API FastAPI, uvicorn lib-c bibliothèque partagée Topologie API C, sous verrou Classifieur ONNX Runtime, sans PyTorch

Technologies

  • Python
  • FastAPI
  • pytest
  • Docker

Qui fait quoi

Python
Appelle lib-c et la bibliothèque de topologie, compilées en bibliothèques partagées, par ctypes : le même code que les démos du site.
FastAPI
Les routes HTTP (statistiques, topologie, classification), la validation des requêtes et la documentation OpenAPI sur /docs.
pytest
Les tests de chaque route et de chaque erreur (fichier illisible, trop gros), sous Linux, Windows et macOS.
Docker
Lance l'API à côté du site avec docker compose, les bibliothèques C et C++ compilées dans l'image.

Definition of Done

  • Code relu, diff par diff
  • Tests unitaires et d'intégration verts
  • CI verte sur Linux, Windows et macOS si compilé
  • README, REVIEW.md et DECISIONS.md à jour
  • Textes en français et en anglais
  • Démo déployée et testée sur mobile