Rapport de lancement

Présentation détaillée du sujet/projet de stage

Structure d'accueil : Options Informatique

J'effectue mon stage au sein de l'entreprise Options Informatique. C'est une société spécialisée dans les services informatiques et le développement d'applications et sites web. Créée en 1989, elle fait partie intégrante du groupe Maison Options, le leader européen dans la location de matériel événementiel et la décoration éphémère. Options Informatique assure la gestion et le développement de l’ensemble des outils numériques du groupe Maison Options. Elle joue un rôle central dans la transformation digitale du groupe, en maintenant et en faisant évoluer un parc de 20 sites web, tout en garantissant le bon fonctionnement des systèmes informatiques internes.

L’entreprise est située à Les Mureaux (78130) et elle compte actuellement une vingtaine de collaborateurs, comprenant notamment un Directeur des Systèmes d’Information (DSI), quatre employés au support technique, trois développeurs au service SI, sept développeurs web, un designer web et une product owner. Ces équipes collaborent étroitement afin d’apporter des solutions adaptées aux besoins du groupe, que ce soit en matière de développement web, de support aux utilisateurs ou de gestion d’infrastructures (serveurs, etc.).

Maison Options, la maison mère, a été fondée en 1981. Dirigée par Marc Rocagel, elle est aujourd’hui présente dans 6 pays à travers 22 implantations, dont 14 en France. Elle emploie environ 1 000 salariés et réalise un chiffre d’affaires avoisinant les 100 millions d’euros. Chaque jour, l’entreprise Maison Options organise en moyenne 3 500 réceptions en Europe. Elle dispose d’un catalogue de 3 500 références, et gère la logistique via une flotte de 220 véhicules. Plus de 33 millions d’articles sont loués chaque année.

Intégrée à cet environnement dynamique, Options Informatique agit comme un véritable moteur technologique, en développant des solutions numériques sur mesure pour soutenir l’activité événementielle et logistique du groupe.

Contexte du projet

L'entreprise Maison Options souhaite gagner en efficacité dans le traitement des demandes de devis effectuées en ligne par les utilisateurs des différents sites. Pour alléger la charge des commerciaux et éviter le travail inutile, elle effectue un premier tri permettant de classer par ordre d'importance les demandes de devis (chaud, tiède, froid). Elle passes par un prestataire externe qui rappelle les prospects afin leur poser un certain nombre de questions. La réponse à cette question détermine un score qui permet à l'équipe commerciale de hiérarchiser les demandes. Actuelement, les devis sont envoyés chaque matin par mail au prestataire externe dans des fichiers Excel.
Elle a demandé à sa filiale, Options informatique, de réaliser une application web que le prestataire externe pourra utiliser. Cette application extranet devra être connectée au système d'information existant pour récupérer directement les demandes de devis et informations clients, permettre de les traiter, et de les renvoyer.

Équipe projet

  • Responsable technique du digial et maĂ®tre de stage : Xavier Perrault
  • DĂ©veloppeur senior en charge du projet : Ali Saoudi
  • DĂ©veloppeur senior ressource pour React : Bilel
  • UI/UX designer en charge de la maquette : Guillaume
  • DĂ©veloppeur en alternance chargĂ© du back-end : Ibra
  • DĂ©veloppeur stagiaire chargĂ© du front-end : Jacques-Henri Vollet

Analyse du besoin Ă  l'origine du projet

Analyse de l'existant

Actuellement, les commerciaux de l'entreprise Maison Options reçoivent directement les demandes de devis depuis les différents sites du groupe. Afin d'avoir des demandes qualifiées leur permettant de hiérarchiser ces sollicitations selon un score ils envoient chaque matin un fichier Excel à l'entreprise prestataire externe. Ce processus est manuel et peut être source d'erreurs, de retards et de pertes de temps.

La Maison Options a demandé à sa filiale, Options Informatique, de développer une application destinée à ce prestataire externe, susceptible de :

  • Recevoir directement les demandes de devis Ă  partir des diffĂ©rents sites du groupe
  • Fournir un questionnaire associĂ© Ă  chaque demande
  • Permettre la saisie des rĂ©ponses des prospets via un appel tĂ©lĂ©phonique,
  • Renvoyer la demande de devis accompagnĂ©e d’un score calculĂ© sur la base des rĂ©ponses obtenues.
  • CrĂ©er, Ă©diter et supprimer des gestionnaires et utilisateurs de l'application

Schéma du projet

Schéma du projet

Missions et planification

