Port 08 — Développement sur mesure
Développement de modules sur mesure à Strasbourg
Quand l’outil n’existe pas, ou coûte plus cher que de l’écrire.
Du besoin exprimé jusqu’à la mise en production, avec les corrections qui suivent l’usage réel.
Le problème que cela résout
Il arrive un moment où le logiciel en place ne fait pas tout à fait ce qu’il faudrait. Trois issues se présentent alors : changer d’outil, ce qui coûte cher et emporte les habitudes de travail ; acheter un module du marché, quand il existe et que son prix reste raisonnable ; ou faire écrire ce qui manque.
La troisième voie est souvent écartée par réflexe, jugée réservée aux grandes structures. Elle est pourtant la moins chère dès que le besoin est précis et le périmètre réduit. J’ai écrit un module de mesure d’audience pour PrestaShop parce que les modules équivalents du marché se vendaient à un prix sans rapport avec ce qu’ils font.
La méthode
Écoute du besoin
Le besoin se recueille auprès de ceux qui feront le travail avec l’outil, pas seulement auprès de celui qui signe. C’est là que se trouvent les contraintes réelles : le geste répété quarante fois par jour, le cas particulier qui revient chaque fin de mois, la donnée qu’il faut ressaisir parce que deux logiciels ne se parlent pas.
Cette étape produit une description en français, pas un cahier des charges technique. Si nous ne sommes pas d’accord sur le problème, le reste ne sert à rien.
Étude technique et faisabilité
Avant d’engager la dépense, je regarde ce que permet réellement le logiciel à étendre : ses points d’extension, ses interfaces de programmation, ce qu’une mise à jour risque d’emporter.
Cette étude débouche parfois sur un avis négatif, et c’est un résultat utile. Mieux vaut apprendre en quelques heures qu’un développement serait fragile ou vite obsolète, plutôt qu’en quelques semaines.
Développement
Le code se greffe sur l’existant plutôt qu’il ne le remplace. Un module s’installe et se désinstalle, il ne modifie pas le cœur du logiciel : c’est ce qui permet aux mises à jour de continuer à s’appliquer.
Le travail est versionné du premier jour. Vous savez ce qui a changé, quand, et vous pouvez revenir en arrière.
Test et correction
L’outil est essayé en conditions réelles, avec vos données et vos cas particuliers, pas seulement avec un exemple qui fonctionne. Les corrections de cette phase sont comprises dans le développement : un module qui marche sur le jeu d’essai et pas chez vous n’est pas terminé.
Adaptation à l’utilisateur
Quelques semaines d’usage révèlent ce qu’aucune réunion n’avait vu. Un champ mal placé, une étape en trop, un libellé que personne ne comprend. Cette phase d’ajustement est prévue dès le départ, parce qu’elle est la règle et non l’exception.
Quand on m’appelle
Quand un devis d’éditeur paraît disproportionné au regard du besoin. Quand deux logiciels doivent échanger et que personne ne propose la passerelle. Quand une manipulation répétitive coûte plus cher en temps qu’elle ne coûterait à automatiser.
Décrivez ce que vous n’arrivez pas à faire aujourd’hui sur la page contact. L’étude de faisabilité vient avant le devis.
Mes développements publics sur GitHub
Ces modules sont publiés sur mon compte GitHub, avec leur code et leur documentation. Chacun répond à un besoin réel, et reste lisible par n’importe qui : c’est ce qui vous garantit de pouvoir reprendre un outil ailleurs, avec quelqu’un d’autre, le jour où vous le souhaitez.
PrestaShop 9 · licence MIT
Flux produits Microsoft Ads
Publie le catalogue au format de Microsoft Merchant Center pour les campagnes Shopping sur Bing, Edge et Copilot. Le flux se met à jour à chaque ajout, modification ou suppression de produit, sans tâche planifiée.
Voir sur GitHubGrav 2 · licence MIT
IndexNow
Signale à Bing et aux autres moteurs IndexNow les pages ajoutées, modifiées ou supprimées, sans attendre leur prochain passage. Sert sa propre clé, sans tâche planifiée. Elle tourne sur ce site.
Voir sur GitHubPrestaShop 9 · licence MIT
Mesure d’audience Matomo
Suivi d’audience et e-commerce sur un Matomo auto-hébergé, avec un mode serveur qui ne dépose rien dans la page livrée au visiteur : invisible pour les bloqueurs de publicité.
Voir sur GitHubPrestaShop 8 et 9, Odoo
Synchronisation des ventes vers Odoo
Crée la commande et, si besoin, le client dans Odoo dès qu’un paiement est validé sur la boutique. Une erreur côté Odoo ne bloque jamais le paiement : elle est journalisée et peut être rejouée.
Voir sur GitHubOdoo 19 · licence LGPL-3
Code-barres sur les bons de livraison
Ajoute le code-barres du produit sur chaque ligne du bon de livraison, pour que la préparation de commande se fasse à la douchette.
Voir sur GitHubHome Assistant · licence MIT
Clavier d’alarme Zigbee
Synchronisation dans les deux sens entre un panneau d’alarme Alarmo et un clavier piloté par Zigbee2MQTT, avec armement sans code.
Adaptation du blueprint publié par Howmation.
Voir sur GitHubAssistance à l’installation
Ces modules sont publics et gratuits, et vous pouvez les installer vous-même : la documentation de chaque dépôt décrit la marche à suivre. Si vous préférez être accompagné, je propose une assistance à l’installation : mise en place sur votre boutique ou votre instance Odoo, configuration, vérification du bon fonctionnement, et adaptation quand votre cas sort du cadre prévu.
Demandez un devis en précisant le module concerné.
Socle technique
- PHP
- Python
- PrestaShop
- Odoo
- API et intégrations
- Git et dépôts publics
Questions fréquentes sur le développement
Combien coûte un module sur mesure ?
Je ne publie pas de tarif, parce que tout dépend du périmètre. L’étude de faisabilité vient d’abord : elle débouche sur un devis précis, ou sur le conseil de ne pas développer quand un module existant fait l’affaire.
Le module résistera-t-il aux mises à jour ?
Il est écrit pour cela : il se greffe par les points d’extension prévus par le logiciel, sans toucher à son cœur, et les mises à jour courantes continuent de s’appliquer. Un changement de version majeure demande en revanche souvent une adaptation, en particulier sous Odoo, où chaque version modifie les interfaces internes. Je vous le dis avant de commencer, pas après.
À qui appartient le code ?
À vous. Les droits sur le code écrit pour votre entreprise lui sont cédés, et la cession figure au devis : vous pouvez le modifier, le confier à un autre prestataire ou le reprendre en interne. Le code est livré avec sa documentation et son historique de versions.
Développez-vous sur d’autres logiciels que PrestaShop et Odoo ?
Oui. Ce sont les plus demandés, mais j’ai aussi développé pour Dolibarr, Grav ou Home Assistant, ainsi que des passerelles entre logiciels qui n’avaient pas été prévus pour se parler. La condition est que le logiciel offre des points d’extension ou une interface de programmation.
Pouvez-vous corriger un module écrit par quelqu’un d’autre ?
Oui, si j’ai accès à son code source. Je commence par le lire pour dire ce qu’il fait réellement, ce qui peut être corrigé, et s’il vaut mieux le reprendre ou le réécrire.
Odoo Community ou Enterprise ?
Les deux. Un module qui ne s’appuie que sur les fonctions de la version Community fonctionne sur les deux éditions ; s’il dépend d’un module réservé à Enterprise, je l’indique dès l’étude.
À voir aussi
Port 07 — Web et hébergement
Web et hébergement
Héberger les services internes et les sites de l’entreprise sur une infrastructure maîtrisée, avec des certificats qui se renouvellent seuls.
Voir la fichePort 01 — Virtualisation
Virtualisation Proxmox
Passer du physique au virtuel, ou quitter une plateforme devenue trop chère, avec la sauvegarde et la restauration pensées dès le premier jour.
Voir la fichePort 02 — Messagerie
Messagerie
Hébergée sur mon infrastructure ou sur Microsoft 365 selon vos besoins de travail collaboratif, avec filtrage en amont et migration sans coupure.
Voir la fiche