PHP,  Stages

2ème Année – Keops Automation

Date : Stage du 06/01/2020 au 22/02/2020

Lien du Rapport de Stage

Contexte :  L’entreprise Keops Automation m’a une nouvelle fois accueilli pour réaliser la suite de la maintenance de leur forum nommé First’Act. Il s’agit d’un forum dédié à la transmission d’informations sur la sécurité et l’environnement. Le forum connait divers problèmes comme la reconnexion systématique entre chaque page ou bien l’envoi des mails d’invitations aux sujets qui ne s’envoyait pas. J’effectue ce travail seul, mais je peux demander de l’aide pour PHP à mon maître de stage Mr Gherashim et à Mme Delplace Responsable QHSE qui m’explique comment le forum doit fonctionner au niveau des pages personnalisés. Celles-ci ont été développées par la société Images Creation, agence Web nantaise.

Compétences acquises :

A1.1.2 Étude de l’impact de l’intégration d’un service sur le système informatique :
C1.1.2.1 Analyser les interactions entre services : J’ai compris que le forum Firstact est en interaction avec le serveur mail de l’entreprise


A1.2.2 Rédaction des spécifications techniques de la solution retenue (adaptation d’une solution existante ou réalisation d’une nouvelle solution) :
C1.2.2.1 – J’ai identifié que le forum Firstact avait besoin d’un serveur web Apache 2.4, d’une base de données Maria DB 10.1 et de PHP 7.4


A1.2.4 Détermination des tests nécessaires à la validation d’un service :
C1.2.4.2 Préparer les jeux d’essai et les procédures pour la réalisation des tests : J’ai préparé les jeux d’essai a effectué pour valider le bon fonctionnement du forum Firstact.


A1.3.3 Accompagnement de la mise en place d’un nouveau service :
C1.3.3.2 – J’ai rédigé un manuel d’utilisation du forum Firstact pour les utilisateurs.


A1.3.4 Déploiement d’un service :
C1.3.4.1 – J’ai mis au point une procédure d’installation du serveur web sur Ubuntu pour faire fonctionner le forum Firstact sur la documentation développeur rendue à l’entreprise
C1.3.4.3 – J’ai mis le site en ligne chez l’hébergeur Astorya, configurer les redirections Apache et activer le certificat SSL pour le serveur web.

A2.1.1 Accompagnement des utilisateurs dans la prise en main d’un service :

C2.1.1.1 – Durant la phase de tests du forum, j’ai expliquer à l’administratrice du serveur comment fonctionnait les nouvelles fonctionnalités du forums.

A2.1.2 Évaluation et maintien de la qualité d’un service :

C2.1.2.5 – Mise en place d’un certificat SSL permettant la confidentialité de la connexion entre l’utilisateur et le serveur du forum.


A2.2.1 Suivi et résolution d’incidents :
C2.2.1.2 – Pour résoudre les problèmes après la mise en production, j’ai dû me connecter me connecter en SFTP pour pouvoir renvoyer les fichiers avec les problèmes résolues.


A3.1.1 Proposition d’une solution d’infrastructure :
C3.1.1.1 – J’ai recensé dans la documentation développeur, la configuration du serveur (version de linux utilisée, logiciels utilisés, …)


A3.2.2 Remplacement ou mise à jour d’éléments défectueux ou obsolètes :
C3.2.2.1 – J’ai remplacé l’ancien serveur web linux Debian 5 par un serveur Ubuntu 18.04 pouvant aussi faire tourner le forum Firstact.

A3.2.3 Mise à jour de la documentation technique d’une solution d’infrastructure

C3.2.3.2 – J’ai mis à jour la documentation technique faite dans le compte rendu d’activité durant l’ancien stage (IP, Ports utilisés, mot de passe).

A3.3.1 Administration sur site ou à distance des éléments d’un réseau, de serveurs, de services et d’équipements terminaux :

C3.3.1.2 – J’ai administré le serveur web à distance qui se trouve chez l’hébergeur Astorya Informatique.


A3.3.5 Gestion des indicateurs et des fichiers d’activité :
C3.3.5.2 – J’ai sécurisé l’accès à la base de données avec un mot de passe fort et ai vérifié si les mots de passe utilisateurs était bien crypté.



