Bonjour !
Je m'appelle Samuel, je viens tout juste d'avoir 13 ans et je programme depuis 5 ou 6 ans en C#, en PHP, et j'en passe (j'ai surtout la flemme de tous les écrire ).
Le projet que je vais vous présenter aujourd'hui est content downloader (nom pourri au passage), le retour de modbrowser.
Genèse
Face à une certaine démotivation liée à l'échec de mon ancien projet permettant l'installation de contenus de jeu (mods), modbrowser j'ai abandonné ce projet. L'API en ligne était très mal codée, il fallait refaire le site internet de fond en comble, et je n'avais pas l'envie ni la motivation pour le faire.
Et de là est née l'idée : pourquoi ne pas voir les choses en grand, et proposer un service permettant de télécharger n'importe quel type de contenu via un client Windows relié à une plateforme en ligne permettant à chacun d'ajouter ses propres contenus ? Des fonds d'écran Windows aux jeux vidéos en passant par les utilitaires, les possibilités seraient alors infinies !
Présentation du projet
Fonctionnement
Côté serveur
Une plateforme en ligne sera disponible, où chaque utilisateur pourra créer son compte et contribuer à la base de données de contenus en ligne en ajoutant des catégories de contenu, des types de contenu et des contenus. À côté de ça, une API en ligne permettra l'interaction entre la plateforme et le client.
Côté client
Un client pour Windows sera officiellement disponible mais il sera possible de développer des clients tiers.
Dans le client C#, les utilisateurs, sans créer un compte, pourront télécharger les tyeps de contenu qu'ils veulent, mais aussi ceux qu'ils ont déjà installé. Les informations des contenus installés seront conservés sur le disque dur de l'utilisateur dans un fichier .json
.
Je pense partir sur le système suivant : un fichier compressé est téléchargé, décompressé et un script batch est exécuté. Le script en question prend des arguments (ex : actions.bat install
) pour performer différentes actions : installer le contenu, désinstaller le contenu, lancer le contenu… Ces actions sont exécutables via une GUI user-friendly.
Technologies utilisées
- Plateforme en ligne : Python/Django + UIKit pour le CSS
- Client Windows : C#.NET/WinForms
- API en ligne : Django Rest Framework
Avancement
Côté serveur
La plateforme en ligne est en partie développée. Le système d'authentification, les modèles des types de contenu, des catégories de contenu et des contenus sont faits. Le "magasin", permettant de naviguer parmi les contenus, est aussi développé.
Screenshot :
Côté client
La gestion des contenus installés, la lecture des fichiers .JSON, l'UI sont disponibles.
Le plus gros reste à faire, mais il faudrait que je puisse développer l'API en ligne pour étendre la plateforme.
Screenshot :
Liens
Je sais qu'à part du code je n'ai rien de concret à vous proposer, mais le projet est en développement et ça va arriver.
Merci d'avoir porté de l'attention pour mon projet !