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>
3.0 KiB
3.0 KiB
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
/xxxavec 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é.