# 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-flatlist` ou é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é |