English

Aperçu du nouveau serveur multimédia

Depuis quelques fins de semaines, je travaille sur un outil plus élégant que XBMC pour l'interface de mon centre multimédia. J'ai toujours trouvé l'interface de XBMC frustrante et incohérente considérant qu'elle a pour seul tâche d'afficher une liste de films avec des filtres.

Le système fonctionne en trois parties: la liste des films, le mur de posters et l'utilitaire pour ajouter les films. Tout est monté avec Django pour faciliter l'intégration avec d'autres scripts Python que j'utilise sur cette machine.

La liste de films n'a rien d'impressionnant. On y trouve les informations essentielles sur le film sélectionné et des boutons pour marquer le film comme vu, le faire jouer sur la télévision ou le supprimer. Le bouton lecture passe simplement une commande à VLC pour que le film se mette à jouer en plein écran. Toutes les informations sont puisées d'IMDB. Nous y reviendrons plus bas.

La liste des films

Le mur de pochettes est inspiré de Netflix. Lorsqu'on passe la souris sur une pochette, on a les mêmes options que dans la liste de films. Je voulais avoir la possibilité de choisir un film un peu comme sur Netflix pour les soirées où je suis indécis. Je considère trier les films par date d'ajout ou au hazard au lieu de par ordre alphabétique, histoire de ne pas toujours voir les mêmes films au sommet de la page.

Le mur de pochettes de films

Enfin, il y a l'utilitaire pour renommer les films. Lorsque j'ajoute un nouveau film, il apparait dans la liste des films à renommer. On peut ensuite entrer le titre du film et quelques suggestions seront affichées (merci à l'API de recherche de titres de TMDb!). Je vais ensuite chercher les informations manquantes (poster, titre, description etc) sur IMDB à l'aide d'une autre API. Il ne faut que quelques caractères pour obtenir la bonnes suggestion et le focus passe automatiquement au prochain film lorsqu'on sélectionne un titre. On peut donc renommer un grand nombre de films en très peu de temps.

Je peux aussi assigner une partie à chaque film dans le cas où j'aurais un film divisé en plusieurs fichiers. C'est particulièrement utile dans le cas de miniséries.

Au lieu de renommer le fichier, je crée un lien (hard link) avec le bon nom dans le bon dossier. Ça évite de garder des fichiers en double lorsque je continue à seeder l'original. Lorsque j'ai fini de seeder, je peux simplement le supprimer et le fichier renommé continuera à fonctionner. Le bouton "Clean renamed files" efface les fichiers originaux pour tous les films qui ont été renommés.

Renommer un film

L'onglet "Torrents" est un simple iframe du client web de Transmission. Aucun besoin de réinventer la roue! Il y a aussi un onglet "Server status" qui me permet d'accéder rapidement aux informations importantes comme le uptime, l'état des backups et l'espace de stockage.

Je compte utiliser cette base pour tous les modules futurs que je compte développer pour mon serveur. Entre autres, j'aimerais réintégrer la porte d'entrée automatique dans mon nouvel appartement. Je vais possiblement rendre le code public lorsque j'aurai le temps de le documenter et d'écrire quelques tests unitaires.

J'ai utilisé Bootstrap 3 pour l'interface, et je dois dire que j'apprécie particulièrement le nouveau format de colonnes. Je n'ai pas beaucoup testé sur les appareils mobiles, mais ça donne un très bon résultat. Je peux me servir de mon téléphone ou de mon portable pour faire jouer un film sur le grand écran.

Laisser un commentaire