aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-09 22:28:47 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-09 22:28:47 +0200
commit82ce18ef9f45f817505b12e24c958beda45465f0 (patch)
tree2e33da4474b33153a1071281b0c03af447a76ea7 /docs
parenta4dbeb368d19f6afc0f6da3819c8e0d6242b0732 (diff)
downloadmeshbay-82ce18ef9f45f817505b12e24c958beda45465f0.tar.gz
fix: complete pyproject.toml deps + graceful QUIC fallback
meshbay-node/pyproject.toml: add aioquic>=1.0 (was commented 'v2'), websockets>=12.0 (revocation push). Both are production code since Phase 5. meshbay-hub/pyproject.toml: add aiosqlite (tests without PostgreSQL), slowapi (rate limiting), websockets (revocation push), PyJWT (explicit). transport/__init__.py: QUIC imports wrapped in try/except — node works without aioquic (TCP+TLS + HTTP fallback). QUIC_AVAILABLE flag exported. QUICKSTART.md: replace manual pip list with 'pip install -e' that pulls all deps from pyproject.toml automatically. Add dependency table. CLAUDE.md: clarify that all deps go in pyproject.toml, not manual installs. 81/81 tests. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/QUICKSTART.md29
1 files changed, 21 insertions, 8 deletions
diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md
index 2fa5af0..ca3beee 100644
--- a/docs/QUICKSTART.md
+++ b/docs/QUICKSTART.md
@@ -14,21 +14,34 @@ Le node tourne sur votre machine et héberge vos fichiers.
```bash
cd ~/meshbay # le dépôt local (pas encore publié sur GitHub)
-python3 -m venv .venv && source .venv/bin/activate
```
-> **Important — ne pas copier `.venv/` entre machines d'OS différents.**
-> Le venv est spécifique à l'OS. Si vous avez cloné/copié le repo depuis une machine Fedora
-> vers Ubuntu (ou inversement), le venv doit être recréé avec `--clear` :
+> **Si vous synchez le repo depuis une autre machine (rsync, scp)** :
+> ne pas copier `.venv/` — il est lié à l'OS source et casse pip sur l'OS cible.
+> Toujours recréer le venv avec `--clear` sur la machine cible.
```bash
-python3 -m venv .venv --clear # ← --clear force la recréation propre
+# Créer (ou recréer proprement) le venv
+python3 -m venv .venv --clear
source .venv/bin/activate
-pip install -e packages/meshbay-common -e packages/meshbay-node httpx blake3 uvicorn
+
+# Installer les packages — les dépendances (aioquic, watchdog, etc.) viennent automatiquement
+pip install -e packages/meshbay-common -e packages/meshbay-node -e packages/meshbay-hub
```
-Sans `--clear`, pip peut échouer avec `FileNotFoundError` dans `certifi` parce qu'il
-cherche les certificats CA à un chemin valide sur l'OS d'origine mais absent sur l'OS cible.
+Les dépendances déclarées dans les `pyproject.toml` sont installées automatiquement :
+
+| Package | Vient de | Rôle |
+|---|---|---|
+| `cryptography` | meshbay-common | crypto (Ed25519, ChaCha20, Argon2id) |
+| `PyJWT` | meshbay-common | JWT EdDSA |
+| `blake3`, `msgpack`, `zstandard` | meshbay-common | hashing, sérialisation, compression |
+| `fastapi`, `uvicorn` | meshbay-node | HTTP API + UI locale |
+| `httpx` | meshbay-node | client hub |
+| `watchdog` | meshbay-node | surveillance répertoire |
+| `aioquic` | meshbay-node | transport QUIC (MNP v2) |
+| `aioice` | meshbay-node | ICE/STUN NAT traversal |
+| `websockets` | meshbay-node | notifications hub→node |
---