Semaine 1: 16_20/07/2014

J’ai commencé par jeter un coup d’œil sur les fichiers qui se trouvent dans la partition de disque P: et les tables de la base de données pour connaître la structure d’intranet.

P:\htdocs contient les sources de l’intranet.

Mon tuteur m’a demandé si je suis à l’aise pour directement sur le serveur et les sources ou bien si je préfère créer un serveur de test sur ma machine. D’où j’ai déjà créé un serveur de test dans mon notebook personnel et pratiqué avec celui-ci avant de commencer le stage, j’ai préféré directement travailler sur le serveur.

Mon premier travail était de supprimer tous les appels à la fonction affBase et remplacer en conséquence. En plus, il fallait supprimer l’include   aff_base.php. Ceci est dans tout P:/htdocs et ses sous-dossiers. La fonction affBase permettait de trouver le nom de la base de données Autocad en partant du fichier affaire.txt qui se trouve dans le dossier de l’affaire en cours en analysant celui-ci pour retourner le nom de base de données Autocad, le nom d’affaire et le nom de client. La base Autocad portait un nom comme a_YYYYYY est le numéro id de chaque affaire. C’était désormais inutile car on dispose de toutes ces infos dans la table affaires.information

On utilise une base de données générale affaires et ensuite il y a autant de base de données Autocad contenant les informations d’opérations.

D’abord, j’ai pris mon temps pour bien assimiler où se trouvent chaque source et chaque table concernant la fonction affBase avant d’écrire la moindre ligne de code. Une fois que j’ai compris ce qu’il fallait faire, j’ai créé des nouvelles fonctions supplémentaires pour que le code soit plus compréhensible et réutilisé. Pour trouver les fichiers contenant l’appel à la fonction affBase j’ai utilisé le logiciel EditPlus. Il est bien utile car je précise juste un chemin/path et puis il cherche le mot-clé dans tous les sous-dossiers. Ensuite, j’ai remplacé les nouveaux codes par les anciens en supprimant ceux-ci. A la base, j’ai récupéré les informations de client et construit le nom de base Autocad à l’intermédiaire de $_GET ou $_POST.

A la fin, j’ai inscris les noms de tous les sources modifiés.

A la suite de cette mission, mon tuteur m’a proposé de construire un utilitaire capable de tourner 24h/7 et qui analysera l’erreur log du jour à la recherche des messages d’erreur qui indiqueraient un .php pas trouvé/ l’erreur 404 ou l’erreur d’include et qui enverrait un mail d’alerte à moi et à mon tuteur pour réagir. L’utilitaire est censé de déclencher toutes les minutes en passant par les taches planifiés windows et de chercher les erreurs voulus à partir de la dernière ligne analysée par rapport à la dernière minute et stocké en base de données et de remettre à zéro dès que le fichier erreur log est créé, c’est-à-dire chaque matin.

Cela permet de mener à bien une tache complexe car on est souvent amené à créer des outils de débugage. J’ai choisi de le coder en php parce que l’on a déjà la fonction phpmailer qui fonctionne bien.

Pour cette mission, j’ai créé en appui  une table SQL qui stocke la dernière ligne analysé et codé ce qu’il fallait par rapport au cahier des charges. A la fin, on l’a mis en exécution et l’a testé pour vérifier si cela fonctionne bien. En conséquence, cela a fonctionné bien.