Il y a quelques temps sur un projet professionnel arrêté prématurément, j'avais développé un jeu de classes PHP5 destinées à produire des graphiques au format SVG.

Et bien le code source vient d'être mis à disposition sur le nouveau site dédié open source de Clever Age sous licence LGPL et a pris le doux nom de CleverSvg.

Voici un rapide exemple d'utilisation du joujou :

<?php
require_once('cleversvg.php');
$doc = new csDocument(550, 400, 'SVG test document');
 
$gradient = new csLinearGradient(0, 0, '100%', '100%');
$gradient->addStop('0%', 'yellow');
$gradient->addStop('100%', 'red');
$doc->addAsDefinition($gradient, 'gradient');
 
$star = new csPolygon();
$star->setPointsArray(array(array(350,75),  array(379,161),
                            array(469,161), array(397,215),
                            array(423,301), array(350,250),
                            array(277,301), array(303,215),
                            array(231,161), array(321,161)));
$star->setStroke('blue');
$star->setFill('url(#gradient)');
$star->setStrokeWidth(4);
$linkedstar = new csLink();
$linkedstar->setHref('http://prendreuncafe.com/blog/');
$linkedstar->addElement($star);
$doc->addElement($linkedstar);
 
header("Content-type: image/svg+xml");
echo $doc->toXML();

Ce qui donne quelque chose approchant ceci. Si vous surfez avec un navigateur vieillissant insensible aux avancées technologiques de son temps, ça donne à peu près ça :

Démo CleverSVG

Je suis pour l'instant le développeur principal et mainteneur du projet, et il y a de fortes chances que ce soit le cas pour un petit bout de temps [1]. Une documentation, une liste d'information et support utilisateurs et un bugtracker sont disponibles.

D'autres choses viendront en suivant, dont une librairie destinée à produire des graphes SVG (camemberts, histogrammes, etc.)

J'en profite aussi pour vous faire part de la sortie du projet libre cleverbox, qui permet de déployer et administrer des instances Trac+Subversion en trois coups de cuiller à pot et sans se faire mal.

Notes

[1] Je veux dire, y compris après avoir quitté Clever Age à la mi-mars.