Billets avec l'étiquette ‘Logiciel Libre’

Appeler des web services depuis le shell

29-04-2009
Cyber LiB

Après l’humour geek, revenons à un billet un peu plus technique…

Je l’ai dit souvent, et je le répète, internet arrivera toujours à me surprendre.

Hier je discutais avec de collègues sur comment faire communiquer un script shell avec une application web en Java sur l’intranet. La solution la plus simple était sans doute de faire un point d’entrée sur l’application Java, une petite servlet à laquelle on appellerait depuis le script shell via wget ou curl.

Quelqu’un a suggéré, à moitié en blaguant, d’implémenter la communication sur la forme d’un vrai web service (WS) en SOAP, avec son WSDL et tout. Je ne vais pas rentrer dans les avantages ou les inconvénients des WS en SOAP vs une approche REST, car c’est un peu philosophique comme débat. Il suffit de dire que pour ce petit besoin c’était un peu exagéré de devoir implémenter un WS SOAP, et on est donc partie sur l’approche REST avec une simple appelle sur l’URL de la servlet.

Ce matin le sujet est revenu dans la conversation et je me suis mis à penser comment on aurait pu faire si on avait eu vraiment besoin d’utiliser des WS complexes, avec SOAP, sécurité, cryptage…. Dans ma tête il aurait fallu développer le client WS à part, en Java par exemple, et appeler ce client depuis mon script shell.

Et là, je me suis dit qu’à coup sûr il y aurait quelqu’un sur le net qui a implémenté un client WS SOAP fait pour être appelé depuis en ligne de commandes, une sorte de wget pour des appels webservice. Un passage rapide par Google m’a permit de confirmer mon intuition, il y en a bien des implémentations de clients SOAP utilisables depuis un script shell !

Je suis allé donc voir WSF/C, un framework pour des WS écrit en C standard, compatible avec les implémentations Apache WS-* (dont Axis2). Ce framework inclut un client WS en ligne de commandes, wsclient, que on peu utiliser d’une façon semblable à wget ou curl.

L’implémentation est assez complète, pouvant supporter des différentes schémas d’authentification et cryptage. Le programme se pilote depuis la ligne de commandes, d’une façon assez simple pour ceux habitués à utiliser des programmes sur le shell.

Par exemple, pour appeler les WS Amazon, il suffit de faire :

:~$ wsclient --soap1.1 --no-mtom --action http://soap.amazon.com
:~$ http://soap.amazon.com:80/onca/soap?Service=AWSECommerceService < item_search.xml

item_search.xml est un fichier XML respectant le format SOAP des WS Amazon. Par exemple :

<ItemSearch xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">
<AWSAccessKeyId>Access Key</AWSAccessKeyId>
<Request>
<ResponseGroup>Medium</ResponseGroup>
<ItemPage>1</ItemPage>
<Keywords>Web Services</Keywords>
<SearchIndex>Books</SearchIndex>
</Request>
</ItemSearch>

Est-ce que c'est utile ? Peut-être pas pour une utilisation quotidienne, mais lorsqu'on veut faire des tests sur un serveur n'ayant pas d'interface graphique (ne pouvant donc pas utiliser des outils telles que SoapUI), c'est une façon beaucoup plus rapide, simple et sympa que devoir tout faire avec curl ou devoir programmer un client Java pour le faire.

Bref, un petit outil curieux pour garder sous la main au cas où on pourrait en avoir besoin...

Compte à rebours pour Ubuntu 9.04

26-03-2009

Ah, le printemps ! Les premiers beaux jours, la nature en fleur (et les allergies qui explosent) les journées de plus en plus longues, les filles qui changent les lourds manteaux d’hiver par des tenues bien plus saillantes…

Et oui, le printemps est une belle saison par plein de raisons. Parmi lesquelles il y a, bien sur, la sortie prochaine d’une nouvelle version d’Ubuntu, comme vous pouvez voir dans le petit widget de compte à rebours qui accompagne ces lignes.

LiB et Ubuntu

Fidèle à son rythme de deux nouvelles versions par an, aux mois d’avril et octobre, Ubuntu 9.04 Jaunty Jackalope sortira le 23 avril 2009.

Comme d’habitude, cette nouvelle version apportera plein de nouveautés. Parmi elles il faut citer le noyau linux 2.6.28, GNOME 2.26, X.Org Server 1.6, l’outil Eucalyptus pour expérimenter avec le cloud computing ou le support au filesystem Ext4, mais aussi des chose plus terre à terre comme le démarrage plus rapide ou le nouveau système de notifications.

Je vous raconterai avec plus de détail ces nouveautés dans un prochain billet.

