103 lines
2.0 KiB
Plaintext
103 lines
2.0 KiB
Plaintext
|
|
# README
|
|||
|
|
|
|||
|
|
## Description
|
|||
|
|
|
|||
|
|
Ce serveur **FastAPI** est destiné à être déployé sur le **deuxième Raspberry Pi** de l’architecture.
|
|||
|
|
|
|||
|
|
Son rôle principal est de **gérer et traiter toutes les requêtes envoyées par le Raspberry Pi 1**, afin de centraliser la logique de traitement et d’assurer une communication fluide entre les deux الأجهزة.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Architecture
|
|||
|
|
|
|||
|
|
* **Raspberry Pi 1**
|
|||
|
|
|
|||
|
|
* Envoie les requêtes (HTTP/API)
|
|||
|
|
* Sert de client / déclencheur
|
|||
|
|
|
|||
|
|
* **Raspberry Pi 2 (ce serveur)**
|
|||
|
|
|
|||
|
|
* Héberge le serveur FastAPI
|
|||
|
|
* Reçoit, traite et répond aux requêtes
|
|||
|
|
* Exécute la logique métier
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Installation
|
|||
|
|
|
|||
|
|
Pour garantir une installation propre et optimale, il est recommandé d’utiliser le script fourni.
|
|||
|
|
|
|||
|
|
### 1. Cloner le projet
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
git clone <repo_url>
|
|||
|
|
cd <repo>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. Lancer l’installation automatique
|
|||
|
|
|
|||
|
|
Le script `main.sh` permet de :
|
|||
|
|
|
|||
|
|
* créer un environnement virtuel Python (`venv`)
|
|||
|
|
* installer toutes les dépendances nécessaires
|
|||
|
|
* configurer l’environnement correctement
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
chmod +x main.sh
|
|||
|
|
./main.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Environnement virtuel
|
|||
|
|
|
|||
|
|
Le projet utilise **Python venv** pour isoler les dépendances.
|
|||
|
|
|
|||
|
|
Si besoin, activation manuelle :
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
source venv/bin/activate
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Dépendances
|
|||
|
|
|
|||
|
|
Les dépendances sont listées dans le fichier :
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
requirements.txt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Elles sont automatiquement installées via le script `main.sh`.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Lancement du serveur
|
|||
|
|
|
|||
|
|
Une fois l’installation terminée, le serveur peut être lancé avec :
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
uvicorn main:app --host 0.0.0.0 --port 8000
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Objectif
|
|||
|
|
|
|||
|
|
Ce serveur a pour objectif de :
|
|||
|
|
|
|||
|
|
* centraliser le traitement des requêtes
|
|||
|
|
* améliorer les performances globales du système
|
|||
|
|
* permettre une architecture distribuée entre plusieurs Raspberry Pi
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Notes
|
|||
|
|
|
|||
|
|
* Assurez-vous que les deux Raspberry Pi sont sur le même réseau.
|
|||
|
|
* Vérifiez les ports et adresses IP pour permettre la communication entre les deux machines.
|
|||
|
|
* Adapter la configuration si nécessaire selon votre environnement.
|
|||
|
|
|
|||
|
|
---
|