Servez-vous

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

Keyword - Planet-Libre

Fil des billets - Fil des commentaires

Sortie de b@ggle version 2.3

La version 2.3 de b@ggle (logiciel libre de jeu de boggle en réseau) est disponible !

Au menu de cette nouvelle version

  • possibilité d'afficher toutes les solutions de la grille (à la fin de la partie !)
  • dans l'écran d'accueil, meilleure gestion du cas où le joueur n'est pas encore dans le classement
  • le hash visuel (vizhash) pour chaque salon est maintenant basé sur l'IP uniquement, c'est plus clair
  • petite animation au changement de chaque grille
  • meilleure gestion du statut automatique "en pause" coté serveur

Installation / mise à jour

Vous pouvez télécharger cette nouvelle version à cette adresse. Si vous utilisez une version précédente vous serez notifié automatiquement de cette nouvelle version avec le lien de téléchargement. Si vous passez par java web start, rien à faire !

Participer

Pour remonter un bug ou proposer des amélioration, rendez vous sur la forge ou ce logiciel est développé.

Site officiel: baggle.eu

Forge: codingteam.net

"Les interfaces graphiques en java sont forcémment moches" -> FAUX !

java.png

J'entends souvent dire que les interfaces graphiques en java sont forcémment moches, c'est faux !

La vérité c'est que le "look and feel" Metal par défaut n'est pas vraiment réussi. Mais il est tout à fait possible de changer ce look and feel au lancement de l'application ("Nimbus" par exemple, qui est déjà mieux)

Cependant pour moi la meilleure solution reste tout de même d'utiliser le look and feel du système quand il est disponible, afin d'obtenir une application totalement dans le thème du reste du système sur lequel elle tourne.

Pour ce faire, voici un bout de code, à appeler dans votre programme java avant l'initialisation de l'interface:

 public static void setBestLookAndFeelAvailable(){
   String system_lf = UIManager.getSystemLookAndFeelClassName().toLowerCase();
   if(system_lf.contains("metal")){
       try {
           UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
       }catch (Exception e) {}
   }else{
       try {
           UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
       }catch (Exception e) {}
   }
 }

Et voilà le résultat (même programme, sous linux puis sous mac)

baggle-2.2_linux.png baggle-2.1-mac.png

B@ggle 1.3 - un tableau des scores

jouer au boggle

B@ggle, le jeu de boggle libre en réseau passe en version 1.3 !

Au menu de cette version un robot activable quand on se trouve seul sur un salon de jeu, des optimisation du temps de résolution de la grille coté serveur, et surtout un tableau des scores !

Ajout d'un robot:

Vous avez maintenant la possibilité, à condition d'être seul dans un salon, d'ajouter un robot joueur. Vous pouvez régler sa force de 1 à 5 étoiles, selon votre propre niveau.

Tableau des scores:

Le tableau des scores, disponible sur le site officiel comporte différents classements selon plusieurs critères, comme le nombre de points total gagnés, le scores maximum en une partie, le nombre d'adversaire battus... Il y en a pour tous les goûts ! Il est calculé à partir des parties des 5 derniers jours et est mis à jour en temps réel. Pas besoin de s'inscrire, jouez, vous êtes dans le classement 5 minutes après.

Optimisation du temps de résolution

Le temps de résolution coté serveur passe de 3 sec  à quelques dizaines de millisecondes ! (vérification des préfixes dans le dictionnaire avant de vérifier le mot complet). Cette optimisation profite aussi au client avec le robot...

Et d'autres fonctionnalités plus discrètes:

- changement de l'emplacement et du contenu du fichier de config coté client (#1802)
- bouton direct vers la page des scores
- lancement automatique d'une partie quand un nouveau joueur arrive et est seul sur le salon

Téléchargement de la dernière version

Site officiel

Tableau des scores

B@ggle sort en version 1.2: arrivée de l'anglais

jouer au boggle

Après plusieurs semaines de développement actif, b@ggle est maintenant disponible dans sa version 1.2.

