La Voix de Damocles

Aller au contenu | Aller au menu | Aller à la recherche

lundi 12 janvier 2009

Et pis ton organisation alors ¿

Dernièrement, je me suis acharné à empaqueter anoX pour Debian/Ubuntu, ce qui m'a amené à créer un installateur Python, à penser au support d'autres langues, à me demander quels fichiers d'information je devais fournir avec mes sources. Bref : Comment organiser les fichiers sources d'un projet libre ?

Mon idée est que quelque soit le projet, sa nature et ses langages de développement, je puisse adopter une organisation analogue qui me permettent de me repérer facilement tout en étant pratique et transparent pour un intervenant extérieur (créateur de paquet, contributeur, curieux, etc).

Je ne suis pas le seul à m'être posé ce genre de question : cet article de Jean-Paul Calderone[1] apporte quelques conseils sur l'organisation d'un projet Python.

Ma solution, qui diffère de celle de Jean-Paul Calderone :

  • Un répertoire data contenant toutes les données qui ne sont pas du code source (documentation, traduction, image, configuration, …) ;
  • Un répertoire src contenant le code source et les fichiers intermédiaires créés lors de la compilation ;
  • Un répertoire lib contenant les bibliothèques après compilation ;
  • La racine du projet ne contenant que les fichiers utiles à un utilisateur tels que un ou plusieurs exécutables (sans extension), un installateur (Makefile et/ou setup.py), ainsi que quelques classiques comme une licence (COPYING), un fichier lisez-moi (README), et tout ce qui semblera utile (attention toutefois, le moins sera le mieux).

Évidement un projet en python a quelques spécificités :

  1. Les exécutables à la racine ne doivent toujours pas avoir d'extension « .py » ;
  2. Les répertoires lib et src ne forment qu'un seul répertoire nommé :
    • du nom du projet pour une bibliothèque (par exemple mutagen),
    • du nom du projet précédé de lib pour une application (par exemple libquodlibet pour quodlibet).

Du point de vue du développement, le premier avantage est qu'il n'y a pas besoin de réorganiser les fichiers du projet au fil de son développement. Pour une application en python on commencera par créer un exécutable (par exemple anox, sans extension), puis on ajoutera plus tard une bibliothèque si le besoin s'en fait sentir (dans notre exemple, ce sera libanox) qui contiendra tous les modules et packages nécessaires.

De plus, l'installateur python est également facile à développer, puisqu'il n'y a pas besoin d'user de magie pour installer les scripts sans extension (anox dans notre exemple). Les sources et les données sont également clairement séparées, ce qui facilite l'empaquetage lorsque l'on veut créer un paquet de données à part (par exemple pour les jeux).

Mais surtout, une telle organisation est claire d'un point de vue extérieur, la racine du projet ne contient que ce qui est utile à l'utilisateur. C'est important car c'est la première chose que constate un utilisateur qui explore le projet en vue de le tester, l'utiliser ou y contribuer. Ainsi une application est également facilement exécutable après compilation et avant installation manuelle.

Notes

[1] Jean-Paul Calderone est un des auteurs de Twisted.

mardi 9 décembre 2008

anoX « Not So Early » : Jouer dans une autre session X

Avertissement : L'installation ou l'utilisation d'un script tiers, ainsi que les manipulations décrites dans ce billet peuvent s'avérer dangereux pour la sécurité, la stabilité et l'intégrité de votre système.

Une multitude de problèmes peuvent se montrer assez gênant vis-à-vis du jeu sous GNU/Linux. Comme par exemple les fenêtres des applications Wine qui disparaissent lorsque l'on change de bureau avec Compiz activé, ou encore les jeux SDL qui ne permettent pas de retourner au bureau lorsqu'ils sont lancés. La meilleure solution serait sans doute de corriger un à un ces problèmes pour que l'expérience utilisateur soit parfaite. Mais en attendant que ce soit fait, il est agréable d'avoir une solution de contournement.

