====== Application Desktop ====== La partie graphique de l'application à été réalisée sous la forme d'une application JavaFX. Nous avons choisi le design "single-window" afin de fournir une application avec une interface unie. Les composant communiquent entre eux à l'aide d'un //Message Bus// pour permettre un certain découplage des responsabilités entre, par exemple, le composant demandant l'ouverture d'un onglet pour un volume et le composant qui crée les onglets dans sa vue. **Annecdote de développement** Durant les tests d'utilisation, nous avons remarqué que l'application accumulait beaucoup de mémoire qu'elle ne libérait jamais. Après une analyse avec un profiler Laureline à découvert que le message bus [[https://github.com/google/guava|Google Guava]] gardait des références fortes sur tous les objets enregistrés ([[]]) et ne les relachais jamais. Nous avons donc changé de librarie pour [[https://github.com/bennidi/mbassador|MBassador]] ce qui à résolu les problèmes de fuite mémoire. {{page>heig:vcl:rapport:implementation:desktop:bibliotheque&nodate&nouser}} {{page>heig:vcl:rapport:implementation:desktop:liseuse&nodate&nouser}} {{page>heig:vcl:rapport:implementation:desktop:editeur&nodate&nouser}} {{page>heig:vcl:rapport:implementation:desktop:crawler&nodate&nouser}}