La principale nouveauté est la possibilité de jouer en anglais !
Une nouvelle option dans le serveur (-L pour langage) permet de choisir de jouer en français (-L fr) ou en anglais (-L en). Le dictionnaire utilisé ainsi que la probabilité des  lettres  est différente suivant la langue. Ainsi un deuxième salon "officiel" voit le jour, mais en anglais celui là. La langue du serveur est représentée par un petit drapeau au moment de choisir le salon où se connecter.

Coté client, cela a été aussi l'occasion de le traduire en anglais (merci beaucoup Clément pour la traduction) Par ailleurs les deux méthodes de sélection des mots par click ont été fusionnées en une seule: click sur la premère lettre, déplacement de la souris puis click sur la dernière lettre du mot. A noter une modification au niveau du look and feel pour les personnes utilisant Linux (abandon total du look and feel "Metal")

Et enfin dans la catégorie des choses importantes qu'on ne voit pas, l'architecture du serveur a été entièrement refondue (mais les fonctionnalités sont restées les mêmes) afin d'apporter plus de robustesse. Enfin bonne nouvelle pour les administrateurs de serveurs, il semblerait qu'une interface d'administration soit en cours de développement... à venir dans la version 1.3 !

Télécharger la nouvelle version sur codingteam

Tutoriel: créer une image d'accueil colorée pour le terminal

Ce petit tutoriel va vous expliquer comment obtenir une "image" d'accueil qui s'affichera dans les terminaux que vous lancez.

Résultat que vous devez obtenir à la fin de ce tutoriel:

L'image utilisée se trouve ici

1ère étape: télécharger climage

Si vous ne souhaitez pas installer climage vous pouvez télécharger l'image générée et passer directement à l'étape 3.

Pour générer cette "image" au format texte nous allons utiliser le logiciel libre climage disponible ici. Ce logiciel a deux dépendances qui sont python et python-imaging et qui sont dans les dépôts de toutes les bonnes distributions.

Une fois l'archive téléchargée et décompressée, il suffira d'exécuter le script climage.sh sans installation préalable (éventuellement rendre climage.sh executable à l'aide de la commande chmod +x climage.sh).

2ème étape: générer l'image au format texte

Lancez un nouveau terminal et laissez le à sa largeur par défaut.
Exécutez la commande
./climage.sh  /raccourci/vers/votre/image

Si vous avez correctement installé les dépendances citées ci-dessus, votre image s'affiche dans votre terminal sous forme pixelisée (comme dans la capture d'écran ci-dessus).
Il ne nous reste qu'à enregistrer la sortie de cette commande dans un fichier avec:
./climage.sh /raccourci/vers/votre/image > ~/.image_accueil.txt


3ème étape: afficher l'image à chaque lancement d'un nouveau terminal

Pour que l'image s'affiche dans les terminaux que l'ont va lancer, il faut ajouter la ligne cat ~/.image_accueil.txt à la fin du fichier ~/.bashrc
Pour cela vous pouvez utiliser la commande
echo "cat ~/.image_accueil.txt" >> ~/.bashrc


Relancez un terminal, le tour est joué !

Site officiel de climage

Parler à un utilisateur loggué en console

Voici une astuce pour écrire un message à un utilisateur connecté en console à un système unix.

Première étape: trouver sur quel terminal est connecté l'utilisateur à qui on veut parler. Pour cela on va utiliser la commande 'who'

[edouard@inouire.net ~]$ who
edouard  pts/0        2010-06-23 19:24 (:0.0)
louiz  pts/1        2010-06-23 20:17 (:0.0)

On peut voir que louiz est connecté à pts/1.

Deuxième étape: taper la commande

write louiz pts/1

(à adapter suivant le résultat de la commande 'who')

puis écrire ce que l'on veut en tapant 'enter' en fin de phrase. L'utilisateur connecté devrait alors recevoir vos message (mais il garde la main sur son terminal, heureusement! )

Pour mettre fin à cette communication, il suffit de faire un CTRL-D

