J'annonce de part ce présent message, la réécriture de la bibliothèque de génération et de manipulation de formes libSDL2_gfxutils. Elle est publiée sous GPLv3.
Journal Je n'aime pas le code moderne
Cher journal,
Avant propos
Développeur PHP depuis près de dix ans, internaute depuis quinze et geek depuis vingt-cinq, comme tout bon geek, je fais de la veille. Je m'intéresse aux nouveautés, j'étudie scrupuleusement les spécifications des langages que j'utilise (soit PHP, Javascript, CSS et HTML), en bref, je me tiens au courant et j'applique les recommandations les plus récentes.
C'était mieux avant
J'adorais Internet. Je l'aime toujours, mais moins qu'avant. "Avant" ? Avant l'avènement des réseaux sociaux.
Similairement, bien que j'aime (…)
Journal Retro 0.1
Ce journal est une traduction d'un article publié sur mon blog il y a peu en anglais.
Je vous le livre ici traduit en français un peu à la va-vite, sans trop adapter les structures grammaticales.
Introduction
Lors du dernier GUADEC, j'ai eu la chance de présenter brièvement mon projet d'avoir un gestionnaire de jeux vidéo simple mais puissant pour GNOME. Afin d'en faire une réalité, beaucoup de travail fût nécessaire sur son backend.
Cet article présente la publication de (…)
Journal Du xml dans vos outils CLI

Le GCU-Squad viens de publier un petit billet parfait pour bien commencer un vendredi :)
On y découvre l'existence d'une bibliothèque nommée libxo dont l'objectif est de générer du contenu sous différents formats (texte, XML, JSON, et HTML). Cette bibliothèque est distribuée sous licence Juniper. C'est une licence libre utilisée par Juniper qui si j'ai bien compris est une entreprise qui bosse dans la virtualisation (mais je peux être totalement à coté de la plaque).
Mais pourquoi je vous (…)
Bref, j'ai créé une bibliothèque Rust et un moteur iBus (et je cherche comment les empaqueter)
Tiré du journal d'Allan Simon qui donne un exemple de bibliothèque en langage Rust et comment créer des bibliothèques Rust appelables :
Pour le décideur pressé, j'ai écrit:
- une bibliothèque en Rust, compatible ABI C (c-à-d un joli .so et .h) pour manipuler du pinyin : librustpiniyn ;
- un moteur iBus pour taper chinois en précisant les tons, utilisant la bibliothèque du dessus : ibus-pinyintone ;
- un ensemble d'exemples sur comment créer des bibliothèques Rust appelables comme si c'était une lib C : ffi-rust.
Et je me demande comment je pourrais empaqueter les deux premiers dans un joli .deb qui va bien.
Journal Sortie de Blueprint v0.1

J'ai le plaisir de vous annoncer la sortie Blueprint v0.1, une bibliothèque METAPOST pour produire des graphiques utiles aux project managers et system desginers. Voilà une liste (exhaustive) de figures pouvant être produites avec la bibliothèque:
Exemple de timeline graphic
Exemple de schedule graphic
Example de UML component diagram
Example de graphique avec des légendes
Ce dernier graphique utilise La bibliothèque graph
de METAFONT QUI permet de faire de zolis dessins, j'ai ajouté des légendes. Cela permet par exemple (…)
Je crée mon jeu vidéo E13 : un an, premier bilan
« Je crée mon jeu vidéo » est une série d'articles sur la création d'un jeu vidéo, depuis la feuille blanche jusqu'au résultat final. On y parle de tout : de la technique, du contenu, de la joie de voir bouger des sprites, de la lassitude du développement solitaire, etc. Vous pourrez suivre cette série grâce au tag gamedev.
Dans l'épisode 12, on a parlé des interfaces graphiques et physiques. Dans cet épisode anniversaire, on va faire un premier bilan global de l'état du jeu. Et on discutera aussi d'autres événements liés aux jeux vidéos et qui me concernent et en quoi ça peut aider Akagoria.
Journal Soya 3D version 3 arrive... (en images !)
Soya est un moteur 3D pour Python. La première version de Soya a été utilisée dans plusieurs jeux et notamment Slune, Balazar et Balazar Brother. Plusieurs tentatives de seconde version n’ont pas donné grand chose, principalement faute de temps… Et aujourd’hui, voici venir la version 3 dont les sources sont disponibles sur Bitbucket !
Les nouveautés les plus marquantes sont les suivantes :
- Support de Python 3.4 et Blender 2.70
- Vertex shaders et pixel shaders : Soya divise les (…)
Forum Programmation.php Normes freedesktop et icônes (une libxdg pour PHP?)
Bonjour,
Je suis à la recherche d'une implémentation des spécifications freedesktop suivantes pour PHP:
http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
L'idée serait de pouvoir utiliser dans son appli PHP un thème d'icône type Tango ou Oxygen directement et pouvoir switcher d'un thème à l'autre, le code l'appli utilisant les noms d'icônes des standards ci-dessus comme le font les applications desktop.
Le nec plus ultra serait que je puisse directement accéder aux thèmes d'icônes installés sur le système hôte mais ça semble compromis pour des (…)
Journal Sortie de Box2D 2.3.0

