Meilleures ressources pour apprendre à créer des API

REST et JSON

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

Je développe des applications Android depuis quelques temps, et je commence à être un peu limité. En effet, coté Android ça ne se passe pas trop mal; en revanche, je suis à l'heure actuelle incapable de faire moi-même un backend. J'ai un peu utilisé "Parse", mais c'est assez vite limité. Est-ce qu'il existe des ressources (tutoriaux) permettant d'apprendre à en réaliser ? Quelques précisions :

  • Je sais que l'on peut faire des backends avec 1000 langages et framework différents. Je connais déjà pas mal le JAVA donc c'est principalement à ce langage que je pense, sauf si vous me dites que c'est fortement déconseillé (j'ai un peu regardé du coté de Rails avec ce tutorial : http://apionrails.icalialabs.com/ mais je le trouve très mal expliqué. J'ai également regardé de ce coté : https://www.railstutorial.org/ mais le problème est que le livre se consacre à l'élaboration de tout un site web en rails, et que je souhaite uniquement réaliser des APIS !)

  • Ce que je cherche à faire sont des backends assez "classiques" et "simples", comprendre une BDD (MySQL si c'est possible, j'aime beaucoup) sur laquelle on fait des opérations "CRUD", le tout chapeauté par une architecture REST. Le grand classique en fait, avoir des users (donc une authentification, avec un token), puis des requêtes de GET/POST pour agir sur la BDD, le tout au format JSON.

  • Je cherche vraiment un très bon tutoriel me permettant d'apprendre à faire cela bien, un tutoriel bien expliqué. Je suis certain que ça doit exister mais étonnamment, je ne parviens pas à en trouver. En français c'est mieux, mais si c'est en anglais, je pense pouvoir m'en sortir.

  • J'ai entendu parler de plusieurs frameworks, qui semblent avoir des qualités, mais dont je ne connais rien (Jersey, Restlet, Play). Je n'ai même pas de Framework particulier en tête; à partir du moment où l'un me permet de faire ce que je souhaite, avec un tutoriel agréable et compréhensible.

Si quelqu'un pouvait me fournir ce type de ressource, et pourquoi pas, des conseils avec cela, je lui serai éternellement reconnaissant !

Merci par avance !

Édité par Coyote

+0 -0
Auteur du sujet

Merci beaucoup pour le lien, je vais lire ça m'a l'air intéressant. Après, ce n'est qu'une introduction, donc pas suffisant pour mettre en place un backend par moi même, mais c'est déjà intéressant, merci !

+0 -0

Je pense qu'il faut que tu apprennes deux choses :

  • D'une part, la théorie des API REST, donc indépendamment du langage
  • D'autre part, un framework qui te permette de la mettre en pratique, et comme tu l'as dit ils sont nombreux. Concrètement n'importe quel framework moderne en est capable ! Si tu as fait du Java, autant continuer avec. Mais ne cherche pas un tuto spécifique sur la création d'API dans tel ou tel framework, cherche un tuto général

Une fois que tu auras la théorie et la pratique, tu n'auras qu'à appliquer la première à la seconde pour arriver à ce que tu souhaites. Bon courage :)

+0 -0
Auteur du sujet

Merci pour les liens, le petit tuto sur REST était intéressant, et la vidéo aussi (même si le mec aurait du éviter les gifs dans ses slides, ça m'a plus déconcentré qu'autre chose) !

Je pense de plus en plus à utiliser le framework "Play" qui a l'air vraiment très sympa : https://www.playframework.com/

Si certains connaissent et ont des conseils/tutos, je prends avec plaisir, merci ! (Principalement en ce qui concerne le fait de faire une API, un backend, pas un site, etc.)

+0 -0

Play n'est pas super facile à aborder. J'ai prévu de créer des vidéos dans lesquelles j'expliquai les bases. Si tu utise play je te conseille la version Scala. L'utilisation de ce langage permet de simplifier le développement. Il y a un livre qui s'appelle "Play Scala" (il me semble) qui est pas mal.

+0 -0
Auteur du sujet

Tu penses que c'est plus simple en Scala même si je suis "expérimenté" en Java (et que je ne connais pas une ligne de Scala) ?!

Aussi, si je suis tout le tutoriel sur le site officiel de Play, je serai ensuite - normalement - capable de réaliser ce que je veux ? Ca ne me dérange pas de m'investir, et d'apprendre à utiliser le framework avec tout le tutoriel, j'ai juste peur de perdre mon temps et que ça m'apprenne à faire un site web (ce dont je n'ai pas besoin) et non une API !

Et merci pour la réponse !

+0 -0

Je pense que ça vaut le coup de se mettre au Scala si tu peux. Mais si tu n'as jamais fait de programmation fonctionnelle ça risque d'être tendu d'apprendre Scala et Play. Ça dépend de ce que tu veux et des contraintes que tu as.

Que tu utilises Scala ou Java avec Play, si tu veux faire une API Web les principes restent les mêmes, il y a :

  • un fichier dans lequel tu précises les routes. C'est a dire un triplet (méthode HTTP, url, et fonction du contrôleur correspondant).
  • des contrôleurs qui sont chargés de gérer l'"intelligence".
  • des modèles qui sont chargés de réaliser des opérations de base sur les données (ajout, suppression, etc.)

Le reste n'est que du Java (ou Scala) "classique".

Ce que tu appelles "un site web" c'est en fait que la partie Vue du patron MVC ? Si c'est le cas il te suffit juste d'ignorer la partie du tuto qui parle de ce sujet. Concrètement au lieu de renvoyer une vue, tu vas renvoyer du Json c'est grosso-modo la grosse différence.

Un des avantages de Play (ou des autres Frameworks qui utilisent des langages avec un typage fort (pas PHP, Python, etc.)), est la compilation. Cela fait surgir beaucoup des erreurs à la compilation plutôt qu'au runtime.

Je cherche pas spécialement à te vendre Play. Il faut choisir en fonction des contraintes qui s’imposent à toi.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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