Pour refuser l'accès en écriture à votre terminal (merci SQP)

mesg y

et pour l'autoriser

mesg n

Et si ce concept de chat vous semble trop limité, vous pouvez toujours jeter un oeil sur poezio, le meilleur client jabber en ligne de commande ;)

Sortie de B@ggle version 1.0


Après plusieurs mois d'attente insoutenable, b@ggle est enfin disponible en version 1.0: il comporte maintenant toutes les fonctionnalités que je souhaitais lui donner à la base, et a atteint un certain niveau de stabilité.


Cette nouvelle version (qui est présente dans la forge depuis un petit moment déjà) apporte quelques nouveautés, comme:

Pour le client:
  • fenêtre de connexion améliorée
  • notification si on est le seul joueur connecté et que quelqu'un arrive
  • un nouvel avatar "tux"

Pour le serveur:
  • changement du message d'accueil que les joueurs voient quand ils se connectent (option '-m')
  • possibilité de changement de l'url du master serveur (et donc potentiellement déploiement d'un autre réseau complètement indépendant de inouire.net)

et bien sûr corrections de petits bugs en tout genre.

Je vous invite à mettre à jour vos versions en allant sur la page de téléchargement ou votre gestionnaire de paquet sous fedora et archlinux.

Au programme pour la suite, en vrac:
  • traduction dans d'autres langues (nécessite les plateaux de jeu des langues concernées)
  • implémentation python du client (je vais essayer de faire ça...)
  • implémentation c++ du serveur (là il faut quelqu'un , n'hésitez pas à vous manifester !)
et vos idées bien sûr.
jouer au boggle

Signer simplement une archive jar

Afin de ne pas avoir des droits restreints sur l'ordinateur sur lequel elle est exécutée, une application lancée via java web start doit être signée. Le problème, c'est qu'acheter un certificat coute plusieurs centaines d'euros... un peu cher quand on veut juste faire sa petite application qui ne rapportera pas un sou, mais qu'on ne veut pas pour autant qu'elle soit bridée.

La solution pour contourner le problème consiste à auto-signer l'archive. Ce certificat appelé "certificat de test" (mais personne n'est dupe je pense...) sera valide pendant une durée de 6 mois à partir du moment ou il aura été généré. Au lancement de l'application il sera demandé à l'utilisateur si il fait confiance au producteur de l'application, et c'est tout.

L'auto signature se déroule en trois étapes, les deux premières étant à effectuer seulement la première fois.

1.

keytool -genkey -keystore myKeyStore -alias Edouard
Quelques questions sont posées, si on ne veut pas répondre il suffit de taper "entrée"

2.

keytool -selfcert -keystore myKeyStore -alias Edouard
On autosigne notre keystore

3.

jarsigner -keystore myKeyStore jarfile.jar Edouard
Autosigne l'archive jar passée en argument (le mot de passe utilisé pour la création du keystore est alors demandé)

Et voilà ! Vous pouvez utiliser votre archive sans restriction pour java web start, comme ici.

source: sun.com

Tutoriel d'utilisation de java web start

Java web start est une "technologie" de Sun (Oracle...) qui permet de lancer une application java depuis un navigateur internet. Attention ça n'est pas une applet, la fenêtre ne sera pas intégrée au navigateur !

Mais quel avantage par rapport à une application purement "desktop" alors ? Et bien pour moi l'intérêt est triple:

  • faciliter la tâche des utilisateurs que la perspective de télécharger-installer-lancer rechigne
  • assurer qu'ils lanceront toujours la dernière version de votre programme
  • être sûr de la version du jre utilisée
Afin d'utiliser java web start pour une de vos application, trois étapes:
  1. Créer une archive jar de votre programme java
  2. Créer un fichier descripteur du programme (.jnlp)
  3. Intégrer le tout dans une page web classique grâce à un lien sur le fichier descripteur
