1. HTTP to HTTP with bash, curl and jq

    Mapping an interface to another one and chaining the dots altogether are systematic needs in data processing. We end up writing loads of lines of code just to map and transfer these data.

    Hopefully it becomes a fairly easy goal to achieve with a handful combination of curl, jq and bash operators.

    Continue reading
  2. Docker and encoding (bis)

    Have you ever faced encoding issues in some Ruby code — eventually ran inside a Docker container? It is painful and on the other hand it is easy to fix when you know what to do.

    Continue reading
  3. Collaborative Website as an Archive

    The 15th of October 2002, I transferred a PHP/MySQL website via FTP. On the first domain name I ever bought.

    The 14th of October 2013, I committed 17 000 files on a gh-pages branch. After 7 years of work in progress.

    Wait. 7 years?

    Continue reading
  4. Rentrée en vrac : widget VCUB, livres et Internet

    C’est la rentrée scolaire. Le moment de reprendre les bonnes habitudes qu’on aurait laissé de côté pendant les vacances. Comme celle de bloguer par exemple ; après 2 mois de pause plus ou moins forcée.

    Un peu forcée puisque l’on s’est quitté lors du lancement des RMLL 2010, au début du mois de juillet. Je n’ai pas pris le temps d’en dresser un compte-rendu. Toujours est-il que ce fût une expérience à vivre, tant lors des conférences que des afters.
    Le remplissage des salles était vraiment aléatoire, avec semblerait-il une légère allergie aux conférences en langue anglaise. J’ai pris quelques claques, d’humilité notamment. Merci les indiens (vraiment).

    Toujours est-il qu’il est temps de revenir à la réalité. J’aurais pu écrire plusieurs articles.
    Par manque de temps (ou plutôt parce que je préfère le consacrer à d’autres choses), je mutualise tout ça dans cet article.

    Continue reading
  5. Widget Netvibes VCUB

    Cela faisait un petit moment que je n’avais pas réalisé de widget Netvibes. À vrai dire, je n’en avais pas publié depuis 2008. C’était encore le boom et la folie des widgets.

    Le compteur est remis à zéro cette année avec la publication du widget VCUB.

    Continue reading
  6. Créer une vignette d'un PDF avec Image Magick

    Les PDF c’est chouette pour transmettre des documents non-modifiables. Mais parfois, c’est aussi pratique de pouvoir en suggérer leur contenu. C’est d’autant plus pertinent si vous en proposez à télécharger et que la couverture alléchante dispose d’un fort pouvoir de conviction.

    Par chance, nous n’avons pas besoin de faire le sale travail à la main. Du genre prendre une capture d’écran de la première page du PDF ou je ne sais quelle autre astuce impliquant travail et effort. Image Magick est là pour nous aider et à plus forte raison, Imagick. Il s’agit d’une librairie native à PHP se basant sur l’API d’Image Magick.

    Vous me direz : oui mais Image Magick c’est fait pour manipuler des images. Certes mais un PDF, c’est un peu comme une image.

    Continue reading
  7. Affichage personnalisé de ses abonnés Feedburner

    Qu’on se le dise : le compteur de lecteurs Feedburner par défaut est sympa mais s’intègre mal dans n’importe quel design de site Web. Lors de la refonte du thème graphique de ce blog, j’ai eu envie de remettre mon compteur d’abonnés Feedburner mais sous forme de texte. Même si le chiffre indiqué peut se révéler inexact, j’estime que c’est un indicateur intéressant sur la consultation d’un flux. Je suis également convaincu qu’à partir d’un certain nombre de lecteurs, ça facilite la conversion : si le nombre est élevé, c’est que le site est bien … donc je m’abonne.

    Bref, j’ai voulu implémenter ça de manière propre et peu gourmande avec WP-Cron, l’API Feedburner Awareness et la classe PHP 5 SimpleXML. Une poignée de lignes de code suffisent, pourquoi s’en priver ? ;-)

    Continue reading
  8. Ménage de printemps

    Je me décide à passer un coup de peinture sur ce blog quasiment 2 ans après le CSS Summer Refresh organisé par Alsacréations. À vrai dire, j’avais ce projet dans les cartons depuis septembre 2008 mais le plus difficile a été de trouver le talent graphique. C’était également l’occasion de dire au revoir aux navigateurs Web de seconde zone, à savoir Internet Explorer 7 et moins.

    Continue reading
  9. Ajouter TinyMCE dans un plugin WordPress

    J’ai eu besoin récemment d’inclure un éditeur visuel dans un plugin Wordpress. Je pensais que c’était une tâche aisée sans chercher sur Google : il n’y avait qu’à faire comme les développeurs de Wordpress !

    J’ai pensé à tort et ça m’a confirmé une fois de plus que le code source de Wordpress était un joyeux bazar.
    Continue reading

  10. Everything You Know About CSS Is Wrong!

    En bon français : “tout ce que vous savez des CSS est faux !”. L’heure n’est pas à la déprime mais à la lecture de cet ouvrage par le site SitePoint. Il est écrit en anglais par Rachel Andrew et Kevin Yank.

    Ce titre fortement accrocheur à la limite de l’injure annonce la couleur : l’ouvrage est censé vous expliquer que les techniques employées aujourd’hui ne sont que du bricolage et qu’on peut faire la même chose en plus propre et plus simple.

    En route pour cette saine lecture … ou pas.
    Continue reading

  11. Mon nouveau MacBook s'appelle Dell Studio

    L’utilisation intensive d’OpenOffice et le Go de RAM de mon ancien ordinateur portable ACER aidant, je me suis rapidement motivé un dimanche après-midi à changer de machine. J’ai un instant hésité à sombrer du côté obscur de la Force en optant pour un MacBook avec clavier rétro-éclairé mais non, la raison m’a rattrapé.

    J’ai finalement opté pour un Dell Studio 17 … et tenté de me faire rembourser Windows Vista !

    Continue reading
  12. Configuration d'Apache, MySQL et PHP à base de liens symboliques

    J’ai récemment passé mon poste de développement de Debian Testing vers Ubuntu 8.10. Comme toute installation from scratch, il faut passer par la case configuration.

    J’ai déjà expliqué comment modifier l’emplacement des données d’un serveur MySQL mais cette fois-ci on va aller encore plus loin :

    • on ne va pas toucher aux fichiers de configuration par défaut
    • on va pouvoir conserver toute notre configuration sur une partition séparée
    • on va être tranquille pour les éventuelles futures réinstallations

    C’est pas très compliqué à mettre en œuvre et au final, tout le monde y gagne !

    Continue reading
  13. Connexion à un serveur Citrix depuis Firefox sous Linux

    Pour les besoins du boulot et non plus pour le plaisir, j’ai eu pour impératif de me connecter à un Intranet client via un VPN Citrix. Je ne sais pas pour vous, mais quand j’entends VPN, je commence à avoir des sueurs froides en me disant que la galère ne fait que commencer.

    Et bien pour une fois, je peux dire que je n’ai presque pas ramé. Vous allez voir, c’est simple et rapide.
    Continue reading

  14. X-UA-Compatible : danger ou opportunité ?

    Ce billet a été initialement publié sur clever-age.com sous l'intitulé X-UA-Compatible : danger ou opportunité ?.

    Après 10 ans de règne d’Internet Explorer et un succès d’adoption en demi-teinte pour son successeur, Internet Explorer 7, Microsoft a fort à faire pour convaincre avec Internet Explorer 8.
    La firme de Redmond est confrontée à ce fâcheux dilemme :

    • considérer ses clients existants
    • réagir aux pressions exercées par la concurrence, Firefox en tête

    On peut à ce titre saluer le choix de Microsoft d’enfin embrasser les standards du Web. La huitième version de son navigateur Web adoptera ainsi par défaut une interprétation respectant ces standards (HTML, XHTML, CSS 2, partiellement CSS 3).
    Ce choix a notamment été facilité par la proposition d’une nouvelle balise propriétaire : X-UA-Compatible.

    Solution de facilité ou excellent compromis ?

    Continue reading
  15. Widget Jaiku pour Netvibes : présentation et bilan du développement

    J’ai publié il y a quelques semaines un widget Jaiku dans l’écosystème Netvibes. Autrement dit, on peut désormais interagir avec le sous-employé Jaiku depuis son compte Netvibes en levant à peine le petit doigt.

    La réalisation de ce widget était pour moi l’occasion de réaliser mon premier widget utilisant la plateforme UWA : un développement rendu compatible pour plusieurs plateformes dont iGoogle, MacOS X Dashboard, Windows Live etc.

    Continue reading
  16. Conventions de programmation : la nécessaire maturité

    Tout développeur, que ce soit à l’école ou en apprenant sur le tas, écrit du code. J’espère n’avoir perdu personne à ce stade de l’explication ;-)

    Inconsciemment on cherchera à utiliser un style d’écriture avec lequel on se sent à l’aise, qu’on pourra et saura relire facilement et dans le meilleur des cas, qui pourra être relu par une autre personne sans avoir à engager d’interprète.

    Tout développeur tend donc à utiliser des conventions de programmation) (coding standards), que ce soit en HTML, PHP, CSS, JavaScript ou même en Cobol. Et utiliser des conventions, c’est bien !

    Continue reading
  17. High Performance Web Sites

    High Performance Web Site, sous-titré Essential Knowledge for Frontend Engineers, est ce genre de livre à lire au moins une fois à défaut de le posséder. Il résume en à peu près 120 pages 14 points d’optimisation d’un site Web.

    C’est d’autant plus intéressant que l’approche se base sur les mécanismes et non sur de l’optimisation de code. Ainsi dans la plupart des cas, vous n’aurez “que” du paramétrage serveur à faire.

    Continue reading
  18. Quand Jaiku surpassera Twitter

    Cela fait maintenant plus d’1 an que j’utilise Twitter. Passée l’appréhension du gadget puéril, je l’ai finalement converti en outil de communication, de réseautage et de veille … comme beaucoup de ses utilisateurs d’ailleurs.

    Seulement voilà, les pannes à répétition sont, à mon sens, en train de ruiner un service qui aurait pu être encore plus ravageur qu’il ne l’a été. Plusieurs concurrents s’y sont essayés, aucun ne l’a encore détrôné.

    À part peut-être Jaiku, si Google réussit son coup.

    Continue reading
  19. Livre blanc sur les frameworks PHP : présentation et explications

    Il existe 4 phases dans la vie d’un développeur :

    1. celle où il aime tout créer lui-même
    2. celle où il aime utiliser un outil déjà tout prêt
    3. celle où il aime concevoir son outil avec d’autres outils tout prêt
    4. celle où il aime que les autres conçoivent pour lui (mais là il est patron ou armé d’une horde de stagiaires ;-))
      Les frameworks font partie de cette troisième catégorie. Ils existent dans à peu près tous les langages : CSS, PHP, JavaScript, Java, C#, Python, Ruby etc.
      Mon discours portera sur les frameworks PHP, parce que c’est mon langage de prédilection mais aussi parce qu’un livre blanc sur les frameworks PHP pour l’entreprise est récemment sorti. Il parlera aussi bien aussi bien aux décisionnels qu’aux développeurs, à leur compte ou pour celui d’une entreprise. Continue reading
  20. Sus aux disques durs : sauvegarder ses données avec Amazon S3 et JungleDisk

    Logo Amazon Webservices

    Amazon fait partie à mes yeux des sociétés les plus innovantes du Web. Elle a su inventer un modèle de suggestion d’achats et une catégorisation hors-pair. Elle est également allée plus loin en proposant des services Web à des prix ridicules et faciles d’accès.

    Amazon S3 (Amazon Simple Storage Service) est un de ses services Web. S3 permet de stocker en ligne des données … sans limitation de volume. Le service se base sur un principe de facturation à la consommation : plus vous stockez, plus vous payez.

    Seulement voilà, sauvegarder 10Go de données pour 2$ par mois, ça vaut le coup d’accéder à la tranquillité.

    Continue reading
  21. Gérer sa blogroll sur une page à part avec Wordpress et les modèles de page

    J’ai récemment lu une astuce pour afficher sa blogroll sur une page à part et ça m’a donné envie de réagir à la solution proposée.

    Gérer sa blogroll sur une page dédiée est une bonne idée car ça évite de surcharger inutilement ses barres latérales de liens, surtout s’ils sont nombreux. Cette séparation permet également d’avoir davantage de liberté pour les présenter et les styler. Ce n’est pas un mal pour apporter un souffle d’originalité.

    Continue reading
  22. Modifier l'emplacement des données d'un serveur MySQL

    L’installation par défaut d’un serveur MySQL est suffisante pour être opérationnel dans la minute qui suit. Elle ne facilite en revanche pas la maintenance en laissant le répertoire contenant vos bases de données et tables hors de portée.

    L’intérêt de choisir soi-même l’emplacement de ce répertoire, le datadir, est double :

    • regrouper les données en un endroit connu (facilite les sauvegardes)
    • utiliser le partitionnement du disque pour ne pas avoir à craindre une perte de données en cas de réinstallation du système (facilite la maintenance)

    Nous allons voir comment procéder à ce changement tout en adaptant les sécurités des systèmes tels que SELinux et AppArmor. Ces derniers empêcheront en effet le serveur de démarrer.

    Continue reading
  23. Emu Nova 2.1 : coulisses d'une refonte ergonomique et visuelle

    Mon premier grand fait d’armes sur le Web aura été le lancement d’Emu Nova en octobre 2002. Les grandes lignes du site ont toujours été jeux vidéo rétro, émulation et aide aux utilisateurs.
    J’ai ainsi décidé d’offrir une nouvelle garde-robe à Emu Nova le 1er avril 2008 pour renouveler une interface vieille de 3 ans. 3 ans où le contenu s’est accumulé, les menus se sont désordonnés et la navigation s’est complexifiée.

    Aujourd’hui je vous dévoile les tenants et aboutissants d’un travail de réflexion mené sur plusieurs mois tant en terme d’ergonomie, d’accessibilité et de respect des standards du Web.
    Où l’on parlera de jQuery, Blueprint et d’interface orientée utilisateur.
    Continue reading

  24. Microformats : comment microformater du contenu déjà existant ?

    Ce billet a été initialement publié sur clever-age.com sous l'intitulé Microformats : comment microformater du contenu déjà existant ?.

    Nous avions dressé un panorama des microformats dans un précédent article intitulé « microformats : republier et donner du sens aux contenus ». Nous avions notamment conclu que leur intégration était rapide, peu coûteuse et surtout bénéfique tant pour le visiteur que pour la visibilité du contenu.

    Nous nous intéresserons cette fois-ci à une partie plus pratique des microformats : leur intégration. Toutefois ce rapide apprentissage sera didactique puisque nous apprendrons à identifier visuellement quels contenus d’une page peuvent être microformatés mais aussi comment microformater du code HTML déjà existant.

    Continue reading
  25. Bonnes pratiques de codage CSS

    J’y songeais mais l’article «De l’ordre, que diable !» m’a incité à m’y atteler plus tôt que prévu.
    Il n’y a en effet pas de méthode universelle pour programmer les CSS mais après plusieurs années d’expérience, j’ai affiné ma réflexion que je vous livre aujourd’hui.

    Où l’on parlera de présentation en 1 ligne, de CSSDoc mais aussi de folding et d’indentation. En clair, tout plein de bonnes pratiques de développement en CSS qui vous feront gagner du temps, vous éviterons de la sueur et sentent bon le travail de qualité.
    Continue reading

  26. OpenID : comment gérer ses identités sur Internet

    OpenID est un service d’identité numérique qui permet, entre autre, de mettre fin à la sempiternelle saisie des noms d’utilisateurs et des mots de passe. C’est gratuit, c’est libre et ça permet de gérer plusieurs identités sous la même adresse.
    Puisque de plus en plus de services proposent d’utiliser OpenID, intéressons-nous de près avant de terminer sur quelques astuces et autres microformats ;-)
    Continue reading

  27. Microformats : republier et donner du sens aux contenus

    Ce billet a été initialement publié sur clever-age.com sous l'intitulé Microformats : republier et donner du sens aux contenus.

    Le Web sémantique.
    Cette expression est sur toutes les lèvres de ceux qui préparent l’Internet de demain. Moteurs de recherche, services de pointe, secteur marchand … après avoir indexé du contenu, ils aimeraient désormais le comprendre. Comprendre pour mieux cibler, mieux profiler et mieux servir.
    Continue reading

  28. L'écrit Web : traitement de l'information sur Internet

    Je rédige sur ce blog depuis bientôt 3 ans, depuis plus de 5 ans sur Emu Nova et depuis quasiment 10 ans si on remonte à mon ancien site perso et mon site consacré à Star Wars. Ah l’époque des .fr.st ;-) .
    Ce bagage m’a permis d’affiner mon écriture sur le Web mais je cherchais à l’améliorer. C’est précisément à ce moment qu’Olivier Ertzscheid offre la dernière préface issue de sa plume et qu’Élie Sloïm recommande un obscur livre : l’écrit Web.

    J’apprécie ces hommes, entre autre, pour leur bonne parole donc il n’en fallait pas davantage pour me procurer cet ouvrage.
    Continue reading

  29. jQuery : optimiser l'utilisation des sélecteurs CSS

    JQuery est une formidable librairie JavaScript car elle offre une grande souplesse et une utilisation simple. Il est cependant important de bien comprendre son fonctionnement pour éviter les débordements liés à une joie mal maîtrisée.
    S’il est très facile d’utiliser les sélecteurs CSS de jQuery, je constate de ci de là que leur utilisation n’est pas toujours optimale … quand elle l’est déjà un tant soit peu.

    Alors on se retrousse les manches et c’est parti pour un petit cas pratique sur les sélecteurs CSS jQuery, plus une petite récap’ pour grapiller du temps et des lignes de code ;-)
    Continue reading

  30. Transcender CSS : sublimez le design Web !

    Concevoir un site Internet dans les règles de l’art demande de multiples compétences : architecture technique, programmation, graphismes, intégration, ergonomie et du bon sens. Transcender CSS : sublimez le design Web ! s’intéresse à l’aspect esthétique au travers des CSS.

    Ou comment CSS, sémantique, intégration XHTML, microformats, sources d’inspirations et approche du design en grilles sont indispensables pour tirer partie du meilleur du Web.
    Continue reading

  31. Installation du module Bluetooth sur un portable Acer

    J’ai décidé en 2006 d’abandonner la bonne vieille et traditionnelle tour de PC fixe pour le monde nomade de l’ordinateur portable. C’est ainsi qu’en juillet 2006 j’ai opté pour un Acer Aspire 9412, notamment pour sa carte nVidia avec RAM dédiée, son écran 17 pouces et un pavé numérique.
    La cerise sur le gâteau c’était le Bluetooth car j’envisageais déjà en avance de me trouver une oreillette pour communiquer via Skype ou SIP.

    J’ai donc acheté une oreillette cette année, une Logitech Mobile Freedom. C’est à ce moment là que j’ai réalisé l’absence totale de module Bluetooth sur l’ordinateur. Comme beaucoup, le bouton d’activation Bluetooth était là mais derrière, sous la coque, aucune trace d’antenne ou de module capable de gérer le Wi-Fi.

    Pour celles et ceux qui veulent néanmoins bénéficier du Bluetooth sans changer d’ordinateur, je partage avec vous la galère dans laquelle j’ai été embarqué.

    Remarque : méthode mise à jour pour les versions récentes d’Ubuntu … c’est encore plus facile ;-)

    Continue reading
  32. Migration vers Google Apps

    En constatant que nombre d’entreprises optaient pour des solutions de travail collaboratives en ligne, je me suis dis pourquoi pas moi ? Emu Nova est presque une petite PME avec sa quinzaine de collaborateurs dont un noyau dur de 8 personnes. Je souhaitais faciliter la communication interne, le partage de documents, leur sécurité et gagner la tranquilité d’un antispam performant.

    La migration de tous les comptes mails vers Google Apps se solde par un sans-faute et la mise à disposition d’outils appréciés et efficaces.

    Continue reading
  33. Bash : date du plus récent fichier d'un répertoire

    Ce qu’il y a de génial avec les systèmes Unix (dont Linux fait partie), c’est la possibilité d’interagir avec le système et d’étendre ses possibilités en jouant avec les programmes à disposition. Je pense qu’il est indispensable pour un développeur Web de connaître les bases de ces systèmes non pas pour frimer mais pour se simplifier la vie.
    L’Internet n’aura de cesse de progresser et les langages d’évoluer, il n’y aura probablement jamais plus simple ni plus rapide que de passer par les interactions système pour arriver à ses fins.

    Ma problématique était simple : j’avais besoin de récupérer la date du plus récent fichier d’un répertoire. En une ligne une seule et sans boucle, la puissance de la ligne de commande m’a donné le résultat. Explication pas à pas car ça peut servir à tout le monde.
    Continue reading

  34. MySQL : tris personnalisés et aléatoires

    La majorité des systèmes de bases de données permettent de trier une sélection de données en fonction de nos besoins, souvent de manière simple. La majorité des besoins courants impliquent des tris ascendants ou descendants (comprendre “par ordre alphabétique croissant ou descendant”) sur une plusieurs colonnes (des dates, des titres ou des codes particuliers) mais de temps à autre, il arrive que les besoins soient plus complexes puisque l’on voudra soit :

    • un ordre aléatoire
    • un ordre bien précis, ni ascendant ni descendant
    Continue reading
  35. Rock your Firefox : mes extensions Firefox préférées

    Read/WriteWeb fait partie de mes sources d’informations quotidiennes. Je suis tombé aujourd’hui sur un article concernant le lancement d’une nouvelle application Facebook permettant de recommander ses extensions favorites : Rock your Firefox.

    Ca tombe bien puisque je songeais depuis quelques jours à parler des extensions que j’utilise quotidiennement dans Firefox. Certaines n’intéresseront que les développeurs, d’autres les amateurs de praticité.
    Continue reading

  36. Du bon usage de la sémantique : microformats et futur de la recherche sur Internet

    Pendant que la bataille fait rage du côté des sites Web 2.0 (mais c’est un des leviers de l’innovation sur Internet que l’on aime ou pas cette appellation), une révolution silencieuse se met en marche : le Web sémantique ou encore le Web 3.0.
    Jusqu’à présent, les moteurs de recherche (Google, Yahoo!, Windows Live Search, Exalead etc.) avaient pour défi le recensement du plus grand nombre de documents et des résultats de recherche pertinents.

    S’il faudra bien évidemment soigner l’intitulé des liens, il faudra avant tout donner du sens à vos documents. C’est tout l’intérêt d’une programmation propre, respectant les standards et utilisant la sémantique à bon escient.

    Les microformats sont pour moi un élément essentiel qui accéléreront le processus et permettront de comprendre l’intérêt de la sémantique.
    Continue reading

  37. Ménage d'été : nouveau look pour le blog

    La Case de l’Onc’ Tom n’avait presque pas changé de visage depuis son lancement en février 2005. L’été s’installe enfin dans notre vert pays et j’en profite donc pour donner un gros coup de balais. Exit donc le fond sombre, le jaune et le blanc, bienvenue au marron et au blanc cassé. Vous noterez également le léger changement de nom (il n’était presque pas respecté faut dire). On parlera désormais de La Case de l’Oncle Tom. Ne vous prenez pas la tête, c’est comme le livre (mais ça n’a rien à voir on est d’accord).

    C’est en lisant un article sur l’intégration et la promotion des Microformats que j’ai réalisé à quel point cela pouvait bien s’intégrer dans un blog. J’avais déjà microformaté mon CV (hCalendar, hCard, hResume) mais pour d’autres raisons que je développerai, j’ai finalement cédé aux sirènes de la tentation.

    Continue reading
  38. Internet Explorer ne peut pas afficher cette page Web

    Si l’on en croit la recherche Google Internet Explorer ne peut pas afficher cette page Web, il semblerait que pas mal de monde soit concerné par un facheux problème. Internet Explorer 7 affiche sur certains site cette page d’erreur sans raison évidente. Ca en a même causé sur les groupes de discussions Microsoft.

    Alerté par un client par l’expression sibylline votre site a plein de bugs (c’était le seul), j’ai décidé de perdre une heure à trouver une solution au problème. Préparez vos favoris, j’ai trouvé la solution !

    Continue reading
  39. Utilisation de variables dans MySQL

    MySQL, depuis la version 3.23.6, permet de déclarer des variables dans ses requêtes. Il est d’ailleurs possible de scripter ses requêtes mais c’est une autre histoire.

    Ca peut sembler inutile à première vue lorsqu’on utilise MySQL au travers d’API d’autres langages (PHP, Perl, C# etc.). Et pourtant ça peut vous être très utile pour économiser des requêtes, du temps à programmer ces boucles et puis surtout, par flemme.

    Oui, la flemme est pour moi la qualité numéro un du développeur car le flemmard a pour but d’arriver à ses fins en un minimum d’efforts.

    Continue reading
  40. Créer son propre paquet .deb : gTwitter

    Lorsqu’on utilise un système d’exploitation Linux à base de paquetages (packages), il est préférable d’utiliser ce système d’installation pour rajouter de nouvelles applications. Je l’avais expliqué auparavant : j’ai choisi d’utiliser le client libre gTwitter pour gazouiller sur Twitter.

    Et là je tombe sur le cas d’école par excellence : la version proposée par Ubuntu est plus vieille que la dernière version en date et le site officiel de gTwitter ne propose que des sources à compiler. J’ai pourtant envie de pouvoir facilement supprimer gTwitter, surtout s’il ne me convient plus ou qu’Ubuntu se mette à la page entre temps.

    J’ai connu l’utilitaire checkinstall en lisant le Planet d’Ubuntu-fr. Son utilisation est très simple bien qu’entièrement en ligne de commande. Votre taux de geek-attitude va grimper à coup sûr !

    Continue reading
  41. Pivoter automatiquement des photos avec gThumb

    Je prends souvent mes photos à la verticale pour valoriser le sujet. Si le choix est plus ou moins discutable, la photo numérique, elle, est toujours enregistrée dans le même sens. Les photos verticales sont donc inclinées à 90 degrés.

    Il existe deux solutions pour la rotation de vos images :

    1. activer la rotation automatique de l’appareil photo (si celui-ci la propose). Personnellement je n’aime pas cette option à cause des bordures noires ajoutées à la photo ;
    2. effectuer soi-même la rotation de la photo pour qu’elle se présente telle qu’on l’a prise.
      L’inconvénient de cette dernière méthode est qu’il faut appliquer une rotation à chaque image, dans le bon sens. Une opération qui devient rapidement fastidieuse.
      Depuis sa version 2.16 (il me semble), le logiciel de visualisation d’images gThumb sous Linux propose deux outils sympathiques de rotation automatique d’images. Un énorme gain de temps. Continue reading
  42. Twitter, la mini-messagerie

    La première fois que j’ai entendu parler de Twitter, j’ai regardé par curiosité et j’ai ri. J’ai ri parce que je ne comprenais pas comment une jeune pousse (startup pour les anglophones :P) pouvait attirer autant de monde et lever des millions de dollars en ayant bâti un site reposant sur ce principe : envoyer des messages de 140 caractères de long.

    Vous n’avez rien loupé car c’est vraiment la seule chose que permet de faire Twitter : se créer un profil, se flanquer d’un avatar (le fameux avatar-based marketing, la Wii nage en plein dedans), balancer de courts messages, lire ceux d’autres personnes, éventuellement les rajouter à sa liste de suivi.

    Le social networking 2.0 dans toute sa splendeur. Tout ce que j’exècre.
    Continue reading

  43. Mise à jour automatique d'une feuille de style CSS dans le navigateur Web

    Bien souvent on est amené à modifier une feuille de style existante pour adapter la présentation ou corriger un bug (qui a pensé à Internet Explorer ?).
    Bien souvent on modifie directement cette feuille de style pour ensuite écraser les anciennes versions sur les sites en production.

    Et généralement on se confronte au problème du cache des navigateurs Web. Ces derniers conservent en mémoire les feuilles de style pendant un certain temps causant ainsi un décalage entre le fichier CSS du serveur (et la présentation souhaitée) et celui du navigateur (reposant sur une présentation obsolète).
    Continue reading

  44. Configurer Apache pour de multiples dépôts Subversion

    J’ai commencé à faire joujou avec Subversion dans le but de versionner mes développements et y adjoindre l’excellent Trac pour gérer les projets, les incidents et la documentation. Seulement voilà, je pars dans une optique où chaque projet dispose de son propre dépôt Subversion pour me faciliter la vie dans les fusions et autres manipulations amenant à croiser de nombreux fichiers.

    S’il me paraissait logique de créer chaque dépôt manuellement dans Subversion, ça l’était en revanche beaucoup moins pour le serveur Web Apache. Je souhaite en effet disposer d’un accès HTTP, pour tester les différents protocoles SVN entre autre. Flemme oblige, je n’avais vraiment pas envie de configurer également des alias et configurations de répertoires pour chaque dépôt.

    Une fois de plus, la flemme a vaincu.
    Continue reading

  45. Ubuntu 7.04 : configurer les effets graphiques

    Ubuntu 7.04 (dite “Feisty Fawn”, le faon téméraire) est sortie hier. Je l’attendais avec impatience pour bénéficier des effets graphiques et le bureau en 3D sans avoir à casser mon système. C’est désormais chose faite malgré quelques problèmes (portables ACER quand tu nous tiens ;-)).

    Seulement voilà, les préférences sont un peu chiches : on active ou on n’active pas.
    Voyons ensemble comment améliorer tout ça en n’installant qu’un tout petit programme, gnome-compiz-preferences.
    Continue reading

  46. Récupérer une partition et des données perdues

    Cette semaine j’ai installé un PC sous Windows Vista édition familiale basique. Dire que la récupération des données fut un couac est un doux euphémisme. Non seulement Windows Vista ne m’a pas monté automatiquement le petit disque dur IDE de 10Go mais en plus il a carrément fichu en l’air sa table de partitions.

    Résultat : impossible de relancer l’ancien PC et impossible de lire les données sous Vista sans formater (ingénieux non ?). Avant de me glisser la corde au cou, j’ai fait appel au duo d’applications à toujours avoir sur soi : TestDisc et PhotoRec.

    Continue reading
  47. IN() et GROUP_CONCAT() sont dans un bateau

    Il m’arrive fréquemment d’avoir à sélectionner des lignes de données à partir d’un ou plusieurs critères. C’est le cas dès que l’on souhaite récupérer une liste. C’est également très pratique pour mettre à jour ces dites-lignes. Seulement voilà, des fois on pourrait éviter quelques boucles et quelques complications avec l’utilisation de deux fonctions magiques de MySQL : IN() et GROUP_CONCAT().
    Continue reading

  48. Migrer un flux RSS vers Feedburner

    Pour mesurer l’utilisation des flux RSS d’Emu Nova, j’ai décidé d’utiliser Feedburner dans sa version gratuite. Je l’utilise déjà pour ce blog et j’en suis très satisfait, que ce soit pour les données fournies, les personnalisations possibles ou encore la qualité du service.

    La problématique du jour : comment utiliser Feedburner sur des flux RSS déjà existants ? Le changement doit être transparent pour les utilisateurs.

    Continue reading
  49. Linux c'est moche

    C’est ce que j’ai souvent entendu dire (et ce que j’ai pensé un certain temps, révolu depuis je vous rassure). La sortie de Windows Vista remet un pied dans un domaine où MacOS X avait la vie belle : celui de l’interface et des fioritures qui servent à rien mais qui en sont pour le coup, totalement indispensables.

    Continue reading
  50. OpenSearch et Google AdSense

    Les navigateurs Web modernes intègrent désormais quasiment tous une boîte de texte destinée à effectuer une recherche dans son moteur favori. Ces dits navigateurs permettent également d’ajouter les sites de son choix grâce au format OpenSearch initié par A9, filiale d’Amazon.

    Armez-vous d’un éditeur de texte et … c’est tout. Il n’en faut pas plus pour créer son propre module de recherche ;-)

    Continue reading
  51. Prenez des raccourcis

    Quand on utilise régulièrement les mêmes logiciels, on aime à pouvoir gagner du temps tout en se simplifiant la vie. Les seuls pré-requis sont 2 doigts et un peu de mémoire. Autant dire que tout le monde (ou presque) est concerné.

    Voyons ensemble 10 combinaisons de touches avec Control, facilement mémorisables. Ces combinaisons se retrouvent sur la plupart des logiciels Windows, Linux et Mac OS X à la différence près que pour ce dernier, c’est la touche Pomme qui interagit.

    Continue reading
  52. Coulisses d'un déménagement virtuel

    Hier soir, dimanche 15 mai, à 21h s’opérait une opération délicate : basculer l’intégralité des données du site Emu Nova ainsi que ses sites hébergés vers une nouvelle machine davantage apte à supporter la charge incombée par des visites quotidiennes dépassant au minimum les 9000 personnes. On aurait pu tenir encore dessus, certes.

    Besoins et nécessités, impératifs et exigences … suivez les coulisses d’un déménagement de grande ampleur (pour moi en tous cas).

    Continue reading
  53. Emu Nova version 3 : premier visuel

    L’idée d’améliorer Emu Nova me trotte dans la tête depuis le mois de janvier 2005. 11 mois et demi plus tard, j’accouche enfin d’un visuel satisfaisant et répondant aux critères que je m’étais fixé : simplicité, exhaustivité et légèreté. Les idées on les a, il ne reste plus qu’à les concrétiser. Comme le disait Nintendo, la Révolution aura lieu en 2006
    Une capture d’écran bonus pour ceux qui lisent ce billet ;-) cliquez-moi !

    Continue reading
  54. ENES : bilinguisme et génération RSS

    Dans le billet ENES : Open Source ? j’expliquais les bases du renouveau du projet. Renouveau important car aux yeux du “public”, et même aux notres, on en reste sur une impression de stagnation. Pendant que jeandubois s’occupe de la partie développement et matériel, je refonds le site Web. Bientôt à mi-parcours et à moins d’un mois de son relancement, que retenir ?

    Continue reading
  55. Simplifier le visuel

    Organiser l’affichage d’un site fait partie de la liste des mes hantises. Il faut trouver le bon équilibre entre la quantité d’informations dont doit disposer le visiteur sans le “perdre” ni surcharger le visuel.

    Continue reading