Journal djl 1.0

Posté par  .
Étiquettes : aucune
0
19
mar.
2008
Après avoir un petit peu codé en Python dans mon coin, j'ai parlé aux autres admins de jeuxlinux.fr de mon projet, djl, donc voici la description (copier/coller):

>>>
djl (Dépot jeux Linux) est un logiciel écrit en Python 2.5 s’inspirant de Steam, sauf que cette fois, ça ne concerne que Linux.
djl est principalement une plate-fome de jeu. Il peut, via un dépot télécharger/installer et supprimer des jeux (il y a 30 jeux actuellement en dépot).

Pour faire votre choix, une description de chaque jeux, une image et quelques informations supplémentaires sont affichés dans le dépot.

Mais djl est également un gestionnaire, il a une fenêtre principale dans laquelle sont listés les jeux installés depuis le dépot, mais également des raccourcis vers des jeux déjà installés sur le système.

En réalité, ces raccourcis sont de simples fichiers .desktop que l’on peut créer depuis l’interface principale .C’est à dire que si vous avez installé Quake wars sur votre système, vous pouvez créer un raccourcis pour pouvoir le lancer depuis djl. Et si vous connaissez l’emplacement d’un fichier .desktop, vous pouvez l’importer et djl l’utilisera.

Au menu des fonctionnalités, djl est capable de se mettre à jour automatiquement (d’ailleurs il y en a déjà une de disponible), mais également afficher les informations de débogages des jeux (au cas ou l’un d’eux ne se lancerait pas), ou encore lancer les jeux dans un serveur graphique séparé (Si vous utilisez la composition de l’affichage avec Compiz ou Beryl, vous gagnerez en performances, mais les jeux mettent un peu plus de temps à se lancer).

Pour finir, le logiciel est distribué sous forme d’archive tar.gz, mais un installateur est disponible. Pour ce dernier, je vous recommande fortement de NE PAS le lancer en root. En effet, les mises à jours seront désactivés si djl n’est pas capable d’écrire dans le répertoire dans lequel il est installé.

Comme tous les projets libres, djl cherche des contributeurs pour l’internationaliser, faire un ’vrai’ site, mais également ajouter des jeux en dépot.
Si vous adhérez à l’objectif de djl, à savoir faciliter l’accès au jeu sous Linux, manifestez vous :)
<<<

Maintenant que ceci est dit, djl a la capacité à extraire des archives de différents types dans un répertoire choisi par l'utilisateur et de lancer ensuite le jeu.
Si c'est plus chiant à écrire que si je faisais moi même les paquets avec un type d'archive et architecture bien définie, mais comme ça, les utilisateurs devraient pouvoir créer leur propres entrées et si ils le désirent, me les soumettre :)

Comme dit plus haut, je suis à la recherche de contributeurs, alors n'hésitez pas.

