Servez-vous

du logiciel libre, du boggle, du java, de la ligne de commande...

Contibuer à OpenStreetMaps sans GPS: mode d'emploi

Si vous souhaitez contribuer à ce projet incroyable qu'est OpenStreetMaps mais que vous n'avez pas de GPS (ce qui est mon cas), vous pouvez tout de même être utile en contribuant à enrichir les "tags".

Les tags sont tout simplement des renseignements sur des points ou sur des portions de route qui permettent de rendre "utile" l'information délivrée par le serveur. Je pense que des tags riches sont très importants pour qu'une carte donne des informations au lecteur (sur une carte classique, la couleur et bien sûr le texte jouent le rôle de tag)

Comme je l'avais dit dans un ancien article, on peut aussi utiliser les photos satellites fournies par Yahoo mais cela s'est révélé inutile dans les zones que j'ai cherché à enrichir, la définition y était trop mauvaise (voire inexistante)

Première étape: créer un compte OpenStreetMaps

Pour cela il suffit de se rendre ici ! Vous aurez par la suite besoin du login et du mot de passe pour downloder et uploader des données sur le serveur OSM

Deuxième étape: télécharger et lancer JOSM

Afin d'éditer facilement des portions de carte, on va utiliser un éditeur "offline" en java, j'ai nommé JOSM. Vous pouvez aller récupérer la dernière version du logiciel (une archive jar) sur le site. Une fois l'archive téléchargée, lancez là à l'aide de la commande
java -jar josm-tested.jar
(trop simple java...)

Troisième étape: : downloader la portion de carte qui vous intéresse

Une fois josm lancé, faites Fichier > Téléchargement depuis OSM
Sélectionnez par un rectangle la zone à télécharger (et renseignez vos login et mot de passe la première fois)

Cette action équivaut à faire un checkout pour les habitués à svn

Quatrième étape: tagguez !

Voilà la partie amusante :)
Pour tagger un lieu sélectionnez l'outil "dessiner un noeud" (barre d'outil à gauche) puis double-cliquez à l'endroit où vous voulez placer le tag. Utilisez ensuite le menu "Balises" pour donner des informations.

Exemple: ajout d'une station de velib

Sélection de l'outil dessin de noeud

Tracé par double click

Balises > Vélos > Location

Dernière étape: appliquer les changements faits sur le serveur

Cette étape équivaut à un commit en svn
il ne vous reste plus qu'à appliquer les changements effectués en utilisant l'icone "Envoyer les changements sur le serveur OSM"

Au moment où on vous le demande, renseignez de façon concise en quoi consiste votre modification.

Et voilà ! On peut bien sur modifier des informations sur des portions de route, sur des zones... josm est très intuitif et très facile à explorer, je vous fait confiance !

Gérer les archives

J'aime beaucoup les options "créer une archive" et "extraire ici" du click droit de gnome car elles permettent de ne pas se prendre la tête avec les différents formats d'archives.

Cependant il est bon de savoir le faire autrement, pour ne pas se retrouver démuni quand on a plus d'interface graphique. (serveur, ordi planté...)

Voilà donc un petit récapitulatif pense-bête, sur comment compresser-décompresser des archives de différents formats en supposant que je veuille compresser ou décompresser le dossier "archive".

tar

Compresser:
tar -cf archive.tar ./archive
Décompresser:
tar -xf archive.tar


tar.gz

Compresser:
tar -czf archive.tar.gz ./archive
Décompresser:
tar -xzf archive.tar.gz


tar.bz2

Compresser:
tar -cjf archive.tar.bz2 ./archive
Décompresser:
tar -xjf archive.tar.bz2

zip

Compresser:
zip -r archive.zip ./archive
Décompresser:
unzip archive.zip

Utiliser une wiimote sous linux

Cet article commence a dater... Si vous n'y trouvez pas votre bonheur allez faire un tour sur la documentation ubuntu pour la wiimote.

Cet article décrit les différentes étapes d'une solution pour utiliser une wiimote sous linux. Pour utiliser la wiimote comme un contrôleur, vous avez besoin d'une wiimote bien sûr, et d'un émetteur/récepteur BlueTooth. Niveau software nous allons utiliser cwiid.

Téléchargement:
Pour commencer télécharger les sources sur le site officiel. Extraire ensuite tout ça dans un coin propre de votre arborescence (/opt est plus ou moins fait pour ça). Lancez ensuite une console avec votre gestionnaire de paquet, vous allez en avoir besoin.

Installation:
La procédure d'installation est un peu complexe, mais est très bien décrite dans cet article de jeuxlinux.

Configuration et utilisation:
Une fois l'installation terminée et les tests de fonctionnement faits vous disposez alors d'un programme vous permettant de contrôler la souris et/ou le clavier. La description des correspondances Wiimote/Touche Clavier/Souris se fait dans un fichier de conf que l'on passe en argument à winput au lancement.
Le mieux est de mettre ce fichier de conf là ou va chercher wminput par défaut (/usr/etc/cwiid/wminput sur fedora) On lancera ensuite wminput à l'aide la commande:

wminput -c exemple.conf


exemple.conf prenant la forme suivante:
Wiimote.Up = KEY_UP
Wiimote.Down = KEY_DOWN

Wiimote.Left = KEY_LEFT
Wiimote.Right = KEY_RIGHT