Mais je veux tester !

Jaunty Jackalope est encore en béta, mais si vous voulez voir déjà à quoi cela va ressembler, vous pouvez toujours aller télécharger la béta de la 9.04 et la tester en mode liveCD ou l’installer dans une partition à part.

Et si vous avez le goût du risque, vous pouvez simplement faire migrer votre Ubuntu 8.10 Intrepid Ibex à 9.04 Jaunty Jackalope. Il suffit de démarrer l’Update Manager (Gestionnaire de mises à jour) en mode développement, depuis la ligne de commandes :

~$ sudo update-manager -d

C’est d’ailleurs ce que je compte faire ce weekend si j’ai un peu de temps. Je vous raconterai le résultat…

Mise à jour à Wordpress 2.7.1 en automatique !

11-02-2009

Jusqu’à ce matin, je pensais qu’en matière de mises à jour d’applications web, on pouvait difficilement faire plus simple que Wordpress. Pourtant je me trompais, la nouvelle procédure pour mettre à jour Wordpress 2.7 est encore plus simple.

Mises à jour à l’ancienne

J’imagine que si vous lisez mon blog vous êtes au courant de l’ancienne procédure, car j’ai en parlé souvent : il fallait télécharger le fichier .zip ou .tar.gz de la nouvelle version de Wordpress, et le décompresser sur le répertoire racine du blog.

Ensuite il suffisait de se connecter à l’interface d’administration, où on nous demandait si on voulait mettre à jour la base de données. Un clic sur Oui et quelques secondes après on arrivait sur l’interface d’administration de la dernière version de Wordpress.

Une fois arrivé sur l’interface d’administration, on avait des fois un message en prévenant de que plusieurs plugins avaient des actualisations. Si c’était le cas, on pouvait choisir l’actualisation automatique pour ces plugins et Wordpress se chargeait de ramener et installer les dernières versions.

La nouvelle méthode

Avec Wordpress 2.7, les développeurs ont inclus un mode automatique pour gérer les mises à jour, qui marche sur le même principe que les mises à jour des plugins.

Ce matin au réveil, en me connectant sur l’interface d’administration du blog, j’ai trouvé le message indiquant que la nouvelle version est disponible.

Wordpress 2.7.1

J’ai cliqué sur le lien et je suis atterri sur la nouvelle page de mise à jour, où on me demandait si je voulais une mise à jour automatique ou manuelle.

Wordpress 2.7.1

J’ai cliqué sur “Mise à jour automatique”, et il a commencé la même procédure que lorsqu’on demande d’actualiser un plugin. Cinq secondes après, mon blog était mis à jour avec Wordpress 2.7.1.

Wordpress 2.7.1

Je sais que je le dis un peu trop souvent, mais à chaque mise à jour j’apprécie encore plus Wordpress. Des nouvelles fonctionnalités, encore plus de flexibilité, une stabilité à toute épreuve et encore et toujours, une communauté de développeurs et d’utilisateurs ouverte et amiable.

Alors, une fois de plus, je tiens à remercier et féliciter aux gens de Wordpress, et aux centaines de codeurs qui travaillent sur leur temps libre pour que Wordpress soit une des meilleures plate-formes de blog.

Mise à jour : j’oubliais le pourquoi

Sur le blog de Wordpress, ils expliquent que ce 2.7.1 est une mise à jour de maintenance de Wordpress 2.7. Elle corrige donc une soixantaine de problèmes mineurs de la version précédente, mais à priori il n’y avait pas de trous de sécurité à fermer.

Il n’y a pas donc besoin d’effectuer la mise à jour en urgence, faites-le lorsque vous aurez un moment de libre. Quoi qu’avec la nouvelle procédure, ce n’est pas pour le temps que ça va vous prendre… :wink_ee:

Read It Later, une extension Firefox bien pratique

16-01-2009
Cyber LiB

Trop d’onglets tuent les onglets

Tout est parti de ma façon de faire de la veille technologique. Pendant la journée je tombe sur des dizaines de sites de d’articles que je voudrais lire, mais que je n’ai pas le temps de lire à ce moment. Afin de ne pas les oublier, et pouvoir les lire plus tard, j’ouvre ces sites sur un nouveau onglet Firefox, et je continue ma navigation.

En, conséquence, à la fin de la journée, je me retrouve souvent avec plus de cinquante onglets d’ouvertes sur mon Firefox, qui commence à souffrir de la charge. C’est à ce moment, le soir, que je prends mon temps pour regarder le contenu de ces onglets, l’ajouter à mon Delicious si cela le mérite, et fermer enfin l’onglet.

