Doc: Description du fonctionnement *minimal*, code HTML et JavaScript. Suppression...
[svganimation.git] / doc / page.md
index a77c386..b05b46c 100644 (file)
@@ -1,3 +1,4 @@
+<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>-->
 <script type="text/javascript" src="../SVGAnimation.js"></script>
 <script type="text/javascript" src="../SVGPlayerOne.js"></script>
 <script type="text/javascript">
@@ -7,6 +8,12 @@
     var player = new Controle(anim);
     player.connect();
   }
+  $(window).load(function() {
+    a1 = new Animation('anim1','../ellipsographe/svg/ellipsographe-',1,91);
+    a1.loopOnload();
+    b1 = new Controle(a1);
+    b1.connect();
+    });
 </script>
 
 
@@ -23,7 +30,9 @@ SVG.
 
 <div class="alert alert-warning">
 <p>Les différents exemples se charge en cliquant sur le bouton
-dédié. Ceci **n'est pas** le comportement par défaut. Il s'agit
+dédié. Ceci **n'est pas** le comportement par défaut, c'est du code
+JavaScript qui permettra de choisir quand l'animation se charge. Il
+s'agit
 d'éviter de charger toutes les animations présentes sur cette page,
 cela serait bien trop lourd.</p>
 <p>Nous présentons, dans la section XX, le code qui permet de charger
@@ -32,29 +41,29 @@ l'animation sur demande.</p>
 
 ## Installation
 
