]> git.immae.eu Git - perso/Denise/oms.git/blobdiff - templates/index.html
extrapolation des courbes et calculs associés
[perso/Denise/oms.git] / templates / index.html
index cc8c4ec5d252b8dc4e864d92f4b4d0d4ab9c74fd..91230f42b67060daff4cb99d34bff8a4f1be1a05 100644 (file)
@@ -1,61 +1,72 @@
 {% extends "base.html" %}
 {% block contenu %}
-<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 "OMS" des enfants jusqu'à 5 ans.</p>
 <hr>
 
 
 <h2>Données de l'enfant</h2>
 
-<!--<h3>Importer un fichier </h3>
-<div class="bouton" onclick="affiche_cache('import_donnees',this)">Afficher</div>-->
 <div id="import_donnees">
  <form action="/" method="post" enctype="multipart/form-data" id="form_import_donnees">
 
 
 
-  <label for="fichier_donnees">
+  <label for="fichier_donnees" class="icon_button">
        <img src="static/icons/import.png">
        <span class="icon_legend">Importer un fichier</span>
   </label>
   <input type="file" name="fichier_donnees" id="fichier_donnees" oninput="upload_file()">
-  <!--<input type="submit" name="valider_fichier" value="Charger les données">-->
 </form> 
 </div>
 
 <form id="donnees_enfant">
        
-
+<!-- saisie des données -->
        
 <h3>Informations sur l'enfant</h3>
-<div>   
-<input type="reset" value="Effacer les données du formulaire">         
+<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&nbsp;:</label> <input type="text" name="nom" value="{{ valform.nom }}"></li>
 <li><label>Sexe&nbsp;:</label> <label><input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin </label>
 | <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>
-<li><label>Date de naissance&nbsp;: </label> <input type="date" name="naissance" value="{{ valform.naissance }}"></li>
+<li><label>Date de naissance&nbsp;: </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>
+<li>Prématuré ? <span class="petit">(expérimental)</span> <span class="bouton" onclick="affiche_cache('prema',this)">Afficher</span>
+<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" 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>
 
 
 
 
 
-<h3>Données de poids</h3> 
+<h3>Saisir les 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&nbsp;: 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 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>
 
 <table id="donneespoids">
-       <tr><th>Âge</th><th>Date</th><th>Poids</th></tr>
+       <tr><th>Âge</th><th>Date</th><th>Poids (kg)</th><th class="donneesplus">Taille (cm) </th></tr>
        
 {% for i in range(valform.nb_data) %}
 <tr><td>
        <input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}">
 </td><td><input type="date" name="date_{{ i }}"></td>
                <td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td>
+               <td  class="donneesplus"><input type="text" name="taille_{{ i }}" value="{{ valform['taille_'~i] }}"></td>
+
 </tr>
 {% endfor %}
 
 <div class="bouton" onclick="affiche_cache('pref_graphique',this)">Afficher</div>
 
 <ul id="pref_graphique">
+               
+       <li><label>Tracer les courbes vides (s'il n'y a pas de données)&nbsp;:</label> <input type="checkbox" name="tracevide" {% if valform.tracevide == 'oui' %} checked{% endif %}></li>
        <li><label>Type de courbe&nbsp;:</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&nbsp;: <input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></label></li>
        <li><label>Unité&nbsp;: 
                <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></label></li>
        <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li>
+       
+       <li><label>Même échelle sur tous les graphiques&nbsp;: </label><input type="checkbox" name="memechelle" {% if valform.memechelle == 'oui' %} checked{% endif %}></li>
+       <li><label>Grille améliorée&nbsp;:</label><input type="checkbox" name="grilleamelio" {% if valform.grilleamelio == 'oui' %} checked{% endif %}></li>
+       
        <li>Dimensions du graphique&nbsp;: <label>largeur&nbsp;: </label><input type="text" name="largeur" value="{{ valform.largeur }}"> 
        <label>hauteur&nbsp;: </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li>
        <li><label>Légende&nbsp;: <input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> </label>
 {% endfor %}
 </select></label>
        </li>
+       
        <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>
        <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>
 </ul>
 
 
+
+<!-- Section calculs/Extrapolation !-->
+
+<h3>Extrapolation</h3>
+<div class="bouton" onclick="affiche_cache('extra',this)">Afficher</div>
+
+<ul id="extra">
+       <li>Calculer le prolongement de la courbe à partir des <input type="text" 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>
+       <li>Calculer <select name="calculextradata_type">
+       <option value="">Choisir la donnée</option>
+       {% for val in CONFIG.liste_typedonnees %}
+       <option value="{{val}}">{{val}}</option>
+       {% endfor %}
+       </select> à l'âge <input type="text" name="calculextradata_age" value="6m"></li>
+       <li>Calculer l'âge auquel l'enfant aura <input type="text" name="calculextratemps_val">
+       <select name="calculextratemps_type">
+       <option value="">Choisir la donnée</option>
+       {% for val in CONFIG.liste_typedonnees %}
+       <option value="{{val}}">{{ CONFIG.unites_typedonnees[val]}} ({{val}})</option>
+       {% endfor %}    
+       </select></li>
+       
+</ul>
+
+
 </form>
 <!-- section retour -->
 <hr>
 
-<button onclick="appelle_image()">Je veux la courbe !</button>
+<div onclick="appelle_image()" class="icon_button">
+       <img src="static/icons/courbe.png">
+       <span class="icon_legend">Je veux les courbes !</span>
+</div>
 
 <hr>
 <div id="courbe_warnings">
 </div>
 <div id="sectioncourbe">
 
-       <h2>Courbe</h2>
-       <img id="courbe">
-       <div>
-       <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>
 
 
        <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>
+       <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&nbsp;: il vous suffira de les copier/coller dans un fichier texte.</p>
        <textarea readonly id="export">
        </textarea>