Cette méthode là a deux inconvénients majeurs :

  • Malgré la stabilité accrue de Firefox 3.0, le navigateur n’est pas vraiment conçu pour avoir un tel nombre d’onglets d’ouvertes (mon record la semaine dernière était à 67). A la fin de la journée le navigateur commence à ramer, faisant des fois que tout l’ordinateur se ralentisse (c’était le cas de la semaine dernière avec ces 67 onglets qui poussaient la consommation de mémoire du navigateur à 1,2 Go).
  • Certains soirs, faut de temps ou d’énergie, je n’ai pas le temps de lire le contenu des onglets. Comme j’utilise TabMix Plus pour garder mes onglets, le lendemain j’ouvre mon navigateur avec la cinquantaine d’onglets du soir précédant… et la plupart des fois je les ferme sans les avoir lu, car sinon je finirais la nouvelle journée avec plus de cent onglets à lire.

Voilà donc mon constat : les onglets ne sont donc pas adaptés à ma façon de faire de la veille technologique sur le net.

Lire la suite… »

Ubuntu HowTo : Générer une liste des paquets installés

30-12-2008
LiB et Ubuntu

Ces derniers temps j’ai été amené à installer ou réinstaller Ubuntu sur plusieurs machines, autant au travail qu’à la maison.

L’installation d’un nouveau poste à partir d’un poste existant est très simple, il suffit de créer les trois partitions, installer le système et ensuite copier les /home et /opt sur la cible. Comme je fais toujours des partitions différentes pour /, /home et /opt, la réinstallation est encore plus rapide, il suffit de réinstaller le système sur la partition /.

La seule chose qui m’embête est donc devoir installer manuellement tous les paquets qui ne sont pas installés par défaut. Lorsque j’installe un poste tous les mois, cela ne me dérange pas trop, mais lorsqu’il me fallait répéter le processus trois ou quatre fois en quelques jours, je me suis dit que mieux que devoir chercher les paquets à la mais je pourrais trouver comment automatiser le processus.

La solution est pourtant assez simple, il suffit de penser à se servir de dpkg :

  1. D’abord, on génére la liste des paquets installés sur le poste original :

    $~ dpkg --get-selections > /tmp/liste_paquets.txt

  2. Ensuite on copie la liste de paquets sur la machine cible
  3. Et on finit par installer tous les paquets de la liste avec une simple ligne :

    $~ dpkg --set-selections < /tmp/liste_paquets.txt
    $~ dselect

Encore une fois, ce n'est pas une astuce très élaborée, mais elle m'a permit d'aller beaucoup plus vite avec mes installations...

Ubuntu Eee change de nom

24-12-2008
LiB et Ubuntu

Vous vous souviendrez peut-être d’Ubuntu Eee, la version d’Ubuntu adaptée pour l’Eee PC.

. A l’origine Ubuntu Eee n’était qu’un ensemble de scripts pour adapter la distribution Ubuntu classique aux besoins des Asus Eee PC, mais à fur et à mesure il est devenu une variation d’Ubuntu aussi distincte que Kubuntu ou Edubuntu.

En septembre dernier, Jon Ravmi, l’organisateur du projet Ubuntu Eee, a demandé de l’aide pour trouver un nouveau nom pour le projet. D’un côté, il y avait des considérations légales, la marque Ubuntu appartenant à Canonical et Ubuntu Eee n’étant pas un projet officiel. Et de l’autre, il y avait le changement de portée du projet, car ils cherchent à créer une distribution optimisée pour les netbooks en général et non seulement pour l’Eee PC.

Ubuntu Eee sur mon Eee PC 701

Les suggestions sont arrivées à un bon rythme, et à la fin le nom retenu a été Easy Peasy. Jon a ensuite démarré un concours pour trouver le logo d’Easy Peasy. La réponse a été massive, avec plus de 500 soumissions, parmi lesquels Jon a choisi ceux qui passent au deuxième round.

Personnellement je n’aime pas trop le nouveau nom, mais j’attends avec impatience le logo définitif, qui sera présenté la semaine prochaine. On verra si cela aide à faire passer le nom, qui sonne un peu infantile pour moi…

Migration à Wordpress 2.7

11-12-2008
LiB et Wordpress

La nouvelle version de Wordpress, Wordpress 2.7, vient de sortir officiellement. Je dis officiellement, car beaucoup de blogueurs ont migré déjà leur plateforme vers les release candidates de cette version 2.7, qui se sont avérés très stables.

Ayant une semaine assez chargé, et ne voulant pas risquer de devoir passer de temps à réparer des possibles dégâts, j’ai préféré attendre la version stable avant d’envisager la migration.