À la suite de l'épisode 04 où on avait parlé de Box2D, et où je disais que la dernière version (2.2.1) était un peu vieille (septembre 2011), voici qu'une nouvelle version vient de sortir le 3 novembre dernier : la version 2.3.0 !
Peu de changement. Le principal étant qu'il n'est plus nécessaire de déclarer les polygones dans le sens anti-horaire, ni avec les points dans l'ordre : la bibliothèque calcule maintenant l'enveloppe convexe des points toute seule (…)
Bash Argsparse : mieux gérer sa ligne de commande dans ses scripts.
Je vous présente une bibliothèque écrite en Shell : bash-argsparse
Bash-argsparse permet une gestion des options de la ligne de commande en plus haut niveau qu'un simple getopt, un peu comme le module argparse de python.
Parmi la liste des fonctionnalités, on trouve :
- la génération automatique du --help ;
- la vérification des entrées utilisateurs, soit suivant des énumérations, soit suivant des formats pré-établis (nombres entiers, adresses IP, etc.), soit via des résultats de fonctions définies par le développeur du script ;
- l'exclusion mutuelle de plusieurs options ;
- le cumul de valeur par répétition d'une option ;
- et plein d'aut'trucs.
Journal Mediatheque Numérique ... du bon DRM à la sauce Microsoft

Bonjour amis linuxien,
J'en appelle à ceux qui sont abonnés dans une médiathèque, une médiathèque dont les bibliothécaires (pour ne pas dire les médiathécaires) ont pris la décision de souscrire au service : Médiathèque numérique. L'idée de base est très bonne voire excellente, la médiathèque cotise au service et cela donne aux abonnés un accès au catalogue du site Internet (le catalogue fourni est de bon goût : lié à arte vod) et en plus ça fait rentrer nos (…)
Forum Programmation.autre Lister les bibliothèques statiques embarquées dans un binaire
Bonjour,
J'aimerais savoir s'il y a un moyen de lister les bibliothèques statiques avec lesquelles un binaire a été linké. À la manière de ce que donne la commande ldd pour les bibliothèques dynamiques.
Merci.
Sortie de GraphStream 1.1
L’équipe de développement de GraphStream a publié le 11 novembre 2011 la version 1.1 de sa bibliothèque de manipulation de graphes dynamiques. Cette nouvelle version corrige un grand nombre de bogues présents dans la 1.0 et détectés avec l’aide d’une communauté d’utilisateurs grandissante. Elle apporte aussi son lot de nouveautés, comme l’ajout de nouveaux formats d’entrée, afin de permettre une meilleure interopérabilité des outils de manipulation de graphes ou encore de nouvelles implantations de graphes plus performantes.
GraphStream est une bibliothèque Java développée sous double licence LGPL/CeCILL-C.
3 bibliothèques javascript à découvrir : D3, Sugar et Batman
D3.js
D3.js est une bibliothèque javascript légère et libre qui permet de manipuler et représenter graphiquement des documents en s'appuyant sur leurs données. Elle est une réécriture de protovis et s'appuie sur des technologies comme HTML5, CSS3 et SVG pour afficher des données et interagir avec elles. Je vous encourage à aller voir les exemples pour voir de quoi est capable d3.js.
Sugar.js
Sugar.js est une bibliothèque qui vise à faciliter la manipulation des objets natifs Javascript et à combler les différences entre navigateurs. Elle ajoute des méthodes bien pratiques aux entiers, chaînes de caractères, fonctions, tableaux, objets, dates… En revanche, elle ne concerne ni les requêtes AJAX ni le DOM (jQuery fait ça très bien).
Batman.js
Batman.js est un petit framework MVC sous licence MIT. Il est écrit en CoffeeScript et peut donc naturellement être utilisé en Javascript afin de structurer une application web qui ferait un fort usage du JS. S'inspirant des principes de Rails (convention over configuration, etc.), il doit permettre de développer rapidement des applications web mono-page.