Aujourd’hui, de plus en plus d’applications web voient le jour, celles-ci sont en fait des applications (comme les applications mobiles), qui utilisent des technologies web et une ou plusieurs APIs.
Une API (ou Application Programming Interface en Anglais) est une interface de programmation d’applications. Pour fonctionner, votre site web a besoin de 3 éléments : une logique métier, des modèles et des vues. Le principe pour une API est de stocker toute votre logique métier et vos modèles au sein d’un même serveur, indépendamment de vos vues.
L’intérêt de fonctionner ainsi est simple : votre application web et vos applications mobiles partagent la même logique métier et les mêmes modèles, mais ont des vues différentes. En général, ce genre de solutions complexes s’adressent à des entreprises qui souhaitent proposer leurs services en ligne aussi bien sous forme d’applications web que d’applications mobiles.
Une application web est beaucoup plus coûteuse à développer et nécessite un entretien régulier. En général, si vous n’avez pas besoin d’utiliser plusieurs applications connectées à une même base de données et réalisant sensiblement les mêmes actions, il vaudra mieux vous orienter vers une architecture de site web plus classique.
Bien connus pour leur robustesse, et utilisés par de nombreux sites web dans le monde, les architectures MVC (ou Model View Controller en Anglais) dites modèles vues contrôleurs, vous permettent de stocker à la fois votre logique métier, vos modèles, et vos vues au sein d’un même serveur.
Ce genre d’architecture vous permet notamment de centraliser tous vos services au même endroit, et d’éviter de faire transiter toutes vos données (plus ou moins sensibles) entre différents services web.
Il est toutefois important de noter que certains systèmes de gestion de contenus comme WordPress, vous permettent de bénéficier d’une architecture MVC et d’une API en même temps, au sein d’un même serveur.
Je vous recommande donc de bien définir vos objectifs, et de savoir quelle portée vous souhaitez donner à votre projet afin de choisir une architecture adaptée à vos activités !
Vous pouvez consulter ci-dessous la liste non exhaustive des questions qui me sont le plus fréquemment posées.