URL: https://linuxfr.org/news/edit-interactive-svg-1-2 Title: Edit Interactive SVG 1.2 Authors: mothsART Ysabeau đ§¶, BenoĂźt Sibaud et Pierre Jarillon Date: 2021ćčŽ05æ23æ„T10:31:46+02:00 License: CC By-SA Tags: html5, Ă©diteur, svg, sortie_version et edit_interactive_svg Score: 22 Edit Interactive SVG est un logiciel libre qui permet de crĂ©er des illustrations interactives au format SVG. Il Ă©tait initialement (2018) vouĂ© Ă lâĂ©ducation mais peut se destiner Ă un public bien plus large. Une [prĂ©sentation de lâobjectif du logiciel](https://mothsart.github.io/editeur-svg-interactif.html) et deux exemples [Campement palĂ©olithique](https://mothsart.github.io/labo/frontend/edit_interactive_svg/examples/campement.html) et [Organes du corps humain](https://mothsart.github.io/labo/frontend/edit_interactive_svg/examples/organes.html) sont visibles pour se faire rapidement une idĂ©e. Et la [version en ligne](https://mothsart.github.io/labo/frontend/edit_interactive_svg/) permet de tester directement sans installation. ---- [Journal Ă lâorigine de la dĂ©pĂȘche](https://linuxfr.org/users/mothsart/journaux/edit-interactive-svg-1-2) [Journal sur la version 1.1](https://linuxfr.org/users/mothsart/journaux/edit-interactive-svg-1-1) [Journal sur la version 1.0](https://linuxfr.org/users/mothsart/journaux/editeur-de-svg-interactif) ---- ## Intro ## LâĂ©diteur de SVG Interactif prenait la poussiĂšre et jâai fini par prendre le temps nĂ©cessaire pour lui redonner un petit coup de jeune. Pour celles et ceux qui suivent un peu le projet, nous arrivons Ă la version 1.2 qui suit la [1.1](https://linuxfr.org/users/mothsart/journaux/edit-interactive-svg-1-1). Cette version mâa permis de rĂ©pondre a des besoins exprimĂ©s depuis sa [version 1.0](https://linuxfr.org/users/mothsart/journaux/editeur-de-svg-interactif) donc trois ans dâattente. - Rajouter des contenus multimĂ©dia directement dans les commentaires. Il Ă©tait dĂ©jĂ possible de rajouter des images (PNG, GIF, JPG), il est dĂ©sormais possible de complĂ©ter avec des vidĂ©os, des sons ou de la musique. NĂ©anmoins, jâencourage Ă utiliser cette fonctionnalitĂ© avec parcimonie car elle implique dâencapsuler lâensemble dans un seul fichier et sous une forme textuelle (base64) et par consĂ©quent un tiers plus volumineux. - Pouvoir gĂ©rer un historique de modification ce qui inclut lâajout des boutons « annuler/restaurer » et la possibilitĂ© de naviguer sur lâensemble des modifications effectuĂ©es. Cette partie, pas fonciĂšrement la plus demandĂ©e, mais nĂ©cessaire Ă mon sens, mâa donnĂ© le plus de fil Ă retordre pour adapter le code actuel et Ă©viter des rĂ©gressions. Je mentirais en disant que tout a Ă©tĂ© testĂ© dans ce domaine et marche parfaitement tellement les cas dâutilisation peuvent ĂȘtre sournois. - La possibilitĂ© de remplacer le fichier SVG source sans perdre les mĂ©ta-donnĂ©es liĂ©es au logiciel : indices, titres, commentaires, zoom, etc. CâĂ©tait confus auparavant : jâai donc distinguĂ© « ajout » et « remplacement ». ## Sous le capot ## **StabilitĂ© et refactoring** : je lâavais exprimĂ© dans la version 1.1, il devenait difficile de retoucher au code sans effet sur sa stabilitĂ©. Des tests automatisĂ©s ont Ă©tĂ© rajoutĂ©s et le logiciel a Ă©tĂ© dĂ©coupĂ© en une arborescence de fichiers bien plus digeste Ă la relecture. Ce dernier oblige dĂ©sormais un « make build » aprĂšs toute Ă©dition mais câest un mal pour un bien et une fois mis en place, le logiciel gagne en qualitĂ© et en lisibilitĂ©. **Correctifs divers** : comme ça cela faisait un moment que je nâavais pas touchĂ© au code, jâai revu pas mal de petits dĂ©tails sur lâaspect graphique mais aussi des petits bugs subtils. Je ne me suis pas concentrĂ© Ă les lister, mais je peux juste dire quâils Ă©taient nombreux. ## Vous souhaitez lâutiliser ## Les sources restent disponibles [sur GitHub](https://github.com/mothsART/editInteractiveSVG). Pour debian/ubuntu, le [PPA a Ă©tĂ© mis Ă jour](https://launchpad.net/~jerem-ferry/+archive/ubuntu/app-illustration). Pour les plus pressĂ©s dâentre vous, jâai mis Ă jour Ă©galement la [version en ligne](https://mothsart.github.io/labo/frontend/edit_interactive_svg/). ## Que nous rĂ©serve une nouvelle version ## Ce projet a Ă©tĂ© initiĂ© il y a quatre ans et fait ce quâon lui demande sans forcĂ©ment de nouvelles Ă©volutions. Je suis allĂ© bien plus loin que ce que jâenvisageais pour ce soft et en suis donc satisfait. Jâai dâautres projets en tĂȘte (et en cours) et il me parait malhonnĂȘte dâannoncer de futures Ă©volutions alors que je sais dâavance que je nây accorderais que peu de temps. Pour lâinstant, je prĂ©fĂšre dire que je vais maintenir le code Ă son strict nĂ©cessaire : corrections de bugs inĂ©vitables. Si vraiment je repartais sur le projet, voici les axes que je donnerais : - un nouveau nom, de nouvelles technologies et une nouvelle identitĂ© graphique : un des objectifs Ă©tait de me dĂ©barrasser de pas mal de bibliothĂšques telles que jquery, bootstrap, etc. ; force est de constater que repartir de zĂ©ro sera bien plus bĂ©nĂ©fique que tendre vers ce point itĂ©rativement ; - une appli serveur avec toutes les amĂ©liorations que ça implique : stockage, compte utilisateur, ajax, etc. ; - rĂ©flĂ©chir [Progressive Web App](https://fr.wikipedia.org/wiki/Progressive_web_app) : pouvoir installer lâĂ©diteur comme une appli mobile ou tablette ; - plus de contenus : de nouveaux exemples (toute contribution est bienvenue) ; - rajouter des images (PNG, JPG) Ă lâouverture (ou glissĂ©-dĂ©posĂ©) dâun nouveau fichier : un peu bizarre quand on parle dâĂ©diteur interactif de SVG, mais je pense que le commun des mortels ne fait pas fonciĂšrement la diffĂ©rence. Si son fichier est matriciel mais avec une dĂ©finition suffisante, lâintĂ©rĂȘt dâajouter une Ă©tape pour le convertir en SVG me parait faible ; - lâamĂ©lioration de certaines parties techniques : - ajout dâune barre de progression sur lâimportation de fichiers lourds ; - optimiser davantage le CSS/JS (minification, concatĂ©nation) ; - quelques retouches visuelles (checkbox non natives) ; - la possibilitĂ© dâutiliser des images au format Avif (voir webp) ; - la possibilitĂ© de minifier Ă la volĂ©e les fichiers importĂ©s et exportĂ©s ; - conserver lâhistorique des modifications dans le fichier de travail (en HTML) : liĂ© au passage au tout serveur.