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><span id=
"bouton_afficher_donneesplus" class=
"bouton" onclick=
"affiche_cache_classe('donneesplus')">Afficher
</span> la saisie complète.
</p>
48 <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>
49 <p>Saisir le poids en kilogrammes (par exemple
"2.62" ou
"2,62" pour
2 kilogrammes et
620 grammes).
</p>
50 <p class=
"donneesplus">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>
51 <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.
</p>
53 <p class=
"donneesplus">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>
55 <table id=
"donneespoids">
56 <tr><th>Âge
</th><th>Date
</th><th>Poids (kg)
</th><th class=
"donneesplus">Taille (cm)
</th></tr>
58 {% for i in range(valform.nb_data) %}
60 <input type=
"text" name=
"age_{{ i }}" value=
"{{ valform['age_'~i] }}">
61 </td><td><input type=
"date" name=
"date_{{ i }}"></td>
62 <td><input type=
"text" name=
"poids_{{ i }}" value=
"{{ valform['poids_'~i] }}"></td>
63 <td class=
"donneesplus"><input type=
"text" name=
"taille_{{ i }}" value=
"{{ valform['taille_'~i] }}"></td>
69 <p class=
"bouton" onclick=
"ajoutelignes()">Cliquer ici pour ajouter des lignes
</p>
73 <h3>Préférences du graphique
</h3>
74 <div class=
"bouton" onclick=
"affiche_cache('pref_graphique',this)">Afficher
</div>
76 <ul id=
"pref_graphique">
78 <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>
79 <li><label>Type de courbe
:
</label> <label><input type=
"radio" name=
"typecourbe" value=
"P"
80 {% if valform.typecourbe ==
"P" or valform.typecourbe is not defined %} checked {% endif %}
> Percentiles
</label> |
<label><input type=
"radio" name=
"typecourbe" value=
"Z"
81 {% if valform.typecourbe ==
"Z" %} checked {% endif %}
> Moyenne et écarts-type
</label></li>
82 <li><label>Grille
:
<input type=
"checkbox" name=
"grille" {%if valform.grille ==
"oui" or valform.grille is not defined %} checked {% endif %}
></label></li>
83 <li><label>Unité
:
85 <option value=
"" {% if valform.unite ==
"" or valform.unite is not defined %} selected {%endif %}
>Par défaut
</option>
86 {% for unite in ['jours','semaines','mois','années'] %}
87 <option value=
"{{ unite }}"{% if valform.unite == unite %} selected {% endif %}
>{{ unite }}
</option>
89 </select></label></li>
90 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge)
</label><input type=
"text" name=
"maxi" value=
"{{ valform.maxi }}"></li>
91 <li><label>Même échelle sur tous les graphiques
:
</label><input type=
"checkbox" name=
"memechelle" {% if valform.memechelle == 'oui' %} checked{% endif %}
></li>
92 <li>Dimensions du graphique
:
<label>largeur
:
</label><input type=
"text" name=
"largeur" value=
"{{ valform.largeur }}">
93 <label>hauteur
:
</label><input type=
"text" name=
"hauteur" value=
"{{ valform.hauteur }}"></li>
94 <li><label>Légende
:
<input type=
"checkbox" name=
"legende" {% if valform.legende == 'oui' %} checked{% endif %}
> </label>
95 <label>Position
:
<select name=
"positionlegende">
96 {%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
97 <option value=
"{{ pos }}">{{ posnom }}
</option>
101 <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>
102 <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>
107 <!-- section retour -->
110 <div onclick=
"appelle_image()" class=
"icon_button">
111 <img src=
"static/icons/courbe.png">
112 <span class=
"icon_legend">Je veux les courbes !
</span>
116 <div id=
"courbe_warnings">
117 <p><strong>Alerte
:
</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.
</p>
120 <div id=
"courbe_erreurs">
121 <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>
124 <div id=
"sectioncourbe">
127 <div id=
"section_courbe_poids">
128 <img id=
"courbe_poids">
130 <div id=
"courbe_dl_poids" class=
"icon_button">
131 <img src=
"static/icons/export.png">
132 <span class=
"icon_legend">Télécharger la courbe de poids
</span>
136 <div id=
"section_courbe_taille">
137 <img id=
"courbe_taille">
139 <div id=
"courbe_dl_taille" class=
"icon_button">
140 <img src=
"static/icons/export.png">
141 <span class=
"icon_legend">Télécharger la courbe de taille
</span>
148 <div id=
"sectionexport">
149 <h2>Export des données
</h2>
150 <p>Vous pouvez télécharger les données afin de ne pas avoir à les re-saisir la prochaine fois.
</p>
152 <div id=
"export_dl" class=
"icon_button">
153 <img src=
"static/icons/export.png">
154 <span class=
"icon_legend">Télécharger les données
</span>
156 <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>
157 <textarea readonly
id=
"export">