Projet interne · ERP · Agriculture
Sogesa ERP System
Conception et développement d’un ERP web interne destiné à soutenir les activités quotidiennes des agronomes et la gestion opérationnelle de l’entreprise.
Expérience associée
Sogesa
Développeur web · 2011 — 2014
Voir l’expérience correspondanteContexte
Sogesa est une société de conseil spécialisée dans la gestion et l’exploitation de terres agricoles pour le compte de propriétaires terriens.
De nombreux propriétaires ne disposent pas de l’expertise ou des ressources nécessaires pour gérer eux-mêmes des terres agricoles.
Sogesa agit comme intermédiaire entre les propriétaires et les différents acteurs impliqués dans la production agricole.
Les agronomes employés par Sogesa sont responsables de l’analyse des sols, du choix des cultures à planter, de la coordination de la préparation des champs, du choix des traitements phytosanitaires, de l’organisation des récoltes et de la gestion de la vente des produits agricoles.
Au moment où j’ai rejoint l’entreprise, très peu d’outils numériques existaient pour soutenir ces activités.
L’objectif du projet était de construire progressivement un système logiciel interne permettant aux agronomes de gérer leur travail, puis d’étendre la plateforme pour soutenir la gestion opérationnelle de l’entreprise.
Utilisateurs
Le système était utilisé en interne par les membres de l’entreprise.
Au total, la plateforme soutenait environ sept utilisateurs internes impliqués dans les opérations agricoles et l’administration de l’entreprise.
- 4 agronomes
- 1 secrétaire
- Le directeur de l’entreprise
- L’assistante du directeur
Objectif
Concevoir et développer un ERP web interne soutenant les activités quotidiennes des agronomes et la gestion opérationnelle de l’entreprise.
Le système s’est d’abord concentré sur la numérisation du workflow utilisé par les agronomes sur le terrain, notamment la gestion des parcelles, des opérations agricoles et de la coordination avec les acteurs externes.
Avec le temps, la plateforme s’est étendue pour inclure d’autres fonctions métier telles que la facturation, les commandes de produits et la gestion des stocks.
Concepts métier clés
Plusieurs concepts importants du domaine devaient être modélisés dans le système.
Le système supportait la gestion de plusieurs années culturales simultanément et permettait aux agronomes d’adapter les structures de parcelles d’une saison à l’autre.
- Les parcelles agricoles, qui pouvaient évoluer au fil du temps
- Les années culturales, qui suivent des cycles agricoles saisonniers plutôt que des années calendaires
- Les opérations agricoles réalisées sur des parcelles spécifiques
- Les ordres de travaux envoyés aux entrepreneurs agricoles
Mon rôle
J’étais le développeur principal responsable de la construction de la première version du système.
Pendant la première année du projet, j’étais le seul développeur travaillant sur l’application.
Par la suite, un second développeur junior a rejoint le projet et nous avons continué à développer le système ensemble pendant plusieurs années.
Mon travail impliquait de comprendre les workflows des agronomes, de concevoir la structure de la base de données et d’implémenter progressivement les fonctionnalités nécessaires pour soutenir leurs activités quotidiennes.
Un audit technique externe du code a été réalisé pendant le projet afin d’évaluer la qualité de l’implémentation et de fournir des recommandations concernant l’architecture et les pratiques de développement.
Responsabilités
- Compréhension et documentation des workflows des agronomes
- Traduction des processus métier en fonctionnalités logicielles
- Conception du schéma de base de données
- Développement de l’application web depuis zéro
- Implémentation de modules de gestion des parcelles agricoles, des opérations et des entités liées
- Implémentation de fonctionnalités de gestion d’entreprise telles que la facturation et la gestion des stocks
- Déploiement et maintenance de l’infrastructure applicative avec un hébergeur externe
- Collaboration avec les agronomes et les autres parties prenantes pour affiner le système
Fonctionnalités clés
- Gestion des parcelles agricoles
- Support de plusieurs années culturales
- Création d’ordres de travaux agricoles
- Export des ordres de travaux vers Excel pour une utilisation sur le terrain
- Gestion de la facturation
- Commandes de produits et gestion des stocks
- Accès basé sur les rôles pour les agronomes et le personnel administratif
Défis techniques
- Apprendre PHP et l’architecture d’applications web tout en construisant le système
- Concevoir et implémenter une application web complète depuis zéro
- Comprendre un domaine métier complexe lié à la gestion de terres agricoles
- Traduire des processus réels en modèles logiciels
- Gérer l’infrastructure technique et le déploiement de l’application
- Participer à de longues réunions avec des experts métier pour comprendre pleinement leurs workflows
- Apprendre à estimer des tâches de développement et à planifier le travail d’implémentation
- Adopter des pratiques plus modernes après les retours d’un audit externe du code
Technologies utilisées
Langages
- PHP 5.3
- SQL
- JavaScript
- HTML
- CSS
Frameworks / librairies
- Symfony 2, introduit plus tard pour la partie administrative de l’application
- jQuery
- Bootstrap
Base de données
- MySQL
Outils
- Doctrine ORM
- Bundle d’administration Symfony pour l’interface de gestion
- SVN puis Git
- XAMPP
- NetBeans IDE
Infrastructure
- Hébergeur externe
Déploiement
Le processus de déploiement a évolué au cours du projet.
- Au départ, les déploiements étaient réalisés manuellement via FTP
- Le versioning a ensuite été introduit avec SVN
- Le projet a finalement migré vers Git
- Les déploiements ont ensuite été effectués manuellement via un accès SSH au serveur d’hébergement
Résultats / impact
Le projet a abouti à un ERP sur mesure utilisé en interne par Sogesa pour soutenir à la fois les opérations de terrain des agronomes et la gestion administrative de l’entreprise.
La plateforme a progressivement remplacé des processus manuels et amélioré la coordination entre les agronomes et les autres acteurs impliqués dans la production agricole.
Le système a continué à être utilisé et développé après mon départ.
Bien qu’il ait été initialement développé par des développeurs juniors sans encadrement technique senior, le système s’est révélé suffisamment robuste pour rester en production active de nombreuses années après son développement initial.
Apprentissages clés
- Première expérience professionnelle de construction d’une application web complète
- Apprentissage de PHP et du développement backend web dans un environnement de production
- Compréhension de la manière de traduire des processus métier réels en systèmes logiciels
- Expérience de collaboration directe avec des experts métier
- Première exposition aux considérations d’architecture logicielle et de qualité du code