Conception et mise en place d’un outil de reporting à l’aide de Symfony
Ce mémoire porte sur la conception et la mise en place d’un outil de reporting à l’aide du framework Symfony4, dans le cadre du développement d’un CRM pour la gestion dynamique de centres d’appel.
D'après le document Conception et mise en place d’un outil de reporting à l’aide de Symfony
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.
Document source
Information Systems Engineering and Knowledge Management · Faculté des Sciences Économiques et de Gestion de Nabeul · PDF · 78 pages · 2018
Afficher l'aperçu du document
Ce mémoire porte sur la conception et la mise en place d’un outil de reporting à l’aide du framework Symfony4, dans le cadre du développement d’un CRM pour la gestion dynamique de centres d’appel. Il s’adresse aux étudiants et professionnels en ingénierie des systèmes d’information, développement web et gestion de projets informatiques souhaitant comprendre comment élaborer une application web intégrée à un environnement métier complexe.
La question
Le projet traite du besoin croissant des entreprises, tous secteurs confondus, de disposer d’outils logiciels performants pour gérer leurs activités, leurs clients et leurs projets. Plus précisément, il s’agit de concevoir un outil de reporting capable de gérer plusieurs campagnes téléphoniques dans un centre d’appel, en intégrant toutes les fonctionnalités nécessaires à une gestion efficace et dynamique. Ce besoin est d’autant plus important que les centres d’appel doivent suivre en temps réel leurs performances et adapter leurs actions en fonction des résultats obtenus. Le travail vise donc à répondre à la problématique de la création d’un système de gestion et de reporting adapté aux exigences métier, en utilisant Symfony4 comme technologie principale.
Concepts de base
Pour comprendre ce projet, il est essentiel de maîtriser plusieurs notions clés liées aux systèmes d’information et au développement logiciel :
- Architecture orientée services (SOA) : une approche d’architecture informatique où les fonctionnalités sont exposées sous forme de services indépendants, consommés par différents clients. SOA facilite l’intégration et l’échange d’informations entre systèmes hétérogènes.
- Entreprise Application Integration (EAI) : architecture logicielle permettant l’échange de flux d’informations entre applications diverses au sein d’une entreprise, assurant l’homogénéisation des données métiers en temps réel.
- Processus métier : ensemble organisé d’activités et d’interactions (humaines ou systèmes) visant à atteindre un objectif d’entreprise. La gestion des processus métier (BPM) permet de modéliser, automatiser et superviser ces flux.
- Business Process Execution Language (BPEL) : langage standard pour décrire et exécuter les processus métier automatisés.
- Business Activity Monitoring (BAM) : supervision en temps réel des activités métier, permettant de suivre la performance des processus et d’alerter en cas de déviation.
- Décisionnel (Business Intelligence) : ensemble des technologies et méthodes permettant de collecter, analyser et présenter des données pour aider à la prise de décision stratégique.
- Framework Symfony4 : un cadre de développement PHP moderne, structuré selon le modèle MVC (Modèle-Vue-Contrôleur), facilitant la création d’applications web robustes, modulaires et maintenables.
- Architecture 3-tiers : organisation logicielle séparant la présentation, la logique métier et la gestion des données, pour une meilleure modularité et évolutivité.
Approche
Le projet s’est déroulé en plusieurs étapes méthodiques :
- Analyse de l’existant : étude des outils et systèmes déjà en place, identification de leurs limites et des besoins non couverts.
- Spécification des besoins : définition claire des besoins fonctionnels (gestion des utilisateurs, campagnes, appels, statistiques, etc.) et non fonctionnels (performance, sécurité, ergonomie).
- Conception détaillée : réalisation de diagrammes UML (cas d’utilisation, séquence, classes) pour modéliser les interactions, les fonctionnalités et la structure du système.
- Choix technologique : adoption de Symfony4 pour ses avantages en termes de modularité, communauté et architecture claire, ainsi que l’utilisation d’une architecture 3-tiers pour structurer l’application.
- Développement et intégration : implémentation progressive des fonctionnalités, création des interfaces utilisateurs adaptées aux différents profils (super administrateur, administrateur, agent), et intégration avec les outils métiers existants.
- Tests et validation : utilisation de jeux d’essai pour vérifier la conformité des interfaces et des fonctionnalités, notamment pour l’authentification, la gestion des campagnes, des listes, des statuts, et la génération des rapports statistiques.
Résultats
Le travail a abouti à la conception et au développement d’une application web fonctionnelle permettant :
- La gestion complète des campagnes téléphoniques, incluant la création, modification, suppression et suivi des campagnes, groupes, listes et statuts.
- La gestion des utilisateurs avec différents niveaux d’accès (super administrateur, administrateur, agent), assurant la sécurité et la personnalisation des droits.
- L’intégration d’interfaces intuitives pour la consultation des statistiques détaillées sur les campagnes, les fiches, les appels et les rendez-vous.
- La possibilité d’importer des données via des fichiers CSV pour alimenter les listes de contacts.
- Un système de reporting capable d’exporter les données sous différents formats (PNG, JPEG, PDF, SVG) pour faciliter l’analyse et la prise de décision.
Ces résultats montrent que l’utilisation de Symfony4 combinée à une architecture bien pensée permet de répondre efficacement aux besoins complexes d’un centre d’appel.
Limites et questions ouvertes
Le mémoire ne détaille pas certaines limites potentielles du projet, mais on peut relever quelques points à approfondir :
- La montée en charge et la performance de l’application dans un contexte réel de très gros volumes d’appels et de données n’est pas explicitement évaluée.
- L’intégration avec d’autres systèmes tiers ou outils métiers, bien que mentionnée, pourrait nécessiter des adaptations spécifiques non couvertes dans ce travail.
- Les aspects liés à la maintenance évolutive et à la gestion des mises à jour du framework Symfony4 ne sont pas abordés.
- La gestion avancée des processus métier automatisés via BPEL ou autres standards n’a pas été développée dans l’application finale.
Glossaire
- SOA (Service Oriented Architecture) : Architecture orientée services permettant l’échange de fonctionnalités sous forme de services indépendants.
- EAI (Entreprise Application Integration) : Intégration des applications d’entreprise pour permettre l’échange d’informations entre systèmes hétérogènes.
- BPM (Business Process Modeling / Management) : Modélisation et gestion des processus métier d’une organisation.
- BAM (Business Activity Monitoring) : Supervision en temps réel des activités métier pour assurer leur performance.
- Décisionnel / Business Intelligence : Ensemble des outils et méthodes d’aide à la décision basés sur l’analyse des données.
- Symfony4 : Framework PHP moderne pour le développement d’applications web suivant le modèle MVC.
- Architecture 3-tiers : Séparation de l’application en trois couches : présentation, logique métier, données.
- UML (Unified Modeling Language) : Langage de modélisation graphique utilisé pour représenter les systèmes logiciels.
- CSV (Comma-Separated Values) : Format de fichier texte utilisé pour stocker des données tabulaires.
Commentaires
Aucun commentaire pour le moment. Posez la première question.