summaryrefslogblamecommitdiff
path: root/templates/index.html
blob: e5d4d24833ffc390d0bbfb2fc14b689445c57305 (plain) (tree)
1
2
3
4
5
6
7
8
9

                         
                                                                                                                            


    
                             
 
                         
                                                                                       


 
                                                   
                                           
                                                            

                                                                                         
        
      


                          
                            

                                  




                                                                                   
                                                                                                
      
    
                                                                                                       

                                                                                                                                                                                                                                                          

                                                                                                                                                                    



                                                                                                                                                                                                                                                                      
 


     


 

                                                                                                                                                  
                                                                                                                                                                                                                                                                 
                                                                                                       
                                                                                                                                                                                                                                                                                              

                                                                                       
                                                                                                                                                                              

                         
                                                                                                       





                                                                                                   
                                                                                                                          
 



            







                                                                                  

                                                                                                                                                                                            




                                                                                                                                                                                 
                                     
                                                                                                                                              


                                                                                                                             
                                      
                                                                                                                                                                

                                                                                                                                                                     
                                                                                                                                                                               
                                                                                                            

                                                                                                                                          

                                                                                                                                       


                                                                                                                                              
                 
             
        

                                                                                                                                                                                                                                                                                                                                                     


     
       
                       

    

                                                   
                                                              
      
 
    
                          

                                                                                                                         
      
                         

                                                                                                                                                                    
      

                        




                                                      
                                                   

                                                                                 
              









                                                                                  

      

                        

                                                                                                              
 



                                                                           


                                                                                                                                                                                                                                



              
{% extends "base.html" %}
{% block contenu %}
<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>

<div id="import_donnees">
 <form action="/" method="post" enctype="multipart/form-data" id="form_import_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()">
</form> 
</div>

<form id="donnees_enfant">
	
<!-- 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&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 }}">
	<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 l'enfant</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 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 (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 %}

</table>
<p class="bouton" onclick="ajoutelignes()">Cliquer ici pour ajouter des lignes</p>



<h3>Préférences du graphique</h3>
<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.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>Prolonger les courbes (expérimental) : <input type="checkbox" name="prolongercourbes" {% if valform.prolongercourbes == "oui" %} checked{% endif%}></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 (bêta)&nbsp;:</label><input type="checkbox" name="grilleamelio"></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>
<label>Position&nbsp;: <select name="positionlegende">
{%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
<option value="{{ pos }}">{{ posnom }}</option>
{% 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>


</form>
<!-- section retour -->
<hr>

<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">
	<p><strong>Alerte&nbsp;:</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.</p>
	<ul></ul>
</div>
<div id="courbe_erreurs">
	<p><strong>Alerte&nbsp;:</strong> La courbe n'a pas pu être générée. Vérifiez les données saisies, ou contactez l'administratrice. Erreurs&nbsp;: </p>
	<ul></ul>
</div>
<div id="sectioncourbe">

	<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="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 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>

</div>

{% endblock %}