1 {% extends "base.html" %}
3 <p>Bienvenue sur ce petit outil qui permet de tracer la courbe de poids des enfants jusqu'à
5 ans.
</p>
7 <h2>Données de l'enfant
</h2>
9 <h3>Importer un fichier
</h3>
10 <div class=
"bouton" onclick=
"affiche_cache('import_donnees',this)">Afficher
</div>
11 <div id=
"import_donnees">
12 <form action=
"/" method=
"post" enctype=
"multipart/form-data">
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">
23 <form id=
"donnees_enfant">
26 <input type=
"reset" value=
"Effacer les données du formulaire">
29 <h3>Informations sur l'enfant
</h3>
31 <li><label>Nom de l'enfant
:
</label> <input type=
"text" name=
"nom" value=
"{{ valform.nom }}"></li>
32 <li><label>Sexe
:
</label> <label><input type=
"radio" name=
"sexe" value=
"F" {%if valform.sexe ==
"F" %}checked{% endif %}
> féminin
</label>
33 |
<label><input type=
"radio" name=
"sexe" value=
"M" {%if valform.sexe ==
"M"%} checked {% endif %}
> masculin
</label> |
<label><input type=
"radio" name=
"sexe" value=
"N" {%if valform.sexe ==
"N"%} checked {% endif %}
> neutre (expérimental)
</label></li>
34 <li><label>Date de naissance
:
</label> <input type=
"date" name=
"naissance" value=
"{{ valform.naissance }}"></li>
41 <h3>Données de poids
</h3>
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>
43 <p>Saisir le poids en kilogrammes (par exemple "
2.62" ou "
2,
62" pour
2 kilogrammes et
620 grammes).
</p>
44 <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.
</p>
46 <p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.
</p>
48 <table id=
"donneespoids">
49 <tr><th>Âge
</th><th>Date
</th><th>Poids
</th></tr>
51 {% for i in range(valform.nb_data) %}
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>
60 <p class=
"bouton" onclick=
"ajoutelignes()">Cliquer ici pour ajouter des lignes
</p>
64 <h3>Préférences du graphique
</h3>
65 <div class=
"bouton" onclick=
"affiche_cache('pref_graphique',this)">Afficher
</div>
67 <ul id=
"pref_graphique">
68 <li><label>Type de courbe
:
</label> <label><input type=
"radio" name=
"typecourbe" value=
"P"
69 {% if valform.typecourbe ==
"P" or valform.typecourbe is not defined %} checked {% endif %}
> Percentiles
</label> |
<label><input type=
"radio" name=
"typecourbe" value=
"Z"
70 {% if valform.typecourbe ==
"Z" %} checked {% endif %}
> Moyenne et écarts-type
</label></li>
71 <li><label>Grille
:
<input type=
"checkbox" name=
"grille" {%if valform.grille ==
"oui" or valform.grille is not defined %} checked {% endif %}
></label></li>
72 <li><label>Unité
:
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>
78 </select></label></li>
79 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge)
</label><input type=
"text" name=
"maxi" value=
"{{ valform.maxi }}"></li>
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
:
<input type=
"checkbox" name=
"legende" {% if valform.legende == 'oui' %} checked{% endif %}
> </label>
83 <label>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>
89 <li>Couleur courbe du bas
<input type=
"color" name=
"couleur_courbe1" value=
"{{ valform.couleurs.courbe1 }}"> | Couleur courbe du milieu
<input type=
"color" name=
"couleur_courbe2" value=
"{{ valform.couleurs.courbe2 }}"> | Couleur courbe du haut
<input type=
"color" name=
"couleur_courbe3" value=
"{{ valform.couleurs.courbe3 }}"> </li>
90 <li>Couleur du fond
<input type=
"color" name=
"couleur_fond" value=
"{{ valform.couleurs.fond }}"> | Couleur de la grille
<input type=
"color" name=
"couleur_grille" value=
"{{ valform.couleurs.grille }}"> | Couleur des axes, texte et courbe
<input type=
"color" name=
"couleur_cadretxt" value=
"{{ valform.couleurs.cadretxt }}"></li>
95 <!-- section retour -->
98 <button onclick=
"appelle_image()">Je veux la courbe !
</button>
101 <div id=
"courbe_warnings">
102 <p><strong>Alerte
:
</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.
</p>
105 <div id=
"courbe_erreurs">
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>
109 <div id=
"sectioncourbe">
114 <button id=
"courbe_dl">Télécharger la courbe
</button>
119 <div id=
"sectionexport">
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>
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">