J’ai commencé la semaine par corriger l’erreur du type Undefined Variable qui vient du fichier eLg2.php où eL est une abréviation du mot electrique. Pour supprimer ce genre d’erreurs, en général il manque la fonction isset(), car quelques variables sont initialisés et créés dans la boucle et puis sont utilisé en dehors de cette boucle. Si on n’entre pas dans cette boucle, cela provoquera l’erreur.
Le fichier eLg2.php est un programme qui génère un fichier excel. Donc, si on veut mettre echo pour faire debugging, on verra la trace dans le fichier. On recevait des erreurs systématiques dans eLg2.php. J’ai demandé à Elise sur quel affaire elle l’utilisait et puis j’ai trouvé la source dont j’ai besoin. Elle a généré un fichier nommé EL-04 Lg Armenie à partir d’autocad la grille élec des logements.
A la suite de correction de cette erreur, j’ai voulu faire l’historique. C’est-à-dire que je liste actuellement tous les erreurs pas corrigés à partir de 16 juin et recopie dans un autre fichier. Dans l’intranet, on ne garde que les 8 derniers logs du jour.
Ensuite, j’étais prêt pour réaliser la mission d’Irina. Elle avait eu soucis d’une source qu’elle utilisait. Mais elle n’a plus de problème apparemment, car la source cela fonctionne. A mon avis, j’ai corrigé l’erreur que Irina rencontrait quand je trackais le log du jour un jour. C’était une mission facile qui était résolue.
Du coup, je suis passé à la mission de Geoffrey. Il voulait changer le format d’un fichier généré par un programme php. Pour cela, il faut bien maîtriser PHPExcel car ce n’est pas pareil la programmation qu’on a l’habitude mais ce n’est pas dur non plus.
Un lien dont j’ai profité : https://phpexcel.codeplex.com/discussions/54525
Au début, je croyais que cela aurait fonctionné si je faisais &N/2 pour récupérer la moitié de la valeur. Mais non, il faut respecter le lien que j’ai partagé.
A la fin de la journée, j’ai fini la mission de Geoffrey.
L’erreur de la semaine c’est celui qui est provoqué par la fonction getImageSize().
D’un coté, à l’affichage d’une page on voit bien les accents comme é ou è car on met cela en tête du html:
De l’autre coté, on a un fichier nommé 6ème sens.png qui contient un accent.
Au début, on a essayé de renommer le nom d’image sans utiliser l’accent et cela a fonctionné. C’est pourquoi on a tout de suite constaté que c’était un problème d’accent qu’on rencontre souvent. En conséquence, quand on invoke getImageSize(), il fallait utiliser la fonction utf8_decode() en paramètres de la fonction getImageSize() pour décoder le nom. A première vue, j’avais mis la fonction utf_encode() mais c’est faux car on a déjà converti en utf8 en utilisant le charset et la balise ‘meta’ de html. Il faut se méfier de bien renseigner les entrées des fonctions que l’on utilise.
A la fin de la semaine, j’ai commencé à réaliser la mission d’Olivier. C’était le problème de mise en page des attestations thermiques RT 2012. Il fallait réparer l’onglet Attestation RT 2012 de l’intranet dans lequel on ne peut plus rentrer le nom du bâtiment autrement qu’avec un nombre, et les valeurs numériques autrement qu’avec un entier. Dans la source, c’est input type= ‘‘number’’ qui était utilisé. J’ai ajouté l’attribut ‘step’ et c’est réglé. Pour le nom es bâtiment j’ai remplacé input type=‘‘text’’ par input type=‘‘number’’ et cela aussi c’est réglé. Ensuite, j’ai commencé à tester le source. J’ai trouvé quelques problèmes de synchronisation entre l’affichage de la page et les données de la base de données. Il y a 3 boutons OK, SAVE et MSWORD.
J’explique un peu le fonctionnement de la page (voila une screenshot):
Quand on clique sur OK avec le nombre de bâtiments, cela revient à dire le nombre de colonne, on créé autant de nombre de colonnes voulu sur l’affichage.
Quand on clique sur SAVE, on enregistre tous ce qui est sur la page à la base de données.
Quand on clique sur MSWORD, on génère un fichier Word à partir de la page dans lequel on saisit les informations des bâtiments.
La première erreur que j’ai rencontrée, c’était quand on cliquait sur OK, cela ne met pas à jour l’affichage si le nombre de bâtiments que je viens de taper est inférieur au nombre de colonne. Par exemple, s’il y a 4 colonnes et si je veux diminuer ce nombre en rentrant 2 ou 3 au champ, cela ne fonctionnait pas. Par contre; l’inverse, cela marchait.
La deuxième erreur que j’ai rencontré, c’était quand on cliquait sur SAVE juste après avoir tapé un nouveau chiffre au champ le nombre de bâtiments, on enregistrait autant de nombre de bâtiments qu’on vient de saisir à la base de données, mais pas le nombre de colonnes qu’on voyait sur l’affichage.
La troisième erreur que j’ai rencontré: manque de protection ou d’avertissement dans le champ nom du bâtiment. C’est-à-dire que si on a 2 colonnes et si on met le même nom pour les 2 champs, cela ne se générera qu’un seul fichier. Pour résoudre ceci, j’ai ajouté un affichage de bord rouge en ajoutant des fonctions supplémentaires dès qu’on saisit le même nom qu’un autre fichier. En plus, si on saisit le même nom qu’un autre fichier et on clique sur MSWORD (après avoir cliqué sur SAVE bien sûr 🙂 ), cela affichera un alert/avertissement pour informer l’utilisateur.