Planet

24 Juin 2007 à 19:24

Putain, y en a qui sont doué ! via Ludoka.net

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 ?

Bazaar est un gestionnaire de version, un VCS en anglais : Version Control System.

Si jamais vous ignorez ce qu'est un gestionnaire de version je ne peux que vous conseiller de vous renseigner sur ce qu'est un gestionnaire de version (la définition sur Wikipedia). Si vous développez souvent et que vous n'en utilisez pas, je vous recommande de lire cet article.

Il existe beaucoup de VCS concurrents de Bazaar : mercurial, CVS, SVN. Le plus connu est certainement svn, je l'utilise moi-même beaucoup car il est très utilisé sur les divers projets auxquels je participe. Je privilégie le 3/4 du temps bazaar, mais ce n'est pas toujours moi qui initie les projets donc...

Bazaar est très à la mode en ce moment car il est très utilisé dans le monde ubuntero. Il est même intégré au célèbre Launchpad. Parmi les nombreuses super fonctionnalités, celles que j'apprécie particulièrement sont :

  • la simplicité de mise en place comparée à svn... Il y a peu de temps j'ai essayé de le faire utilisé par un ami, mais malgré le super tutoriel de David Larlet... il a raté (il est loin d'être débutant pourtant).
  • l'utilisation hors-ligne, chacun fait ses commit dans son coin puis on regroupe le tout.

Il est donc très bien intégré à Ubuntu et est très simple à installer :

sudo aptitude install bzr

Si jamais vous voulez une interface graphique pour vous en servir, il existe une interface GTK :

sudo aptitude install bzr-gtk

Mon projet

J'ai sous le coude au moins un projet à développer à l'aide du framework PHP Code Igniter. Ce projet va être développé à plusieurs, pour l'instant nous sommes deux et d'ici moins d'une semaine nous serons trois. Il est impossible de coder quelque chose à plusieurs sans gestionnaire de version.

Le deuxième avantage cité tout à l'heure est sympa dans ce cas présent étant donné que toutes les personnes qui vont travailler sur le projet n'ont pas tout le temps accès au serveur de l'entreprise.

je rappelle mon précédent article sur Code Igniter qui vous expliquait comment je hiérarchise mes répertoires. Le projet présenté ici est de rentre mon installation de Code Igniter versionnable.

J'ai donc un dossier nommé codeigniter à la racine de mon répertoire personnel dans lequel on trouve :

* application-test-1 * application-test-2 * bambooinvoice. * projet-a-realiser * ci_default_application * ci_system * ci_user_guide

Je ne veux pas me répéter, mais cette configuration me permet, pour une seule copie des fichiers systèmes (ci_system), d'avoir un nombre quelconques d'applications.
Côte-à-côte nous avons donc les applications d'exemples, de tests, voir bambooinvoice (un des plus gros exemples concret de CodeIgniter). J'aime beaucoup travailler ainsi.

Mise en place de bazaar sur notre projet

Revenons dans notre dossier de tout-à-l'heure et initialisons le projet :

bzr init

Le dossier contient maintenant un dossier de plus :

* .bzr * application-test-1 * application-test-2 * bambooinvoice. * application-excellent-exemple * projet-a-realiser * ci_system * ci_user_guide

L'initialisation de bazaar dans le dossier nous crée un dossier .bzr dans lequel on trouve tout ce qui permet de gérer les différentes versions... Pour l'instant il ne contient pas grand chose car nous n'avons pas encore validé le contenu ("commit" en anglais).

bzr status

nous indique qu'il existe un certain nombre de fichiers inconnus, ajoutons les via la commande

bzr add

puis validons les changements avec

bzr commit -m "premier versement"

Il vous sera demandé d'ajouter une explications aux changements effectués. Pour une première initialisation j'ajouterais simplement "premier versement". Vous venez de créer la première révision de votre projet.

Publier votre projet

