5.9 KiB
5.9 KiB
DTFlux Titrage Client - Interface Angular pour Unreal Engine
🎯 Vue d'ensemble
Interface graphique modulaire Angular 19+ pour créer et gérer des fiches de titrage destinées à Unreal Engine avec le plugin Remote Control et Motion Design.
✅ Composants créés et fonctionnalités
🏗️ Architecture modulaire respectée
Services
- ✅ TitleSheetsService - Gestion des fiches de titrage (CRUD + localStorage)
- ✅ UnrealEngineService - Communication avec Unreal Engine Remote Control API
- ✅ ConfigService - Gestion de la configuration de l'application
Composants modulaires
- ✅ MenuBarComponent - Barre de menu avec actions de configuration
- ✅ CuedTitleComponent - Affichage du titre en cours de lecture
- ✅ ToolbarComponent - Barre de recherche + bouton d'ajout
- ✅ ListHeaderComponent - En-têtes de colonnes avec tri
- ✅ ListComponent - Liste principale des titres
- ✅ ListItemComponent - Élément de liste avec édition inline
- ✅ DetailsPanelComponent - Panneau de détails de l'élément sélectionné
- ✅ TitleDialogComponent - Boîte de dialogue d'ajout/modification
- ✅ TitleSheetsListComponent - Composant principal orchestrant la liste
Pages
- ✅ DTFluxTitleComponent - Page principale de l'application
- ✅ SetupComponent - Page de configuration légère
🎨 Design et thème
- ✅ Thème dark inspiré de VS Code et Unreal Engine
- ✅ Design sobre et épuré comme demandé
- ✅ Responsive design adaptatif jusqu'à 950px de largeur max
- ✅ Icônes FontAwesome intégrées
- ✅ Animations et transitions modernes
⚡ Fonctionnalités Angular 19+
- ✅ Signals utilisés partout (input, output, computed, effect)
- ✅ Directives modernes (@if, @for, etc.)
- ✅ Composants standalone
- ✅ Reactive Forms pour la validation
- ✅ Gestion d'état avec BehaviorSubject et Signals
🔧 Fonctionnalités métier
- ✅ CRUD complet des fiches de titrage (Nom, Prénom, Fonction1, Fonction2)
- ✅ Recherche en temps réel avec autocomplétion
- ✅ Tri des colonnes (nom, prénom, fonctions, date de modification)
- ✅ Édition inline des cellules avec navigation clavier
- ✅ Sélection et navigation avec flèches clavier
- ✅ Raccourcis clavier (Ctrl+I ajouter, Enter play, Space stop, Delete supprimer)
- ✅ Communication Unreal Engine via Remote Control API
- ✅ Gestion des états (stopped, playing, error)
- ✅ Timer de lecture avec changement de couleur
- ✅ Sauvegarde automatique et configuration persistante
📱 Expérience utilisateur
- ✅ Interface adaptative 950px max comme demandé
- ✅ États vides avec messages et actions appropriées
- ✅ Messages de feedback (succès, erreurs)
- ✅ Loading states pendant les opérations
- ✅ Tooltips et aide contextuelle
- ✅ Accessibilité (aria-labels, focus management, contraste élevé)
🚀 Comment démarrer
-
Installation des dépendances :
npm install -
Démarrage du serveur de développement :
ng serve -
Accès à l'application :
- Interface principale :
http://localhost:4200/dtflux-title - Configuration :
http://localhost:4200/setup
- Interface principale :
📋 Utilisation
Interface principale
- Ajouter une fiche : Bouton "Add" ou Ctrl+I
- Modifier une fiche : Clic sur l'icône roue crantée ou double-clic sur une cellule
- Supprimer une fiche : Bouton poubelle ou sélectionner + Delete
- Lancer un rundown : Bouton play ou sélectionner + Enter
- Arrêter un rundown : Bouton stop ou Space
- Rechercher : Tapez dans la barre de recherche
- Trier : Cliquez sur les en-têtes de colonnes
Configuration
- Unreal Engine : Adresse IP, port, timeout
- Sauvegarde : Chemin, auto-sauvegarde, intervalle
- Test de connexion : Vérifier la communication avec Unreal
🔌 API Unreal Engine
L'application communique avec Unreal Engine via l'API Remote Control :
- Endpoint :
http://{address}:{port}/remote/object/call - Blueprint cible :
/Game/MotionDesign/TitleSheet_BP.TitleSheet_BP_C - Fonctions :
SetTitleProperties,StartRundown,StopRundown,GetStatus
🛠️ Prochaines étapes possibles
Fonctionnalités avancées
- Import/Export de fiches en CSV/JSON
- Templates de fiches prédéfinies
- Historique des modifications
- Groupes/Catégories de fiches
- Preview en temps réel dans Unreal
- Synchronisation multi-utilisateurs
Intégrations
- Drag & drop pour réorganiser
- Copier/coller entre fiches
- Undo/redo des actions
- Notifications push pour les changements d'état
- Mode hors ligne avec synchronisation
Performance
- Virtualisation de la liste pour de gros volumes
- Lazy loading des données
- Cache intelligent des requêtes
- Optimisation bundle et tree-shaking
🏗️ Architecture technique
src/app/
├── models/ # Interfaces TypeScript
│ ├── title-sheet.model.ts
│ ├── unreal-status.model.ts
│ └── app-config.model.ts
├── services/ # Services Angular
│ ├── title-sheet.service.ts
│ ├── unreal-engine.service.ts
│ └── config.service.ts
└── view/
├── components/ # Composants réutilisables
│ ├── menu-bar/
│ ├── cued-title/
│ ├── toolbar/
│ ├── list-header/
│ ├── list-item/
│ ├── details-panel/
│ ├── title-dialog/
│ └── title-sheets-list/
└── pages/ # Pages de l'application
├── dtflux-title/
└── setup/
L'architecture respecte parfaitement le paradigme de modularité demandé avec des composants indépendants et réutilisables.