Aller au contenu principal
Making DigitalMaking Digital
Note technique

Règles d'architecture Laravel : faire vérifier son code par PHPArkitect

En bref

Oui, on peut faire contrôler automatiquement les règles d'architecture d'une application Laravel : c'est ce que fait PHPArkitect, à chaque envoi de code. Saloon rend les appels aux API tierces plus homogènes et testables. laravel/mcp avec Passport ne concerne que les entreprises qui veulent ouvrir leur application à des agents IA.

Peut-on faire vérifier automatiquement les règles d'architecture de son application Laravel ? Oui, c'est le travail de PHPArkitect. Un post Reddit sur la construction d'une application Laravel 13 nous a servi de point de départ, mais son contenu nous est resté inaccessible (accès refusé). Ce qui suit vient donc de la documentation des outils, pas de l'avis de son auteur.

PHPArkitect : écrire les interdits en code

Une architecture, c'est d'abord des interdits : "le métier ne dépend pas de l'affichage". Sur le papier, tout le monde est d'accord. Six mois plus tard, un raccourci s'est glissé quelque part.

PHPArkitect écrit ces interdits en PHP et les vérifie en intégration continue, c'est-à-dire sur la machine qui teste le code à chaque envoi. Exemple de sa documentation : si une classe de App\Domain dépend d'autre chose que App\Domain, la vérification échoue. Il sait aussi contrôler le nommage, l'héritage et les attributs.

L'installation tient en trois commandes, après un composer require --dev (Composer est le gestionnaire de bibliothèques de PHP). Licence MIT : rien à payer.

Le détail qui compte pour une PME, c'est la baseline. Elle ignore les violations déjà présentes, donc on adopte l'outil sur du code existant sans tout réparer d'un coup.

Une limite : c'est un contrôle statique, il ne surveille pas l'application une fois en ligne. Deptrac et PHPat font un travail voisin, mais nous n'avons pas lu de comparaison sérieuse.

Saloon : un connecteur par service

Saloon est une bibliothèque PHP pour appeler les API de tiers, c'est-à-dire les portes par lesquelles deux logiciels s'échangent des données. Chaque service a son connecteur, chaque appel sa requête.

Elle ne dépend que de Guzzle (la bibliothèque qui envoie les requêtes web), fonctionne avec tout framework PHP et s'installe avec composer require saloonphp/saloon "^4.0". Pour les tests, elle enregistre de vraies requêtes. Nous n'avons trouvé ni comparaison avec un appel Guzzle direct, ni la licence : à vérifier avant de s'engager.

Dès qu'on relie beaucoup de logiciels, l'homogénéité cesse d'être un luxe. Pour un de nos clients e-logisticien, la plateforme connecte des dizaines de boutiques à son entrepôt, et des appels tous construits pareil se maintiennent mieux.

laravel/mcp et Passport : seulement si une IA doit entrer

Le MCP est un standard qui permet à un agent IA d'utiliser les fonctions d'une application. Selon le blog de Laravel, il impose OAuth 2.1 en HTTP, avec PKCE obligatoire (une protection contre le vol du code d'autorisation).

Trois façons d'authentifier : Passport, recommandé pour les clients externes ; Sanctum, quand client et serveur sont sous votre contrôle ; ou un middleware maison.

Côté sécurité, le blog est net. Ne jamais transmettre le jeton du client à une API tierce, ne pas s'appuyer sur les sessions, garder le scope minimal mcp:use, et contrôler les droits dans chaque outil.

Autre point : selon un index tiers, le package en est à la version 0.6.5, donc en 0.x. Laravel 13 exige PHP 8.3 au minimum, d'après une source tierce.

Ce qu'une PME peut en retenir

Chez nous, un agent IA propose, un humain valide. L'assistant de Making One prépare devis et factures, et rien ne part sans validation. Ouvrir une application à une IA sans contrôle des droits outil par outil serait l'inverse.

PHPArkitect intéresse surtout une entreprise dont le code passera entre plusieurs mains, ce qui rejoint ce que nous vérifions avant de missionner un développeur PHP senior. Pour connecter vos logiciels, Saloon est une option parmi d'autres.

Nous accompagnons des entreprises de Provence, notamment autour de Lançon-de-Provence. Aucun retour d'usage de PHPArkitect en production n'est tombé sous nos yeux : à essayer sur un projet, pas à croire sur parole.

À retenir
  • PHPArkitect vérifie des règles de couche en intégration continue ; sa baseline permet de l'adopter sur du code existant.
  • Saloon uniformise les appels aux API tierces et fonctionne avec n'importe quel framework PHP.
  • laravel/mcp avec Passport ne vaut que si une IA doit utiliser votre application, droits contrôlés outil par outil.

Questions fréquentes

PHPArkitect fonctionne-t-il seulement avec Laravel ?

Non, c'est un outil PHP qui s'applique à n'importe quel projet. Il est sous licence MIT et s'installe avec Composer.

Peut-on installer PHPArkitect sur une application déjà ancienne ?

Oui. Sa baseline permet d'ignorer les violations existantes et de ne contrôler que le code nouveau, sans tout corriger d'un coup.

PHPArkitect protège-t-il l'application en production ?

Non. C'est un contrôle statique, fait à la compilation et aux tests. Il évite que l'architecture se dégrade, mais il ne surveille pas l'exécution.

Faut-il laravel/mcp pour connecter une IA à son application ?

Seulement si vous voulez exposer votre application à des agents IA. Selon le blog de Laravel, Passport est recommandé pour les clients externes.

Making Digital

Nous connectons les logiciels des PME, automatisons leurs tâches répétitives et créons des assistants IA, depuis 2010. Nos articles partent de nos projets réels.

Notre parcours
Une question sur ce sujet ?

Parlons-en 30 minutes.

Vous saurez si votre problème se règle, comment, et en combien de temps. Sans engagement.