summaryrefslogtreecommitdiff
path: root/templates/index.html
blob: 60693d40f8b68fc7bef171135f83a8fdd8e8f173 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{% extends "base.html" %}
{% block contenu %}
<p>Bienvenue sur ce petit outil qui permet de tracer la courbe de poids des enfants jusqu'à 5 ans.</p>
<hr>


<h2>Données de l'enfant</h2>

<h3>Importer un fichier </h3>
<div class="bouton" onclick="affiche_cache('import_donnees',this)">Afficher</div>
<div id="import_donnees">
 <form action="/" method="post" enctype="multipart/form-data">



  <label for="fichier_donnees">Importer le fichier de données</label>
  <input type="file" name="fichier_donnees">
  <input type="submit" name="valider_fichier" value="Charger les données">
</form> 
</div>
<hr>

<form id="donnees_enfant">
	
<div>	 
<input type="reset" value="Effacer les données du formulaire">	 
</div>
	
<h3>Informations sur l'enfant</h3>
<ul>
<li><label>Nom de l'enfant&nbsp;:</label> <input type="text" name="nom" value="{{ valform.nom }}"></li>
<li><label>Sexe&nbsp;:</label> <input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin 
| <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>
<li><label>Date de naissance&nbsp;: </label> <input type="date" name="naissance" value="{{ valform.naissance }}"></li>
</ul>





<h3>Données de poids</h3> 
<p>Syntaxe pour l'âge&nbsp;: 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>
<p>Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes).</p>
<p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.</p>

<p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.</p>

<table id="donneespoids">
	<tr><th>Âge</th><th>Date</th><th>Poids</th></tr>
	
{% for i in range(valform.nb_data) %}
<tr><td>
	<input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}">
</td><td><input type="date" name="date_{{ i }}"></td>
		<td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td>
</tr>
{% endfor %}

</table>
<p class="bouton" onclick="ajoutelignes()">Cliquer ici pour ajouter des lignes</p>



<h3>Préférences du graphique</h3>
<div class="bouton" onclick="affiche_cache('pref_graphique',this)">Afficher</div>

<ul id="pref_graphique">
	<li><label>Type de courbe&nbsp;:</label> <input type="radio" name="typecourbe" value="P"
	{% if valform.typecourbe == "P" or valform.typecourbe is not defined %} checked {% endif %}> Percentiles | <input type="radio" name="typecourbe" value="Z"
	{% if valform.typecourbe == "Z" %}  checked {% endif %}> Moyenne et écarts-type</li>
	<li><label>Grille&nbsp;: </label><input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></li>
	<li><label>Unité&nbsp;: </label>
		<select name="unite">
			<option value="" {% if valform.typecourbe == "" or valform is not defined %} selected {%endif %}>Par défaut</option>
	{% for unite in ['jours','semaines','mois','années'] %}
			<option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option>
	{% endfor %}
		</select></li>
	<li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge, voir plus bas) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li>
	<li>Dimensions du graphique&nbsp;: <label>largeur&nbsp;: </label><input type="text" name="largeur" value="{{ valform.largeur }}"> 
	<label>hauteur&nbsp;: </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li>
	<li><label>Légende&nbsp;: </label><input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> 
Position&nbsp;: <select name="positionlegende">
{%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
<option value="{{ pos }}">{{ posnom }}</option>
{% endfor %}
</select>
	</li>
</ul>


</form>

<hr>

<button onclick="appelle_image()">Je veux la courbe !</button>

<hr>
<div id="sectioncourbe">

	<h2>Courbe</h2>
	<img id="courbe">
	<div>
	<button id="courbe_dl">Télécharger la courbe</button>
	</div>
</div>
<div id="courbe_warnings">
	<p><strong>Alerte&nbsp;:</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.</p>
	<ul></ul>
</div>
<div id="courbe_erreurs">
	<p><strong>Alerte&nbsp;:</strong> La courbe n'a pas pu être générée. Vérifiez les données saisies, ou contactez l'administratrice. Erreurs&nbsp;: </p>
	<ul></ul>
</div>

<div id="sectionexport">
	<h2>Export des données</h2>
	<p>Vous pouvez télécharger les données afin de ne pas avoir à les re-saisir la prochaine fois.</p>

	<div><button id="export_dl">Télécharger les données</button></div>
	<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&nbsp;: il vous suffira de les copier/coller dans un fichier texte.</p>
	<textarea readonly id="export">
	</textarea>

</div>

{% endblock %}