Logo du logiciel de gestion multimédia S.O.K

S.O.K

Personnel

Actif

Un logiciel de gestion de bibliothèque multimédia entièrement gratuit, conçu pour offrir une alternative moderne et puissante à FileBot, avec une interface en PyQt et une architecture robuste et maintenable.

Voir le projet →

Genèse du projet

Le projet S.O.K est né d’un mélange d’ennui post-confinement et d’un défi personnel. À l’époque, un ami utilisait intensivement un logiciel de gestion de fichiers multimédias (FileBot), qui devenait de plus en plus payant au fil des versions. L’idée m’est alors venue de lui créer une alternative gratuite, reprenant les fonctionnalités essentielles, afin qu’il puisse continuer à organiser sa bibliothèque sans aucune contrainte.

À ce moment-là, j’étais encore très novice en programmation : cela faisait seulement un an que j’avais commencé la spécialité NSI au lycée, et je ne maîtrisais que Python. J’ai donc dû me former en autodidacte pour apprendre à réaliser des requêtes API, gérer des traitements fichiers, et créer une interface graphique avec Tkinter. S.O.K a été l’un de mes tout premiers véritables projets, et il m’a permis de mettre en pratique mes premiers apprentissages tout en répondant à un besoin concret.

Quatre ans plus tard, avec une une expérience bien plus solide en développement logiciel, j’ai décidé de reprendre complètement le projet. J’ai remplacé l’interface Tkinter par une interface moderne en PyQt, repensé l’architecture logicielle pour la rendre propre, maintenable et évolutive, et ajouté des fonctionnalités plus avancées, tout en conservant l’objectif initial : offrir une solution gratuite, accessible et puissante pour gérer une bibliothèque multimédia.

S.O.K est ainsi devenu bien plus qu’un simple exercice : c’est un projet personnel qui a évolué en même temps que mes compétences, passant d’un premier prototype artisanal à un logiciel structuré et pensé pour durer.

Choix techniques

Langage
Python
Interface graphique
PyQT6
Sources de données
API TMDB, TVDB, ...
Packaging
Nuitka
Landing page
Astro/TailwindCSS

Roadmap du projet

  1. Conception de l'interface utilisateur

    Création d'une interface intuitive et conviviale avec PyQT6.

    Terminé
  2. Intégration des API de bases de données

    Connexion aux API TMDB, TVDB pour récupérer les informations des médias.

    Terminé
  3. Fonctionnalités de gestion des médias

    Développement des fonctionnalités pour ajouter, organiser et rechercher des médias.

    Terminé
  4. Packaging et distribution

    Utilisation de Nuitka pour créer des exécutables multiplateformes.

    Terminé
  5. Corrections de bugs et améliorations

    Maintenance continue pour corriger les bugs et ajouter de nouvelles fonctionnalités basées sur les retours des utilisateurs.

    En cours