A4.1.1 Proposition d’une solution applicative :
C4.1.1.1 – Pour que le forum Firstact fonctionne correctement, j’ai identifié qu’il avait besoin de PHP 7.4, d’une base de données Maria DB 10.1 ainsi que d’un serveur web Apache 2.4.


A4.1.3 Conception ou adaptation d’une base de données :
C4.1.3.4 – J’ai modifié certaines données grâce à ‘ALTER TABLE’.

A4.1.4 Définition des caractéristiques d’une solution applicative

C4.1.4.1 – J’ai recenser des composants personnalisés utiles de l’ancienne application.


A4.1.6 Gestion d’environnements de développement et de test :
C4.1.6.1 – Mettre en place et exploiter un environnement de développement : création d’une machine virtuelle Ubuntu avec les logiciels Apache 2.4, Maria DB 10.1 et PHP 7.4 ainsi que du logiciel PHP Storm pour me permettre de développer et d’exécuter le Forum Firstact.


A4.1.7 Développement, utilisation ou adaptation de composants logiciels :
C4.1.7.3 – Analyser et modifier le code d’un composant logiciel : J’ai analysé et modifié les anciennes fonctions du forum pour les modifier et les adapter au nouveau forum.
C4.1.7.4 – Utiliser des composants d’accès aux données : j’ai utilisé plusieurs fonctions présentes sur PHPBB dérivé de PHP pour pouvoir accéder et récupérer des données de la BBD comme par exemple la fonction sql_query ou bien sql_fetchrow.


A4.1.8 Réalisation des tests nécessaires à la validation d’éléments adaptés ou développés :
C4.1.8.1 – J’ai réalisé des tests unitaires sur chaque fonctionnalité développée lors du stage ainsi que pour les fonctionnalités impactées par celle-ci.
C4.1.8.2 – Durant les tests unitaires, je me suis rendu compte que le nombre de messages maximums modifiables par l’administrateur était trop haut et causait un ‘Out of Range’ du côté de la base de données quand les données était envoyé. Ceci fut corrigé.


A4.1.9 Rédaction d’une documentation technique :
C4.1.9.1 Produire ou mettre à jour la documentation technique d’une solution applicative et de ses composants logiciels : Pendant mon stage j’ai rédigé une documentation technique pour le prochain développeur de l’extension créé pendant le stage.


A4.1.10 Rédaction d’une documentation d’utilisation :
C4.1.10.1 – J’ai rédigé une documentation pour l’utilisateur du forum Firstact et une autre pour l’administrateur.
C4.1.10.2 – J’ai rédigé deux documentations distinctes pour chaque contexte d’utilisation (utilisateur et administrateur).


A4.2.1 Analyse et correction d’un dysfonctionnement, d’un problème de qualité de service ou de sécurité :
C4.2.1.2 – Lors de la mise en production avec l’administratrice, nous avons remarqués que les mails ne s’envoyaient qu’au premier utilisateur.
C4.2.1.3 – J’ai identifié que le problème venait de la fonction qui traite l’envoi des mails.
C4.2.1.4 – J’ai effectué la mise à jour de la fonction qui sortait d’une des boucles utilisées dans la fonction dès la première utilisation de celle-ci.

A4.2.2 Adaptation d’une solution applicative aux évolutions de ses composants :

C4.2.2.1 – j’ai pu repérer des évolutions du CMS PHPBB qui abandonnait l’utilisation des variables super globales pour l’utilisation de requêtes PHPBB. Ceci m’a compliqué la tâche et m’a fait utiliser ces requêtes PHPBB.

A4.2.4 Mise à jour d’une documentation technique :

C4.2.4.2 – Mise à jour de la documentation technique faite dans le compte rendu d’activité durant l’ancien stage. (Fonctionnement des éléments personnalisés de l’application, mot de passe, login, version de l’application).

A5.2.3 Repérage des compléments de formation ou d’auto-formation utiles à l’acquisition de nouvelles compétences :

C5.2.3.1 – Je me suis formé pour le développement des plugins PHPBB grâce à la documentation et à divers tutoriels sur le net.

A5.2.4 Étude d‘une technologie, d’un composant, d’un outil ou d’une méthode :

C5.2.4.1 – J’ai dû apprendre à développer une extension pour le CMS PHPBB qui utilise Symfony pour fonctionner, une technologie n’ayant pas encore été vu en cours. J’ai donc dû me renseigner sur son utilisation et comment développer l’extension.