Bonjour,
Je suis en train de réfléchir au développement d'un nouveau projet et je suis déjà en train de calé, aussi je viens vers vous car je suis certain que ma problématique a déjà été rencontrée et une solution doit certainement exister.
Concrètement je dois développer un programme de gestion de commandes, plusieurs terminaux pouvant fonctionner simultanément.
Il y a un serveur centralisant l'ensemble de ses commandes, les terminaux s'y connectant pour récupérer, modifier, ajouter ou supprimer des commandes.
Le projet est donc constituer de deux applications, une application cliente et une application serveur, mon idée étant de développer l'application client en html+js et l'application serveur en php.
Le serveur n'expose pas d'interface graphique, il n'offre qu'une API pouvant être en REST, en SOAP ou en autre chose, peut importe finalement.
On peu voir une commande comme un objet, cet objet on peu donc le modifier cependant il existe des contraintes comme par exemple le fait que l'on ne puisse plus modifier une commande une fois celle-ci payée.
Le problème étant que ses contraintes doivent finalement être écrite deux fois, une fois en javascript pour l'application client et une autre fois en php pour que le serveur vérifie que ce qu'on lui envoie est correcte.
Sauf que cette double programmation m'embête fortement, je dois finalement développer deux fois la partie logique dans deux langages différents.
Il faut comprendre que l'application client doit dans la mesure du possible limiter la communication avec le serveur, si j'ajoute un produit à la commande cela doit se faire seulement coté client, on n'envoie la commande au serveur que lorsque l'on valide les modifications. Cela est important si c'est une application mobile utilisant le réseau téléphonique avec une latence élevée, il ne faut pas que chaque événement utilisateur doivent transiter par le réseau.
Je me suis donc demander s'il n'existait pas quelque chose, qui permettrait d'exposer une API dans laquelle je définirait comment l'objet commande doit fonctionner et que le client n'aurai qu'a l'utiliser sans à ce que l'on aie à écrire les contraintes, celle-ci seraient directement définie dans l'API. Le tout si possible fonctionnant en php (langage que je maîtrise) et en javascript.
Merci d'avance pour votre aide.
Cordialement, La source.