Et ce matin, en me connectant sur l’interface d’administration, j’ai trouvé le message indiquant que la nouvelle version est disponible.

Wordpress 2.7 disponible

Après avoir déjà fait plusieurs migrations de version de Wordpress, et encore plus de mises à jour de sécurité, je ne me faisait pas de soucis, je savais que le changement allait être rapide et indolore.

Et cela a été bien le cas. Comme les fois précédentes, j’ai simplement décompressé le fichier wordpress-2.7.tar.gz sur le répertoire racine de mon blog. Ensuite je me suis connecté à l’interface d’administration, où on me demandait si je voulais mettre à jour la base de données. J’ai cliqué sur Yes et quelques secondes après j’arrivais sur l’interface d’administration de la nouvelle version de Wordpress.

Tableau de bord de Wordpress 2.7

Et c’est juste dans l’interface d’administration qu’on remarque d’abord les changements. L’interface a été complètement refait, autant du point de vu du design que du code qu’il y a derrière. Le résultat est une interface qui (au moins au premier regard) semble plus ergonomique et clair, mais qui est aussi clairement plus rapide.

Ensuite, lorsqu’on commence à jouer avec, on se rend compte de qu’on a beaucoup plus de possibilités de personnalisation qu’avec la version précédente. Dès widgets présents sur le tableau de bord aux champs montrés dans les menus commentaires ou billets, on peut vraiment adapter l’interface d’administration à l’utilisation qu’on veut en faire.

Si vous voulez vous faire une idée des possibilités de la nouvelle interface d’administration je vous conseille de jeter un oeil à la vidéo que les gens de Wordpress ont préparé pour l’occasion :

Je n’ai pas encore eu le temps de tester à fond cette nouvelle version (appelée Coltrane en hommage au jazzman américain John Coltrane), mais pour le moment tous les changements semblent positifs. Alors, une fois de plus, chapeau aux gens de Wordpress, et aux centaines de codeurs qui ont collaboré dans Coltrane.

Ca veut dire quoi “Pas d’Utilisation Commerciale” ?

06-12-2008
LostInBrittany

Mon blog est publié avec une licence Creative Commons qui n’autorise pas l’utilisation commerciale du contenu. Mais cette clause de pas d’utilisation commerciale ne m’a jamais semblé assez carrément définie.

Il y a un mois j’ai enlevé le seul vestige de publicité qui restait sur mon blog, les vidéos de BlogBang, pour des raisons qu’à l’époque j’ai qualifié de philosophiques, mais qui se résument à ma définition personnelle de pas d’utilisation commerciale.

En clair, la question que je me posait était simple : si je réutilise des matériaux diffusés sous cette licence CC avec clause de pas d’utilisation commerciale, et que j’ai de la publicité rémunérée sur mon blog, suis-je en infraction par rapport à la licence ?

A l’époque j’ai un peu cherché sur le net, et je n’ai pas trouvé une réponse claire. J’ai donc décidé d’agir suivant mes convictions personnelles, et j’ai enlevé la publicité, plus par principe qu’autre chose.

Le problème est donc que la question n’a pas aujourd’hui une réponse universelle, et que ce pas d’utilisation commerciale veut dire des choses différentes pour des différentes personnes. Cette semaine j’ai appris grâce à BoingBoing que la fondation Creative Commons a fait un appel aux créateurs de contenus qui publient leurs oeuvres -textes, photos, vidéos, musique…) sous licences CC pour qu’ils remplissent un questionnaire aidant à établir leur définition d’utilisation non commerciale.

A priori, l’étude allait finir demain 7 décembre, mais il a été prorogé jusqu’au dimanche 14 décembre. Vous avez donc le temps d’aller le remplir. Je vous préviens, c’est en anglais, assez long à remplir (une vingtaine de minutes) et un peu répétitif, mais si ça aide à clarifier d’une fois pour toutes cette clause de la licence Creative Commons, ça aura bien valu l’effort. Alors si vous avez une petite demi-heure à perdre, c’est ici que ça se passe

Mise à jour à Wordpress 2.6.5

25-11-2008

En me connectant sur l’interface d’administration du blog ce soir, j’ai vu qu’il y avait une nouvelle mise à jour de Wordpress, la version 2.6.5.

Mise à jour disponible
LiB et Wordpress

Ce qu’à priori m’a surpris c’est le numéro de version, 2.6.5, pour moi ça aurait dû être la 2.6.4. Je suis donc aller vérifier, et ma mémoire ne me trompait pas, la dernière version publiée était la 2.6.3.