Le dépôt est prêt. Mais plusieurs cas de figures se présentent...

  1. si vous êtes le seul à travailler dessus et que vous n'avez qu'une seule machine alors c'est bon, vous n'avez rien à faire, juste des commit de temps en temps et votre projet sera enregistré aux moments clés de leurs avancements. Si jamais vous faites de grosses erreurs vous pourrez revenir en arrière...
  2. vous avez votre base de travail sur votre ordinateur et vous désirez publiez votre travail sur une machine que nous appellerons "serveur" qui sera le point central de tous les travaux (c'est ce que propose le launchpad).

Nous allons nous attarder sur le deuxième cas, donc comment envoyer votre travail sur le serveur, comment récupérer ce qui a été modifié par les autres personnes travaillant sur le projet.

Avec la commande précédente bzr commit, vous avez créé la première révision... Plaçons la sur la machine serveur. Je suppose ici que nous allons passer par du ftp sécurisé (sftp), et que le répertoire sur lequel nous allons placer le projet est /home/bast/Codeigniter (il faut noter l'adresse absolue sinon ça ne marche pas).

bzr push sftp://<utilisateur sur le serveur>@<monserveur>/home/bast/Codeigniter

Maintenant vous pouvez travailler en local, faire vos commit de temps en temps.. Mais vous resterez en local. Quand vous voudrez publier votre travail, il faudra suivre un cycle de commande :

bzr merge bzr commit bzr push sftp://<utilisateur sur le serveur>@<monserveur>/home/bast/Codeigniter

Le bzr merge permet de synchroniser le travail en local et sur le serveur, le bzr commit valide les changements dus aux merge, et enfin on publie tout via bzr push.

Récupérer le projet

C'est extrêmement simple et très proche de la commande précédente pour envoyer tout sur le serveur :

bzr branch sftp://<utilisateur sur le serveur>@<monserveur><chemin absolu>

On récupère ainsi la dernière branche du serveur (dernière version du projet courant). Ensuite pour pouvoir travailler dessus et publier son travail, et bien il suffit de faire comme le point précédent, merge, commit et push.

Autre commandes utiles

bzr log

... pour voir l'historique de toutes les modifications

bzr revert -r <un numero de version>

... pour revenir à une version précédente

bzr help <commande> ... pour plus d'information sur une commande bzr, par exemple bzr help revert vous donnera la documentation et des exemples sur l'utilisation de la commande revert.

Conclusion

Voila un premier tutoriel...
Rien de vraiment exhaustif, il manque un gros tas de commande mais je voulais juste montrer un cas concret : ce qui va être utile à mes collaborateurs les mois à venir.

Pour une documentation plus 'documentation', je vous conseille ces quelques excellents liens issus de la documentation francophone de bazaar :

Lorsque je suis passé sous Feisty, il y a trois semaine, j'ai rencontré quelques petits problèmes avec les touches multimédia de mon clavier sous Quod Libet. Pour que tout retourne dans l'ordre, j'ai procédé comme suit :

  1. J'ai téléchargé le plugin de Quod Libet pour les touches multimédia ;
  2. Je l'ai copié dans mon répertoire ~/.quodlibet/plugins/events/ ;
  3. Je l'ai finalement activé dans le menu Greffon de Quod Libet.

Liens :

Je, je, je... Si tu utilisais Rythmbox, couillon, tu n'aurais rien eu à faire...

Je vais essayer de vous présenter dans ce billet les logiciels d'électronique disponibles dans les dépots Ubuntu. Nous allons faire un tour d'horizon en essayant d'être le plus complet possible.

Capa En effet j'ai eu récemment l'envie de me remettre à l'electronique[1]. J'ai donc décidé de chercher un logiciel pour réaliser les schémas de circuit. Mon cahier des charges est le suivant :

  • Logiciel libre[2]
  • Présent dans les dépots ubuntu
  • Facile à utiliser
  • Permettant de réaliser de jolis schémas
  • Intégrant des fonctions de simulation analogique[3]

Voici donc la liste des logiciels que j'ai testé avec mes remarques. Notez quand même que :

  • ça fait des années que je n'ai pas fait d'électronique[4] donc j'ai surement loupé des trucs
  • je ne cherche pas à être exhaustif, si vous connaissez d'autres softs dispo pour Ubuntu, n'hésitez pas à en parler
  • certains tests ont été fait sur une Dapper (ce sera précisé), certaines choses seront alors surement différentes en Feisty
  • pour les simulations, je prendrais comme exemple un circuit très simple, le Pont de Diodes qui permet de redresser un signal sinusoïdal.

Back-ends de simulation

Chip Dans le monde libre il existe principalement deux back-ends qui permettent la simulation de circuits électroniques :

  • gnucap : le projet de GNU
  • spice et dérivés : le plus ancien et répandu. Il a aussi donné naissance à beaucoup de dérivés (ngspice ...)

Gnucap est le seul disponible dans les dépots Ubuntu. ngSpice était disponible en Hoary mais ne l'est plus depuis. Ces programmes sont en ligne de commande et nécessitent un apprentissage de leurs formats d'entrée (nommé netlist) et de sortie avant de pouvoir en faire quoi que ce soit. Nous n'allons pas les étudier ici.

Oregano

Oregano est un logiciel assez jeune mais dont le développement semble plutôt actif. Si vous êtes sous KDE, vous ne couperez pas à l'installation de beaucoup de dépendances Gnome.

Il permet de dessiner des circuits et de les simuler de manière très simple. Il n'intègre pas de simulateur mais se base sur les back-ends gnucap ou ngspice. Il génère la netlist nécessaire, appelle le back-end et met en forme les résultats. Traduit en français, il propose une interface très intuitive et simple d'utilisation. Vous pouvez réaliser votre 1er circuit en quelques minutes.

Par contre c'est un logiciel encore jeune à qui il manque quelques fonctions. Quelques bugs plus ou moins génant sont aussi présents. On ne peut non plus pas exporter d'image du circuit dessiné (mais on peux l'imprimer)

/!\ Cette astuce fonctionnait avec Dapper, mais semble ne plus marcher en Feisty :(
Dans cette version il n'y pas d'inclusion de composants extérieurs pour la simulation (pour les composants qui ne sont pas de base dans gnucap). On peut quand même s'en sortir :

  • une fois le circuit dessiné, afficher la netlist
  • ajouter une ligne comme .include /data/documents/Electronique/lm317.sub
  • cliquez sur le bouton Simuler

Pour finir regardez comme il est beau[5] : Capture

qucs

qucs semble avoir aussi un développement très actif. Il est fournit avec son propre simulateur et n'utilise donc pas gnucap. Son interface (traduite) est encore plus facile à utiliser que Oregano et très puissante. Il semble être pas mal utilisé et il est relativement facile de trouver de la documentation ou des tutoriaux.

Mais gros problème. Impossible de simuler quoi que ce soit avec la version disponible dans Ubuntu ! Même l'exemple tout simple de la documentation plante chez moi. Visiblement, je ne suis pas le seul, voir ce bug sur Launchpad ou ce fil dans les forums officiels.

Heureusement, grâce au commentaire de C. Joubert j'ai trouvé un contournement. Il suffit de lancer qucs en changeant la locale numérique :

LC_NUMERIC=C qucs

Voici donc une capture d'écran : Capture

Pour avoir un aperçu plus complet, regardez par exemple ce tutorial

gEDA / gscheme

gEDA est la suite de logiciels du projet GNU. Son but est d'offrir un environnement complet pour réaliser les circuits, les simuler et dessiner les circuits imprimés. Je n'ai pas cherché à tester cette dernière fonction. gEDA est donc juste une interface pour accéder aux autres applications.

Celle destinée au dessins de schémas est gscheme. Son interface est principalement basée sur des raccourcis clavier. Cela semble déroutant au début mais avec un peu d'entrainement ce fonctionnement devient très pratique. Les schémas réalisés sont d'un rendu très professionel et la bibliothèque de composants disponibles est impressionnante. Il semble très utilisé et il est donc facile de trouver de la documentation. Par exemple sur le wiki gEDA ou même ces très bons tutoriaux traduits en francais.

En ce qui concerne la simulation, il se base aussi sur gnucap ou spice. Mais il n'y a pas d'interface intégrée permettant de simuler en 3 clicks[6]. Vous devez alors utiliser plusieurs logiciels pour affecter les valeurs aux composants, générer la netlist, simuler puis afficher les résultats. De plus si l'intégration de spice est très documentée, gnucap semble aux abonnés absents :(

Pour finir, une capture et un export en PNG du désormais habituel pont de diodes :
Capture Export

kicad

kicad est une suite logicielle déstinée à la réalisation de shémas et circuits imprimés. Il n'est dans les dépots ubuntu que depuis la sortie de feisty. Sachez tout de suite que c'est un logiciel de très grande qualité qui plus est développé par le Français J-P Charras enseignant chercheur.

D'une ergonomie parfaite, il ne permet pas la simulation mais génère des fichiers netlist que vous pouvez donner à manger à spice. Il dispose en outre d'un module de visualition 3D de vos circuits de toute beauté. Inutile donc absolument indispensable :)

Notez quand même un petit bug dans ubuntu, les fichiers d'aide ne sont pas accessible à partir de l'interface de kicad. Vous les trouverez dans /usr/share/doc/kicad/help/fr si vous avez installé le paquet kicad-doc-fr.

Enfin une capture d'écran un peu chargée car j'ai voulu tout vous montrer : Capture

Autres logiciels

Voici quelques autres logiciels que j'avais testé sous Dapper mais qui ne m'ont pas emballé pour diverses raisons. Je ne les ai donc pas ressayé en Feisty mais les cite quand même pour mémoire.

Electric

electric est un logiciel assez ancien mais très (trop ?) puissant. Son interface est ... rustique. Il permet de dessiner des schémas de circuits, des circuits imprimés mais aussi des circuits intégrés ! C'est le seul que j'ai essayé capable de faire cela.

Il permet la simulation via plusieurs moteurs externes ou un moteur interne. Je n'ai pas réussit à en tirer grand chose mais c'est surement un logiciel qui ravira ceux qui ont ces besoins particuliers.

Capture

XCircuit

XCircuit propose une approche un peu différente des autres logiciels. Il est beaucoup plus orienté dessin que juste placement de composants. Son interface et son ergonomie paraissent un poil antédiluviennes. Il permet d'exporter des netlists et des fichiers postcript[7]

Capture

Dia

Dia est un logiciel permettant de dessiner des diagrammes. Il dispose de nombreuses bibliothèques de symboles que vous pouvez intégrer dans vos schémas et parmi celles-çi, des composants électroniques. Il ne dispose d'aucune fonction propre à l'électronique comme l'export de netlist, mais si vous cherchez juste à dessiner quelques schémas il peut tout à fait vous suffire.

Capture

Conclusion

Voila pour ce petit tour des logiciels d'électronique sous Linux. Il resterai beaucoup à dire sur d'autres logiciels tels que ceux spécifiquement destinés à la création de PCB. Il en existe aussi beaucoup permettant de faire de l'électronique numérique[8]. Je pense d'ailleurs bientôt m'attaquer aux logiciels destinés aux microcontroleurs.

Voila, pour finir, félicitations à ceux qui ont tenu jusqu'au bout ;) et n'hésitez pas à me signaler les logiciels que j'aurais pu oublier.

Notes

[1] comme si j'avais pas déjà assez galéré à l'école

[2] Je ne parlerai donc pas de Eagle ni de faire tourner quoi que ce soit avec Wine

[3] l'électronique numérique reviendra peut-être en deuxième semaine

[4] en particulier analogique

[5] Hum le résultat de la simulation est assez étrange

[6] oui, je suis un gros fainéant

[7] J'avais noté deux bug en dapper et edgy : #42976 et #75456

[8] je ne résiste d'ailleurs pas à linker ce joli compteur à bascule que je me suis amusé à faire avec KLogic

vous avez voulu passer de dapper > edgy, ou de edgy > feisty...?
c'est malin, maintenant le pc ne démarre plus

c'est grave docteur ?

Ben en fait, pas vraiment...heureusement que vous utilisez un système d'exploitation performant :)

j'ai eu par 3 fois récemment l'occasion de réparer des install plantées pendant la mise à niveau ubuntu 6.10 > ubuntu 7.04, récupérées a chaque fois

une première fois à priori à cause des drivers nvidia installé via envy, au passage, je déconseille fortement l'utilisation de ce genre de scripts sensés simplifier les choses et qui au final les rendent plus compliquées

et une autre avec un gus (il se reconnaitra) qui trouvait que c'était trop long et qui a interrompu la MAJ pour la reprendre le lendemain, évidemment, le pc n'a pas rebooté :-p

En pratique le principe est très simple, il suffit de se munir d'un live CD, et de booter dessus

ouvrir un terminal et repérer la partition racine du système avec fdisk

$sudo fdisk -l

Disque /dev/sdc: 81.9 Go, 81964302336 octets
255 têtes, 63 secteurs/piste, 9964 cylindres
Unités = cylindres de 16065 * 512 = 8225280 octets

Périphérique Amorce Début Fin Blocs Id Système
/dev/sdc1 1 1275 10241406 83 Linux
/dev/sdc2 1276 1414 1116517+ 82 Linux swap / Solaris
/dev/sdc3 1415 8049 53295637+ 83 Linux
/dev/sdc4 8050 9964 15382237+ 83 Linux

dans cet exemple sdc1

on va ensuite monter cette partition...
commencer par créer le repertoire de destination


sudo mkdir /mnt/sdc1

et monter la partition


sudo mount /dev/sdc1 /mnt/sdc1

monter ensuite /proc dans ce repertoire (étape qui s'est révélée indispensable pour débloquer la mise a niveau de powernowd), et recopier le resolv.conf pour profiter de la connection internet

sudo mount -o bind /proc /mnt/sdc1/proc
sudo cp /etc/resolv.conf /mnt/sdc1/etc/resolv.conf

enfin, chrooter sur le systeme planté


sudo chroot /mnt/sdc1 su

voilà, vous etes maintenant root dans le systeme planté
Commencez par vérifier que les dépot pointent bien vers feisty avec


apt-get update

et finir la migration avec


apt-get dist-upgrade

si besoin, désinstaller/réinstaller les paquets bloquants avec aptitude, vérifiez la présence des paquets ubuntu-base, ubuntu-minimal, ubuntu-desktop
Il est souvent nécessaire de relancer la commande dist-upgrade à de nombreuses reprises, c'est normal, insistez longuement apres avoir viré tous les paquets bloquants puis après les avoir réinstallés

Pour éditer les fichiers, utilisez nano (éditeur de texte dans le terminal)

bon courage :D

05 Juin 2007 à 10:16

Et la feisty, alors ? via Breizh ardente

oui oui, promis, l'adaptation du tuto pour la feisty arrive bientôt...

je ne me suis pas fatigué à le refaire pour edgy, mais pas mal de nouveautés sont arrivées dans l'installeur de la feisty qui de révèle aussi encore plus simple d'usage une fois installée.

Je pense qu'elle mérite donc une place sur ce blog, même si on retrouve maintenant pas mal de tutos illustrés en ligne, juste histoire de continuer a faire vivre le site

Les captures sont prêtes, il ne reste qu'un peu de rédaction à revoir

ATTENTION, ceci ne concerne que les propriétaires de MacBook, et c'est à leurs risques et périls, ne le faites que si vous savez à quoi ça correspond !

Ce billet est la traduction de celui disponible sur Ubuntu tutorial : customiser son xorg.conf pour un macbook - notamment le double-tap, le clique droit et la molette, etc.

Changer la configuration du trackpad

Normalement ce qui est fourni ci-dessous vous permet de configurer "au poil" votre trackpad pour un MacBook. Je n'ai malheureusement pas encore pu le tester, car mon lecteur CD est mort et je ne peux donc pas installer ubuntu.

L'article rappelle qu'il faut surtout faire une sauvegarde de son fichier avant de le changer. Ce qui revient à faire :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_save sudo gedit /etc/X11/xorg.conf

Allez à la ligne 61 et remplacer toute la section InputDevice par celle-ci

Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "CorePointer" Option "Device" "/dev/input/mouse1" Option "Protocol" "auto-dev" Option "LeftEdge" "20" Option "RightEdge" "1000" Option "TopEdge" "17" Option "BottomEdge" "700" Option "FingerLow" "5" Option "FingerHigh" "7" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "MaxDoubleTapTime" "180" Option "TapButton2" "3" Option "TapButton3" "2" Option "VertScrollDelta" "7" # turn off horizontal scrolling #Option "HorizScrollDelta" "0" Option "MinSpeed" "0.79" Option "MaxSpeed" "0.88" Option "AccelFactor" "0.0015" Option "LeftRightRepeat" "0" Option "UpDownRepeat" "0" Option "UpDownScrolling" "on" # turn off corner buttons Option "RTCornerButton" "0" Option "RBCornerButton" "0" Option "LTCornerButton" "0" Option "LBCornerButton" "0" # edge motion Option "EdgeMotionUseAlways" "0" Option "EdgeMotionMinZ" "25" Option "EdgeMotionMaxZ" "60" Option "EdgeMotionMinSpeed" "150" Option "EdgeMotionMaxSpeed" "200" Option "SHMConfig" "on" EndSection

Dans l'avant-dernière section, nommée "ServerLayout", il faut remonter la ligne contenant synaptics afin qu'elle soit AVANT la "Configured Mouse" :

InputDevice "Synaptics Touchpad" InputDevice "Configured Mouse" "SendCoreEvents"

Relancer la session en redémarrant l'ordinateur ou tout simplement en quittant le serveur X via les touches ctrl+alt+bksp

Dites moi si la gestion du trackpad est améliorée..

Pour revenir en arrière..

Si jamais cette configuration ne vous plait pas, alors il suffira de charger votre configuration précédente que vous avez pris soin de sauvegarder :

sudo cp /etc/X11/xorg.conf_save /etc/X11/xorg.conf

Relancer la session en redémarrant l'ordinateur ou tout simplement en quittant le serveur X via les touches ctrl+alt+bksp

Nous allons voir dans cet article comment utiliser graphiquement un bureau linux distant à partir d'une machine windows ne disposant que de l'outil de connexion à distance fournit par Microsoft.

Introduction

NCD ThinSTAR Imaginez que vous ayez une machine Linux[1] et que vous vouliez en prendre le contrôle à partir d'une machine Windows. Facile, on installe VNC ou un serveur X sur le client et hop ça roule !

Mais si vous ne pouvez rien installer sur le Windows ? C'est assez fréquent en entreprise. Il ne vous reste que le client de connexion à distance de Microsoft. Hors celui-çi utilise un protocole propriétaire non nativement supporté sous Linux : RDP. Flûte voici une impasse.

Ne vous désolez pas si vite, il existe une solution ! J'ai nommé xrdp. Il s'agit d'une sorte de proxy qui sera serveur RDP pour le client windows et client VNC pour un serveur sous Linux.

Mais quelle drôle d'idée ! En fait non, j'ai acquis il y a peu de temps un client léger ThinSTAR 400. Malheureusement, celui-ci n'est prévu pour fonctionner qu'avec des serveurs sous Windows[2]. Voila donc pourquoi je me suis intéressé à cette solution[3]

Shema

Installation

Note : Je viens de voir qu'une nouvelle version est sortie (0.4 le 2 juin) Je n'ai pas trouvé de ChangeLog, mais un diff des répertoires indique que le code n'a pas changé, seulement quelques fichiers textes. Donc fonctionnellement elle est identique à celle que je vous propose.

Ce soft n'est pas disponible dans les dépots il va donc falloir mettre un peu les mains dans le cambouis. La deux solutions :

  • compiler à partir des sources, je vous renvoi alors vers les liens en fin d'article. Mais regardez quand même la section patches, car certaines modifications sont nécessaires pour qu'il fonctionne correctement ;
  • utiliser la version déjà compilée et patchée que je vous fournit gracieusement, c'est ce que je vais détailler ci-dessous.

Vous trouverez donc la : xrdp-0.3.2-fr-feisty.tar.bz2 une version fonctionnelle pour Ubuntu Feisty qu'il vous suffit de décompresser dans /opt. Attention le répertoire est important car pleins de chemins sont compilés en dur dans le code :( Cela vous créera un répertoire xrdp avec tout ce qu'il faut[4].

Il vous faut aussi le paquet vnc4server. Par exemple, vous pouvez l'installer avec :

sudo aptitude install vnc4server

Modifiez ensuite le fichier /opt/xrdp/bin/startwm.sh pour lancer le windows manager qui vous convient. Par défaut il s'agit de KDE, les commentaires dans le fichier sont assez clairs.

Bien entendu, cette version est fournie sans autre garantie que chez moi ça marche. Si vous ne me faites pas confiance, vous trouverez ci-dessous les modifications que j'ai apportés pour pouvoir recompiler votre propre version.

Utilisation

Voyons maintenant comment utiliser xrdp pour se connecter à partir de Windows. C'est assez simple :

Lançons d'abord xrdp. L'option nodaemon peut être enlevée à terme.

cd /opt/xrdp/bin ./xrdp -nodaemon

Ensuite sesman qui est le gestionnaire de session et qui gère l'authentification. Il doit être lancé en tant que root.

sudo ./sesman --nodaemon

Vous pouvez tester le login avec la commande suivante. <user> et <password> doivent bien entendu être remplacés par les bonnes valeurs. Les chiffres correspondent à la résolution de l'écran.

./sesrun localhost <user> <password> 1024 768 24

Enfin, il vous suffit de vous connecter à partir du client Windows.
Attention lors du login, le clavier est en qwerty !

Fenêtre de Login

Et voila une nouvelle session X est ouverte ! Screenshot C'est une kubuntu ouverte à partir d'un windows virtualisé sous la même kubuntu. Vous suivez ?

La même session, mais à partir de mon NCD ThinSTAR sous Windows CE : Screenshot

Patches

Plusieurs bugs posent problème pour utiliser la version vanilla de xrdp sous Ubuntu en français.

Tout d'abord xrdp ne sait gérer qu'un clavier Américain. Mais on trouve sur le site sourceforge un hack pour le clavier Allemand. Je l'ai adapté pour le clavier Français. Il reste quand même quelques limitations :

  • la touche AltGr est remplacée par la touche Alt gauche. Pensez-y pour les caractères comme @ # ...
  • les touches accentuées semblent ne pas fonctionner dans tous les cas :(
  • seul le clavier de base est géré, vous n'aurez pas accès à toute la keymap fr-latin9, adieu € Æ « et autres spécificités.

Ensuite, la paquet Xvnc fournit par Ubuntu est buggé et nécessite des options spécifiques pour fonctionner correctement. J'ai ajouté celle-ci aux paramètres de lancement qui sont eux aussi codés en dur dans xrdp.

En cas d'échec de l'authentification, sesman affiche aussi le user/password en clair, ça m'a été bien utile pour voir que le login se faisait en qwerty :)

Pour plus de détails, vous pouvez jeter un oeil aux modifications que j'ai apporté au code. Vous trouverez la xrdp-0.3.2-fr-feisty.diff les différences complètes entre la version vanilla et celle que je vous propose.

Quelques liens

Notes

[1] vous devez être beaucoup parmi mes lecteurs :)

[2] On peux lui installer un serveur X, mais je n'ai pas les softs pour

[3] Oui, c'est mon blog, je raconte ma vie si je veux !

[4] Je n'ai pas eu le courage de me lancer dans la création d'un paquet, si cela dit à quelqu'un ...

01 Juin 2007 à 16:47

Franciser phpLDAPadmin via BastNic's Blog

phpLDAPadmin est une interface web d'administration d'annuaires LDAP. Vous pouvez l'installer par la commande

sudo aptitude install phpldapadmin

Et la documentation sur les annuaires OpenLDAP se trouve sur le wiki ubuntu-fr. Néanmoins je ne parlerais ici que de sa traduction et non de son utilisation.

46 /* The language setting. If you set this to 'auto', phpLDAPadmin will attempt 47 to determine your language automatically. Otherwise, available lanaguages 48 are: 'ct', 'de', 'en', 'es', 'fr', 'it', 'nl', and 'ru' 49 Localization is not complete yet, but most strings have been translated. 50 Please help by writing language files. See lang/en.php for an example. */ 51 //$config->custom->appearance['language'] = 'auto';

D'après l'aide, pour passer l'interface en français il faut décommenter la ligne et mettre fr. Mais tel quel, ça ne marche pas !

Analysons le problème : Sur Ubuntu, le paquet installe par défaut les fichiers dans /etc/phpldapadmin/ pour les fichiers de conf et templates et dasn /usr/share/phpldapadmin/ pour les fichiers systèmes. Le passage que j'ai cité ci-dessus se trouve dans /etc/phpldapadmin/config.php.

Fichier /usr/share/phpldapadmin/lib/common.php, ligne 121 :

121 # Grab the language file configured in config.php 122 if ($language != null) { 123 if (strcmp($language,'english') == 0) 124 $language = 'en_GB'; 125 $language_file = LANGDIR.$language ; 126 127 # Set language 128 putenv('LANG='.$language); # e.g. LANG=de_DE 129 setlocale(LC_ALL,$language.".UTF-8"); # set LC_ALL to de_DE 130 bindtextdomain('messages',LANGDIR); 131 bind_textdomain_codeset('messages','UTF-8'); 132 textdomain('messages'); 133 header('Content-type: text/html; charset=UTF-8', true); 134 }

On constate dans ce bout de code que les instructions sur la langue doit-être du type 'fr_FR' plutôt que 'fr'.

Fichier /etc/phpldapadmin/config.php, ligne 51

51 $config->custom->appearance['language'] = 'fr_FR';

Update du 3/06 : En fait il existe une méthode auto_lang justement pour passer la langue de "fr" à "fr_FR". Du coup la modification devient.

Fichier /usr/share/phpldapadmin/lib/common.php, ligne 125 :

125 $language = auto_lang($language);

Malgrès cette correction, phpLDAPadmin n'est toujours pas en français.
Heureusement, bien que ce soit assez peu documenté sur Internet, on trouve assez facilement qu'il manque ligne 129 une précision sur le codage du texte. phpLDAPadmin est tout en UTF-8, on en conclut donc qu'il faut ajouter :

Fichier /usr/share/phpldapadmin/lib/common.php, ligne 129 :

129 setlocale(LC_ALL,$language.".UTF-8"); # set LC_ALL to de_DE

On recharge la page, et tout est maintenant en français.

Rapport de bug : Bug 118322 signalé sur le launchpad.

Logo DELL Ce que l'on annonçait depuis l'enquête de DELL auprés des utilisateurs GNU/Linux est arrivé : Dell va vendre des machines sous Ubuntu Feisty Fawn 7.04! cette offre n'étant pour l'instant réservée qu'au marché américain, on espère tous qu'elle se déploie le plus vite possible à d'autres pays, entre autre, l'Europe.

Trois modèles devraient être disponible dans un premier temps sous Ubuntu 7.04 :
- le DELL Dimension E520n : un PC bureautique bien équipé
- le DELL Inspiron E1505 : un portable
- et enfin le XPS410n : bécane de course pour le jeu, et il y en a beaucoup sous Linux, et des bons

L'avantage d'avoir un système gratuit préinstallé et que les prix de ces PC vont être "relativement" bon marché, les prix annocés sont entre 600$ et 900$ : l'économie d'un OS étant bon à prendre mais surtout un "choix" supplémentaire pour le consommateur.

Dell annonce aussi qu'il fera des efforts dans le developpement de ses pilotes pour l'environnement GNU/Linux, partie qui pêche en général pour une majorité des constructeurs. Il fournira aussi, via Canonical, un support technique le cas échéant, celui-ci étant payant mais qui a pour le moins le mérite d'exister.

Pour plus de détails sur cette offre, rendez-vous sur le forum Ubuntu:
http://www.ubuntu.com/dell

Liens sources:
http://www.zdnet.fr/actualites/informatique/0,39040745,39369597,00.htm
http://www.lemonde.fr/web/depeches/0,14-0,39-31014315@7-37,0.html
http://direct2dell.com/one2one/archive/category/1021.aspx

Pages