{"id":59,"date":"2009-12-01T04:38:17","date_gmt":"2009-12-01T02:38:17","guid":{"rendered":"http:\/\/ban.free-h.net\/?p=59"},"modified":"2009-12-01T04:38:17","modified_gmt":"2009-12-01T02:38:17","slug":"ctpl-0-1","status":"publish","type":"post","link":"https:\/\/ban.netlib.re\/blog\/ctpl-0-1\/","title":{"rendered":"CTPL 0.1"},"content":{"rendered":"<p>Je ne vous en parlais pas, maintenant c&rsquo;est l\u00e0 : je viens (enfin, hier) de publier la premi\u00e8re version de <a href=\"http:\/\/ctpl.tuxfamily.org\/\">CTPL<\/a> !<\/p>\n<h3>Qu&rsquo;est-ce que CTPL ?<\/h3>\n<p>CTPL est l&rsquo;acronyme de C Template (Parser) Library, et c&rsquo;est\u2026 un moteur de templates en C.<\/p>\n<p>Les fonctionnalit\u00e9s\/avantages de CTPL sont :<\/p>\n<ul>\n<li>CTPL est libre (GNU GPLv3+).<\/li>\n<li>CTPL est \u00e9crite en C.<\/li>\n<li>CTPL est une biblioth\u00e8que, et est donc facilement utilisable depuis un programme (C en l&rsquo;occurrence).<\/li>\n<li>CTPL peut traiter n&rsquo;importe quel tampon m\u00e9moire (<em>via<\/em> <a href=\"libmb\/\">libmb<\/a>), ne n\u00e9cessitant ni que l&rsquo;entr\u00e9e ni que la sortie soit un fichier (\u00e7a c&rsquo;est le vrai truc qui roxx des Pangolins).<\/li>\n<li>CTPL a une syntaxe simple.<\/li>\n<li>CTPL est (sens\u00e9e \u00eatre) portable.<\/li>\n<\/ul>\n<h3>Pourquoi CTPL ?<\/h3>\n<p>J&rsquo;ai \u00e9crit CTPL (nofake) car j&rsquo;avais besoin de <em>parser<\/em> des templates en C, et ce depuis une biblioth\u00e8que, et si possible sans que mes entr\u00e9es ou ma sortie ne se fassent forcement sur des fichiers ; et malheureusement (ou pas), je n&rsquo;ai pas r\u00e9ussi \u00e0 trouver \u00e7a. Donc, ni une ni deux, je m&rsquo;y suis mis.<\/p>\n<h3>Je veux essayer !<\/h3>\n<p>\u00c7a c&rsquo;est une riche id\u00e9e ! Pour essayer, il suffit d&rsquo;aller<a lang=\"en\" href=\"http:\/\/ctpl.tuxfamily.org\/\"> sur le site de CTPL<\/a>, de r\u00e9cup\u00e9rer les sources (depuis <a href=\"http:\/\/download.tuxfamily.org\/ctpl\/releases\/ctpl-0.1.tar.gz\">le <em>tarball<\/em><\/a> ou <a href=\"http:\/\/git.tuxfamily.org\/ctpl\/ctpl\/\">le d\u00e9p\u00f4t Git<\/a>) et de les compiler : tout ce qu&rsquo;il faut savoir est <a href=\"http:\/\/ctpl.tuxfamily.org\/#building-ctpl\">expliqu\u00e9 sur le site<\/a>.<\/p>\n<p>N&rsquo;oubliez pas de <a href=\"http:\/\/ctpl.tuxfamily.org\/#reporting-bugs\">rapporter les \u00e9ventuels bugs<\/a> que vous trouveriez, et de me faire part de vos suggestions !<\/p>\n<h3>Liens<\/h3>\n<ul>\n<li><a lang=\"en\" href=\"http:\/\/ctpl.tuxfamily.org\/\">Site de CTPL<\/a><\/li>\n<li><a lang=\"en\" href=\"http:\/\/ctpl.tuxfamily.org\/doc\/unstable\/\">Documentation<\/a><\/li>\n<li><a lang=\"en\" href=\"http:\/\/ctpl.tuxfamily.org\/#reporting-bugs\">Reporter un bug<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Je ne vous en parlais pas, maintenant c&rsquo;est l\u00e0 : je viens (enfin, hier) de publier la premi\u00e8re version de CTPL ! Qu&rsquo;est-ce que CTPL ? CTPL est l&rsquo;acronyme de C Template (Parser) Library, et c&rsquo;est\u2026 un moteur de templates en C. Les fonctionnalit\u00e9s\/avantages de CTPL sont : CTPL est libre (GNU GPLv3+). CTPL est &hellip; <a href=\"https:\/\/ban.netlib.re\/blog\/ctpl-0-1\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">CTPL 0.1<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,6],"tags":[9,11,15],"class_list":["post-59","post","type-post","status-publish","format-standard","hentry","category-informatique","category-logiciels-libres","tag-ctpl","tag-glib","tag-libmb"],"_links":{"self":[{"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/posts\/59","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/comments?post=59"}],"version-history":[{"count":0,"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/posts\/59\/revisions"}],"wp:attachment":[{"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/media?parent=59"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/categories?post=59"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ban.netlib.re\/blog\/wp-json\/wp\/v2\/tags?post=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}