http://djl.tuxfamily.org/index.html
http://www.jeuxlinux.fr/b552-djl_1.0.html
  • # Pas mal !

    Posté par  . Évalué à 2.

    le concept est intéressant, les descriptions et images sont un bon plus.
    J'ai essayé l'installeur, déjà en le démarrant en utilisateur normal il me dit que je suis en root et que ça va pas aller bien. Ensuite il m'a installé dans mon répertoire utilisateur un fichier de démarrage (dans ~/.local/bin etc)
    Et le script ne se lance pas bien à partir de là :

    /home/eric/.local/bin/djl: line 3: cd: djl: Aucun fichier ou répertoire de ce type
    python2.5: can't open file 'djl.py': [Errno 2] No such file or directory

    en gros il était juste marqué "cd djl" alors que djl était dans /opt/ et ainsi de suite.
    En corrigeant cela, je démarrage djl, il configure tout, je mets les jeux à télécharger dans /opt/djl/games, et au premier redémarrage j'ai :

    python2.5: can't open file 'fenetre_principale.py': [Errno 2] No such file or directory

    j'ai tout effacé, et installé en copiant le script dans opt depuis l'archive et en le démarrant avec /opt/djl/djl.sh et là ça va bien.

    On fait comment pour proposer des jeux ?

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

    • [^] # Re: Pas mal !

      Posté par  . Évalué à 3.

      Ca n'est pas moi qui m'occupe de l'installeur.
      Perso j'ai une préférence pour une bonne archive tar, que l'on décompresse et puis c'est terminé.

      Je l'ai testé par contre et je n'ai pas rencontré de problèmes de ce genre.
      Je vais en parler avec le 'faiseur d'installateur'.

      Pour proposer des jeux, tu dois aller dans le dépot/Menu/Créer une nouvelle entrée.
      Tu remplis les champs et tu as tout en bas un bouton "sauvegarder et envoyer au développeur".

      Merci en tout cas pour les encouragements :)
      • [^] # Re: Pas mal !

        Posté par  . Évalué à 1.

        Hum j'ai oublié de dire de mettre ton pseudo dans la description si tu veux apparaitre dans les crédits (c'est à toi de voir)
        • [^] # Re: Pas mal !

          Posté par  . Évalué à 1.

          J'ai révisé le script pour l'installeur, c'était de ma faute oui. Normalement la nouvelle version prochainement en ligne corrigera ça.
  • # gestionnaire de packages specialise ?

    Posté par  . Évalué à 5.

    en gros, c'est un gestionnaire de packages supplementaire mais specialise sur les jeux ?

    Je ne fais pas partie des gens qui disent a chaque nouveaute "pfff, a quoi ca sert ?" ou "pffff, c'est nul, c'est comme truc, pourquoi tu contribues pas a l'autre plutot" ou encore (pire) "ouin ! ca augmente la fragmentation des solutions !"... Je considere que si qqn fait qqch, c'est pour combler un manque qqpart... au moins chez lui en tout cas.
    Et j'apprecie beaucoup le darwinisme tres puissant qui existe au sein du Libre et qui opere une selection naturelle sur les solutions.

    Donc, malgre le fait que je vois pas vraiment l'interet de ta solution (a part la capture ecran) par rapport a ce qui existe depuis toujours sous linux, je souhaite t'encourager fortement sur ton initiative.
    Si ca marche, c'est qu'il y a un vrai besoin (que je n'ai pas mais on s'en fout) et c'est bien que ca existe et que tu aies resiste aux debiles qui vont dire "un truc supplementaire pour rien !"
    Sinon, tant pis, t'auras progresse en Python :)

    As tu dans l'idee de rajouter une fonctionnalite de "surcouche" aux gestionnaires de packages existants afin de ne pas perturber l'existant chez ceux qui veulent conserver ce principe ?
    • [^] # Re: gestionnaire de packages specialise ?

      Posté par  . Évalué à 3.

      Malgré les apparences, tu n'es pas trop méchant dans l'analyse.

      Par contre, tu fais erreur, le but de djl n'est pas de se substituer aux gestionnaires de dépot classiques, juste faciliter l'accès au jeu sous Linux.
      Pas besoin d'être root, ça s'installer et se supprime en un clique (quand ça marche comme il faut en tout cas). Si le jeu plante, djl affiche une boite de dialogue et dans certains cas est capable de proposer une solution, etc...

      C'est pas vraiment un simple dépot (ça l'était au début, mais il s'est diversifié au cours du développement), c'est une plate-forme.

      C'est Steam qui m'a donné l'idée de djl et je dois dire que je m'en suis un peu inspiré. En considérant le succès (indéniable) de Steam sur Windows, je pense que djl peut intéresser du monde, d'autant plus si ce sont des nouveaux venus de l'autre côté de la fenêtre.

      Mais tu as bien raison dans la conclusion, j'ai bien progressé en Python avec djl :)

      Par contre, je n'ai pas très bien compris, le but n'est pas de se substituer aux gestionnaire de paquets.
      Les paquets sous Linux s'installent en root, djl doit être lancé en tant que simple utilisateur. Les jeux sont ensuite installé dans un sous répertoire normalement accessible à l'utilisateur (~/.djl par défaut).
      Je ne pense pas que cela puisse...entre en concurrence avec les gestionnaires de paquets classiques :)
      • [^] # Re: gestionnaire de packages specialise ?

        Posté par  . Évalué à 5.

        ba quand même un peu...

        Tu aura un frozen bubble installé par rpm, dev, etc, et un par djl si on fait pas gaffe.

        Et pis sous /home/, j'aime pas qu'il y ai des programmes...

        50 users, 50 frozen bubble ?
        vega strike, qui fait 160Mo, tu le vois installer 50 fois !

        Moi, je verrais bien un truc de ce genre, mais qui marche main dans la main
        avec yum, rpm, apt, pkgsrc...

        Mais bon, apres, quelle est l'interet ?
        Steam, son but, c'est de faire ce que fais un gestionnaire de package, mais
        pour les jeux, et en payant, voila tout.

        Tu essaye de faire ce que fait un truc qui essaye de faire ce que fais un
        gestionnaire de packages :)

        En tout cas, je ne crache pas dans la soupe, et je te souhaite bon courage
        pour la suite !
        • [^] # Re: gestionnaire de packages specialise ?

          Posté par  . Évalué à 4.

          J'avais pensé qu'il serait bien que les gestionnaires de paquets actuels soient la fusion des deux solution (celle du journal et la gestion classique).

          En effet, la principale difficulté à mon avis sous linux est l'installation de logiciel. Même si c'est très simple, ça pause des problèmes. Il faut être root pour en installer et il n'y a rien d'intégré pour l'installation en local : il faut bidouiller et ce que propose le l'auteur du journal est une solution pour les jeux seulement.

          Ok, ça ne change pas grand chose dans pas mal de cas parce que l'utilisation de la machine est personnelle (mono-utilisateur), mais ce n'est pas toujours vrai.

          Comment je vois la chose ?
          - avoir la simplicité de cet outil et installer des logiciels en local quand on a pas le mot de passe root ou qu'on veut juste essayer un logiciel sans péter son système
          - on aurait bien sûr le choix de l'installer normalement si on a aussi le mot de passe administrateur
          - Root peut lister les applications installées en local par les utilisateurs et décider de l'installer de façon classique, ce qui économise de l'espace. Cela serait bien entendu transparent pout l'utilisateur
          - Les applications proposées pour l'installation local peuvent être communes à toutes les distributions (de bon gros binaire avec tout en statique). Cela permet d'ailleurs de gérer plus facilement les logiciels proprio sous cette forme.

          Je pense que l'auteur a eu une bonne idée, qui peut éventuellement s'élargir à toute application. Et donc ça serait encore mieux si ça ne fait pas doublon avec le gestionnaire de paquet classique.
        • [^] # Re: gestionnaire de packages specialise ?

          Posté par  . Évalué à 2.

          Steam n'est pas payant. Les jeux si mais pas Steam lui meme.
    • [^] # Re: gestionnaire de packages specialise ?

      Posté par  (Mastodon) . Évalué à 3.

      De toute façon, gestionnaire de paquet spécialisés et généralistes ne sont pas incompatibles. Pour rappel (et d'après ma propre culture), il existe pas mal de logiciels qui ont leur propre mode de diffusion :
      - Tex/LaTeX avec CTAN
      - Perl avec CPAN
      - Ruby avec gem
      - PHP avec PEAR
      - R avec CRAN
      - etc.

      Et pourtant, il y a des paquets pour tout ça.
      • [^] # Re: gestionnaire de packages specialise ?

        Posté par  . Évalué à 2.

        ben ouais mais t'avoueras que c'est pas genial quand meme...
        Quant tu te retrouves avec un conflit entre les 2, ouille...

        Alors bien sur, certains sont plus vieux que d'autres et gnagnagna, d'autres ont tel avantage et gnagnagna mais en attendant quand ca se marche sur les pieds, ca peut vraiment foutre le bazard.
        Autant ca ne me gene pas quand on empile les couches (genre tel systeme est une surcouche a tel autre, etc) car ca ne genere pas de conflit, autant avoir des conflits parce que 2 systemes concurrents se bouffent le nez, c'est pas cool
  • # Téléchargement de jeu

    Posté par  . Évalué à 2.

    Comment fais-tu pour les jeux téléchargés, c'est du compilé en statique? Il y aura probablement toujours des problèmes avec certains jeux dont les chemins sont en dur à la compilation?

    ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Téléchargement de jeu

      Posté par  . Évalué à 1.

      Pour le moment, j'utilise les binaires fournis par les développeurs, si les jeux s'installent correctement, mais ne se lancent pas, c'est pas de ma faute :)

      (J'ai vérifié sur quelques uns et ils sont tous compilés en dynamique)

      Plus sérieusement, mais fais quelques testes, avec Nerverball, et il semble très bien fonctionner sur mon Pc et sur d'autres, avec une compilation 'classique' en dynamique.
      • [^] # Re: Téléchargement de jeu

        Posté par  . Évalué à 2.

        Aujourd'hui, oui, mais il suffit qu'une distribution change de version de glibc pour que ça passe plus. Peut-être que la LSB exige une version minimale...

        ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

  • # xgame-gtk2

    Posté par  . Évalué à 2.

    c'est un super projet, ça me permettra par exemple de remplacer xgame-gtk2 qui se faisait vieux :]

    Une feature super serait de pouvoir spécifier le layout pour le server X de lancé quand on décide de lancer le jeu dans une session séparée.
    Dans mon cas ce sera utile car j'utilise plusieurs écran, et pas toujours les même quand je joue, mais à chaque fois pas les même que quand je joue pas (c'est bon, vous suivez ? :)

    Merci en tout cas :]

    Sinon pourquoi ne pas rajouter une couche d'abstraction par rapport à l'installation des jeux, comme ça chaque distrib pourrait faire sa méthode d'installation avec son gestionnaire de package !
    • [^] # Re: xgame-gtk2

      Posté par  . Évalué à 1.

      kaouete

      Je vais me pencher sur la question, mais l'utilisation d'un second serveur graphique n'est qu'une fonctionnalité parmi tant d'autres (elle n'a été rajoutée que lors de la MAJ 1.0.1). Je n'ai pas de second écran, ce qui risque de ne pas simplifier es choses.

      Mais je te promet que si je trouve une solution simple à ton problème, j'implémente :)
      • [^] # Re: xgame-gtk2

        Posté par  . Évalué à 2.

        Salut,

        Il est pas vraiment nécessaire d'avoir plusieurs écrans, tu peux simplement créer un second layout dans ton xorg.conf (soit identique au normal, soit avec une résolution différente pour être sur que ça marche) avec le même écran.

        En tout cas si ça se fait ce serait génial, une autre idée c'est que je regarde le code et que je vois si je suis capable de proposer un patch, mais je n'ai jamais codé en python :>
  • # re

    Posté par  (site web personnel) . Évalué à 6.

    Je vois que ton logiciel utiliser /home/user/.djil pour sa config, il serait bien d'adopter la norme XDG et utiliser le /home/user/.config/.djil :)
    • [^] # Re: re

      Posté par  . Évalué à 2.

      /home/user/.config/djil, plutôt...
      • [^] # Re: re

        Posté par  . Évalué à 3.

        $XDG_CONFIG_HOME/djil , autant utiliser la variable tant qu'a faire...
  • # marche pas

    Posté par  . Évalué à 1.

    $ ./djl.sh
    Erreur lors de l'import des librairies
    Traceback (most recent call last):
    File "djl.py", line 22, in
    from fenetre_principale import *
    File "/home/moi/djl/djl/fenetre_principale.py", line 30, in
    from telecharge_installe import lance, variables
    File "/home/moi/djl/djl/telecharge_installe.py", line 30, in
    dossier_racine = os.getcwd()
    NameError: name 'os' is not defined

    j'ai change le nom de ma home dans le traceback ci dessus

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.