# Tripoli Cloud — frontend React + TypeScript + Vite + Tailwind. Appelle réellement `tripoli-api` via `/api/...` (même origine, servi par le Caddy partagé - voir le README racine) : plus aucune donnée simulée. ## Ce qui est réel - Auth : inscription, connexion, invité (compte réel réutilisé), session persistée par cookie, restaurée au chargement. - Fichiers : upload réel (XHR, vraie progression), téléchargement, suppression, filtré par catégorie (`file`/`photo`/`backup`). - Photos : grille des fichiers catégorie `photo`, vraies miniatures (``), pas de génération de miniature à part. - Sauvegardes : fichiers catégorie `backup` - pas de suivi multi-appareils (aucun agent client n'existe). - Espace disque : `used_bytes` réel (somme des fichiers), `available_bytes` réel (`statvfs` côté serveur) - jamais un quota inventé. - Notifications : émises par le serveur à chaque upload/suppression. - Réglages : section Compte depuis le vrai utilisateur ; préférences de notification dans `localStorage` (device-local, pas synchronisé - annoncé comme tel, pas simulé comme synchronisé). ## Ce qui a été retiré (pas simulé) La maquette d'origine (`Tripoli Cloud.dc.html`) incluait des éléments sans fonctionnalité réelle possible dans cette version : 2FA, clé de récupération, accès partagés, albums photo, dossiers, "4 appareils sauvegardés", chiffres marketing sur la page de connexion, chiffrement AES-256 côté client. Retirés plutôt que simulés - voir les commentaires dans `src/api/*.ts` pour le détail de chaque décision. ## Développement ```bash npm install npm run dev # nécessite tripoli-api accessible sur /api (proxy Vite à ajouter si besoin en local) npm run build # build de production, servi en statique par Caddy ```