4.5 KiB
4.5 KiB
Simpl-Liste — Masterplan
Vision
Application mobile de gestion de tâches minimaliste, rapide et hors-ligne. Pas de compte requis, pas de cloud. Les données restent sur l'appareil.
Développée par La Compagnie Maximus.
État actuel (v1.0)
Fonctionnalités livrées
| Catégorie | Détail |
|---|---|
| Tâches | Création, édition, suppression, toggle complétion (haptic), notes, priorité 4 niveaux |
| Sous-tâches | Imbriquées via parentId, toggle indépendant |
| Listes | Inbox permanent + listes custom avec couleur et icône (20 icônes Lucide) |
| Tags | CRUD complet, assignation aux tâches, 7 couleurs prédéfinies |
| Récurrence | Quotidien / hebdo / mensuel / annuel — auto-création de la prochaine occurrence |
| Tri | Par position, priorité, date d'échéance, titre, date de création |
| Filtres | Par statut, priorité, date d'échéance, tag |
| Notifications | Rappels planifiés avec offset configurable (à l'heure, 1h, 3h, 1 jour avant) |
| Calendrier | Sync optionnelle vers calendrier système (expo-calendar) |
| Export ICS | Export .ics par liste ou tâche individuelle, avec RRULE |
| Thème | Clair / Sombre / Système |
| Langues | Français, Anglais (détection automatique) |
| Offline-first | SQLite local, aucun réseau requis |
Architecture technique
- React Native 0.81 + Expo SDK 54 (New Architecture activée)
- SQLite via Drizzle ORM (3 migrations appliquées)
- Zustand pour l'état UI (thème, tri, filtres)
- Expo Router (navigation file-based)
- NativeWind (Tailwind CSS)
Phase 2 — Améliorations UX
Priorité : haute — Améliorer l'expérience quotidienne avant d'ajouter des fonctionnalités.
Drag & drop pour réordonner
- Réorganiser les tâches dans une liste par glisser-déposer
- Réorganiser les listes dans l'onglet Listes
- Librairie :
react-native-draggable-flatlistou équivalent reanimated
Swipe actions
- Swipe gauche → supprimer
- Swipe droite → compléter
- Remplace les boutons actuels (trash icon, toggle)
Recherche globale
- Barre de recherche dans l'inbox ou en haut de l'app
- Recherche par titre, notes, tags
Quick add amélioré
- Parsing naturel de la date ("demain", "lundi prochain")
- Assignation de liste/tag inline via syntaxe (#tag, /liste)
Widgets (Expo)
- Widget iOS/Android affichant les tâches du jour
- Widget compteur "X tâches restantes"
Phase 3 — Données & sync
Priorité : moyenne — Optionnel, l'app fonctionne en offline-first.
Backup / Restore
- Export complet de la base SQLite (JSON ou fichier .db)
- Import depuis backup
- Pas de cloud — fichier local partageable
Sync entre appareils (optionnel)
- Si implémenté : sync P2P ou via serveur auto-hébergé
- Protocole : CRDTs ou simple merge basé sur timestamps
- Le serveur serait sur l'infra VPS OVH / Coolify de La Compagnie Maximus
Phase 4 — Monétisation
Distribution
- Android : Google Play Store (ou F-Droid pour la version libre)
- iOS : Apple App Store
- APK direct disponible sur le site lacompagniemaximus.com
Modèle
- Gratuit — app complète sans restrictions
- Revenus potentiels via version "Pro" avec :
- Thèmes supplémentaires
- Widgets avancés
- Sync cloud (si Phase 3 implémentée)
Améliorations techniques à considérer
| Item | Détail |
|---|---|
| Remplacer le polling 500ms | Utiliser les live queries de Drizzle/expo-sqlite ou un event bus interne |
| Tests | Ajouter des tests unitaires (repository) et d'intégration (écrans) |
| i18n notifications | Le channel Android hardcode du français — utiliser i18next |
| Accessibilité | Labels accessibilité sur les boutons, rôles ARIA, taille de police dynamique |
| Performance | Virtualiser les longues listes, memoize les composants coûteux |
| CI/CD | EAS Build automatisé via GitHub Actions ou Forgejo CI |
Infrastructure
L'app mobile est standalone — pas de backend requis.
Pour la distribution et les services annexes (site web, analytics) :
- Site : lacompagniemaximus.com (Vercel)
- Infra future : VPS OVH Canada + Coolify + Forgejo (voir masterplan La Compagnie Maximus)
- Build : EAS Build (Expo Application Services)
Timeline indicative
| Phase | Statut |
|---|---|
| Phase 1 — MVP complet | ✅ Livré |
| Phase 2 — UX polish | 🔜 Prochaine étape |
| Phase 3 — Backup/Sync | 📋 Planifié |
| Phase 4 — Distribution | 📋 Planifié |