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" id=
"form_import_donnees">
16 <label for=
"fichier_donnees">
17 <img src=
"static/icons/import.png">
18 <div class=
"icon_legend">Importer un fichier
</div>
20 <input type=
"file" name=
"fichier_donnees" id=
"fichier_donnees" oninput=
"upload_file()">
21 <!--<input type="submit" name="valider_fichier" value="Charger les données">-->
25 <form id=
"donnees_enfant">
29 <h3>Informations sur l'enfant
</h3>
31 <input type=
"reset" value=
"Effacer les données du formulaire">
34 <li><label>Nom de l'enfant
:
</label> <input type=
"text" name=
"nom" value=
"{{ valform.nom }}"></li>
35 <li><label>Sexe
:
</label> <label><input type=
"radio" name=
"sexe" value=
"F" {%if valform.sexe ==
"F" %}checked{% endif %}
> féminin
</label>
36 |
<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>
37 <li><label>Date de naissance
:
</label> <input type=
"date" name=
"naissance" value=
"{{ valform.naissance }}"></li>
44 <h3>Données de poids
</h3>
45 <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>
46 <p>Saisir le poids en kilogrammes (par exemple "
2.62" ou "
2,
62" pour
2 kilogrammes et
620 grammes).
</p>
47 <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.
</p>
49 <p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.
</p>
51 <table id=
"donneespoids">
52 <tr><th>Âge
</th><th>Date
</th><th>Poids
</th></tr>
54 {% for i in range(valform.nb_data) %}
56 <input type=
"text" name=
"age_{{ i }}" value=
"{{ valform['age_'~i] }}">
57 </td><td><input type=
"date" name=
"date_{{ i }}"></td>
58 <td><input type=
"text" name=
"poids_{{ i }}" value=
"{{ valform['poids_'~i] }}"></td>
63 <p class=
"bouton" onclick=
"ajoutelignes()">Cliquer ici pour ajouter des lignes
</p>
67 <h3>Préférences du graphique
</h3>
68 <div class=
"bouton" onclick=
"affiche_cache('pref_graphique',this)">Afficher
</div>
70 <ul id=
"pref_graphique">
71 <li><label>Type de courbe
:
</label> <label><input type=
"radio" name=
"typecourbe" value=
"P"
72 {% if valform.typecourbe ==
"P" or valform.typecourbe is not defined %} checked {% endif %}
> Percentiles
</label> |
<label><input type=
"radio" name=
"typecourbe" value=
"Z"
73 {% if valform.typecourbe ==
"Z" %} checked {% endif %}
> Moyenne et écarts-type
</label></li>
74 <li><label>Grille
:
<input type=
"checkbox" name=
"grille" {%if valform.grille ==
"oui" or valform.grille is not defined %} checked {% endif %}
></label></li>
75 <li><label>Unité
:
77 <option value=
"" {% if valform.typecourbe ==
"" or valform is not defined %} selected {%endif %}
>Par défaut
</option>
78 {% for unite in ['jours','semaines','mois','années'] %}
79 <option value=
"{{ unite }}"{% if valform.unite == unite %} selected {% endif %}
>{{ unite }}
</option>
81 </select></label></li>
82 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge)
</label><input type=
"text" name=
"maxi" value=
"{{ valform.maxi }}"></li>
83 <li>Dimensions du graphique
:
<label>largeur
:
</label><input type=
"text" name=
"largeur" value=
"{{ valform.largeur }}">
84 <label>hauteur
:
</label><input type=
"text" name=
"hauteur" value=
"{{ valform.hauteur }}"></li>
85 <li><label>Légende
:
<input type=
"checkbox" name=
"legende" {% if valform.legende == 'oui' %} checked{% endif %}
> </label>
86 <label>Position
:
<select name=
"positionlegende">
87 {%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
88 <option value=
"{{ pos }}">{{ posnom }}
</option>
92 <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>
93 <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>
98 <!-- section retour -->
101 <button onclick=
"appelle_image()">Je veux la courbe !
</button>
104 <div id=
"courbe_warnings">
105 <p><strong>Alerte
:
</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.
</p>
108 <div id=
"courbe_erreurs">
109 <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>
112 <div id=
"sectioncourbe">
117 <button id=
"courbe_dl">Télécharger la courbe
</button>
122 <div id=
"sectionexport">
123 <h2>Export des données
</h2>
124 <p>Vous pouvez télécharger les données afin de ne pas avoir à les re-saisir la prochaine fois.
</p>
126 <div><button id=
"export_dl">Télécharger les données
</button></div>
127 <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>
128 <textarea readonly
id=
"export">