Avec les associations de notre choix. Liste des inputs possible pour la Wiimote: A , B , Up , Down , Left , Right , Minus , Plus , Home , 1 , 2

L'accélération s'utilise de la façon suivante:
Plugin.acc.Roll = ABS_X
Plugin.acc.Roll_Scale = 2.0
Plugin.acc.Pitch = -ABS_Y
Plugin.acc.Pitch_Scale = 2.0

avec modification du pitch scale pour plus ou moins de sensibilité au mouvements.

La syntaxe des principales touches du clavier est :
lettre [A..Z]KEY_lettre [KEY_A ... KEY_Z]
enterKEY_ENTER
espaceKEY_SPACE
controleKEY_LEFTCTRL
shiftKEY_LEFTSHIFT
tabulationKEY_TAB
altKEY_LEFTALT
touche haut, bas, gauche, droiteKEY_UP , KEY_DOWN , KEY_LEFT , KEY_RIGHT

Par défaut le dossier ( /usr/etc/cwiid/wminput je vous le rappelle) contient déjà des fichiers de configuration tout fait, mais que vous aurez probablement besoin de retoucher suivant vos besoins (présentation , jeux , télécommande...)

Bonne wiimote sous linux, et si vous avez des questions ou des problèmes n'hésitez pas, j'essaierai de vous aider.

Libérez vos musiques

Si vous souhaitez libérer facilement votre bibliothèque musicale, je vous conseille soundconverter. Cet utilitaire (graphique) vous permet de sélectionner plusieurs fichiers ou un répertoire entier, et de convertir en masse au format voulu (ogg :). Le programme est très simple et intuitif.
Vérifiez tout de même que les options dans Edition->Préférences vous conviennent, notamment la qualité audio.

Un autre programme, oggconvert peut lui aussi réaliser cette conversion, mais pas en masse.

Attention cependant, la conversion mp3<->ogg affecte la qualité sonore (recompression d'un fichier compressé). Pour une qualité optimale, mieux vaut encoder directement à partir d'un format sans perte (cd audio, wav, flac...) quand cela est possible.

À l'inverse il peut être utile de convertir un fichier ogg au format mp3 ( problème de compatibilité par exemple). ffmepg se chargera très bien de ce travail avec la commande:
ffmpeg -i original_song.ogg new_song.mp3 -ab 192
Commande qui vous rappellera peut-être la commande de conversion de vidéo ogv au format avi. La différence est qu'il faut préciser le bitrate audio du fichier mp3 (-ab 192).

zenity: la plus simple des interfaces graphiques

Zenity est un programme qui permet d'afficher des boîtes de dialogue à partir de la ligne de commande et donc d'un script shell. Pour l'installer utilisez votre gestionnaire de paquets favoris, il est dans la majorité des dépôts. Quelques exemples de ce que peut faire zenity:
  • fenêtre d'information: zenity --info --title="Le titre de la fenêtre" --text="Le texte de la fenêtre d'information." 111.png
  • fenêtre de saisie: zenity --entry --title="Champ à remplir" --text="Ça va toujours?" --entry-text="répondez ici" 222.png
  • question zenity --question 333.png
  • choix d'un fichier (pour un répertoire ajouter l'option --directory) zenity --title="Choix du répertoire" --file-selection 444.png
  • barre de progression zenity --progress
Hé ! la barre de progression ne fait rien et reste bloquée ! En effet zenity (comme beaucoup d'autres programmes) communique par des pipes (symbole "|") qui sont des "tuyaux" virtuels par lesquels transitent des données et qui permettent de faire communiquer des programme entre eux. Ainsi pour utiliser la fonction progress de zenity il vous faut connecter zenity à un script ou un programme qui écrit l'avancement en % sur la sortie standard :
progress=0;while [ $progress -le 100 ]; do echo $progress; let $[ progress += 5 ]; sleep 1; done | zenity --progress
555.png Vous pouver récupérer les valeurs produites par zenity (nombre, nom de fichier...) resultat=$( zenity --entry) ou les envoyer à un autre programme/script via un pipe
zenity --entry | calcul.sh


Certaines fonctions comme zenity --question ne renvoient pas directement de valeurs, il faut regarder leur valeur de retour:
zenity --question
echo $?


Mais zenity propose encore d'autres fonctions comme calendar, error, list, warning, scale... Pour plus de détails je vous invite à regarder zenity --help et le man qui sont très complets et clairs. N'hésitez pas à poser des questions. À venir bientôt un script utilisant zenity !

OpenStreetMap: un projet de cartographie libre

my-map-travel_tpdk-casimir_divers.png Connaissez vous OpenStreetMap ? Ce projet ambitieux a pour but de cartographier les routes du monde entier, mais ce uniquement grâce aux contributions de la communauté (même fonctionnement que wikipédia) Plusieurs méthodes pour contribuer:
  • activer son gps pendant un trajet quelconque puis exporter le trajet vers OpenStreetMap -> modeeeurn
  • faire le tracé des routes et chemins à la main à partir d'images satellites -> galérien
Une seule règle: les contributeurs ne doivent pas recopier des cartographies existantes (GoogleMaps, IGN...) pour conserver la liberté du projet. Une alternative libre et crédible à GoogleMaps, j'ai été bluffé !