clever-age.org, accueille aujourd’hui le projet CleverSvg. CleverSvg est une bibliothèque PHP5 objet permettant la création et la manipulation de graphiques
SVG avec PHP. SVG est un format
XML destiné à la création de graphiques vectoriels bi-dimensionnels. Publié sous licence
LGPL, CleverSvg supporte un nombre important d’éléments parmi ceux qui figurent dans la Recommandation du
W3C au sujet de SVG :
- Formes simples (rectangle, cercle, polyligne, polygone, ligne, ellipse, chemin) ;
- Gestion du texte et des images ;
- Groupes ;
- Définitions ;
- Intégration de fragments SVG dans des documents XHTML ;
- Liens ;
- Styles (en ligne, ou via des feuilles de style) ;
- Intégration de scripts ;
- Dégradés linéaires et radiaux ;
- Transformation (matrice, translation, échelle, rotation, skewX, skewY).
Aller plus loin
# C'est super, mais...
Posté par GG (site web personnel) . Évalué à 1.
C'est super, mais j'espère que la page du projet sera traduite en français.
Bon, j'ai regardé la page du projet, et.... même sans traduction ça coule de source :)
Bientôt plein de sites web en SVG....
Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html
# Très très bonne chose
Posté par Benoît Bâlon (site web personnel) . Évalué à 1.
Maintenant, l'intérêt de cette bibliothèque serait d'autant plus important si les 60-70% d'internautes mondiaux surfant avec Internet Explorer pouvaient bénéficier du support natif du SVG dans leur navigateur, donc sans avoir à installer un plugin (dont ils ignorent l'existence pour la plupart, et qu'Adobe ne met plus à jour depuis un certain temps si ne me trompe).
Peut-être pouvons-nous espérer un premier support du SVG, dans Internet Explorer 8 ? Hélas, même si c'est le cas, une très grosse partie des internautes resteront bloqués, puisqu'ils ne sont même pas passés à Internet Explorer 7... D'ailleurs, beaucoup sont encore avec du 5.5, voire même du 5.0...
[^] # Re: Très très bonne chose
Posté par Benoît Bâlon (site web personnel) . Évalué à 1.
[^] # Re: Très très bonne chose
Posté par Gniarf . Évalué à 2.
[^] # Re: Très très bonne chose
Posté par Benoît Bâlon (site web personnel) . Évalué à 2.
Dans une autre mesure, j'aime bien jouer avec XML et XSLT... Hé bien autant je ne rencontre aucun problème avec Internet Explorer (6 et 7) et Firefox, autant je n'ai pas réussi à afficher grand chose de potable dans Konqueror. Si bien que je suis obligé de faire marche arrière si je souhaite le supporter correctement.
[^] # Re: Très très bonne chose
Posté par BAud (site web personnel) . Évalué à 1.
c'est un leurre, hormis si tu avais ajouté "respectueux des standards du W3C".
Pour s'afficher de la même façon, tu fais du PDF dont la finalité est d'avoir un rendu "indépendant" de la machine sur lequel tu le regardes / imprimes.
[^] # Re: Très très bonne chose
Posté par Benoît Bâlon (site web personnel) . Évalué à 1.
Je suis bien d'accord que c'est un leurre. Je sais bien que les différents Internet Explorer ne sont pas complètement respectueux des standards du W3C. Est-ce une raison pour empêcher 70-80% des internautes d'accéder à un site Web alors que tout le monde sait pertinamment que la majorité entreront dans un de ces deux schémas lors des mois à venir :
- va remplacer son ordinateur vieillissant pour un ordinateur tout neuf avec un Windows tout neuf et un Internet Explorer tout neuf
- va garder son bon vieux PC qui peut faire encore quelques années, mais également garder son vieux Windows tout pourri et l'Internet Explorer qui va avec
Maintenant, ça ne veut pas du tout dire que personnellement je m'efforce de développer des site comme un cochon ! Bien au contraire, j'essaie autant que possible de me plier à un certain formalisme (ou un formalisme certain, c'est selon), et pas seulement quand il s'agit d'afficher un bout de code HTML dans le navigateur préféré du client final.
# sceptique
Posté par Axel . Évalué à 2.
PHP est à la base déjà un langage de template, pourquoi ne pas l'utiliser comme tel ?
$rect = new csRect(60, 60, 40, 40);
$rect->setFill('red');
$rect->setStroke('yellow');
$rect->setStrokeWidth('4');
correspond à
< circle x="60" y="60" width="40' height="40" fill="red" stroke="yellow" stroke-width="4" />
En gros on remplace un template en PHP d'un fichier SVG par un fichier PHP pas utilisé comme "template" + une classe PHP supplémentaire(qui elle utilise des templates ? ou des concatnéations de chaines ?)
Pour moi c'est un peu inutile, sauf :
- pour ceux qui n'aiment pas le XML et préfère manipuler du PHP
- pour un usage intensif de SVG au quel cas l'appel à des templates dans d'autres fichiers peut être couteux (et encore, avec yun système de cache ça doit être gommé)
Pour moi l'interet d'une bibliothèque serait de rentrer transparent certaines choses dépendantes de la plateforme, de technologies etc, et je vois bien l'interet d'une bilbilothèque graphique permettant plusieurs formats de sortie : ex : c = new Circle(); c.toPNG();c.toSVG(); c.toPDF(); etc ou gérant les spécificités à IE, Firefox, Konqueror, etc
Dans ce cas ci, la couche supplémentaire n'apporte à mon sens pas grand chose, et d'après les exemples, le code n'est même pas forcément bcp plus concis.
L'interet est peut être plus dans les choses très complexes de SVG comme les transformations ?
De plus, les SVG actuels sont inutilisables, un import à partir d'un fichier SVG (voire du résultat d'un template en PHP) serait par contre intéressant pour effectuer les actions complexes avec cette bibliothèque.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.