Phase 1: The Core Engine & Onboarding (Le MVP)
Objectif : Un utilisateur s'inscrit en toute sécurité, paramètre son compte, associe un écran physique ou virtuel, ajoute un média et le publie.
1. Authentification & Sécurité de base :
- Inscription / Connexion (Email + Mot de passe avec icône Œil).
- Renforcement de la Session (Next.js Proxy) : Rotation de tokens silencieuse, prévention des "Race Conditions" et protection contre le vol de cookies (
HttpOnly,SameSite). - Validation stricte des Emails : Envoi de token par mail pour bloquer les bots (Plan d'implémentation prêt).
- Connexion sans friction (Google SSO).
- Formulaire Lead Gen (Prénom, Nom, Téléphone avec indicatif pays).
- Conformité RGPD & CGU (Cases à cocher obligatoires).
- Bouclier Anti-Spam (Intégration reCAPTCHA & Rate-Limiting).
- Autonomie de récupération (Mot de passe oublié par email).
2. Configuration du "Workspace" :
- Création automatique de l'Espace Entreprise à l'inscription.
- Renseignement de l'identité de l'entreprise et du Fuseau Horaire (Time Zone).
3. Gestion des Médias Basique :
- Import de fichiers (Drag & Drop) avec limites de taille selon l'abonnement.
- Stockage Cloud (DigitalOcean Spaces / S3) + CDN.
- Édition de base (Renommer, Supprimer avec confirmation).
- Idempotence des Uploads : Prévention des fichiers orphelins sur le Cloud en cas de coupure réseau.
4. Le Moteur de Diffusion / Player :
- Appairage via le code PIN 6 chiffres (
/pair->LA9610). - Sécurisation de l'Appairage : Expiration stricte du code PIN (TTL de 5 min) et anti-brute-force (Plan d'implémentation prêt).
- Compatibilité de l'application Kotlin (Offline-first, téléchargement local).
- Simulateur d'Écran Virtuel (Faux écran dans le navigateur pour tester sans matériel).
5. Séquençage & Playlists Basiques :
- CRUD Playlists (Créer, lister, supprimer, et Dupliquer).
- Boucle de contenu (Ajout des médias + définition de la durée d'affichage).
- Architecture de la Machine d'État (Player) : Transitions propres entre les médias sans fuite de mémoire (Resource Leaks).
6. Le "Bouton Rouge" / Publication :
- Déploiement (Envoi du JSON manifest) avec choix de la cible (Écran spécifique) et diffusion "Immédiate".
- Fallback de Publication : Le Player ne dépend pas uniquement du push (Mercure) mais force un Fetch actif en cas de déconnexion prolongée.
7. Onboarding & Support :
- Guide de démarrage rapide ("Let's get started" + animation démo).
- Liens vers le Support Accessible (Tél +212, Email, FAQ, Version du logiciel).
Phase 2: Fleet Management & Advanced Layouts (L'Outil Pro)
Objectif : Le client possède désormais plusieurs pharmacies/boutiques et veut des playlists complexes et un suivi de sa "flotte" d'écrans.
8. Gestion Avancée du Parc d'Écrans :
- Fiche détaillée de l'écran (Adresse MAC, Numéro de série, Orientation Portrait/Paysage, Nom du Manager local).
- Structuration par Groupes (Hiérarchie Parent/Enfant : Maroc -> Rabat -> Pharmacie).
- Tableau de bord de la flotte (Statut Vert/Rouge, Contenu en cours).
- Optimisation des "Heartbeats" : Migration des pings de présence vers Redis pour éviter de saturer la base de données SQL (Prévention des Write Storms).
- Vue Cartographique (Pins Maps pour géolocaliser les écrans).
- Guide d'Achat Matériel (Liens recommandés Amazon/Jumia).
9. Contrôle à Distance Temps Réel :
- Actions distantes (Redémarrer la TV, Afficher le code PIN).
- OTA Updates (Over-The-Air) : Mise à jour silencieuse de l'APK Kotlin à distance (Workflow V2).
10. Playlists & Calendriers Avancés :
- Écrans Multi-Zones (Layouts divisés / Split screen).
- Planification Intelligente (Scheduling pour une date/heure dans le futur).
- Résolution des Conflits de Planning : Gestion des "Race Conditions" si deux utilisateurs modifient le calendrier à la même seconde.
- Vue Calendrier Globale (Mois / Semaine / Jour).
- Filtrage du calendrier par Groupe d'écrans.
- Rangement des médias par Dossiers et Sous-dossiers.
Phase 3: SaaS Business & Security (La Monétisation)
Objectif : Permettre le travail en équipe (collaborateurs) et activer la facturation.
11. Équipe & Permissions - ACL :
- Inviter, lister, modifier et supprimer des membres de l'équipe.
- Création de rôles sur mesure (Manager, Graphiste, etc.).
- Matrice de permissions très granulaire (Cases à cocher par module : Peut voir ? Peut éditer ?).
- Affichage d'erreurs d'autorisation claires (UX Sécurité).
12. Pack "Sécurité Entreprise" :
- Blocage du compte après tentatives échouées.
- Déconnexion automatique (ex: le week-end).
- Branding & Marque Blanche (Upload du logo de l'entreprise client).
- Génération de la Secret Key (Clé API) dans le profil utilisateur.
13. Facturation & Upsell :
- Synthèse Financière (Visibilité du plan actuel : "TRIAL S", expiration, date de facture).
- Jauges de consommation (1/1 Écran, 0.13/1000 Mo).
- Moteur d'Upsell In-App (Bouton "View plans", Starter/Essential/Business).
- Évolutivité du Parc (Ajouter/Retirer des licences à la volée avec recalcul du prix).
- Gestion Multi-Devises (MAD, EUR, USD).
- Intégration du Paiement (Stripe pour l'international, CMI pour le Maroc).
Phase 4: Integrations, Analytics & Sobrus (L'Ultra-Premium)
Objectif : Rendre le contenu "Vivant" (Prix dynamiques, Météo), fournir des preuves analytiques, et intégrer les outils de création.
14. Preuve de Diffusion (Proof of Play) & Analytics (Workflow V2) :
- Suivi millimétré des lectures médias sur les Players.
- Batching et envoi asynchrone des logs au serveur (pour ne pas saturer la bande passante).
- Dashboard analytique pour le client (Combien de fois la publicité X a-t-elle été jouée ?).
15. L'Intégration ERP Sobrus :
- Création de champs personnalisés Key/Value (Nom, Valeur, Description).
- Création du Webhook récepteur pour que l'ERP puisse mettre à jour un prix (ex: prix_doliprane) en temps réel.
16. App Store & Widgets :
- Catalogue de Widgets (YouTube, Météo, Horloge, Google Slides, RSS).
- Formulaires de paramètres dynamiques (Cover/Contain, Center/Top, Verrouillage).
- Sauvegarde de modèles (Instances - ex: "Météo Agadir").
- Ajout de ces widgets directement dans le séquençage de la playlist.
17. Outils de Création Graphique :
- Éditeur Graphique intégré (Canevas 1920x1080, Texte, Formes).
- Galerie de Templates (Menus de restaurant, Pharmacies).
- Bibliothèque "Starter Pack" (Fonds d'écran fournis).
- Moteur de recherche d'Images Stock (Unsplash / Pexels API).
18. Outils IT Avancés :
- Intégration des champs Anydesk ID et Password directement dans la fiche de l'écran pour la prise en main à distance par le support IT.