content downloader

la façon la plus simple de télécharger tout ce que vous voulez

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

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 :

Image utilisateur

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 :

Client

Liens

  • Plateforme en ligne (GitHub) : par ici.
  • Client C# (GitHub) : par-là

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 ! :)

Édité par ThuleMalta

ThuleMalta - C#, PHP, Python/Django, Unity3D. mon blog

+2 -0
Auteur du sujet

aah oui::! comme ça tu développe depuis l'age de 7 ans et dans tous ces langages? du courage pour ton projet

SamplesX

Oups, je suis débile, oui 13-8 = 5 donc ça fait 5 ans que je programme. De plus j'aurais plutôt du dire : "J'ai débuté la programmation il y a 5 ans. Maintenant je code en C#/PHP…" en fait la construction de ma phrase était mauvaise. Je m'en excuse.

Sinon pas de discussions sur mon âge. J'ai quitté OC pour ça, une communauté qui a ruiné mon projet en me gratifiant de pages et de pages de "c'est pas possible de programmer à 12 ans" donc non merci.

Mais c'est pour télécharger quoi ?

kdev

Tout ce que tu veux ! Les seules limites sont les contenus disponibles sur la plateforme. Chaque utilisateur peut mettre à disposition n'importe quoi, une photo, un jeu.

ThuleMalta - C#, PHP, Python/Django, Unity3D. mon blog

+0 -0

non tout au contraire je t’admire et j'aurais aimer commencer à ton age et là je serais mieux au point qu’aujourd’hui. j'ai le double de ton age soustrait de 3 et bientôt de 2 et je ne pense pas connaitre ce que tu maitrise déjà donc il ne faut pas avoir de complexer pour ton age.

Sorry for grammar and spelling mistakes!

+0 -0
Auteur du sujet

Justement, rien ne t'empêche d'utiliser Internet.
Ce que je propose n'est qu'une solution alternative.
Après, pour certains projets open source dont l'installation peut s'avérer compliquée (ex: compilation à la main) cette installation peut être automatisée.

ThuleMalta - C#, PHP, Python/Django, Unity3D. mon blog

+0 -0

Cette réponse a aidé l'auteur du sujet

La structure de ton projet django est assez étrange.

D'ailleurs j'ai pas vu de dossiers pour tes ressources statiques ainsi que pour les migrations (qui se toruvent dans le gitignore) ? Et j'ai remarqué que tu recodés pas mal de chose que Django fournit dans ces packages django.contrib (gestion des utilisateurs entre autres). Et il doit manquer des choses dans ton requirements.txt

La documentation de Django est très bien faite et très complète pour les débutants, je te conseille de la lire (presque tout est en français en plus ;) )

+2 -0
Auteur du sujet

La structure de ton projet django est assez étrange.

grugru

Peux-tu développer s'il te plait ? Je débute et je ne sais pas trop comment m'y prendre pour organiser mon projet.

Les projets open source s'installent souvent grâce à l'outil de référence du langage avec lequel ils sont implémentés, par exemple pip pour Python.

kdev

Oui, mais je me souviens encore de la galère lors des premières fois où j'ai du installer un logiciel en compilant les sources.

C'est genre un apt-get pour Windows ?

Mizugola

Ouais, en quelques sortes.


Sinon je reprends le développement du projet. J'avais pas mal de devoirs ces derniers temps et envie de jouer plus que de développer.

ThuleMalta - C#, PHP, Python/Django, Unity3D. mon blog

+0 -0

La structure de ton projet django est assez étrange.

grugru

Peux-tu développer s'il te plait ? Je débute et je ne sais pas trop comment m'y prendre pour organiser mon projet.

ThuleMalta

Il y a plusieurs façon de faire, et je vais pas te détailler tout ça, mais tu peux lire ce très bon article qui explique comment évolue la structure d'un projet Django et pourquoi en fonction de la taille de celui-ci : SametMax.com: Organisation d'une application Django, Tu peux d'ailleurs parcourir leur site, il y a pas de chose très interessante sur Django et Python en général.

Oui, mais je me souviens encore de la galère lors des premières fois où j'ai du installer un logiciel en compilant les sources.

Python et pip, c'est très facile comparé à l'installation et la compilation d'un projet C/C++ avec make/cmake ;) Tout se passe dans le fichier setup.py, il y a un paquet de tuto sur le sujet.

Édité par grugru

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte