Construction d'une pipeline DevOps moderne et d'un portail d'autoservice numérique pour une entreprise de recyclage de taille moyenne

Projet pratique académique en développement logiciel et opérations informatiques

2022 Projet Pratique Recherche Académique

Introduction

Ce projet pratique a été réalisé dans une entreprise certifiée de gestion des déchets spécialisée dans le recyclage du bois. L'objectif principal était de concevoir et implémenter un cycle moderne de Développement et Opérations Informatiques ainsi qu'un portail client numérique intégré aux processus de l'entreprise.

Le travail s'est concentré sur deux aspects principaux. Premièrement, la configuration d'un environnement DevOps qui supporte le développement, l'intégration, le déploiement et l'exploitation continus du portail. Deuxièmement, la conception et l'implémentation d'un portail client basé sur le web qui améliore la rétention client en fournissant un accès transparent aux données de pesage, contrats, factures et informations de contrôle, et en optimisant les processus internes de pesage et d'élimination.

Le projet a abordé plusieurs défis dans les opérations quotidiennes de l'entreprise, incluant une communication client inefficace, une disponibilité limitée des documents et des processus administratifs manuels qui pourraient être rationalisés grâce à la numérisation.

Fondements et Exigences

Analyse des Exigences

Le projet a commencé par une analyse complète des exigences via des entretiens avec la direction et les employés. Les problèmes clés identifiés incluaient:

  • Processus de communication client inefficaces nécessitant des appels téléphoniques et emails fréquents
  • Disponibilité limitée des données de pesage et documents pour les clients
  • Travail administratif manuel qui pourrait être automatisé
  • Manque de transparence dans le statut du projet et le suivi des progrès
  • Aucun processus standardisé de développement et de déploiement

Exigences Techniques

Basé sur l'analyse, les exigences techniques suivantes ont été dérivées:

  • Implémentation d'un pipeline d'intégration et de déploiement continus
  • Développement d'une architecture de portail client modulaire
  • Intégration avec le système ERP existant et les données de pesage
  • Authentification sécurisée et contrôle d'accès basé sur les rôles
  • Design responsive pour accès mobile et desktop

Concept et Architecture

Concept DevOps

Le concept DevOps a été conçu pour supporter le développement, l'intégration, le déploiement et l'exploitation continus. L'architecture incluait:

  • Contrôle de version avec GitLab pour la gestion de code et la collaboration
  • Intégration Continue avec builds et tests automatisés utilisant TeamCity
  • Containerisation avec Docker pour des environnements de déploiement cohérents
  • Pipelines de déploiement automatisés pour les environnements staging et production
  • Surveillance et journalisation pour des insights opérationnels

Architecture du Portail

Le portail client a été conçu comme une application web modulaire avec les modules principaux suivants:

Module de Pesage

Les clients peuvent voir et télécharger les bordereaux de pesage liés à leur numéro de client, permettant une transparence totale des quantités et qualités livrées.

Module de Disposition

Planification des transports de conteneurs avec intégration des clients, conteneurs, employés et véhicules appropriés pour supporter le processus logistique.

Module de Contrats et Tarification

Disponibilité permanente des prix et documents de contrat avec export en PDF pour supporter la communication transparente et l'accès rapide aux accords.

Module de Comptabilité

Recherche et téléchargement de factures au format PDF, alignées avec les données de pesage, pour réduire les demandes manuelles et supporter les flux de travail de comptabilité numérique.

Contrôle et Analyse

Évaluation des quantités livrées, qualité de livraison et prix pour supporter le contrôle opérationnel et la prise de décision stratégique.

Autoservice des Données Maîtres

Options pour les clients de maintenir des données maîtres sélectionnées et informations de contact, réduisant le travail administratif manuel pour l'entreprise.

Pile Technologique

Programmation et Web

PHP
Laravel Framework
JavaScript
HTML & CSS
SQL

DevOps et Collaboration

GitLab
TeamCity
Continuous Integration
Continuous Deployment
Version Control Workflows

Données et Intégration

MySQL
ERP System Integration
REST APIs

Infraestructura y Herramientas

Docker
nginx Web Server
PhpStorm IDE
Linux Server Environment

Implémentation

Configuration de l'Environnement de Développement

La première phase impliquait la configuration d'un environnement de développement dédié avec serveur web, base de données, IDE et outils nécessaires pour supporter le développement continu. Cela incluait la configuration de serveurs de développement locaux, connexions de base de données et outils de développement.

Implémentation DevOps

Le cycle DevOps a été implémenté via l'intégration de GitLab, TeamCity et Docker. Cela a permis:

  • Intégration continue avec builds et tests automatisés
  • Pipelines de déploiement automatisés pour staging et production
  • Flux de travail de contrôle de version avec stratégies de branchement
  • Environnements containerisés pour déploiements cohérents

Développement du Portail

Le portail client a été implémenté en utilisant le framework Laravel. Le processus de développement incluait:

  1. Création de l'architecture modulaire avec modules séparés pour pesage, disposition, contrats, comptabilité, contrôle et données maîtres
  2. Développement d'interfaces utilisateur avec design responsive pour accès mobile et desktop
  3. Intégration avec le système ERP existant et données de pesage via APIs REST
  4. Implémentation de l'authentification et du contrôle d'accès basé sur les rôles
  5. Développement de la fonctionnalité d'export PDF pour documents et factures

Tests et Retours

Tout au long du processus de développement, des tests fonctionnels ont été menés, des données de test ont été créées et des boucles de retour avec les parties prenantes ont été établies pour valider l'utilisabilité, les performances et la justesse des processus métier. Cette approche itérative a assuré que la solution répondait aux exigences et attentes.

Résultats et Conclusion

Résultats Atteints

L'implémentation du cycle DevOps et du portail client a résulté en améliorations significatives:

  • Efficacité de Développement Améliorée: Les pipelines CI/CD automatisés ont réduit le temps de déploiement et minimisé les erreurs manuelles, permettant des cycles d'itération plus rapides.
  • Expérience Client Améliorée: Les clients ont gagné un accès 24/7 à leurs données, réduisant les demandes téléphoniques et améliorant la satisfaction grâce aux capacités d'autoservice.
  • Processus Internes Rationalisés: Les flux de travail numériques ont réduit la surcharge administrative et amélioré la précision des données grâce aux processus automatisés.
  • Meilleure Transparence des Données: L'accès en temps réel aux données de pesage, factures et contrats a amélioré la communication et la confiance entre l'entreprise et ses clients.
  • Architecture Scalable: Le design modulaire permet l'expansion future et l'intégration de fonctionnalités supplémentaires à mesure que les besoins métier évoluent.

Leçons Apprises

Le projet a fourni des insights précieux sur les pratiques modernes de développement logiciel:

  • L'importance d'établir un cycle DevOps approprié dès le début pour supporter le développement et le déploiement continus
  • La valeur de l'architecture modulaire pour permettre des solutions logicielles flexibles et maintenables
  • L'importance des retours des parties prenantes et du développement itératif pour assurer la qualité de la solution
  • Les avantages de la containerisation et du déploiement automatisé dans la réduction de la complexité opérationnelle

Recommandations Futures

Pour l'expansion future du cycle DevOps et des fonctions du portail, les recommandations suivantes ont été faites:

  • Implémentation de systèmes automatisés de surveillance et d'alerte pour la détection proactive de problèmes
  • Expansion du portail avec modules supplémentaires basés sur les retours clients et besoins métier
  • Intégration d'applications mobiles pour une accessibilité améliorée
  • Amélioration continue du pipeline CI/CD avec tests automatisés supplémentaires et portes de qualité