1 {% extends "base.html" %}
3 <p>Bienvenue sur ce petit outil qui permet de tracer les courbes de poids et de taille "OMS" des enfants jusqu'à
5 ans.
</p>
7 <h2>Données de l'enfant
</h2>
9 <div id=
"import_donnees">
10 <form action=
"/" method=
"post" enctype=
"multipart/form-data" id=
"form_import_donnees">
14 <label for=
"fichier_donnees" class=
"icon_button">
15 <img src=
"static/icons/import.png">
16 <span class=
"icon_legend">Importer un fichier
</span>
18 <input type=
"file" name=
"fichier_donnees" id=
"fichier_donnees" oninput=
"upload_file()">
22 <form id=
"donnees_enfant">
24 <!-- saisie des données -->
26 <h3>Informations sur l'enfant
</h3>
28 <label for=
"reset_donnees" class=
"icon_button">
29 <img src=
"static/icons/trash.png">
30 <span class=
"icon_legend">Effacer les données du formulaire
</span>
32 <input type=
"reset" id=
"reset_donnees" value=
"Effacer les données du formulaire">
35 <li><label>Nom de l'enfant
:
</label> <input type=
"text" name=
"nom" value=
"{{ valform.nom }}"></li>
36 <li><label>Sexe
:
</label> <label><input type=
"radio" name=
"sexe" value=
"F" {%if valform.sexe ==
"F" %}checked{% endif %}
> féminin
</label>
37 |
<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>
38 <li><label>Date de naissance
:
</label> <input type=
"date" name=
"naissance" value=
"{{ valform.naissance }}">
39 <p id=
"changemode" class=
"petit"><span onclick=
"change_mode_dates('text')" class=
"bouton">Cliquer ici
</span> pour saisir les dates comme du texte.
</p> </li>
46 <h3>Données de l'enfants
</h3>
47 <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>
48 <p>Saisir le poids en kilogrammes (par exemple "
2.62" ou "
2,
62" pour
2 kilogrammes et
620 grammes).
</p>
49 <p>Saisir la taille en centimètres. Note : il y a généralement un centimètre de moins quand on mesure l'enfant debout par rapport à allongé. On peut voir sur la courbe de référence une "cassure" à deux ans qui correspond au changement du type de mesure.
</p>
50 <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.
</p>
52 <p>Si vous ne saisissez que des données de poids par exemple, la courbe de taille ne sera pas tracée (par défaut, voir préférences du graphique).
</p>
54 <table id=
"donneespoids">
55 <tr><th>Âge
</th><th>Date
</th><th>Poids (kg)
</th><th>Taille (cm)
</th></tr>
57 {% for i in range(valform.nb_data) %}
59 <input type=
"text" name=
"age_{{ i }}" value=
"{{ valform['age_'~i] }}">
60 </td><td><input type=
"date" name=
"date_{{ i }}"></td>
61 <td><input type=
"text" name=
"poids_{{ i }}" value=
"{{ valform['poids_'~i] }}"></td>
62 <td><input type=
"text" name=
"taille_{{ i }}" value=
"{{ valform['taille_'~i] }}"></td>
68 <p class=
"bouton" onclick=
"ajoutelignes()">Cliquer ici pour ajouter des lignes
</p>
72 <h3>Préférences du graphique
</h3>
73 <div class=
"bouton" onclick=
"affiche_cache('pref_graphique',this)">Afficher
</div>
75 <ul id=
"pref_graphique">
77 <li><label>Tracer les courbes vides (s'il n'y a pas de données)
:
</label> <input type=
"checkbox" name=
"tracevide" {% if valform.tracevide == 'oui' %} checked{% endif %}
></li>
78 <li><label>Type de courbe
:
</label> <label><input type=
"radio" name=
"typecourbe" value=
"P"
79 {% if valform.typecourbe ==
"P" or valform.typecourbe is not defined %} checked {% endif %}
> Percentiles
</label> |
<label><input type=
"radio" name=
"typecourbe" value=
"Z"
80 {% if valform.typecourbe ==
"Z" %} checked {% endif %}
> Moyenne et écarts-type
</label></li>
81 <li><label>Grille
:
<input type=
"checkbox" name=
"grille" {%if valform.grille ==
"oui" or valform.grille is not defined %} checked {% endif %}
></label></li>
82 <li><label>Unité
:
84 <option value=
"" {% if valform.unite ==
"" or valform.unite is not defined %} selected {%endif %}
>Par défaut
</option>
85 {% for unite in ['jours','semaines','mois','années'] %}
86 <option value=
"{{ unite }}"{% if valform.unite == unite %} selected {% endif %}
>{{ unite }}
</option>
88 </select></label></li>
89 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge)
</label><input type=
"text" name=
"maxi" value=
"{{ valform.maxi }}"></li>
90 <li><label>Même échelle sur tous les graphiques
:
</label><input type=
"checkbox" name=
"memechelle" {% if valform.memechelle == 'oui' %} checked{% endif %}
></li>
91 <li>Dimensions du graphique
:
<label>largeur
:
</label><input type=
"text" name=
"largeur" value=
"{{ valform.largeur }}">
92 <label>hauteur
:
</label><input type=
"text" name=
"hauteur" value=
"{{ valform.hauteur }}"></li>
93 <li><label>Légende
:
<input type=
"checkbox" name=
"legende" {% if valform.legende == 'oui' %} checked{% endif %}
> </label>
94 <label>Position
:
<select name=
"positionlegende">
95 {%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
96 <option value=
"{{ pos }}">{{ posnom }}
</option>
100 <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>
101 <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>
106 <!-- section retour -->
109 <div onclick=
"appelle_image()" class=
"icon_button">
110 <img src=
"static/icons/courbe.png">
111 <span class=
"icon_legend">Je veux les courbes !
</span>
115 <div id=
"courbe_warnings">
116 <p><strong>Alerte
:
</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.
</p>
119 <div id=
"courbe_erreurs">
120 <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>
123 <div id=
"sectioncourbe">
126 <div id=
"section_courbe_poids">
127 <img id=
"courbe_poids">
129 <div id=
"courbe_dl_poids" class=
"icon_button">
130 <img src=
"static/icons/export.png">
131 <span class=
"icon_legend">Télécharger la courbe de poids
</span>
135 <div id=
"section_courbe_taille">
136 <img id=
"courbe_taille">
138 <div id=
"courbe_dl_taille" class=
"icon_button">
139 <img src=
"static/icons/export.png">
140 <span class=
"icon_legend">Télécharger la courbe de taille
</span>
147 <div id=
"sectionexport">
148 <h2>Export des données
</h2>
149 <p>Vous pouvez télécharger les données afin de ne pas avoir à les re-saisir la prochaine fois.
</p>
151 <div id=
"export_dl" class=
"icon_button">
152 <img src=
"static/icons/export.png">
153 <span class=
"icon_legend">Télécharger les données
</span>
155 <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>
156 <textarea readonly
id=
"export">