# Mali Coton — Plateforme PNUD
Plateforme numérique de suivi socio-environnemental des sites de teintureries artisanales au Mali.
**Projet** : Renforcement de la Durabilité du Secteur Textile au Mali — *UNDP-MLI-00492*
**Maître d'ouvrage** : PNUD Mali
**Cabinet retenu** : Consortium Sahel Analytics (Lead) & Sahel Environnement
**Livrable courant** : L2 — Maquette interactive validée
---
## Démarrage
**En un clic** — double-cliquez sur `start.bat` (Windows) ou `start.sh` (macOS/Linux).
Le lanceur vérifie Node.js, installe les dépendances si besoin, démarre le serveur
et ouvre le navigateur. En cas de problème, il affiche la cause et la marche à suivre.
```bash
./start.sh # mode API du .env.local, sinon backend réel
./start.sh mock # données de démonstration, aucun backend requis
./start.sh live # backend réel
./start.sh pwa # build + aperçu : seul mode où l'app est installable
./start.sh --no-browser # sans ouverture automatique du navigateur
```
> `pwa` construit d'abord le projet, puis sert le résultat. C'est nécessaire
> parce que le service worker est éteint en développement (voir
> Application installable) : sans build, aucune
> icône d'installation n'apparaît.
> Sous Windows, passez par `start.bat` : Git Bash n'est pas associé aux fichiers
> `.sh`, donc un double-clic sur `start.sh` n'ouvre généralement qu'un éditeur.
> `start.bat` ne fait que retrouver Git Bash et lui confier `start.sh`.
**Manuellement**, si vous préférez :
```bash
npm install
npm run dev
```
Le lanceur cherche un port libre à partir de **8492** et affiche l'adresse
retenue. Aucun port n'est figé : sur un poste qui héberge plusieurs projets,
tout numéro choisi d'avance finit par entrer en collision.
```bash
PASET_PORT=1234 ./start.sh # pour épingler un port précis
```
> Le point de départ 8492 est volontairement hors de la plage 5173-5190, où se
> bousculent les serveurs Vite des autres projets — et où d'anciennes PWA de
> développement, in …