-<p>Bienvenue sur ce petit outil qui permet de tracer la courbe de poids des enfants jusqu'à 5 ans.</p>
+<p>Bienvenue sur ce petit outil qui permet de tracer les courbes de poids et de taille selon les standards OMS (Organisation Mondiale de la Santé) des enfants jusqu'à 5 ans.</p>
+<p>Version du fichier de sauvegarde : {{ valform.version }}.</p>{% endif %}
+{% if "version" not in valform or valform.version < CONFIG.version %}
+<p class="petit">Note : La version du fichier de sauvegarde est inférieure à la version du site ({{ CONFIG.version}}), mais cela ne devrait pas générer de bug (normalement).
+</p>{% elif valform.version > CONFIG.version %}
+<p class="petit">Note : la version du fichier de sauvegarde ({{ valform.version }}) est <b>supérieure</b> à la version du site ({{ CONFIG.version}}). Vous avez probablement avez testé un fichier de sauvegarde de la version bêta sur la version normale du site. Sinon c'est que vous avez voyagé dans le temps, trifouillé le fichier de sauvegarde, ou... je ne sais pas. Il se peut qu'il y ait des bugs. Ou pas.</p>
+{% endif %}
+{% endif %}
+
</div>
-<hr>
<form id="donnees_enfant">
-<div>
-<input type="reset" value="Effacer les données du formulaire">
-</div>
+<!-- saisie des données -->
<h3>Informations sur l'enfant</h3>
+<div>
+ <label for="reset_donnees" class="icon_button">
+ <img src="static/icons/trash.png">
+ <span class="icon_legend">Effacer les données du formulaire</span>
+ </label>
+ <input type="reset" id="reset_donnees" value="Effacer les données du formulaire">
+</div>
<ul>
-<li><label>Nom de l'enfant :</label> <input type="text" name="nom" value="{{ valform.nom }}"></li>
+<li><label>Date de naissance : </label> <input type="date" name="naissance" value="{{ valform.naissance }}">
+ <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>
+<div id="prema"><p class="petit">Si l'enfant est né prématuré (avant 37 semaines d'aménorrhée), indiquer de « combien » en durée (même syntaxe que pour les âges, voir plus bas). Sinon, laisser 0j.</p>
+<label>Prématurité</label> <input type="text" class="data" name="prematurite" value="{{ valform.prematurite }}"> <input type="checkbox" name="agecorrige"{% if valform.agecorrige == "oui"%} checked{%endif%}> Afficher l'âge corrigé sur la courbe (plutôt que l'âge réel).
+</div></li>
+</ul>
+<!-- Section saisie des données -->
-<h3>Données de poids</h3>
+<h3>Saisie des données</h3>
+<p><span id="bouton_afficher_donneesplus" class="bouton" onclick="affiche_cache_classe('donneesplus')">Afficher</span> la saisie des tailles.</p>
<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>
-<p>Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes).</p>
+<p>Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes), ou en grammes ("2620" par exemple).</p>
+<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>
<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>
+<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>
- <li><label>Type de courbe :</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 : </label><input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></li>
- <li><label>Unité : </label>
+
+ <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>
+ <li><label>Type de courbe :</label> <label><input type="radio" name="typecourbe" value="P"
+ {% if valform.typecourbe == "P" or valform.typecourbe is not defined %} checked {% endif %}> Percentiles</label> | <label><input type="radio" name="typecourbe" value="Z"
+ {% if valform.typecourbe == "Z" %} checked {% endif %}> Moyenne et écarts-type</label></li>
+ <li><label>Grille : <input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></label></li>
+ <li><label>Unité :
<select name="unite">
- <option value="" {% if valform.typecourbe == "" or valform is not defined %} selected {%endif %}>Par défaut</option>
+ <option value="" {% if valform.unite == "" or valform.unite 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) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li>
+ <li><label>Âge maximum du graphique (facultatif) </label><input type="text" class="data" name="maxi" value="{{ valform.maxi }}"></li>
+
+ <li><label>Même échelle d'âge sur tous les graphiques : </label><input type="checkbox" name="memechelle" {% if valform.memechelle == 'oui' %} checked{% endif %}></li>
+ <li>Calculer le prolongement de la courbe à partir des <input type="text" class="data" name="nbextradata" size="4" value="1"> dernières données (mettre 0 pour "toutes").</li>
+ <li><input type="checkbox" name="prolongercourbes">Tracer l'extrapolation sur le graphique.</li>
+ <p>Si vous souhaitez tracer sur le même graphique les courbes de différents enfants, c'est ici.</p>
+ <p> Il faut importer le fichier de données additionnel de l'autre enfant (ou des autres enfants). Seul le nom de l'enfant et ses données seront utilisés, les autres paramètres (courbe de référence suivant le sexe, maximum du graphique, ...) seront ceux de l'enfant « principal ».</p>
+ <p>Remarque : lors de l'export, seul l'enfant « principal » est sauvegardé.</p>
+ <ul id="liste_enfants_add">{% for numero_enfant in range(2, CONFIG.nb_fichiers_enfants_add+2) %}
- <button id="courbe_dl">Télécharger la courbe</button>
+ <h2>Courbes</h2>
+ <div id="section_courbe_poids">
+ <img id="courbe_poids">
+
+ <div id="courbe_dl_poids" class="icon_button">
+ <img src="static/icons/export.png">
+ <span class="icon_legend">Télécharger la courbe de poids</span>
+ </div>
+ </div>
+
+ <div id="section_courbe_taille">
+ <img id="courbe_taille">
+
+ <div id="courbe_dl_taille" class="icon_button">
+ <img src="static/icons/export.png">
+ <span class="icon_legend">Télécharger la courbe de taille</span>
+ </div>
</div>
+
+</div>
+
+<div id="section_extradonnees">
+ <h2>Calculs sur les courbes</h2>
+ <ul id="extradata">
+
+ </ul>
</div>
+<!-- Section export des courbes -->
<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 : il vous suffira de les copier/coller dans un fichier texte.</p>
- <textarea readonly id="export">
+ <div id="export_dl" class="icon_button">
+ <img src="static/icons/export.png">
+ <span class="icon_legend">Télécharger les données</span>
+ </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 : il vous suffira de les copier/coller dans un fichier texte.</p>
+ <div id="export">
+ <textarea readonly id="export_texte">
</textarea>
+ <p><span class="bouton" onclick="copietexte()">Sélectionner et copier</span> le texte dans le presse-papier.</p>