Il faut noter qu'une application lancée avec java web start possède des droits d'accès limités au niveau des entrées/sorties. Pour passer outre, il faut signer son archive jar ($cher$) ou l'auto-signer (tuto à venir) et dans ce cas l'utilisateur aura un petit warning au lancement.

1. Créer une archive jar de votre programme java

Cette étape peut être réalisée automatiquement par votre IDE si vous en utilisez un. Cependant il peut être intéressant de savoir le faire à la main.
Voilà un exemple dans le cas d'une application possédant 2 packages pack1 et pack2, la main class se trouvant dans le pack1
\_ src
        \_pack1
         \          \_Main.java
          \          \_Other.java
           \_pack2
                       \_Util.java
                    

Préparer l'arborescence:

mkdir -p classes/META-INF

Compiler tous les fichiers:

javac -d classes pack1/Main.java

Ajouter le fichier "MANIFEST" dans le répertoire META-INF

Contenu du MANIFEST:
Main-Class: pack1.Main
Class-Path: 

Créer l'archive jar:

cd classes
jar cmvf META-INF/MANIFEST.MF appli.jar pack1/ pack2/

 \_ src
  \       \_pack1
   \      \          \_Main.java
    \      \          \_Other.java
     \      \_pack2
      \                 \_Util.java
       \_classes
                     \_appli.jar
                      \_META-INF
                       \              \_MANIFEST
                        \_pack1
                         \          \_Main.class
                          \          \_Other.class
                           \_pack2
                                      \_Util.class

2. Créer le fichier descripteur du programme (.jnlp)

Voilà son contenu dans notre cas particulier, les liens sont à adapter à votre cas:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
    <information>
        <title>Appli</title>
        <vendor>inouire.net</vendor>
    </information>
    <resources>
        <!-- Application Resources -->
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="http://inouire.net/appli.jar" main="true" />
    </resources>
    <application-desc
         name="Appli"
         main-class="pack1.Main"
         width="1000"
         height="500">
     </application-desc>
     <update check="background"/>
</jnlp>
 

3. Intégrer le tout dans une page web

Uploader l'archive .jar et le fichier descripteur sur un espace web ou un serveur dédié, puis créer une page web contenant un lien hypertexte vers le fichier descripteur, et le tour est joué !
Exemple de fichier index.html basique à placer à coté de votre fichier jnlp:
 
<h1><a href="appli.jnlp">Appli web start</a></h1>
Un aperçu du résultat ici.

Source: sun.com

Quelques raccourcis clavier pour firefox

Voilà quelques raccourcis clavier bien pratiques pour optimiser encore plus votre utilisation de firefox:

  • Ctrl+ L: accéder à la barre d'adresse
  • Ctrl + Enter: Ajoute "http://www" au début et  ".com" à la fin de l'adresse que vous avez tapé, et ouvre la page
  • Shift + Enter: Idem que le précédent mais en ajoutant ".net" !
  • Ctrl + Shift + Enter: Idem mais avec ".org"

