Vous pouvez me contacter via Facebook pour questions & suggestions :
Page Facebook relative à mon site
Inkscape est incapable de générer du SMIL (langage d'animation de SVG).
Il faut donc générer avec Inkscape un dessin vectoriel statique puis ouvrir le document Inkscape avec un éditeur de textes
tel Notepad, pour rajouter du code d'animation (JavaScript ou SMIL ou CSS).
Observez attentivement quelques secondes (au moins 10) ...
La flèche (contour bleu) s'affiche durant 4 secondes puis disparaît tandis le nom de la discothèque (Saturne Dancing) apparaît durant 4 secondes. Ce cycle de 8 secondes se répète à l'infini.
Je vous explique ma démarche avec le logiciel Inkscape.
Dans un canevas qui fait 400 par 400 j'ai produit les objets suivants :
Ouvrez ce dernier document Inkscape avec l'éditeur de textes Notepad.
Il faut repérer le groupe de formes correspondant à la flèche bleu. C'est facile ce sont deux formes ayant la valeur #0000ff (bleu)
pour l'attribut stroke. Et oui, vous voyez ça sert d'avoir des notions du langage SVG !
Ensuite j'ai changé la valeur de l'attribut ID de la balise G par "fleche" .
Dans ce groupe donc toujours à l'intérieur du conteneur G j'ai rajouté une instruction SVG avec le code suivant :
Sens : La flèche est affiché 4 secondes (8 secondes * 0.5) puis masquée 4 secondes durant un cycle de 8 secondes qui se répète à l'infini.
Ensuite il faut repérer la balise text (valeur de l'attribut fill : #ff0000) et insérer le code suivant à l'intérieur du conteneur :
Sens : le texte est masqué 4 secondes puis affiché durant 4 secondes durant un cycle de 8 secondes qui se repète à l'infini.
Donc quand la flèche est affiché "Saturne Dancing" est masqué et vice-versa.
Le groupe de formes comprenant un rectangle de contour bleu et un "path" de contour bleu est identifié "fleche" et j'ai ajouté dans ce groupe une instruction basée sur la balise animate : animation portant sur la propriété CSS visibility.
Dans le conteneur text j'ai rajouté aussi une instruction d'animation qui porte aussi sur la propriété visibility.
Et voilà maintenant il n'y a plus qu'à insérer le dessin vectoriel animé dans la page web. Comme ce fichier SVG ne comprend pas de JavaScript on peut utiliser la balise IMG !
Jusqu'à présent nos animations étaient plates. Dans cette page je vous propose une animation 3D : un jet atterrissant sur la piste.
L'avion est d'abord minuscule puis grossit de plus en plus. Donc effet 3D !
Vous allez découvrir qu'en fait c'est très simple.
Mais attention on ne peut se contenter d'utiliser le logiciel Inkscape. Il y a quelques lignes de code SVG à saisir directement dans la page Web.
À la différence d'une boite HTML et via CSS3 on ne peut pas créer sous SVG de zone 3D.
Donc on ne peut pas translater selon l'axe Z. L'effet 3D est rendu par un changement d'échelle.
Cette image vectorielle sera le "background" du canevas SVG.
Ce document Inkscape fait 900 pixels par 600.
Toujours avec Inkscape j'ai ensuite produit le document avion.svg
Voir le rendu ci-dessous :
Ce document Inkscape fait 260 par 110 (pixels).
Je dois insérer cette image dans un canevas SVG avec la balise image.
Or paradoxalement cette balise ne fonctionne correctement (avec tous les navigateurs) que s'il d'une image matricielle.
Mais comme vous savez, il est possible sous Inkscape d'exporter au format PNG un dessin Inkscape et c'est ce que j'ai fait.
Il faut maintenant animer l'avion : translation 2D et changement d'échelle (pour créer un effet 3D).
On peut utiliser le SMIL ou le CSS ou le JavaScript.
Je ne présenterai que la solution CSS car c'est celle qui est la plus facile à réaliser.
Par ailleurs dans le cadre de la version 2 de SVG, il sera possible de manipuler comme propriétés CSS les paramètres
géométriques de taille et de position des objets SVG.
Le rendu :
Le code SVG correspondant :
Le code CSS correspondant :
Si vous ne comprenez le code CSS, visitez dans le même site "tutoriel CSS" et plus précisément les pages dédiées aux transitions, transformations car ici il s'agit d'une règle d'animation basée sur des transformations.