J’ai rapidement trouvé la réponse grâce à Korben : il n’y a pas eu de version 2.6.4, car une fausse release 2.6.4 chargée de pièges a fait le tour du net il y a quelque temps, et l’équipe de Wordpress a préféré éliminer toute confusion en passant directement à la 2.6.5

Cette 2.6.5 est une version de maintenance qui corrige quelques bugs dans les flux RSS. Comme la dernière fois, la mise à jour est encore plus simple que d’habitude. On peut soit décompresser le fichier wordpress-2.6.5.tar.gz sur le répertoire racine du blog, soit simplement replacer deux cinq fichiers de votre installation Wordpress :

  1. wp-includes/feed.php
  2. wp-includes/version.php
  3. /wp-includes/post.php
  4. /xmlrpc.php
  5. /wp-admin/users.php

Ou si vous ne voulez pas vous embêter, voici un fichier .zip avec les fichiers à changer, directement généré par les serveur trac de Wordpress.

Et tout est fini, car cette fois il n’y a pas de mise à jour la base de données à effectuer.

Mise à jour

Il semblerait qu’il faut mettre à jour 5 fichiers, non 2 comme ils avaient annoncé hier. J’ai donc corrigé le billet.

Créér une clé LiveUSB avec Ubuntu 8.10

14-11-2008
LiB et Ubuntu

Parmi les nouvelles fonctionnalités d’Ubuntu 8.10 Intrepid Ibex, une de celles que j’ai trouvé les plus intéressant est le Ubuntu Live USB creator.

Cet utilitaire permet de créer très facilement des Live USB de votre distribution Linux favorite, et ensuite les utiliser comme on utilise un LiveCD, mais avec la vitesse (et le silence) d’une clé USB.

L’idée de utiliser un Live USB à la place d’un Live CD n’est pas nouvelle, ça existe depuis longtemps à l’aide de projets comme UNetbootin. Par exemple, lorsque je vous expliquais comment j’avais installé Ubuntu sur mon Asus Eee PC, la procédure se basé sur l’utilisation de Unetbootin pour créer la Live USB d’installation.

Ce qui Ubuntu Live USB creator apporte de nouveau 1 c’est que la LiveUSB créée permet de la persistance. Je m’explique…

Lorsqu’on crée une LiveUSB avec Unetbootin, le résultat est identique à un LiveCD, les système d’exploitation est est lu de la clé et chargé dans la mémoire. Et en conséquence, toutes les modifications sont créées non sur la clé USB mais sur la mémoire de l’ordinateur, et ils sont perdues au redémarrage. La LiveUSB avec Unetbootin est donc non persistante.

Par contre, avec Ubuntu Live USB creator on peut choisir de créer des LiveUSB persistantes. La LiveUSB agit donc comme un vrai disque dur externe, et on peut créer des comptes, modifier le système, ajouter des applications ou faire des mises à jour.

Une première avantage c’est qu’on peut créer des LiveUSB personnalisées, avec les applications qu’on choisi. Du coup, lorsqu’on utilise la LiveUSB pour installer Ubuntu sur un nouveau PC, on n’a plus besoin d’aller chercher avec Synaptic les applications dont on se sert mais qui ne sont pas dans le LiveCD standard (comme c’est le cas d’Inkscape pour moi).

Une autre avantage, encore plus intéressant, c’est qu’on peut incorporer toutes les mises à jour sur la Live USB. Là où LiveCD est statique et figé à la date de sa sortie, sur la LiveUSB nous pouvons intégrer les mises à jour à fur et à mesure. Le système contenu dans la LiveUSB peut donc ioncorporer tous les derniers patchs et améliorations. Fini donc le jour où une fois installé Ubuntu à partir d’un LiveCD, il fallait télécharger des dizaines voire des centaines de Mo de mises à jour.

Et enfin, surtout pour l’utilisateur nomade, la LiveUSB persistante permet de créer son profil (avec son /home/$USER) et ses données, et utiliser la LiveUSB partout. Là où on s’installe, il lui suffit de brancher sa clé USB et de booter sur elle pour avoir son système d’exploitation et ses données.

Bref, un petit utilitaire que je trouve vachement pratique, vous ne croyez pas ?

1 Je suis conscient qu’Ubuntu Live USB creator n’est pas une innovation, car il y a d’autres projets qui permettent de faire la même chose, comme le Fedora LiveUSB creator. Alors oui, Ubuntu n’a pas innové sur ce coup, ils sont simplement porté à Ubuntu un très bon outil qui existait déjà pour d’autres distributions. Il ne faut pas oublier, quand même, que la vocation d’Ubuntu n’est pas d’être innovant, sinon de mettre Linux à la portée de l’utilisateur lambda… mais bon, cela est une autre histoire pour un autre billet.