Ayant travaillé pour de nombreux années dans le développement open source (Web, java, B.I) et ayant participé à rendre une société française avec un logiciel OpenSource en une Multinationale, je vais être très exigeant et sévère dans mes critiques!
J’ai déserté le milieu de développement depuis 3 ans pour s’occuper de mes usines et commerces à l’étranger (Tunisie), mais suite à la demande du directeur administrative de mon usine, qui souhaitait migrer à un ERP, je me retrouve de nouveau dans ce milieu! Il m’a sollicité de l’aider dans le choix de l’ERP, et vue mon passé avec l’open source je n’ai pas trahi mes convictions…
Bref, je me suis pressé à lui installer dolibarr (version 4 puis 5), puis migré les données des années précédentes en deux soirées de travail vue sa simplicité de conception en ce qui concerne la base de donnée. En passant à l’application et les reports (pdf) je me suis rendu compte de l’immaturité d’abord de mon choix sur cet ERP puis sur l’ERP en lui même!
J’ai pas voulu abandonné immédiatement et je me suis dit que peut être que je ne suis à la page et des trucs qui m’ont dépassé, j’ai donc installé mes outils de développement et j’ai commencé à regarder la conception et la structure de cet ERP.
Pour être direct, et si vous me permettez, je vais citer mes conclusions :
- Après 8-9ans de développement, c’est très peu!!! et l’application manque beaucoup de richesse et surtout de structure!
- Ma première impression : c’est comme si c’est un projet de fin d’étude a été réalisé il y a 10ans et qu’on lui ajoute un dossier par ici et un lib par là…
- Pas d’organisation! core/modules/facture puis tu trouve root/compta/facture ensuite tpl dans un autre dossier et les class et lib dans d’autres dossiers! mais c’est quoi ce ****!
- A ce stade d’age d’application, vous ne proposez pas réellement des outils/lib pour les développeurs afin d’enrichir l’application et la faire évoluer!
- Pas de fonction/class génériques, pas suffisamment de documentation, pas suffisamment de commentaire dans le code …
- Pas de séparation entre le core de l’application et ses modules/plugins ce qui empêchera l’évolution rapide de l’application!
- La pauvreté du store en ce qui concerne les modules gratuites
- Je vois pas un model de dev clair, pourquoi ne pas s’impliquer au model MVC ???!
- Pourquoi ne pas utiliser un model xml pour l’installation/désinstallation des modules/plugins???
- Pourquoi vous n’avez pas continuer l’implémentation des extrafields (c’est un bon signe mais vous êtes arrêté à mi-chemin!)
…
Je suis peut être exigeant mais c’est pour vous dire qu’il y a un potentiel à exploiter! et je vous encourage à faire de la restructuration profonde de votre application afin d’arriver rapidement à vos objectifs!
Normalement, après deux ans de développement, une restructuration complète aurait du être faite! … c’est un manque de courage!
Une nouvelle branche devrait être créer et commencer à mettre de l’ordre et de la structure dans le code! avec au maximum 6-8 dossiers en root!
Séparer l’administration, implémenter un core/lib plus générique, mettre toutes les fonctionnalités des modules dans un seul dossier (modules), migrer au model MVC pour toutes les modules, implémenter l’override des modules, les override des templates afin de libérer le développement des fonctionnalités des modules et se concentrer sur le développement du core…
Recruter un développeur pour votre communauté qui d’abord l’aide sur le forum et enrichir votre store en développant des modules pour la communauté (que vous les intégrer par la suite une fois qu’elle devienne mature)
Continuer l’implémentation des extrafields, c’est incomplète!!
Supprimer la validation des messages sur votre forum (c’est gênant)
Je ne sais pas, mais peut être je me trompe, je ne vois pas le travail d’un directeur technique!
Je ne vois pas non plus le travail d’un directeur de développement ni de celui du marketing
Vous pouvez construire une équipe de développement à l’étranger (en Tunisie, en Chine, en Inde) qui pourrait faire évoluer rapidement l’application…
Bon, j’espère que je n’étais pas très sévère et que vous acceptez mes critiques à coeur ouvert! je me sentais obliger de le faire car j’ai perdu 10 jours de ma vie avec dolibarr et ne pas partager mon retour d’expérience n’aidera en rien l’Open Source et dolibarr particulièrement!
Je reste aussi ouvert à vos retours si je me suis trompé dans mes jugements et les discussions constructive m’intéresserait
Cdt et bon courage dans vos efforts.