Commit | Line | Data |
---|---|---|
5679dfd0 DL |
1 | {% extends "base.html" %} |
2 | {% block contenu %} | |
a46e1269 | 3 | <p>Bienvenue sur ce petit outil qui permet de tracer la courbe de poids des enfants jusqu'à 5 ans.</p> |
5679dfd0 DL |
4 | <hr> |
5 | ||
6 | ||
be2bf515 | 7 | <h2>Données de l'enfant</h2> |
5679dfd0 | 8 | |
be2bf515 DL |
9 | <h3>Importer un fichier </h3> |
10 | <div class="bouton" onclick="affiche_cache('import_donnees',this)">Afficher</div> | |
11 | <div id="import_donnees"> | |
5679dfd0 | 12 | <form action="/" method="post" enctype="multipart/form-data"> |
be2bf515 DL |
13 | |
14 | ||
15 | ||
5679dfd0 DL |
16 | <label for="fichier_donnees">Importer le fichier de données</label> |
17 | <input type="file" name="fichier_donnees"> | |
18 | <input type="submit" name="valider_fichier" value="Charger les données"> | |
19 | </form> | |
be2bf515 DL |
20 | </div> |
21 | <hr> | |
5679dfd0 DL |
22 | |
23 | <form id="donnees_enfant"> | |
24 | ||
be2bf515 DL |
25 | <div> |
26 | <input type="reset" value="Effacer les données du formulaire"> | |
27 | </div> | |
5679dfd0 DL |
28 | |
29 | <h3>Informations sur l'enfant</h3> | |
30 | <ul> | |
be2bf515 DL |
31 | <li><label>Nom de l'enfant :</label> <input type="text" name="nom" value="{{ valform.nom }}"></li> |
32 | <li><label>Sexe :</label> <input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin | |
a46e1269 | 33 | | <input type="radio" name="sexe" value="M" {%if valform.sexe == "M"%} checked {% endif %}> masculin | <input type="radio" name="sexe" value="N" {%if valform.sexe == "N"%} checked {% endif %}> neutre (expérimental)</li> |
be2bf515 | 34 | <li><label>Date de naissance : </label> <input type="date" name="naissance" value="{{ valform.naissance }}"></li> |
5679dfd0 DL |
35 | </ul> |
36 | ||
37 | ||
5679dfd0 DL |
38 | |
39 | ||
40 | ||
41 | <h3>Données de poids</h3> | |
be2bf515 | 42 | <p>Syntaxe pour l'âge : utiliser j, s, m, a comme des "unités" (jours, semaines, mois, années). Vous pouvez mixer les unités, par exemple "3a2m5j" pour 3 ans, 2 mois et 5 jours. Les espaces sont ignorées, et il faut saisir des nombres entiers.</p> |
66a3e38c | 43 | <p>Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes).</p> |
5679dfd0 DL |
44 | <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.</p> |
45 | ||
46 | <p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.</p> | |
47 | ||
48 | <table id="donneespoids"> | |
49 | <tr><th>Âge</th><th>Date</th><th>Poids</th></tr> | |
50 | ||
51 | {% for i in range(valform.nb_data) %} | |
52 | <tr><td> | |
53 | <input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}"> | |
54 | </td><td><input type="date" name="date_{{ i }}"></td> | |
55 | <td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td> | |
56 | </tr> | |
57 | {% endfor %} | |
58 | ||
59 | </table> | |
be2bf515 DL |
60 | <p class="bouton" onclick="ajoutelignes()">Cliquer ici pour ajouter des lignes</p> |
61 | ||
62 | ||
63 | ||
64 | <h3>Préférences du graphique</h3> | |
65 | <div class="bouton" onclick="affiche_cache('pref_graphique',this)">Afficher</div> | |
66 | ||
67 | <ul id="pref_graphique"> | |
68 | <li><label>Type de courbe :</label> <input type="radio" name="typecourbe" value="P" | |
69 | {% if valform.typecourbe == "P" or valform.typecourbe is not defined %} checked {% endif %}> Percentiles | <input type="radio" name="typecourbe" value="Z" | |
70 | {% if valform.typecourbe == "Z" %} checked {% endif %}> Moyenne et écarts-type</li> | |
71 | <li><label>Grille : </label><input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></li> | |
72 | <li><label>Unité : </label> | |
73 | <select name="unite"> | |
74 | <option value="" {% if valform.typecourbe == "" or valform is not defined %} selected {%endif %}>Par défaut</option> | |
75 | {% for unite in ['jours','semaines','mois','années'] %} | |
76 | <option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option> | |
77 | {% endfor %} | |
78 | </select></li> | |
fd69b6b5 | 79 | <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li> |
be2bf515 DL |
80 | <li>Dimensions du graphique : <label>largeur : </label><input type="text" name="largeur" value="{{ valform.largeur }}"> |
81 | <label>hauteur : </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li> | |
82 | <li><label>Légende : </label><input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> | |
83 | Position : <select name="positionlegende"> | |
84 | {%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %} | |
85 | <option value="{{ pos }}">{{ posnom }}</option> | |
86 | {% endfor %} | |
87 | </select> | |
88 | </li> | |
fd69b6b5 DL |
89 | <li>Couleur courbe du bas <input type="color" name="couleur1" value="{{ valform.couleur1 }}"> | Couleur courbe du milieu <input type="color" name="couleur2" value="{{ valform.couleur2 }}"> | Couleur courbe du haut <input type="color" name="couleur3" value="{{ valform.couleur3 }}"> </li> |
90 | <li>Couleur du fond <input type="color" name="couleur_fond" value="{{ valform.couleur_fond }}"> | Couleur de la grille <input type="color" name="couleur_grille" value="{{ valform.couleur_grille }}"> | Couleur des axes, texte et courbe <input type="color" name="couleur_cadretxt" value="{{ valform.couleur_cadretxt }}"></li> | |
be2bf515 DL |
91 | </ul> |
92 | ||
93 | ||
5679dfd0 | 94 | </form> |
fd69b6b5 | 95 | <!-- section retour --> |
5679dfd0 DL |
96 | <hr> |
97 | ||
66a3e38c | 98 | <button onclick="appelle_image()">Je veux la courbe !</button> |
5679dfd0 | 99 | |
5679dfd0 | 100 | <hr> |
66a3e38c | 101 | <div id="courbe_warnings"> |
be2bf515 DL |
102 | <p><strong>Alerte :</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.</p> |
103 | <ul></ul> | |
66a3e38c | 104 | </div> |
a46e1269 | 105 | <div id="courbe_erreurs"> |
be2bf515 DL |
106 | <p><strong>Alerte :</strong> La courbe n'a pas pu être générée. Vérifiez les données saisies, ou contactez l'administratrice. Erreurs : </p> |
107 | <ul></ul> | |
a46e1269 | 108 | </div> |
fd69b6b5 DL |
109 | <div id="sectioncourbe"> |
110 | ||
111 | <h2>Courbe</h2> | |
112 | <img id="courbe"> | |
113 | <div> | |
114 | <button id="courbe_dl">Télécharger la courbe</button> | |
115 | </div> | |
116 | </div> | |
117 | ||
5679dfd0 DL |
118 | |
119 | <div id="sectionexport"> | |
be2bf515 DL |
120 | <h2>Export des données</h2> |
121 | <p>Vous pouvez télécharger les données afin de ne pas avoir à les re-saisir la prochaine fois.</p> | |
5679dfd0 | 122 | |
be2bf515 DL |
123 | <div><button id="export_dl">Télécharger les données</button></div> |
124 | <p>Si vous n'arrivez pas à télécharger les données, <a href='#export' onclick="affiche_export()">cliquez ici</a> pour les voir en texte clair : il vous suffira de les copier/coller dans un fichier texte.</p> | |
125 | <textarea readonly id="export"> | |
126 | </textarea> | |
5679dfd0 DL |
127 | |
128 | </div> | |
129 | ||
130 | {% endblock %} |