Bonjour,

J'ai à charge le développement d'un gros projet. Celui-ci s'est enlisé au fil des années au point de devoir le reprendre à zéro.
Nous allons donc repartir sur de bonnes bases, notamment Symfony 4, Twig, Doctrine (+ cache maison), Javascript, Ajax pour l'actualisation de certains contenus (modification de données sans quitter la page notamment).

Je m'intérroge désormais sur la pertinence d'adopter une architecture REST, très " à la mode ". Mon projet n'aura jamais à communiquer avec l'extérieur : uniquement Requête > PHP (Symfony) > Réponse et pas mal d'Ajax. Assez classique à ce niveau.

Je reconnais certains intérêts aux architectures REST, notamment :

  • Pouvoir séparer davantage le code notamment en isolant totalement les accès GET/POST/PUT/DELETE base de données (en REST donc)
  • Pourvoir accéder facilement aux ressources via. javascript et éviter les "vieux" appels ajax et les conditions dans les controllers isxmlhttprequest() pour retourner parfois du JSON, parfois une page WEB : c'est le gros intérêt selon moi ;
  • Pourvoir bénéficier du cache HTTP.

    Mais je ne suis pas certains malgré tout du réel intérêt pour une application n'ayant pas vocation à communiquer avec l'extérieur. Je crains un peu " l'effet de mode " propre au web.

    Une question en découle aussi, c'est comment mettre ceci en place avec Symfony pour une application interne (= un seul serveur). Si tous mes fichiers REST et appels à la base de données sont dans /app/Api, et mes controlleurs dans /app/Controller, comment ces derniers doivent appeler mes fichiers REST ? Curl serait ridicule sur une même application ... peut-être un $this->forward() ou déclarer les fichiers REST en tant que service mais j'ai un gros gros doute notamment car on perd l'intérêt du cache HTTP.

    Merci d'avance à ceux qui pourront m'aiguiller :)

1 réponse


bah le rest ca a un interet si :

  • un client qui veut s'interfacer avec ta solution
  • tu as plusieurs application qui doivent récupérer tes données genre Web + app mobile + app TV
  • si tu veux faire du PWA

faut pas faire du REST parce que c'est la mode. parce que qui dit rest dit développer et maintenanir ton API ET developper et maintenir ton app WEB single page (react, angular, vuejs ou autre)

ah et oublie ton idée de forward en appel curl etc... bien trop compliqué. tu va t'arracher les cheveux pour rien... Et quelle valeur ca apporte a ton projet de faire ca ? aucune a mon avis.

si t'as pas besoin de t'ouvrir aux autres, un bon site en php ira très bien. rien ne t'empeche plus tard d'ajouter quelques fonctionnalités REST si le besoin s'en fait sentir.