<html> <head> <title>Phpcovid : Graphiques d'évolution générale</title> <meta name=author content="Bernard Chardonneau"> <meta name=copyleft content="Logiciel et données publiés dans le domaine public"> <meta name=robots content="noindex,follow"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="css/misenpage.css" rel="stylesheet" type="text/css"> <link href="css/styles.css" rel="stylesheet" type="text/css"> </head> <body> <div id="contenu"> <h1>Graphiques d'évolution générale</h1> Les 4 séries de graphiques du menu :<br> <ul> <li>Évolution générale</li> <li>Évolution par classe d'âge</li> <li>Évolution par région</li> <li>Évolution par département d'outre-mer</li> </ul> sont générées selon le même principe.<br> <br> Tout d'abord, comme pour la présentation des données sous forme de tableaux, il est nécessaire de mettre à jour périodiquement le fichier csv local à partir du fichier csv de référence. Pour cela, on fait appel à la même fonction <tt>testmaj_.... ()</tt><br> <br> Les données étant présentées sous la forme de graphiques (qui sont des images au format BMP), ces graphiques devront être mis à jour chaque fois que le fichier csv local qui a permit de les générer est actualisé.<br> <br> Ce tableau indique pour chaque série de graphiques quels fichiers sont utilisés.<br> <br> <table border="1" cellpadding="10"> <tr align="center"> <td>Critère de tri</td><td>Fichier csv local</td> <td>Fonction de mise à jour</td><td>Nom des graphiques</td> </tr> <tr> <td>Général</td> <td><tt>vacsi-a-fra.csv</tt></td> <td><tt>testmaj_a_fra ()</tt></td> <td><tt>graph-age-ta.bmp</tt></td> </tr> <tr> <td>Par classe d'âge</td> <td><tt>vacsi-a-fra.csv</tt></td> <td><tt>testmaj_a_fra ()</tt></td> <td><tt>graph-age-??.bmp</tt></td> </tr> <tr> <td>Par région</td> <td><tt>vacsi-reg.csv</tt></td> <td><tt>testmaj_regdom ()</tt></td> <td><tt>graph-reg-???.bmp</tt></td> </tr> <tr> <td>Par DOM</td> <td><tt>vacsi-dom.csv</tt></td> <td>Voir explication</td> <td><tt>graph-dom-???.bmp</tt></td> </tr> </table> <br> Comme le fichier de référence <tt>vacsi-a-fra.csv</tt> indique l'évolution de la vaccination tous âges confondus, en plus de l'évolution par classe d'âge, c'est ce même fichier qui est utilisé dans les deux cas.<br> <br> Pour les départements d'outre-mer, les données ayant cessé d'être fournies, le fichier <tt>vacsi-dom.csv</tt> est à présent vide si on tente de le générer et on utilise les graphiques qui représentent l'évolution de la vaccination jusqu'au 30 novembre 2021.<br> <br> Si les données pour les DOM redeviennent disponibles, une fonction <tt>testmaj_dom ()</tt> sera rajoutée.<br> <br> Comme dans le cas des bargraphes, plusieurs graphiques sont nécessaires pour représenter l'évolution de la vaccination dans :<br> <ul> <li>les différentes classe d'âge</li> <li>les différentes région</li> <li>les différents départements d'outre-mer</li> </ul> Un code de 2 ou 3 caractères remplace les ? dans les noms des graphiques mentionnés ci-dessus.<br> <h2>Les pages HTML</h2> Voici à titre d'exemple la structure de la partie <body> de la page qui montre les graphiques d'évolution de la vaccination par région.<br> !vsource exemples-code/body-graph-evol-reg.html Contrairement à ce qui se passe pour les pages du site donnant l'état de la vaccination à ce jour et pour les pages du site qui montrent des tables d'évolution de la vaccination, la partie "contenu" de la page HTML ne contient pas de zone marquée <tt>XXX...</tt><br> <br> Sa structure et le texte qu'elle contient ne varie pas au fil du temps. La seule chose qui évolue dans le temps est les graphiques, mais comme ils gardent le même nom, ça ne change rien à la page HTML.<br> <h2>Les scripts PHP</h2> En prenant toujours comme exemple les graphiques d'évolution par région, le script PHP commence par recopier le début de la page HTML jusqu'à la zone "contenu"<br> !vsource exemples-code/copdeb-graph-evol.php On vérifie alors si le fichier csv local qui sert à générer les graphiques est à jour et si nécessaire, on l'actualise.<br> <br> Si le fichier csv local a été mis à jour, il faut le faire aussi pour tous les graphiques. Pour cela, on compare la date de mise à jour d'un graphique parmi ceux concernés (dans l'exemple ci dessous, le graphique pour la région Occitanie) avec celle du fichier csv local.<br> <br> Si le fichier csv local est plus récent, on utilise la commande <tt>exec</tt> du PHP pour lancer l'exécution du programme C <tt>gen-serie-graphiques</tt> auquel on passe comme paramètre le nom du fichier csv local et le début du nom des images bmp à générer.<br> <br> Si l'exécution du programme C se passe mal, un affichage d'erreur est prévu. Il est affiché en rouge.<br> !vsource exemples-code/maj-graph-evol.php Comme indiqué plus haut, il n'y a rien à modifier dans la partie "contenu" du fichier HTML. Elle est donc recopiée sans changement et le script PHP se contente de rajouter le menu vers la fin de la page HTML.<br> !vsource exemples-code/fin-graph-evol.php <h2>Le programme C pour générer les graphiques</h2> Ce point est détaillé <a href="voir.php?page=progc-gen">ici</a>.<br> <br> </div> <div id="menu"> XXXMENU </div> </body> </html>