Si vous ajoutez ALT dans les 3 combinaisons précédentes, la page s'ouvrira dans un nouvel onglet

  • Ctrl + Tab: passer à l'onglet suivant
  • Ctrl + Shift + Tab: onglet précédent
  • Tab (quand on est dans la barre d'adresse): "autocomplétion" sur les résultats de l'awesome bar. Plus pratique que flêches haut-bas
  • Ctrl + Shift + T: ouvrir le dernier onglet fermé
Et enfin les classiques:
  • Ctrl +T: ouvrir un nouvel onglet
  • Ctrl + W: fermer l'onglet
  • Ctrl + U: afficher le code source de la page

Cacher des fichiers avec nautilus simplement et sans les renommer


Attention, cette astuce ne marchera que si vous utilisez nautilus en gestionnaire de fichiers.

Comment cacher un fichier ou un dossier sous linux, sans que le nom commence par "." ? Une solution  très simple est d'utiliser un fichier ".hidden"

Créez ce fichier ".hidden" dans le répertoire parent des fichiers/dossiers à cacher, et remplissez le simplement avec la liste des fichiers ou dossiers que vous souhaitez cacher.

Exemple, je souhaite cacher les dossier "Modèles", "Musique" et le fichier "config_blah.txt". Le fichier .hidden placé dans mon /home/edouard contiendra les 3 lignes suivantes:

Modèles
config_blah.txt
Musique

Si je vais dans mon dossier /home/edouard à l'aide de nautilus, les fichiers listés n'apparaissent plus ! (à moins de dire explicitement d'afficher les fichiers cachés à l'aide de CTRL-H)

Et si manipuler directement le fichier vous embête, allez faire un tour par ici (merci mikedafunk)

Sortie de b@ggle en version 0.8: meilleure interface, nouveau dictionnaire, et version rpm

jouer au boggle

Encore une nouvelle version pour b@ggle, le jeu de boggle en réseau multiplateforme! Les améliorations portent surtout sur l'interface du client, ainsi que sur le dictionnaire intégré au serveur.

Quoi de neuf dans cette version ?

Réorganisation de l'interface:

Pour optimiser l'encombrement, le chat se retrouve maintenant à droite et dispose de quasiment toute la hauteur. Les mots trouvés vont se loger à gauche sous la liste des joueurs.

Chat entièrement revu:

Le chat a été entièrement revu pour être plus lisible et donner des informations plus pertinentes. Le gagnant de chaque partie est félicité et  les connections/déconnections des joueurs y sont indiquées.

Nouveau dictionnaire:

Le serveur utilise maintenant un nouveau dictionnaire, bien plus complet, et surtout qui ne contient plus les mots conjugués ! Le jeu se déroule ainsi dans les plus pures règles du boggle. Certains mots vous surprendront peut être, et pourtant ils sont dans le dictionnaire de la langue française...

Statistiques du serveur via une interface web:

Vous en avez assez de ne trouver de joueur pour vous affronter lorsque vous vous connectez? Une première version d'une interface de "statistiques" est en cours de réalisation (merci Etienne). Rendez-vous sur sur le site officiel de b@ggle, onglet "statistiques". Vous pouvez ainsi voir si des joueurs sont sur le serveur, et les rejoindre bien sûr ! Les informations présentes sur cette page seront amenées à s'étoffer avec les prochaines versions. La fonction phare serait l'agenda pour se retrouver tous au même moment pour des grosses parties.

J'en profite pour signaler que b@ggle est maintenant disponible sous forme de rpm (merci louiz ), et que la gestion du projet est passée sur codingteam.net, une excellente plateforme libre de gestion de projet open source (à la sourceforge).

Sortie de b@ggle en version 0.7: plus complet, plus robuste

jouer au boggle

Voilà le moment tant attendu de la sortie de B@ggle en version 0.7. B@ggle est un jeu de boggle français en réseau, libre et multiplateforme. (les règles du jeu sont ici)

Je le rappelle, b@ggle ne nécessite aucune installation et marchera sur n'importe quel système possédant java (GNU/Linux, WIndows, Mac, et autres...) Il suffit de le télécharger puis de lancer le programme java. Pour les plus pressés vous pouvez tout de suite télécharger le client sur la page du projet !

Quoi de neuf dans cette version ?

Le Mode "pause":

La principale nouveauté est la possibilité de passer en mode "pause". Non seulement vous signalez aux autres joueurs que vous faites un break, mais en plus le serveur ne vous prend plus en compte pour le décompte des joueurs prêts à démarrer la partie, ou à remettre la grille à zéro.

Saisie des mots par click:

Une autre fonctionnalité est la possibilité de saisir les mots en cliquant sur les lettres. La validation du mot se fait alors à l'aide du bouton "valider" juste à droite de la barre de saisie.

Rotation de la grille:

Enfin la troisième fonctionnalité conséquente est la possibilité à tout moment de faire tourner la grille d'un quart de tour, afin de vous donner de nouvelles idées de mots à trouver.

Plus de stabilité:

Les connections entre le serveur et les clients sont mieux gérées, évitant ainsi des bugs en cas de joueurs déconnectés "brutalement".

Enfin on trouve aussi des modifications mineures, comme le changement de la correspondance nombre de lettres/nombre de points afin de respecter au mieux les règles du vrai boggle, ou encore l'ajout de pop-up d'aide lorsqu'on survole les icônes. Et bien sûr de la correction de bugs en tout genres ! Le téléchargement de la nouvelle version se fait par ici.

Si vous trouvez un bug, ou que vous avez une idée d'amélioration, postez là en commentaire pour contribuer à l'amélioration du projet !
Et si ce jeu vous plait, parlez-en autour de vous, voire même hébergez des parties sur votre serveur :)

