Louis's portfolio
← Listes Projets

Motion4Ever

project img

Compte rendu des activités réalisées durant le stage

Mise en place de l’environnement de travail et découverte des outils

Lors de la première semaine de stage, j’ai commencé par mettre en place mon environnement de développement. Pour cela, j’ai utilisé Docker afin de déployer une instance locale de PrestaShop, ce qui m’a permis de travailler dans un environnement isolé et reproductible. J’ai également découvert le fonctionnement du CMS et plus particulièrement son système de modules.

Après cette phase de découverte, j’ai effectué un travail d’analyse et de réorganisation des modules présents sur l’instance PrestaShop. J’ai procédé à leur énumération, à leur regroupement et à la suppression de doublons. Certaines modifications ont également été nécessaires, impliquant l’ajout, la modification ou la suppression de portions de code. J’ai ensuite importé les modules dans l’instance PrestaShop et corrigé plusieurs bugs liés aux incompatibilités entre certaines versions de PrestaShop et PHP. Cette étape m’a également permis d’approfondir la compréhension de l’architecture des modules.

Une fois l’environnement stabilisé, j’ai peaufiné la configuration du projet et corrigé différents dysfonctionnements afin de disposer d’une base de travail fiable.

Travail sur l’outil interne et développement en Ruby on Rails

Après cette première phase, j’ai été intégré au développement sur l’outil interne de l’entreprise, basé sur Redmine. J’ai commencé par analyser l’organisation du projet et le fonctionnement du système de gestion des tickets.

Mes premières tâches consistaient à résoudre différents tickets d’amélioration et de correction. Ces interventions portaient principalement sur l’interface utilisateur et l’expérience utilisateur (UI/UX). Par exemple, j’ai mis en place un tri alphabétique dans certaines listes déroulantes et ajouté des alertes de validation sur des formulaires.

J’ai ensuite poursuivi le développement en Ruby on Rails, en modifiant et en améliorant plusieurs fonctionnalités du système. Cela incluait notamment la modification de formulaires, l’ajout de nouveaux champs dans les tickets, ainsi que leur affichage et leur stockage en base de données.

Durant les jours suivants, j’ai continué à traiter différents tickets de correction, notamment pour résoudre des bugs existants ou finaliser des fonctionnalités incomplètes laissées par un ancien développeur.

Développement de nouvelles fonctionnalités et gestion du déploiement

Au cours de la troisième semaine, j’ai travaillé sur le développement d’une nouvelle fonctionnalité permettant de dupliquer un ticket client d’un contrat vers un autre. Ce développement a été réalisé en Ruby on Rails, en utilisant l’environnement de développement RubyMine de JetBrains ainsi qu’une base de données MySQL locale hébergée dans une machine virtuelle.

Une fois les développements terminés, j’ai participé aux différentes étapes de mise en production. Les fonctionnalités ont été fusionnées dans la branche de développement du projet, puis déployées sur un serveur distant afin d’effectuer des tests. Cette phase m’a également amené à corriger des conflits de fusion (merge conflicts) et à résoudre plusieurs bugs détectés lors des tests.

Par la suite, un ticket urgent concernant la liaison entre les tickets et les contrats m’a été confié. Après la phase de développement, j’ai réalisé les tests et la recette fonctionnelle avant la mise en production. L’ensemble des fonctionnalités développées a pu être déployé sans problème, validant ainsi leur bon fonctionnement.

Développement d’un nouvel outil de suivi des contrats

Lors de la dernière partie de mon stage, j’ai participé au lancement d’un nouveau projet visant à dynamiser un tableau Google Sheets de suivi des contrats d’infogérance en l’intégrant dans un site web développé avec Laravel.

Dans un premier temps, j’ai participé à la rédaction du cahier des charges et à la réalisation de maquettes fonctionnellesafin de définir les fonctionnalités attendues. J’ai ensuite commencé le développement en créant les tables nécessaires dans la base de données et en mettant en place une première interface permettant d’afficher la liste des contrats d’infogérance.

J’ai également développé un tableau dynamique permettant de remplacer le suivi manuel sur Google Sheets. Pour cela, j’ai réalisé des requêtes SQL avec jointures entre plusieurs bases de données, notamment pour récupérer des informations provenant de Redmine et les combiner avec les données de la nouvelle base. Cette interface permet également la modification des données et une meilleure organisation des informations.

Par la suite, j’ai apporté plusieurs améliorations à l’outil, notamment la refonte de la barre de navigation, la correction de problèmes CSS et de code existant, ainsi que l’ajout de nouvelles fonctionnalités. Parmi celles-ci figurent l’ajout d’un bouton permettant de générer automatiquement des e-mails préremplis pour la gestion des contrats d’infogérance, l’affichage de la date de mise à jour des contrats en fonction de leur récurrence, ainsi que la liaison avec les utilisateurs afin d’identifier les personnes responsables du suivi de chaque projet.

Les dernières journées ont été consacrées à l’ajout de fonctionnalités demandées par le responsable, aux phases de test, puis au déploiement final en environnement de développement et de production.

Conclusion

Ce stage m’a permis de découvrir concrètement le fonctionnement d’un environnement de développement professionnel et de participer à plusieurs projets réels. J’ai pu approfondir mes compétences techniques dans différents domaines tels que l’utilisation de Docker, le développement en Ruby on Rails et en Laravel, la gestion de bases de données MySQL, ainsi que le processus de déploiement et de gestion de versions avec Git.

J’ai également acquis de l’expérience dans la résolution de tickets, la correction de bugs et l’amélioration de fonctionnalités existantes, tout en travaillant sur des outils utilisés quotidiennement par l’entreprise. Cette expérience m’a permis de développer mes compétences techniques mais aussi ma capacité à m’intégrer dans une équipe et à répondre à des besoins concrets.

Ce stage constitue ainsi une expérience très enrichissante qui m’a permis de mieux comprendre les méthodes de travail dans le domaine du développement informatique et de renforcer mes compétences dans le cadre de ma formation en BTS SIO.