Some checks failed
Build & Deploy / build-and-deploy (push) Failing after 8s
Includes React PWA frontend, WebSocket signaling server, shared types, K8s manifests, Gitea CI/CD workflow, nginx config, and Dockerfiles. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
96 lines
3.0 KiB
Markdown
96 lines
3.0 KiB
Markdown
# Roadmap AnyDrop
|
|
|
|
## Phase 1 — Web PWA (V1, en cours)
|
|
|
|
**Objectif :** Produit utilisable depuis n'importe quel navigateur moderne, sur `anydrop.arthurbarre.fr`.
|
|
|
|
### Features
|
|
|
|
- [ ] Détection auto des pairs sur le même réseau (room LAN par IP publique)
|
|
- [ ] Envoi de fichiers (drag & drop, sélecteur)
|
|
- [ ] Envoi de plusieurs fichiers en une fois
|
|
- [ ] Envoi de texte / liens (modal)
|
|
- [ ] Aperçu image avant envoi
|
|
- [ ] Popup accepter/refuser côté récepteur
|
|
- [ ] Barre de progression par transfert
|
|
- [ ] Nom d'appareil animal auto-généré (pas de compte)
|
|
- [ ] Mode lien public `/xxx` avec code à 3 caractères
|
|
- [ ] Génération QR code pour lien public
|
|
- [ ] Expiration des rooms publiques (10 min d'inactivité)
|
|
- [ ] PWA (manifest + service worker, installable)
|
|
- [ ] Responsive mobile + desktop
|
|
- [ ] Dark mode
|
|
|
|
### Stack
|
|
React + Vite + TS + Tailwind + Zustand + simple-peer + qrcode.react
|
|
Node + ws + TypeScript
|
|
|
|
### Livrable
|
|
Site fonctionnel déployé sur `anydrop.arthurbarre.fr` + signaling sur `ws.anydrop.arthurbarre.fr`.
|
|
|
|
---
|
|
|
|
## Phase 2 — Extensions navigateur
|
|
|
|
**Objectif :** Partage en 1 clic depuis n'importe quelle page.
|
|
|
|
- Extension Chrome (Manifest V3)
|
|
- Extension Firefox (WebExtensions)
|
|
- Menu contextuel : "Envoyer via AnyDrop" sur page, image, lien, texte sélectionné
|
|
- Popup réutilisant la liste des pairs
|
|
- Réutilisation maximale du code `web/`
|
|
|
|
---
|
|
|
|
## Phase 3 — Apps desktop (Tauri)
|
|
|
|
**Objectif :** Intégration OS native sans payer le prix d'Electron.
|
|
|
|
- Tauri (Rust + webview système)
|
|
- Targets : macOS (Intel + Apple Silicon), Windows 10+, Linux (AppImage + .deb)
|
|
- Features natives :
|
|
- Menu "Envoyer à AnyDrop" via Share Sheet (macOS) / Context Menu (Windows)
|
|
- Tray icon avec liste des pairs
|
|
- Dossier de réception configurable
|
|
- Notifications natives
|
|
- Démarrage auto (optionnel)
|
|
|
|
---
|
|
|
|
## Phase 4 — Apps mobiles
|
|
|
|
**Objectif :** Expérience native, intégrée au Share Sheet système.
|
|
|
|
- React Native (choix préféré pour réutiliser l'écosystème JS) ou Flutter
|
|
- iOS : Share Extension (partager depuis Photos, Safari, etc.)
|
|
- Android : Share Intent (partager depuis n'importe quelle app)
|
|
- Scan QR code intégré (caméra)
|
|
- Historique local (chiffré)
|
|
|
|
### Note Windows Phone
|
|
Windows Phone a été arrêté par Microsoft en 2019. Les rares appareils existants utiliseront la **version web** via Edge mobile.
|
|
|
|
---
|
|
|
|
## Phase 5 — Fonctionnalités avancées
|
|
|
|
- Transfert de dossiers entiers (zip streaming)
|
|
- Chiffrement applicatif additionnel (SafetyNumber vérifiable)
|
|
- Reprise de transfert après coupure
|
|
- Historique chiffré local des transferts
|
|
- Favoris d'appareils (trust on first use)
|
|
- Multi-pair simultané (envoyer à plusieurs pairs en parallèle)
|
|
- Statistiques agrégées anonymes (opt-in)
|
|
|
|
---
|
|
|
|
## Hors-scope (pour l'instant)
|
|
|
|
- Comptes utilisateurs
|
|
- Stockage cloud des fichiers
|
|
- Messagerie persistante
|
|
- Collaboration temps réel sur documents
|
|
- Monétisation
|
|
|
|
Ces choix sont volontaires : AnyDrop doit rester **simple, rapide, privé**.
|