anoX vous permet de lancer un jeu (ou n'importe quelle application) dans un autre serveur X, évitant ainsi que Compiz fasse disparaître votre jeu Wine ou que SDL ne vous empêche de retourner sur votre bureau…

Pour l'utiliser, il vous suffit de :

  1. Télécharger l'archive d'anoX
  2. Copier le fichier anox qu'elle contient dans votre répertoire /usr/bin/ (en vous assurant qu'il soit exécutable)
  3. Lancer vos jeux ou autre de la façon suivante : anox "tremulous -q"

Si ces explications ne suffisent pas, il vaut peut-être mieux passer son chemin…

Deux problèmes peuvent toutefois se poser :

  • Il faut être autorisé à lancer un autre serveur X : pour cela il faut éditer le fichier /etc/X11/Xwrapper.config pour remplacer « allowed_users=console » par « allowed_users=anybody »
  • Pulseaudio va isoler le son de chaque serveur X, empêchant ainsi de dialoguer via Mumble avec un ami tout en jouant à un jeu. La meilleure solution est de le désactiver avec un « killall pulseaudio » au démarrage de la session (Système → Préférence → Session).

Pour la suite, il faudrait maintenant que je mette en place un script d'installation et un paquet pour Ubuntu, mais je ne sais pas encore comment m'y prendre pour un programme Python. Il va falloir apprendre…

mardi 14 octobre 2008

Retour d'hibernation ;) !

Ayant rencontré moultes problèmes avec la mise en veille et l'hibernation, je vais expliquer très brièvement comment les régler.

Avant toute chose, ce que je vais dire concerne principalement les possesseurs de carte nVidia. De plus, les manipulation que je vais décrire peuvent se révéler très dangereuses pour l'intégrité de votre système (tant matériel que logiciel). Avant d'éditer un fichier système, il est fortement conseillé d'en faire une copie de sauvegarde.

Problèmes dûs à la carte graphique nVidia GeForce 8600M GT

Éditer le fichier /etc/X11/xorg.conf pour ajouter à la section « Device » (carte graphique) :

Option "NvAGP" "1"
Option "NoLogo" "1"

Éditer le fichier /etc/default/acpi-support pour changer :

SAVE_VBE_STATE=false
POST_VIDEO=false

Éditer /etc/modprobe.d/blacklist pour ajouter :

blacklist intel_agp
blacklist agpgart

Sources :

Problèmes dûs à la carte son Intel Corporation 82801H

Éditer /etc/modprobe.d/alsa-base pour ajouter :

options snd-hda-intel model=toshiba

Source inconnue.

lundi 22 septembre 2008

Meme(me)

Via LE Standblog

Self portrait of myself

  1. Take a picture of yourself right now.
  2. Don’t change your clothes, don’t fix your hair... just take a picture.
  3. Post that picture with NO editing.
  4. Post these instructions with your picture.

mardi 10 juillet 2007

Calton Hill

mercredi 4 juillet 2007

Parfois, un Gnome c'est moche...

Il est souvent consternant de voir une application, pourtant puissante, arborer des graphismes hideux. C'est le cas des applications GTK 1, comme par exemple Audacity.

Heureusement, Louis XVI with a gun est là pour nous venir en aide. Au passage je vous recommande son blog, qui est d'une grande qualité. Allez également jeter un œil au planet Ubuntu Réunion, qui ne compte que trois membres mais est très actif et de qualité.

Voici la marche à suivre :

  1. Téléchargez le fichier joint (gtkrc)[1], puis placez le dans votre répertoire home et renommez le .gtkrc.mine ;
  2. Vérifiez que le fichier ~/.gtkrc-1.2-gnome2 contient :
    include "/home/ton_nom_utilisateur/.gtkrc.mine"
  3. Installez le paquet gtk-engines-industrial ;
  4. Lancez Audacity ou une autre application GTK 1 pour tester. Si ça marche pas de suite, tentez de vous déconnecter puis de vous reconnecter.