B@ggle - un jeu libre de boggle en ligne

jouer au boggle

Il y a deux mois, je vous avais présenté une ébauche de boggle, je l'ai depuis complètement revu en une version beaucoup plus intéressante puisqu'elle permet de jouer en réseau (interne ou internet). 

Coté client

Coté client, on trouve une application java légère et simple qui nous permet de nous connecter à un serveur existant, puis de jouer contre les autres joueurs connectés.

On indique lorsqu'on est prêt à jouer, puis quand plus de la moitié des joueurs sont prêts, la partie commence.

Si la grille ne nous convient pas on peut signaler que l'on souhaite la changer. Si tout les joueurs sont d'accords, une nouvelle grille sera tirée.

On a aussi la possibilité de parler à l'ensemble des autres joueurs via le chat en précédant notre saisie de ":".

Le décompte des points a lieu à la fin de chaque manche, seul les mots que nous avons été le seul à trouver sont décomptés ! Ils sont ensuite ajoutés au total général.

Coté serveur

Coté serveur, une application java non interactive en ligne de commande. Le serveur est auto-géré:

  • démarrage automatique des parties
  • arrêt automatique si aucune personne connectée
  • kick automatique des joueurs inactifs
  • kick automatique des tentatives de flood/spam

Tout est paramètrable via les options passées en argument au programme:
  • temps de jeu (-t)
  • nombre maximum de joueurs (-n)
  • port d'écoute (-p)
  • nombre minimum de lettres pour les mots à trouver (-m)
  • temps seuil d'inactivité (-i)

Le client et le serveur sont tout les deux sous licence GNU-GPL.

Pour télécharger le client et le serveur, leur code source, et pour plus d'informations rendez vous sur ma page dédiée au projet B@ggle.

[info: ce soir 28 novembre parties réelles à partir de 20h30 sur les ports 12345 et 12346 de inouire.net]

Test du WikiReader d'Openmoko

Ayant été séduit par le concept du wikireader, je me le suis procuré peu après sa sortie. Je vous présente ici mes impressions sur l'objet après une semaine d'utilisation.

Le concept est très simple: pouvoir accéder à wikipédia facilement et depuis n'importe où (donc hors ligne).

Appuyez sur le discret bouton de démarrage en haut en droite, 1 seconde plus tard vous pouvez rechercher un sujet à l'aide du clavier virtuel tracé sur l'écran tactile. Au fur et à mesure de votre saisie (qui se passe bien même si vous avez de gros doigts) le wikireader vous propose des résultats. Quand l'un d'eux vous satisfait, touchez le du doigt, et vous voilà parti. Faites défiler le contenu grâce à l'écran tactile, naviguez sur d'autres articles via les liens... enfin bref, vous connaissez vous êtes sur wikipedia, sans les images!

En plus de l'écran tactile, vous disposez pour contrôler la bête de trois boutons: search, history et random.

  • Search vous permet à tout moment de rechercher un nouvel article.
  • History ouvre l'historique de navigation, vous pouvez ainsi retrouver un article auquel vous avez déjà accédé, et vous serez repositionné à l'endroit ou vous avez arrếté votre lecture, très pratique.
  • Enfin random ouvre un article au hasard... pourquoi pas !

