Applications Laravel et PHP
Des applications Laravel conçues pour être transmises.
Portails clients, facturation par abonnement, outils internes et les API qui les relient à tout le reste de votre système. Typées, testées là où c’est important, et assez documentées pour que vous puissiez me remplacer sans drame : c’est la seule définition honnête d’un projet terminé.
01PérimètreCe que je construis
Les types d’applications dont il s’agit en général.
Portails clients et partenaires
Un espace où vos clients se connectent pour voir leurs propres données : commandes, factures, documents, consommation, droits. Le plus difficile, ce sont rarement les écrans. C’est le modèle de permissions, la piste d’audit, et ce qui se passe quand un compte a besoin de six utilisateurs aux accès différents.
Facturation par abonnement et sur facture
Formules, prorata, conditions de paiement, relances, taxes, factures PDF et le rapport de rapprochement auquel votre service financier fait vraiment confiance. Je construis la facturation sur un grand livre en partie double plutôt que sur un total cumulé, car un total cumulé est impossible à auditer le jour où quelqu’un conteste un prélèvement.
Des outils internes qui remplacent un tableur
Le processus qui vit aujourd’hui dans un tableur partagé, avec ses conflits de versions et la seule personne qui le comprend. En faire une application est souvent le projet le plus rentable qu’une entreprise puisse commander, et généralement le plus petit.
API et intégrations
Des endpoints REST ou GraphQL pour votre propre front-end, votre application mobile ou un partenaire. Plus le travail d’intégration qui relie Laravel au reste de vos outils : un ERP, un CRM, un prestataire de paiement, un système de gestion d’entrepôt.
Reprendre le code de quelqu’un d’autre
Je commence ces missions par une semaine en lecture seule : lancer les tests s’ils existent, cartographier les modèles métier et consigner ce que je trouve, y compris ce qui m’inquiète. Vous recevez cette évaluation que vous poursuiviez ou non, pour ne jamais payer seulement pour vous entendre dire que le code va bien.
02MéthodeLà où va l’argent
À quoi je consacre votre budget.
La plupart des budgets d’applications se perdent aux trois mêmes endroits, alors c’est là que va l’attention, plutôt que sur ce qui brille en démo.
Le modèle de données, avant tout
Les décisions de schéma sont celles qu’on ne peut pas défaire à bas coût. Une migration qui scinde une table en trois au bout de dix-huit mois, avec des données clients réelles et toute une série de rapports branchés dessus, est le jour le plus cher de la vie d’un projet. Je préfère passer deux jours de plus sur le schéma que deux semaines de plus sur cette migration.
Tout ce qui touche à l’argent ou aux permissions
La facturation, les rôles et tout ce qui écrit dans un grand livre ont des tests. Pas pour un badge de couverture, mais pour que la personne suivante puisse changer votre logique tarifaire sans casser en silence les factures du trimestre précédent. Ailleurs, je teste les cas délicats et je laisse les évidences tranquilles.
Ce qui se passe quand autre chose tombe en panne
Une intégration n’est pas terminée quand elle fonctionne. Elle l’est quand elle se comporte correctement pendant que l’autre système ne répond plus. Cela veut dire des tâches en file d’attente, des nouvelles tentatives bornées, des clés d’idempotence et un journal d’erreurs lisible par un humain, pour qu’un mauvais après-midi chez un fournisseur retarde vos données au lieu de les perdre.
Rien de tout cela n’est exotique. C’est du Laravel ordinaire, fait avec soin. La différence se voit la deuxième année, précisément quand la plupart des agences sont passées à autre chose et que vous découvrez ce que vous avez vraiment acheté.
03PassationCe qui vous appartient à la fin
Le livrable ne se limite pas à l’application qui tourne.
- 01
Le dépôt
- Dans votre organisation, pas la mienne, dès le premier commit. Historique intact, avec des messages de commit qui expliquent pourquoi, pas seulement quoi.
- 02
Un document d’architecture
- Quelques pages sur les modèles métier, les décisions prises et les alternatives écartées, avec leurs raisons. C’est le document qui fait gagner deux semaines à votre prochain développeur.
- 03
Un environnement local qui fonctionne
- Un nouveau développeur doit passer du clonage à une application qui tourne en moins d’une heure, avec des seeders qui produisent des données réalistes. Si cela prend une journée, le projet n’est pas terminé.
- 04
Notes de déploiement et de retour arrière
- Comment le déploiement se fait, quelles sont les variables d’environnement, où vont les sauvegardes et comment revenir en arrière à deux heures du matin sans m’appeler.
04QuestionsPosées souvent, réponses franches
Ce qu’on me demande avant de m’engager.
Faut-il une application Laravel ou un site WordPress ?
Si l’essentiel du travail consiste à publier des pages modifiées par des personnes non techniques, WordPress est en général moins cher et plus rapide. Si l’essentiel consiste à ce que des utilisateurs se connectent pour faire quelque chose (commander, réserver, valider, produire des rapports), c’est une application. Forcer une application dans WordPress coûte généralement plus cher sur deux ans que de la construire correctement une fois.
Pouvez-vous reprendre un code existant ?
Oui, et c’est une bonne partie de mon travail. Cela commence par une semaine en lecture seule qui aboutit à une évaluation écrite : ce qui existe, ce qui est risqué et ce que je ferais en premier. Ce document vous reste, quelle que soit votre décision.
Écrivez-vous des tests ?
Sur tout ce qui touche à l’argent, aux permissions ou à l’intégrité des données, oui. Je ne cours pas après un pourcentage de couverture : une suite remplie de tests vérifiant que les accesseurs renvoient des valeurs est un coût de maintenance déguisé en qualité. La suite existe pour que quelqu’un puisse modifier votre facturation sans la casser.
Comment gérez-vous le déploiement et l’hébergement ?
Avec ce que vous avez déjà : un VPS, Forge, Ploi, Vapor, des conteneurs. Si vous n’avez encore rien, je vous recommanderai la solution la plus simple adaptée à votre trafic. Pour la plupart des applications métier, c’est un serveur bien configuré avec des sauvegardes gérées de la base de données, pas un cluster.
Pouvez-vous vous intégrer à notre ERP ou à notre CRM ?
En général, oui. La vraie question n’est jamais de savoir si c’est possible, mais comment cela se comporte quand l’autre système est lent ou en panne. Des tâches en file d’attente avec des nouvelles tentatives bornées et un journal d’erreurs lisible, pour que leur panne retarde vos données au lieu de les perdre.
Et si j’ai besoin de changements après la mise en ligne ?
Le dépôt et la documentation vous appartiennent, vous pouvez donc engager qui vous voulez. Si vous préférez continuer avec moi, je propose un volume d’heures mensuel. Ce que j’essaie d’éviter, c’est de devenir structurellement indispensable : une application que je suis seul à pouvoir maintenir est un risque pour vous, pas un avantage pour moi.
Prochaine étape
Décrivez le processus que vous voulez remplacer.
Même une description approximative me suffit pour vous dire s’il s’agit d’un travail de deux semaines ou de deux trimestres, et quelles parties vous pourriez laisser de côté en version un.