diff options
author | Denise sur Lya <sekhmet@lya> | 2020-06-14 23:20:48 +0200 |
---|---|---|
committer | Denise sur Lya <sekhmet@lya> | 2020-06-14 23:20:48 +0200 |
commit | 5679dfd03c9761283e3a36d6d09798aaa334e1e9 (patch) | |
tree | ad22413283e2f9662af4bc526b6de119e270dae0 /templates | |
download | oms-5679dfd03c9761283e3a36d6d09798aaa334e1e9.tar.gz oms-5679dfd03c9761283e3a36d6d09798aaa334e1e9.tar.zst oms-5679dfd03c9761283e3a36d6d09798aaa334e1e9.zip |
Création du dépôt, site à peu près fonctionnel
Diffstat (limited to 'templates')
-rw-r--r-- | templates/apropos.html | 6 | ||||
-rw-r--r-- | templates/base.html | 39 | ||||
-rw-r--r-- | templates/erreur_fatale.html | 5 | ||||
-rw-r--r-- | templates/index.html | 99 |
4 files changed, 149 insertions, 0 deletions
diff --git a/templates/apropos.html b/templates/apropos.html new file mode 100644 index 0000000..9f95141 --- /dev/null +++ b/templates/apropos.html | |||
@@ -0,0 +1,6 @@ | |||
1 | {% extends "base.html" %} | ||
2 | {% block contenu %} | ||
3 | <p> À propos de cet outil, comment qu'on s'en sert, à quoi il sert, tout ça tout ça.</p> | ||
4 | |||
5 | |||
6 | {% endblock %} | ||
diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..571292f --- /dev/null +++ b/templates/base.html | |||
@@ -0,0 +1,39 @@ | |||
1 | <!DOCTYPE html> | ||
2 | |||
3 | <html lang="fr"> | ||
4 | <head> | ||
5 | <meta charset="UTF-8" > | ||
6 | <title>Courbe de poids OMS</title> | ||
7 | <link rel="stylesheet" href="static/style.css" type="text/css"> | ||
8 | <script src="static/requetes.js"></script> | ||
9 | <script src="static/outilspage.js"></script> | ||
10 | |||
11 | </head> | ||
12 | |||
13 | <body> | ||
14 | <h1>Courbe de poids OMS</h1> | ||
15 | |||
16 | {% if err.length != 0 %} | ||
17 | <div id="warnings"> | ||
18 | <ul> | ||
19 | {% for message in err %} | ||
20 | <li>{{ message }}</li> | ||
21 | {% endfor %} | ||
22 | </ul> | ||
23 | </div> | ||
24 | {% endif %} | ||
25 | |||
26 | |||
27 | <div id="content"> | ||
28 | {% block contenu %}{% endblock %} | ||
29 | |||
30 | </div> | ||
31 | |||
32 | <hr> | ||
33 | |||
34 | <nav><a href="/">Accueil et saisie des données</a> | | ||
35 | <a href="/apropos">À propos</a> | | ||
36 | </nav> | ||
37 | |||
38 | </body> | ||
39 | </html> | ||
diff --git a/templates/erreur_fatale.html b/templates/erreur_fatale.html new file mode 100644 index 0000000..95ce5f8 --- /dev/null +++ b/templates/erreur_fatale.html | |||
@@ -0,0 +1,5 @@ | |||
1 | {% extends "base.html" %} | ||
2 | {% block contenu %} | ||
3 | <p>Erreur fatale : {{ message }} </p> | ||
4 | |||
5 | {% endblock %} | ||
diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..f9de4a5 --- /dev/null +++ b/templates/index.html | |||
@@ -0,0 +1,99 @@ | |||
1 | {% extends "base.html" %} | ||
2 | {% block contenu %} | ||
3 | <p> Bonjour bonjour !</p> | ||
4 | <hr> | ||
5 | |||
6 | |||
7 | <h2>Données du graphique</h2> | ||
8 | |||
9 | <form action="/" method="post" enctype="multipart/form-data"> | ||
10 | <label for="fichier_donnees">Importer le fichier de données</label> | ||
11 | <input type="file" name="fichier_donnees"> | ||
12 | <input type="submit" name="valider_fichier" value="Charger les données"> | ||
13 | </form> | ||
14 | |||
15 | |||
16 | <form id="donnees_enfant"> | ||
17 | |||
18 | |||
19 | |||
20 | <h3>Informations sur l'enfant</h3> | ||
21 | <ul> | ||
22 | <li><label>Nom de l'enfant :</label> <input type="text" name="nom" value="{{ valform.nom }}"></li> | ||
23 | <li><label>Sexe :</label> <input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin | ||
24 | | <input type="radio" name="sexe" value="M" {%if valform.sexe == "M"%} checked {% endif %}> masculin</li> | ||
25 | <li><label>Date de naissance : </label> <input type="date" name="naissance" value="{{ valform.naissance }}"></li> | ||
26 | </ul> | ||
27 | |||
28 | |||
29 | <h3>Préférences du graphique</h3> | ||
30 | <ul> | ||
31 | <li><label>Type de courbe :</label> <input type="radio" name="typecourbe" value="P" | ||
32 | {% if valform.typecourbe == "P" or valform.typecourbe is not defined %} checked {% endif %}> Percentiles | <input type="radio" name="typecourbe" value="Z" | ||
33 | {% if valform.typecourbe == "Z" %} checked {% endif %}> Moyenne et écarts-type</li> | ||
34 | <li><label>Grille : </label><input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></li> | ||
35 | <li><label>Unité : </label> | ||
36 | <select name="unite"> | ||
37 | <option value="" {% if valform.typecourbe == "" or valform is not defined %} selected {%endif %}>Par défaut</option> | ||
38 | {% for unite in ['jours','semaines','mois','années'] %} | ||
39 | <option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option> | ||
40 | {% endfor %} | ||
41 | </select></li> | ||
42 | <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge, voir plus bas) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li> | ||
43 | <li>Dimensions du graphique : <label>largeur : </label><input type="text" name="largeur" value="{{ valform.largeur }}"> | ||
44 | <label>hauteur : </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li> | ||
45 | <li><label>Légende : </label><input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> | ||
46 | Position : <select name="positionlegende"> | ||
47 | {%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %} | ||
48 | <option value="{{ pos }}">{{ posnom }}</option> | ||
49 | {% endfor %} | ||
50 | </select> | ||
51 | </li> | ||
52 | </ul> | ||
53 | |||
54 | |||
55 | |||
56 | <h3>Données de poids</h3> | ||
57 | <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> | ||
58 | <p>Saisir le poids en kilogrammes (le point et la virgule comptent comme le séparateur virgule).</p> | ||
59 | <p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.</p> | ||
60 | |||
61 | <p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.</p> | ||
62 | |||
63 | <table id="donneespoids"> | ||
64 | <tr><th>Âge</th><th>Date</th><th>Poids</th></tr> | ||
65 | |||
66 | {% for i in range(valform.nb_data) %} | ||
67 | <tr><td> | ||
68 | <input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}"> | ||
69 | </td><td><input type="date" name="date_{{ i }}"></td> | ||
70 | <td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td> | ||
71 | </tr> | ||
72 | {% endfor %} | ||
73 | |||
74 | </table> | ||
75 | </form> | ||
76 | <button onclick="ajoutelignes()">Ajouter des lignes</button> | ||
77 | |||
78 | <hr> | ||
79 | |||
80 | <button onclick="appelle_image(); exporte_donnees()">Je veux la courbe !</button> | ||
81 | |||
82 | |||
83 | <div id="sectioncourbe"> | ||
84 | <hr> | ||
85 | <h2>Courbe</h2> | ||
86 | <img id="courbe"> | ||
87 | </div> | ||
88 | |||
89 | <div id="sectionexport"> | ||
90 | <h2>Export des données</h2> | ||
91 | <p>Vous trouverez ci-dessous les données exportées au format texte. Il peut être utile de les copier/coller | ||
92 | quelque part et de les sauvegarder, comme ça la prochaine fois vous n'aurez pas à ressaisir tout à la main.</p> | ||
93 | |||
94 | <textarea readonly id="export"> | ||
95 | </textarea> | ||
96 | |||
97 | </div> | ||
98 | |||
99 | {% endblock %} | ||