Missions principales du stagiaire

  • DĂ©veloppement front-end : IntĂ©gration de l'interface utilisateur de l'application
  • IntĂ©gration API : Connexion aux bases de donnĂ©es via une API
  • Tests et debugging : Validation du bon fonctionnement des fonctionnalitĂ©s
  • Veille technologique : Recherche des meilleures pratiques et technologies adaptĂ©es

Missions déjà réalisées et planification prévisionnelle

Semaines 1

Phase de découverte

Découverte de l’entreprise et mise en place de l’environnement de travail

Lors de mon arrivée en entreprise, j’ai commencé par une phase de découverte de la structure, de son organisation interne, ainsi que des projets en cours. Cette étape m’a permis de mieux comprendre le contexte dans lequel j’allais évoluer et de m’approprier les objectifs de l’équipe technique.

J’ai ensuite procédé à l’installation et à la prise en main des outils nécessaires au développement :

  • Visual Studio Code (VSC) en tant qu’éditeur de code principal,
  • Git pour la gestion de versions et la collaboration sur le projet,
  • Docker pour le dĂ©ploiement et la gestion d’environnements de dĂ©veloppement uniformisĂ©s,
  • VPN de l’entreprise pour accĂ©der aux ressources internes de manière sĂ©curisĂ©e,
  • Jira pour le suivi des tâches et la gestion de projet agile.
Analyse des besoins et préparation technique

Une fois l’environnement configuré, j’ai étudié en détail le cahier des charges et les maquettes fournies, afin de bien comprendre les attentes fonctionnelles et visuelles du projet. Cette phase m’a permis d’identifier les différentes fonctionnalités à développer, les contraintes techniques, ainsi que les priorités du projet.

J’ai également pris en main les technologies principales utilisées :

  • Pour le front-end, le framework React, associĂ© Ă  la bibliothèque Material-UI (MUI),
  • Pour le back-end, le framework Django (Python), qui structure la logique mĂ©tier et l’accès aux donnĂ©es.
Développement des premières fonctionnalités

Dans un premier temps, j’ai décidé de développer deux éléments clés de l’interface :

  • Le Header de l’application, incluant les Ă©lĂ©ments de navigation et les icĂ´nes,
  • Un tableau de donnĂ©es interactif, rĂ©alisĂ© Ă  l’aide du composant DataGrid de la bibliothèque MUI, permettant l’affichage dynamique d’informations.

Dans le cadre de cette tâche, j’ai également installé et configuré des packages spécifiques pour la gestion des icônes, afin d’assurer la cohérence visuelle avec les maquettes.

Semaines 2-5

Développement phase 1 : front-end utilisateur

Développement du front-end en React

Dans le cadre du développement du front-end, j’ai travaillé avec la bibliothèque React en utilisant Material-UI (MUI) pour concevoir une interface utilisateur moderne et fonctionnelle. Une partie importante de mon travail a concerné le développement des fonctionnalités du tableau de données. J’ai notamment créé :

  • Un composant toggle permettant d’ouvrir ou de fermer un onglet de prĂ©visualisation,
  • Un composant bouton dropdown pour la sĂ©lection d’états,
  • Un filtre personnalisĂ© pour affiner les rĂ©sultats affichĂ©s.

J’ai également amélioré le style global à l’aide de CSS et installé plusieurs packages complémentaires, notamment React Bootstrap pour la gestion du responsive.

Développement de pages supplémentaires et préparation des échanges avec l’API

Par la suite, j’ai développé plusieurs pages supplémentaires en créant des Routes afin d’étendre les fonctionnalités de l’application :

  • Un onglet de prĂ©visualisation dĂ©taillĂ©e,
  • Une page d’édition des demandes,
  • Une page de gestion des utilisateurs.

Dans une optique d’adaptation multi-supports, j’ai continué à travailler l’amélioration du responsive design avec React Bootstrap. Enfin, en vue d’intégrer les données dynamiques, j’ai préparé les requêtes vers l’API REST en m’appuyant sur l’outil Swagger. L'analyse des modèles dans Swagger m’a permis de comprendre la structure des endpoints, les paramètres attendus et les formats de réponse, en prévision de la connexion entre le front-end et le back-end.

Semaines 5-7

Développement phase 2 : connexion à l'api

Intégration au back-end via une api

Semaine 8

Tests et finalisation

Tests unitaires et d'intégration, correction des bugs, finalisation du css

Veille technologique et recommandations

Technologies retenues

Front-end

  • React.js : Framework JavaScript moderne
  • Material UI : Bibliothèque de composants React

Back-end

  • Django : Framework Python

Base de données

  • PostgreSQL : Base avancĂ©e

Recommandations techniques

Stack recommandée

Front-end : React.js avec TypeScript

Back-end : Node.js avec Express.js

Base de données : PostgreSQL

Authentification : JWT