push-oowmozyxmlpo #56

Merged
eric merged 9 commits from push-oowmozyxmlpo into main 2026-01-16 13:24:19 +01:00

9 Commits

Author SHA1 Message Date
c524ba57e5 Bump version to 0.3.4
Update version number in Cargo.toml and version.txt to 0.3.4
2026-01-16 13:21:46 +01:00
8e9dd7601f Implémentation du shuffle de la queue de lecture
Ajout de la fonctionnalité de shuffle pour mélanger l'ordre des morceaux dans la queue de lecture.

- Implémentation de la méthode shuffle_queue() dans MusicRenderer
- Ajout de l'endpoint REST /api/control/renderers/{renderer_id}/queue/shuffle
- Intégration du bouton shuffle dans l'interface Vue.js
- Centralisation des émissions d'événements SSE dans le MusicRenderer
- Mise à jour de la documentation OpenAPI

Cette fonctionnalité permet de randomiser l'ordre des morceaux dans la queue et de redémarrer la lecture depuis le premier morceau, tout en améliorant l'architecture en centralisant les émissions d'événements.
2026-01-16 13:09:23 +01:00
50bc0570ba Mise à jour des règles de développement et ajout de la tâche shuffle_play
Mise à jour complète des règles de développement du projet PMO Music avec clarification du workflow Blackboard, ajout de la documentation d'architecture et de la tâche shuffle_play.md
2026-01-16 08:41:36 +01:00
f3274fcc10 Correction and completion of the blackboard 2026-01-16 08:34:19 +01:00
2cdc7109d1 Implémentation des fonctionnalités d'items épinglables et TTL dans PMOcache
Ajout de la capacité à épingler des items pour les protéger de l'éviction LRU et à définir un TTL pour l'expiration automatique des items temporaires.

Cette implémentation inclut :
- Ajout de colonnes `pinned` et `ttl_expires_at` dans la base de données
- Nouvelles méthodes dans DB et Cache pour gérer le pinning et le TTL
- Modification de la politique d'éviction pour exclure les items épinglés
- Implémentation d'une règle métier interdisant le pinning et le TTL simultanément
- API REST complète avec endpoints GET/POST/DELETE pour gérer le pinning et le TTL
- Documentation OpenAPI automatique
- Tests complets couvrant tous les cas d'usage

Les items épinglés ne comptent pas dans la limite du cache et ne peuvent jamais être supprimés automatiquement, tandis que les items avec TTL sont supprimés automatiquement à l'expiration.
2026-01-15 22:18:43 +01:00
c250801a9f Documentation complète des patterns d'extension pmoconfig, pmoserver_ext et implémentation MusicSource
Ajout de la documentation complète pour les patterns d'extension pmoconfig, pmoserver_ext et l'implémentation d'une nouvelle MusicSource, incluant les guides détaillés, exemples de code et checklists d'implémentation.
2026-01-15 08:18:15 +01:00
2ef4ebf020 Suppression de la logique de débouncing SSE dans MediaBrowser.vue
Suppression de la logique de débouncing et cooldown inutile dans MediaBrowser.vue, puisque le serveur contrôle déjà le flux SSE. Cela améliore la réactivité de l'interface et réduit la complexité du code.
2026-01-13 19:01:35 +01:00
82bfab233f Documentation du pattern d'extension pmoserver_ext
Ajout de la documentation complète du pattern d'extension pmoserver_ext pour permettre une implémentation modulaire et cohérente des fonctionnalités du serveur PMO.

Cette documentation inclut :
- Une vue d'ensemble de l'architecture du pattern
- Les composants principaux : traits d'extension, état partagé, handlers HTTP, documentation OpenAPI
- Des patterns avancés : async-trait, intégration Control Point et WebApp
- Des registres globaux (singletons) pour le partage de ressources
- Une checklist d'implémentation et des bonnes pratiques
- Des exemples d'utilisation concrets

Les fichiers générés sont :
1. Blackboard/Architecture/pmoserver_ext.md (745 lignes)
2. Blackboard/Report/pmoserver_ext.md (157 lignes)

La documentation permet de suivre les conventions établies pour implémenter de nouvelles extensions au serveur PMOMusic de manière cohérente et modulaire.
2026-01-12 12:52:15 +01:00
93f5900456 Bump PMOMusic version and improve snapshot update logic
Version bump for PMOMusic from 0.3.1 to 0.3.3

- Updated snapshot update logic in useRenderers.ts to directly update local snapshot state based on event types
- Improved handling of various events like state_changed, position_changed, volume_changed, etc.
- Adjusted polling interval in control_point.rs from 500ms to 250ms for smoother UI updates
2026-01-11 21:19:10 +01:00