Pour ce qui est de l'aspect extérieur, le design est très réussi, l'appareil est fin mais semble robuste. Le toucher de la coque en plastique blanc est agréable, et sa forme carré tiens parfaitement dans les mains. La sensibilité de l'écran tactile est parfaite, l'appareil réagi très bien, je n'ai constaté aucun temps de latence.

Le seul défaut que je vois est la lisibilité de l'écran suivant la luminosité... Oubliez vos réflexes acquis avec les téléphones et les ordinateurs portables: avec votre wikireader, plus il y a de lumière, plus vous y verrez clair, et inversement. Je trouve dommage et je ne comprends pas vraiment qu'il n'aient pas intégré un petit rétro éclairage (activation optionnelle) pour lire quand la luminosité est moyenne. Par exemple, en fin de journée dans les transports.

Dernier point que j'apprécie, le wikireader n'utilise pas de batterie mais des piles classiques AAA. L'autonomie en usage normal est censée atteindre 1 an... pas de problèmes de charge/décharge, le wikireader est disponible à tout moment.

Alors que la tendance est au cloud computing et aux appareils électroniques bons à tout faire, Openmoko propose un appareil simple, ouvert et peu onéreux, avec tout le contenu stocké en local. Le Wikireader n'a donc rien d'un "suiveur" (qualificatif péjoratif souvent employé à l'égard de projets libres). J'espère qu'il sera un précurseur et que d'autres projets de ce genre verront le jour à l'avenir. Et pourquoi pas une renaissance de leur premier projet de téléphone "néo"?

[Attention pour le moment seul wikipedia anglais est disponible ! Personnellement je vois là une occasion d'entretenir mon anglais :) ]

Velov + Linux

[edit] ce script est maintenant disponible pour toutes les installations JCDecaux en France, Belgique et Luxembourg (vélo'v, v'hello, levélo, vélocité, bicloo, vélam, cyclic...),. Voir VéLinux par ici !

Suite à la remarque de Kirkouille, et grâce à la maitrise de l'extension cache viewer par mon frère Clément (tu gères :) ), voilà la version pour velov du script qui permettait de récupérer les infos sur les stations velib.

Vous renseignez dans un petit fichier les numéros de vos stations favorites, et lorsque vous lancez le script, il va récupérer les infos pour chacune des stations (places libres, nombre de vélos) et les afficher dans le terminal ou la zone de notification, au choix.

Le fonctionnement est tout à fait similaire a l'ancien script, je vous invite donc si vous êtes intéressés pour l'utiliser à regarder par ici.

Et pour appeller facilement vos scripts n'oubliez pas les alias !

Télécharger l'archive



Créer facilement un « click droit » sous linux

Tout d'abord, je précise que ce billet n'est pas d'Edouard, mais de son fréro, utilisateur « lambda » de Linux (Fedora).

Je vais vous faire part d'une découverte que j'ai faite récemment, et qui pourrait vous rendre service.

Voulant installer une nouvelle police (format ttf), pour OpenOffice 3, je me suis retrouvé bien bête avec mon .ttf fraichement téléchargé dont je ne savais que faire...

Après une rapide recherche, j'ai vu qu'une méthode était de copier le fichier dans /usr/share/fonts

Seulement voilà, je regrettais l'aspect automatique qu'on avait dans windows (double click -> installation de la police). Pratique quand on a téléchargé des tonnes de polices comme un bourin...

Qu'à cela ne tienne, même si je ne suis pas programmeur pour un sous, je peux rajouter une fonctionnalité à Nautilus ! Un nouveau « click droit » !

Pour cela, il me suffit de créer le script correspondant à l'action dans le répertoire /home/clement/.gnome2/nautilus-script

#!/bin/bash
# récupère le absolute path du fichier
fichier=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
#puis on l'utilise comme on veut...
cp $fichier /usr/share/fonts/
oui il est très simple...c'est mon premier script fait maison :)
Il faut ensuite le rendre executable a l'aide de la commande
chmod +x /home/clement/.gnome2/nautilus-script/installpolice.sh

Certes cet exemple n'est pas extrêmement convainquant, pour les férus de la ligne de commande (c'est sans doute même plus rapide en ligne de commande en fait), mais ça permet de s'imaginer des scripts sympas à lancer.

Par exemple, tri/suppression/déplacement de fichiers par taille, par date, nom, encodage avec ffmpeg, etc...

Enfin ce n'est pas moi qui vous dira mieux qu'Edouard les possibilitées infinies offertes par les scripts :)

