CTPL 0.1

Je ne vous en parlais pas, maintenant c’est là : je viens (enfin, hier) de publier la première version de CTPL !

Qu’est-ce que CTPL ?

CTPL est l’acronyme de C Template (Parser) Library, et c’est… un moteur de templates en C.

Les fonctionnalités/avantages de CTPL sont :

  • CTPL est libre (GNU GPLv3+).
  • CTPL est écrite en C.
  • CTPL est une bibliothèque, et est donc facilement utilisable depuis un programme (C en l’occurrence).
  • CTPL peut traiter n’importe quel tampon mémoire (via libmb), ne nécessitant ni que l’entrée ni que la sortie soit un fichier (ça c’est le vrai truc qui roxx des Pangolins).
  • CTPL a une syntaxe simple.
  • CTPL est (sensée être) portable.

Pourquoi CTPL ?

J’ai écrit CTPL (nofake) car j’avais besoin de parser des templates en C, et ce depuis une bibliothèque, et si possible sans que mes entrées ou ma sortie ne se fassent forcement sur des fichiers ; et malheureusement (ou pas), je n’ai pas réussi à trouver ça. Donc, ni une ni deux, je m’y suis mis.

Je veux essayer !

Ça c’est une riche idée ! Pour essayer, il suffit d’aller sur le site de CTPL, de récupérer les sources (depuis le tarball ou le dépôt Git) et de les compiler : tout ce qu’il faut savoir est expliqué sur le site.

N’oubliez pas de rapporter les éventuels bugs que vous trouveriez, et de me faire part de vos suggestions !

Liens

Trois petites choses… non, quatre.

Hé non, je ne suis pas mort. Déçus ?

Aujourd’hui, je vais parler de quatre petites choses : ma résurrection, et trois de mes petits projets hébergés ici.

Alors non, je n’ai jamais été mort, mais à vrai dire je n’ai jamais trouvé de quoi parler ici qui en vaille la peine. Peut-être vais-je essayer de me poser moins de questions à l’avenir et parler plus de tout et de rien, quitte à passer pour un con de temps en temps − ne vous inquiétez pas, j’ai l’habitude. Voilà, j’en ai terminé avec le primer point, ma résurrection.

Ensuite, les trois petits projets, bien entendu libres.

RMusic

Le dernier né, un petit outil, ou plutôt jouet : c’est un générateur de notes MIDI à partir de données aléatoires (ou pas). Il est fait pour lire quelque chose comme /dev/urandom et être connecté à un synthétiseur quelconque, par exemple ZynAddSubFX, FluidSynth ou ce que vous voulez.

Cette idée qui peut paraître stupide − et je ne dis pas qu’elle ne l’est pas − est partie d’un petit délire d’avant-hier soir, et a engendré ce petit programme tout à fait inutile mais pouvant quand-même générer des trucs sympa si les réglages sont bons.

Si ça vous amuse, vous pouvez aller voir la page dédiée.

LibMB

Ce projet est plus vieux, mais je ne l’avais jamais présenté ici, donc je le fais maintenant. LibMB est une petite bibliothèque (sans blague !?) C fournissant une API semblable à celle de gestion des fichiers C, mais travaillant exclusivement en mémoire. Je l’ai écrite pour de petits parseurs devant travailler sur des données non rattachées à un quelconque fichier dans le contexte de l’écriture de MdownEditor.

Cette bibliothèque n’est pas grosse ni lourde, ne mange pas de pain et est écrite en ANSI C.

LibBNSS

Encore un petit projet, commencé il y a beaucoup plus longtemps que tous les autres, LibBNSS est une petite bibliothèque, ou plutôt un ramassis de fonctions de traitement des chaînes de caractères en C. Les fonctions disponibles sont soit des fonctions manquantes de la norme C mais présentes dans POSIX ou autre norme cool (fonctions de « compatibilité »), soit des fonctions absentes de toute norme connue de moi, mais dont j’ai eu besoin, et qui ne sont pas toujours des plus simples à refaire. Il y a par exemple des fonctions de remplacement de chaîne(s) dans une autre chaîne ou une fonction de nettoyage d’un chemin.

Et voilà, c’est tout pour le moment, mais promis, j’essaierais d’être plus présent à l’avenir.