-Le fichier `SVGAnimation.js` (que l'on supposera dans un répertoire nommé `js`) est à charger dans la page `html` en mettant les lignes suivantes :
+Le fichier `SVGAnimation.js` (que l'on supposera dans un répertoire
+nommé `js`) est à charger dans la page `html` en mettant les lignes
+suivantes :
 
-    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
     <script type="text/javascript" src="js/SVGAnimation.js"></script>
 
-La librairie `SVGAnimation.js` dépend de `JQuery`, il faut donc charger cette bibliothèque JavaScript avant.
 
 ## Principe
 
 Le principe est simple : on dispose d'un ensemble d'images au format
 SVG qui constituent, par une suite chronologique, une animation à
 visionner. La libraire `SVGAnimation` permet de visionner cette
-animation dans une page HTML.
+animation dans une page HTML grâce à JavaScript.
 
 ### La famille d'images
 
 Les différentes images composant l'animation doivent se nommer avec un
-*prefixe* suivit d'un tiret puis d'un nombre (celui-ci pouvant être
-formater de différente façons).
+*prefixe* puis d'un nombre (indice), celui-ci pouvant être
+formater de différente façons :
 
     monfichier-1.svg  monfichier-2.svg monfichier-3.svg ...
 
-ou
+ou, autre exemple :
 
     monfichier-001.svg  monfichier-002.svg monfichier-003.svg ...
 
@@ -68,19 +77,133 @@ abondamment pour la production d'animations.</p>
 </div>
 
 
-## L'objet `Animation`
+## L'utilisation
+
+### Côté HTML
 
 La librairie `SVGAnimation` définit le *prototype* javascript
-`Animation`. Pour l'utiliser il faut déclarer
+`Animation`. Pour l'utiliser il faut déclarer une balise HTML `div`
+avec un identifiant (`id`) unique. Choisissons pour l'exemple `XXXX`.
+À l'intérieur de ces balises, il
+faut :
+* une balise `img` contenant un image `svg` qui servira de vignette à
+  l'animation;
+* une balise `div` avec l'identifiant `id="XXXX_message"` où `XXXX` est
+  l'identifiant de la balise englobante. Dans cette balise *message*,
+  on y met, si on le souhaite, un message à afficher avant le
+  chargement de l'animation.
+* une balise `div` avec l'identifiant `id="XXXX_boutons"`
+
+
+En supposant que les images SVG se trouvent dans un répertoire nommé
+`svg`, voici un exemple d'une telle structure :
+
+~~~~~~~ { .html }
+<div id="anim1">
+  <img src="svg/ellipsographe-1.svg" alt="animation1"/>
+  <div class="message" id="anim1_message">Chargement</div>
+  <div id="anim1_boutons"></div>
+</div>
+~~~~~~~
 
-<div id="anim1" style="margin:10px auto;padding:10px;width:350px;border:2px solid #AAA;border-radius:4px">
-  <img src="../ellipsographe/svg/ellipsographe-1.svg" alt="animation1" style="width:330px;height:240px"/>
+### Côté JavaScript
+
+Une fois qu'on a la structure HTML présentée ci-dessus, il est
+nécessaire d'ajouter un peu de code JavaScript permettre à l'animation
+de se jouer.
+
+#### Construire l'objet `Animation`
+
+Le *constructeur* du prototype JavaScript s'utilise, pour l'exemple
+donné à la section précédente, de la façon
+suivante :
+
+~~~~~~~ { .javascript }
+var anim = new Animation('XXXX','svg/ellipsographe-',1,91);
+anim.loopOnload();
+~~~~~~~
+
+`XXXX` est l'identifiant de la balise `div` HTML *englobante*,
+`svg/ellipsographe-` est le préfixe dont on a parlé plus haut, `1` est
+l'indice de la première image à animer, et `91` l'indice de la
+dernière.
+
+`anim.loopOnload()` permet le chargement de l'animation.
+
+Une fois celle-ci chargé, il faut en permettre la lecture qui se fait
+grâce à un nouvel objet nommé `Controle`. Ce contrôle s'utilise en
+fait comme ceci :
+
+~~~~~~~ { .javascript }
+var anim = new Animation('XXXX','svg/ellipsographe-',1,91);
+anim.loopOnload();
+var player = new Controle(anim);
+player.connect();
+~~~~~~~
+
+Nous verrons par la suite comment personnaliser le contrôle de la
+lecture de l'animation.
+
+Tout ceci n'est toujours pas suffisant car il faut exécuter ce code
+JavaScript. Ceci peut être fait grâce à `JQuery` par exemple, en
+exécutant ces quatre lignes de code à l'ouverture de la fenêtre :
+
+~~~~~~~ { .javascript }
+$(window).load(function() {
+    var anim = new Animation('XXXX','svg/ellipsographe-',1,91);
+    anim.loopOnload();
+    var player = new Controle(anim);
+    player.connect();
+});
+~~~~~~~
+
+Bien sûr, ceci nécessite le chargement, dans la page HTML, de la
+librairie `JQuery`.
+
+
+
+
+
+#### Le résultat
+
+Tout ceci donne le code suivant
+
+~~~~~~~ { .html }
+<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+<script type="text/javascript" src="../SVGAnimation.js"></script>
+<script type="text/javascript" src="../SVGPlayerOne.js"></script>
+<script type="text/javascript">
+$(window).load(function() {
+    var anim = new Animation('XXXX','svg/ellipsographe-',1,91);
+    anim.loopOnload();
+    var player = new Controle(anim);
+    player.connect();
+});
+</script>
+<!--[...]-->
+<div id="anim1">
+  <img src="svg/ellipsographe-1.svg" alt="animation1"/>
+  <div class="message" id="anim1_message">Chargement</div>
+  <div id="anim1_boutons"></div>
+</div>
+~~~~~~~
+
+dont le résultat est :
+
+<div id="anim1">
+  <img src="../ellipsographe/svg/ellipsographe-1.svg" alt="animation1"/>
   <div class="message" id="anim1_message">Ellipsographe</div>
-  <div id="anim1_boutons"><button onclick="charge('anim1','../ellipsographe/svg/ellipsographe-',1,91);">Charger l'animation</button></div>
+  <div id="anim1_boutons"></div>
 </div>
 
 
-### L'utilisation
+
+<div id="anim2"  style="margin:10px auto;padding:10px;width:350px;border:2px solid #AAA;border-radius:4px">
+  <img src="../ellipsographe/svg/ellipsographe-1.svg" alt="animation1" style="width:330px;height:240px"/>
+  <div class="message" id="anim2_message">Ellipsographe</div>
+  <div id="anim2_boutons"><button onclick="charge('anim2','../ellipsographe/svg/ellipsographe-',1,91);">Charger l'animation</button></div>
+</div>
+
 
 ### Les paramètres
 
@@ -89,3 +212,5 @@ La librairie `SVGAnimation` définit le *prototype* javascript
 ### `SVGPlayerOne.js`
 
 ### `SVGPlayerButtons.js`
+
+## Exemples d'utilisation

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.