Application web - API REST ?

a marqué ce sujet comme résolu.

Bonjour à tous,

J’ai un projet sur le feu qui concerne une application web qui devra bien sur être aussi adaptée aux support mobile.

Ma première intention était de partir sur Angular JS (que je ne maîtrise pas totalement mais ça va me faire progresser) pour avoir une interface fluide et derrière un framework PHP pour récupérer mes données en BDD. Je travaille en général avec CodeIgniter.

Cela semble t-il pertinent ?

J’ai entendu parler d’API REST (mais pas sur d’avoir tout saisi), est-ce que mon cas est adapté ? Il me semble qu’ici PHP va seulement me servir à requêter ma BDD et qu’ensuite c’est Angular qui va s’occuper de tout le reste. Mais peut-être que j’ai mal compris et que je fais fausse route.

Merci d’avance

Salut !

Tu peux effectivement imaginer ton application PHP qui te sert d’interface pour ta base de données, et ce que tu souhaites pour l’interroger, que ce soit pour un front-end web ou une application iOS ou même Android.

Et oui, PHP qui fait une API REST, c’est tout à fait imaginable. D’ailleurs, c’est plus ou moins ce qu’il faut avec Angular, du peu que je connais.

+1 -0

Merci pour ta réponse.

En fait c’est la première fois que je me lance dans ce genre de chose. Je suis plutôt habitué à du PHP avec quelques morceaux de JQuery. Mais aujourd’hui j’ai besoin d’avoir une interface fluide et assez rapide.

J’ai fait quelques recherches et lu quelques articles sur les API REST mais au final ça m’a paru assez abstrait et je n’étais pas sur que ça correspondrais vraiment à mes besoins.

Si d’autres personnes ont plus de détails à me donner je suis preneur :P Je vais essayer de gratter un peu plus de ce côté là alors.

Encore merci :)

API REST, c’est abstrait parce que c’est un concept. Tu peux faire une api rest avec beaucoup de choses. Typiquement tu as plusieurs systèmes comme swagger (anciennement openapi), qui te permet de créer ton API, la documenter et générer les clients/serveurs/tests.

Mon seul conseil si tu veux faire une api rest ou autre serait de ne pas perdre du temps sur que choisir, mais choisir quelque chose que tu peux utiliser rapidement dans ton projet autant coté frontend que backend.

Salut @Ariol, Le framework Symfony te permet de construire des APIs robustes. Il existe tout un ensemble de bundles pour ajouter l’authentification OAuth (OAuthBundle) et même pour générer une documentation pour ton API (NelmioApiDocBundle) ! :magicien:

Je ne sais pas si tu as déjà eu l’occasion d’utiliser Symfony, mais si c’est le cas je te recommande de développer ton API avec.

Ensuite tu pourras brancher ton front-end dessus avec AngularJS ! :)

+0 -0

Salut, je vais faire simple et t’envoyer sur ce tutoriel qui traite de l’api REST en php avec Symfony3. J’espère que tu y trouveras les réponses à tes questions.

azeupaul

Merci j’ai survolé vite fait le lien, je pense que je vais trouvé des ressources intéressantes.

Salut @Ariol, Le framework Symfony te permet de construire des APIs robustes. Il existe tout un ensemble de bundles pour ajouter l’authentification OAuth (OAuthBundle) et même pour générer une documentation pour ton API (NelmioApiDocBundle) ! :magicien:

Je ne sais pas si tu as déjà eu l’occasion d’utiliser Symfony, mais si c’est le cas je te recommande de développer ton API avec.

Ensuite tu pourras brancher ton front-end dessus avec AngularJS ! :)

Moumoune

Merci des précisions. J’ai étudié un peu Symfony mais je n’ai jamais pratiqué de façon sérieuse avec celui-ci même si j’en ai énormément envie. Finalement entre CodeIgniter que je connais et Symfony que j’ai envie d’apprendre à maîtriser je vais peut-être sauter le pas pour une fois.

Je vais déjà bien lire en détail le tutoriel.

Depuis hier j’ai trouvé quelques ressources pour m’aider à créer une API REST avec CodeIgniter et j’ai déjà réussi à avoir quelques résultats.

Merci à tous pour votre aide :)

J’ai une autre question dans le même genre car je suis en train d’effectuer quelques tests. Je suis sur CodeIgniter et par exemple j’ai trouvé un moyen sans utiliser REST.

J’ai un contrôleur PHP qui va chercher par exemple une liste de catégories via le modèle et qui retourne le résultat avec un json_encode.

1
2
$categories = $this->categories_model->get();
echo json_encode($categories);

Ensuite côté Angular j’ai juste à faire ça (get_cat est le nom de ma fonction juste au dessus)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
ApiApp.controller('CatController', function ($scope, $http) {
    $http({
        url: 'get_cat',
        method: 'POST',
    }).success(function(data) {
        $scope.categories = data;
    }).error(function(data){
        $scope.categories = data;
    });
});

J’ai ensuite affiché dans ma vue les données via Angular. Du coup avec un procédé comme celui-ci quelle est la différence avec une API REST ? Je perd ou je gagne quelque chose à faire comme ça ?

Merci d’avance

Salut @Ariol,

La méthode que tu utilises est très bien pour se faire la main au début. J’expose un json depuis mon serveur, je le récupère puis je l’affiche dans mon interface.

Tu gagnes en rapidité avec cette méthode, puisque tu n’est pas obligé de mettre en place une API REST. Une API REST te permet par contre d’aller plus loin : définir le type de la requête (GET, POST, PUT…), respecter une architecture des routes (/voitures, /voiture/:id), définir un code HTTP pour la réponse (200, 404), ajouter une authentification OAuth… :magicien:

Bref, à un moment ou à un autre tu n’y échappera pas ^^

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte