Episort
Une application de bureau JavaFX pensée d’abord pour Windows. Elle scanne un dossier, analyse les noms avec des règles déterministes, résout les titres via TMDB, puis affiche le plan exact de la source vers la destination. Rien n’est écrit tant que ce plan n’a pas été lu et approuvé. Livrée en build portable pour Windows et Linux, avec le runtime Java embarqué.
- Statut
- Maintenu, en production
- Rôle
- Développeur unique, de la conception au packaging.
Le problème initial
Un dossier de téléchargement contient des centaines de fichiers nommés par une douzaine de groupes de release. Plusieurs séries cohabitent dans un même dossier. Les ordres diffusé, DVD et absolu se contredisent. Renommer à la main coûte un week-end. Automatiser à l’aveugle détruit la bibliothèque, et une mauvaise correspondance n’échoue pas bruyamment. Elle déplace discrètement le mauvais fichier ailleurs.
Solution imaginée
Un pipeline entièrement déterministe : scan, analyse par règles, résolution TMDB, revue des identités, revue du plan, application journalisée. Le même dossier produit toujours le même plan. Deux barrières explicites, et aucune ne peut être sautée. Conflits, doublons et chemins Windows dangereux bloquent l’exécution avant qu’elle ne commence.
Choix importants
Des règles déterministes, pas de modèle. Le même dossier doit toujours produire le même plan, et chaque valeur à l’écran remonte à un signal réel.
L’unité de travail est le groupe détecté, pas le fichier. Corriger vingt-cinq fichiers coûte un clic.
Une action indisponible reste visible et désactivée, avec sa raison à l’écran. Cacher un bouton pour empêcher une action n’apprend rien à l’utilisateur.
Architecture
Scan
lit le dossier
Analyse
des règles, pas de modèle
Correspondance
TMDB, à travers Janus
Revue des identités
une ligne par groupe détecté
Vous validez
Revue du plan
chaque source et chaque destination
Vous validez
Application
dans l’espace de travail, journalisée
La seule étape qui écrit
Six étapes distinctes, chacune inspectable. L’interface ne touche jamais un fichier : elle approuve un plan. Seule l’étape d’application écrit, à l’intérieur de l’espace de travail configuré, avec un journal qui permet de reprendre une exécution interrompue. TMDB est atteint via Janus, donc aucun secret TMDB n’existe dans ce projet.
Episort appelle TMDB à travers Janus : il se distribue sans aucune clé en amont, et ceux qui l’utilisent n’ont besoin d’aucun compte. Être le premier client de ma propre passerelle y a trouvé des problèmes qu’aucun de mes tests n’avait vus.
Ce qui reste
Le projet est maintenu, en production.
Publier de vraies captures des écrans de revue
Élargir le corpus de test des conventions de nommage
Documenter les règles d’analyse pour les contributeurs
Technologies
Java 25 · JavaFX 25 · Gradle · JUnit 5 · TMDB API · Janus gateway · Go 1.26 · GitHub Actions
Jonathan Blanchard