Stage 2ème année : Resto du coeur

Contexte

Présentation des Restos du Cœur de la Mayenne

Les Restos du Cœur, fondés par Coluche en 1985, sont une organisation caritative à but non lucratif ayant pour mission principale la lutte contre la pauvreté et l’exclusion sociale. Ils offrent une aide alimentaire aux personnes en difficulté et mettent en œuvre des actions visant à faciliter leur insertion sociale. L’antenne locale des Restos du Cœur, située à Laval, œuvre dans la Mayenne pour soutenir les plus démunis. Dans ce cadre, ma mission en tant que stagiaire a été de concevoir un logiciel de gestion du parc automobile de l’association. Ce logiciel devait permettre de suivre, gérer, entretenir et optimiser l’utilisation des véhicules.

Objectif & Fonctionnalités

L’objectif principal du projet était de concevoir un logiciel de gestion adapté aux besoins des Restos du Cœur en matière de gestion du parc automobile. Ce logiciel devait offrir des fonctionnalités permettant une gestion efficace des véhicules, en se concentrant particulièrement sur les points suivants :

  • Gestion des affectations : Suivi de l’affectation des véhicules aux différentes missions de l’association.
  • Gestion des entretiens préventifs et correctifs : Suivi des entretiens des véhicules pour garantir leur bon état de fonctionnement.
  • Suivi des coûts et du kilométrage : Enregistrement des données relatives aux coûts d’utilisation et au kilométrage des véhicules.

Démarche et planification

Ma démarche de travail s’est décomposée en plusieurs étapes, depuis la phase de planification et d’analyse jusqu’à la mise en œuvre technique :

  1. Audit des besoins utilisateurs

    • J’ai commencé par réaliser un audit avec les représentants des utilisateurs finaux : la Croix-Rouge et Emmaüs de Laval. Cet audit avait pour objectif de bien comprendre leurs besoins spécifiques et de recueillir des informations sur leur infrastructure existante (matériel, logiciels, processus de gestion des véhicules).
  2. Elaboration du cahier des charges

    • À la suite de l’audit, j’ai rédigé un cahier des charges détaillant les exigences du projet. Ce document précisait les besoins fonctionnels du logiciel (gestion des véhicules, suivi des coûts, etc.) ainsi que les contraintes techniques et les attentes des utilisateurs.
  3. Modélisation de la base de données

    • Une étape clé a été la modélisation de la base de données. J’ai conçu un MCD (Modèle Conceptuel de Données) pour structurer efficacement les informations liées aux véhicules, aux utilisateurs, aux entretiens, etc.
  4. Conception des interfaces utilisateurs

    • J’ai également conçu des maquettes d’écran pour illustrer l’interface graphique du logiciel. Ces maquettes ont servi à donner une première idée de l’apparence et des interactions possibles avec le logiciel.

les outils et technologies

  • Le projet a impliqué l’utilisation des technologies et outils suivants, qui ont été choisis en fonction des besoins du logiciel et de mes compétences :

    • Développement de l’interface utilisateur (UI) : WPF (Windows Presentation Foundation) a été choisi pour sa capacité à créer des interfaces utilisateurs riches et interactives tout en étant adapté aux applications de bureau sous Windows.
    • Base de données : La gestion de la base de données a été réalisée avec SQL Server. Ce choix a été motivé par sa robustesse et sa compatibilité avec l’environnement Windows.
    • Technologies de liaison avec la base de données : J’ai utilisé Entity Framework Core, un ORM (Object Relational Mapping), pour simplifier l’interaction entre le code C# et la base de données SQL Server.
    • Langage de programmation : C# a été utilisé pour développer les fonctionnalités du logiciel, notamment en raison de son intégration fluide avec WPF et Entity Framework Core.

Aperçus

Compétences validées

Ce stage m’a permis de développer et de valider plusieurs compétences clés dans le domaine du développement informatique :

  • Conception et développement d’application avec WPF pour créer des interfaces utilisateurs interactives et adaptées aux besoins des utilisateurs.
  • Modélisation et gestion de base de données avec SQL Server, y compris la création de schémas et de requêtes SQL.
  • Gestion de projet informatique, y compris la planification, la rédaction du cahier des charges, l’analyse fonctionnelle et la validation des résultats.
  • Collaboration avec des utilisateurs finaux pour recueillir leurs besoins et adapter les solutions logicielles en conséquence.

Documents techniques

  • Le projet a généré plusieurs documents techniques qui ont permis de structurer le développement et de communiquer avec les parties prenantes :

    • Cahier des charges : Définition des exigences du logiciel.
    • Schémas fonctionnels : Modélisation des processus métiers et des interactions avec le logiciel.
    • Schéma de la base de données : Structure des tables, relations et processus de gestion des données.
    • Documentation utilisateur : Instructions d’utilisation du logiciel pour les utilisateurs finaux.
    • Documentation technique : Détails techniques sur la structure et l’implémentation du logiciel.
    • Diagramme de Gantt : Planification des tâches du projet et des étapes de développement.

Synthèse personnelle

Ce stage m’a permis de renforcer mes compétences pratiques en développement logiciel et de me familiariser avec les différentes étapes d’un projet informatique, depuis l’analyse des besoins jusqu’à la mise en production du logiciel. La collaboration avec des représentants d’associations a été un point clé, car elle m’a permis de mieux comprendre les exigences des utilisateurs finaux et de concevoir un logiciel qui réponde précisément à leurs attentes.

L’approfondissement de mes connaissances en WPF, SQL Server, et Entity Framework Core m’a permis de me préparer à des projets futurs. Ce stage a été une expérience extrêmement enrichissante, tant sur le plan technique que personnel.