C'est très simple, mais rudement pratique et impressionnant quand on est simple utilisateur/petit bidouilleur de Linux !


BiY, un jeu de boggle à emporter partout

BiY, pour "Boggle it Yourself", est un jeu de boggle grâce auquel vous allez pouvoir prendre votre papier et votre stylo pour affronter vos adversaires qui seront assis à coté de vous. Ce programme vous fournit un plateau avec ses dés, un chronomètre, un mélangeur garanti silencieux contrairement à la version physique du jeu, et un résolveur automatique de solutions.

Je l'ai écrit pour pouvoir y jouer partout, y compris dans les endroits on ne peut pas se permettre de mélanger ou même d'emporter un plateau réel (je pense aux transports). Le boggle réel est entièrement modélisé, ainsi les statistiques sont fidèle à la version physique du jeu.

L'interface de configuration vous permettra de régler divers paramètres, comme la taille du plateau, la durée du chronomètre, la taille des lettres...

BiY est écrit en java et est sous license GNU-GPL. Il ne nécessite aucune installation. Pour jouer il vous suffit de télécharger l'achive jar et de l'exécuter. (Au secours ça marche pas : voir ici.)

Il est multiplateforme, ainsi vous pourrez en profiter quelquesoit votre système d'exploitation: linux, windows, mac, ou autre.

Pour plus d'informations (le programme ne marche pas, vous voulez les sources...) voir la page du programme.

Amusez vous bien !

Découper et reconstituer des fichiers

Vous connaissez sans doute la commande permettant de reconstituer un fichier (texte ou binaire) à partir de ses différents fragments:

cat fichier* > fichier

(où fichier est découpé par exemple en fichier001, fichier002...)

Mais savez vous comment le découper ? Il faut utiliser pour cela la commande split:

split -b 5MB fu.bar fu.bar"."

Cette commande va découper notre fichier fu.bar en morceaux de maximum 5MB, intitulés fu.bar.aa , fu.bar.ab,...ainsi de suite

On peut rajouter quelques options intéressantes:

-b permet de spécifier le nombre de caractères des suffixes

-d permet d'utiliser des suffixes numériques

on peux aussi changer l'unité de taille du fichier.

[edouard ~]$ split -a 3 -b 20kB -d fu.bar fu.bar"."
[edouard ~]$ ls
fu.bar.001 fu.bar.002 fu.bar.003

Utile pour envoyer un fichier un peu gros par mail ! (enfin plusieurs mails...)

Un petit piano ncurses

Après avoir vu le métronome, vous avez sûrement inconsciemment désiré de pouvoir carrément jouer de la musique à l'aide du mélodieux bip système de votre ordinateur. 

Ce petit piano avec interface ncurses vous permettra de jouer des airs sur 2 octaves et quelques, avec les dièses et tout. Le clavier fait office de... clavier, sachant qu'il est configuré pour un azerty, mais qu'une petite modification du fichier source vous pemettra d'utiliser un clavier qwerty, ou même bépo si vous voulez. Vous pouvez si vous êtes un peu flemmard programmer ce que va jouer le piano dans un fichier (cf deuxième partie de démo)

La démonstration en vidéo:

Première partie: mode manuel
Deuxième partie: mode automatique avec un fichier en entrée

Convaincu ? Rendez vous sur la page du programme pour télécharger et "installer" le programme.

Retours bienvenus ! (rapport de joie, rapport de bug, post d'un enregistrement de votre chanson préférée...)

- page 1 de 2