ajout du "changelog", dossiers pour les données, et diverses choses
[perso/Denise/oms.git] / templates / index.html
1 {% extends "base.html" %}
2 {% block contenu %}
3 <p>Bienvenue sur ce petit outil qui permet de tracer la courbe de poids des enfants jusqu'à 5 ans.</p>
4 <hr>
5
6
7 <h2>Données du graphique</h2>
8
9 <form action="/" method="post" enctype="multipart/form-data">
10 <label for="fichier_donnees">Importer le fichier de données</label>
11 <input type="file" name="fichier_donnees">
12 <input type="submit" name="valider_fichier" value="Charger les données">
13 </form>
14
15
16 <form id="donnees_enfant">
17
18
19
20 <h3>Informations sur l'enfant</h3>
21 <ul>
22 <li><label>Nom de l'enfant :</label> <input type="text" name="nom" value="{{ valform.nom }}"></li>
23 <li><label>Sexe :</label> <input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin
24 | <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>
25 <li><label>Date de naissance : </label> <input type="date" name="naissance" value="{{ valform.naissance }}"></li>
26 </ul>
27
28
29 <h3>Préférences du graphique</h3>
30 <ul>
31 <li><label>Type de courbe :</label> <input type="radio" name="typecourbe" value="P"
32 {% if valform.typecourbe == "P" or valform.typecourbe is not defined %} checked {% endif %}> Percentiles | <input type="radio" name="typecourbe" value="Z"
33 {% if valform.typecourbe == "Z" %} checked {% endif %}> Moyenne et écarts-type</li>
34 <li><label>Grille : </label><input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></li>
35 <li><label>Unité : </label>
36 <select name="unite">
37 <option value="" {% if valform.typecourbe == "" or valform is not defined %} selected {%endif %}>Par défaut</option>
38 {% for unite in ['jours','semaines','mois','années'] %}
39 <option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option>
40 {% endfor %}
41 </select></li>
42 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge, voir plus bas) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li>
43 <li>Dimensions du graphique : <label>largeur : </label><input type="text" name="largeur" value="{{ valform.largeur }}">
44 <label>hauteur : </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li>
45 <li><label>Légende : </label><input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}>
46 Position : <select name="positionlegende">
47 {%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
48 <option value="{{ pos }}">{{ posnom }}</option>
49 {% endfor %}
50 </select>
51 </li>
52 </ul>
53
54
55
56 <h3>Données de poids</h3>
57 <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>
58 <p>Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes).</p>
59 <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.</p>
60
61 <p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.</p>
62
63 <table id="donneespoids">
64 <tr><th>Âge</th><th>Date</th><th>Poids</th></tr>
65
66 {% for i in range(valform.nb_data) %}
67 <tr><td>
68 <input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}">
69 </td><td><input type="date" name="date_{{ i }}"></td>
70 <td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td>
71 </tr>
72 {% endfor %}
73
74 </table>
75 </form>
76 <button onclick="ajoutelignes()">Ajouter des lignes</button>
77
78 <hr>
79
80 <button onclick="appelle_image()">Je veux la courbe !</button>
81
82
83 <div id="sectioncourbe">
84 <hr>
85 <h2>Courbe</h2>
86 <img id="courbe">
87 </div>
88 <div id="courbe_warnings">
89 <p><strong>Alerte :</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.</p>
90 <ul></ul>
91 </div>
92 <div id="courbe_erreurs">
93 <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>
94 <ul></ul>
95 </div>
96
97 <div id="sectionexport">
98 <h2>Export des données</h2>
99 <p>Vous trouverez ci-dessous les données exportées au format texte. Il peut être utile de les copier/coller
100 quelque part et de les sauvegarder, comme ça la prochaine fois vous n'aurez pas à ressaisir tout à la main.</p>
101
102 <textarea readonly id="export">
103 </textarea>
104
105 </div>
106
107 {% endblock %}