Pour illustrer, rien ne vaut un dessin cliquable... Le format html permet de concevoir des pages avec dessins, textes, boutons et des interactions entre tous les objets. Il a l'avantage de ne nécessiter aucune installation et d'être multiplateformes, puisque c'est le navigateur qui se charge de l'exécution des scripts.
Les versions ci-dessous sont fonctionnelles, mais nous ne prétendons pas avoir fait les meilleurs choix techniques, le web n'est pas notre métier, ni d'ailleurs esthétiques... Nous laissons ici (temporairement) l'historique du développement, depuis la première version uniquement svg, dont on utilisait des éléments rectangulaires comme "bouton". On a ensuite migré vers une page html, pour pouvoir utiliser de "vrais boutons", des zones de texte et des formulaires de saisie par exemple. Les fonctions proposées ont également évolué, en particulier pour garder une trace des tirages passés sous forme de "jetons" (à ne pas confondre avec les billes, qui elles sont remises dans le sac).
La version la plus récente est en anglais, développée en parallèle dans un autre projet appelé "bag of floods". En plus de tirage de "billes", cette version permet de tirer aussi des "pseudo-événements", c'est à dire des événements stylisés en quelques points avec quelques règles arbitraires permettant d'avoir des événements asymétriques, avec éventuellement un second pic.
Malheureusement, on ne peut pas inclure de l'html ici (ou alors expliquez moi...), et donc les illustrations ci-dessous ne sont que des copies d'écran. pour tester, copiez le script depuis le dépôt et il suffit de sélectionner le fichier et le glisser-déposer dans la barre de navigation.
Sommaire
- Version une bille à la fois
- Version série de billes
- Version en anglais, avec boutons et possibilité de régler le nombre de billes des tirages et de créer des "pseudo-événements"
Version une bille à la fois
Cette page existe en deux version, une avec des détails (notamment la valeur de la fréquence tirée), et l'autre "light" avec juste la couleur.
Il faut cliquer sur le sac (et/ ou le rectangle jaune) pour simuler le tirage d'une bille tirage à la fois . Le rectangle rouge est un bouton de remise à zéro des compteurs de billes.
100 années sans crue atteignant la centennale...
Version série de billes
Grâce à une astuce, basée sur l'utilisation des "marqueurs" du svg, il est possible de code plutôt facilement le tirage d'une série.
clic sur le sac : on ajoute les billes une à une
Actuellement la série est obtenue en cliquant N fois, et on garde une trace de la couleur des billes tirées.
clic sur le carré de droite : on tire une série
Pour gagner du temps et comparer les séries, le bouton "série 100 billes" permet le tirage d'une série. Il est facile de changer les valeurs du nombre de lignes et du nombre de colonnes en éditant le fichier : il suffit de changer les paramètres dans la définition du "listener".
document.getElementById("rectangle_serie").addEventListener("click", function() {randomColor_Serie_i_j(10,10)});
document.getElementById("texte_serie").addEventListener("click", function() {randomColor_Serie_i_j(10,10)});
Version en anglais, avec boutons et possibilité de régler le nombre de billes des tirages et de créer des "pseudo-événements"
Les règles de construction des pseudo-événement sont arbitraires, et encore en évolution. Actuellement:
- un événement comporte 5 points, avec deux pics séparés par un point central ;
- on tire une valeur de durée, qui permettra une variabilité des abscisses des 2 derniers points.
- on tire une probabilité entre 0 et 1 et on en déduit la valeur de débit du plus grand des deux pics
- on tire une probabilité, qui sera le multiplicateur de ce pic pour obtenir la valeur du pic secondaire ;
- on tire encore une probabilité, qui déterminera si le plus grand pic vient en premier ou en deuxième ;
- on tire encore une probabilité, pour obtenir la valeur du point central point en tant que fraction du premier pic ; ce point central peut donc être au-dessus du "deuxième pic" ; sa valeur est importante pour le volume total.
Tirer des formes d'événements permet de discuter de l'attribution d'une période de retour à une crue : une crue avec un débit de pointe moins important mais une durée plus longue ne peut-elle pas se révéler plus dommageable ?
exemple d'un tirage de 200 "pseudo-événements" (code en développement)
(avec un autre réglage on obtenait des fins un peu abruptes : )