Sources :

Notes

[1] Ce fichier est l'œuvre de Louis XVI with a gun (à 98%).

¿ÉhÔ? mais t'es trop fou¹² toi… Ubuntu c'est trop la poule aux `Œufs d'or´ !

Derrière ce titre abracadabrant[1], se cache la courte apologie d'une fonctionnalité bien discrète d'Ubuntu. Et pourtant Ô combien essentielle à mes yeux !

C'est suite à un billet sur «La révolte des accents» sur Formats-Ouverts.org que j'ai décidé d'écrire moi même un billet sur le sujet des accents sous Ubuntu.

Sous GNOME, pour configurer votre clavier il suffit d'accéder au menu Système→Préférence→Clavier. Présentement, c'est l'onglet Agencement qui nous intéresse… Mon clavier est configurer sur Autre, cela correspond à l'agencement ci-dessous :

Image des touches du clavier sous GNU/Linux

Pour expliquer avec un exemple simple la puissance d'Ubuntu sur le sujet, choisisson la lettre `o´ (suivez sur l'image ci-dessus, centre-cliquez pour la voir en plus grand dans un nouvel onglet…) :

  • Un appuis simple sur `o´ donne : o
  • Un appuis sur MAJ + `o´ donne : O
  • Un appuis sur ALT GR + `o´ donne : œ
  • Un appuis sur MAJ + ALT GR + `o´ donne : Œ

Magique non :D ?
Maintenant vous n'avez plus d'excuse pour mettre les accents sur les majuscules ! Mais vous avez également un accès plus facile à une foule de signes :
ø`´¯²¹⋅×→←↑↓↙↘↖↗↔¿…

Ensuite, il vous est aussi possible d'acquérir un clavier Dvorak

Au passage, j'ai toujours été sacrément mauvais en orthographe et en grammaire, mais écrire É ne prend pas vraiment plus de temps qu'écrire E, donc je vous encourage à respecter la langue française autant que vous le pouvez, c'est quelque chose d'important…[2]

Bingo! :

Notes

[1] Hum...

[2] Avis aux détracteurs : L'argot français fait parti du français…

jeudi 28 juin 2007

Amis Gnomes : Ne partez pas en instance sans votre set élite !

Jusqu'à il y a quelques jours, je m'obstinais, à chaque nouvelle sortie, à ré-installer Ubuntu from scratch[1]. Bon, j'ai décidé d'arrêter de me prendre la tête et de balancer mon carnet de notes (un wiki tiddlywiki) aux orties puis à tirer la chasse. Entre autres bêtises recopiées sur le wiki Ubuntu-fr, on y trouvait ma précieuse liste de paquets. Chacun de ces paquets recèle un vrai trésor, un cadeau divin. Mais la liste en elle même représente, maintenant que j'ai décidé de faire les mises à jour comme tout le monde, que peu d'intérêt. Sauf...

Le set élite[2] que tout GNOME se doit de porter avant de partir à l'aventure dans les terribles instances des grottes de l'expérience utilisateurs ![3]

Ci-dessous, j'indique le nom des paquets en gras, la plupart sont récupérables chez tout marchand d'armes digne de ce nom. Toutefois certains sont plus rares et il vous faudra vous aventurer dans des contrées lointaines (tels que les landes de GetDeb le tueur de Porcinet) pour les looter...

La défense :

  • Le heaume gnome-compiz-manager : qui vous permettra d'accéder à toutes les options de configuration de vos lunettes 3D verte et rouge ;
  • Le collier totem-xine : protège des sorts de feu et des mauvais codecs ;
  • La cape nautilus-actions : qui peut prendre la forme que vous voulez pour ajouter des actions au menu contextuel de votre armure ;
  • L'armure gtk2-engines-murrine : vous permet d'accéder à de beaux thèmes pour votre armure ;
  • Les bracelets cups-pdf : à 5% les ennemis qui vous touchent imprimerons leurs documents dans des fichiers pdf ;
  • L'anneau unique[4] screenlets : il vous permettra de transformer votre armure en une chose infâme, toute clignotante de partout et affichant la météo et la température en temps réel de 12 pays différents ;
  • Les jambières qt3-qtconfig : pour vous protéger des ponctions de mana des applis KDE, et accessoirement configurer leur apparence graphique ;
  • Les bottes nautilus-gksu : indispensables pour pénétrer sur les terrains de boue administrateur.

L'attaque :

  • L'épée beagle : désignez un ennemi et elle le trouvera pour vous (attention toutefois, une mort stupide est si vite arrivée) ;
  • La masse gmountiso : il n'y a pas plus rapide pour monter vos iso (indispensable contre les golems de fer) ;
  • Les fléchettes gnomebaker : avec un peu d'entraînement, il n'y a pas mieux pour graver vos CD anti-démoniste ;
  • Le lasso gnomescan[5] : vous permettra de disposer d'une étoile enflammée toutes les 50h de jeu, et d'un sort pour scanner les plans des donjons ;
  • Les éternuements transmission : refile vos microbes aux ennemis, permet également d'échanger vos fichiers Bit Torrent.

De quoi avoir une arme dans chaque doigt de la main droite.

Bonne chasse :D !!!

Notes

[1] À partir du CD...

[2] Ne pas confondre avec un truc qui vole dans l'espace... ((c) de ma copine... douée non ?)

[3] Attention ce set n'est disponible qu'à partir du niveau 68.

[4] En seulement 2 897 547 exemplaires...

[5] Sponsorisé par Indiana Jones

dimanche 24 juin 2007

Putain, y en a qui sont doué !

un screenshot du jeu Crayon Physics

Suite à un article fort intéressant d'Overgame, j'ai testé cet aprèm un petit jeu de Petri Purho.

Le principe est simple, il faut dessiner des formes pour pousser une balle et l'amener vers une étoile. Ce jeu, développé en seulement 5 jours, est tout à fait extraordinaire ! Vous pouvez en apprendre un peu plus en regardant la vidéo en pièce jointe que j'ai faîte pour vous...

Ceci nous rappelle une leçon essentielle : Ce sont des jeux tel que irrlamb (dont le version 0.3 est sortie, top-méga-fun on peut maintenant faire des replays :D !), Frozen Bubble ou Crayon Physics qui permettent la véritable innovation vidéo-ludique ! Je suis convaincu que de tels jeux peuvent faire de GNU/Linux une plateforme de jeu digne de ce nom. Bien sûr, il existe déjà une flopée d'autre petits jeux sous Ubuntu, mais peu d'entre eux trouve grâce à mes yeux : il leur manque la qualité !

Bon, par contre, déception, Crayon Physics n'est pas libre et n'existe que pour Windows. Pour l'installer sous Ubuntu, il vous faut WINE : l'émulation[1] se passe très bien. Alors, si vous voulez jouer à ce jeu, voici la procédure à suivre :

  1. Téléchargez l'exécutable de Crayon Physics ;
  2. Téléchargez MSVCP60.dll (Merci Exalead !) ;
  3. Dézippez le jeu, puis placer MSVCP60.dll à coté de crayon.exe ;
  4. Lancez le jeu avec WINE dans une console (sinon ça marche pas).

Notez également que le son ne marche pas et que le jeu ne se lance pas si on n'occupe pas le son avec autre chose (musique, film, etc).

Franchement, je suis dégoutté, ce Petri Purho est un surdoué !! Cinq JOURS !!

Notes

[1] Oui je sais, WINE truc, mais on se comprend hein ! Pourquoi la ramener sur des bêtises ?

- page 1 de 6