[~Signet] Du backend dans du frontend

Avec l'aide de Parse

J’ai toujours été un développeur Backend, mais je m’intéresse depuis plusieurs mois déjà à la partie Frontend d’une application Web.

Et la question qui m’est venue à ce moment c’est : Mais comment faire fonctionner une application si on a aucune connaissance dans la création d’API ?

Et c’est là que j’ai découvert Parse Server et Parse SDK (https://parseplatform.org/) et j’ai tout de suite accroché !

Bon, c’est globalement un Firebase mais auto-hébergé.

Je ne l’ai jamais utilisé dans une vraie application, mais je me dit que ce genre d’initiative est plutôt sympas. Ca permet de faire une application plutôt complète sans s’embêter avec la partie backend.

Je veux qu’un utilisateur puisse se connecter à son compte ?

Ok : const user = await Parse.User.logIn("username", "password");

Reste à voir si c’est réellement utile dans une vraie application.

Et vous, que pensez-vous de ce genre d’outil ?



7 commentaires

J’ai rien compris (je ne connais pas Firebase).

Ensuite je suis allé voir les docs de Parse Server, c’est presque aussi peu clair que le billet, mais en gros si j’ai bien compris c’est un framework au-dessus de Node.js qui propose des services de base (accès à une base de donnée, authentification, abstraction d’une "app" avec ses points d’entrée REST), qui se combine bien avec un framework web qui s’appelle Express, et qui possède des APIs dans d’autres langages que Javascript pour faire les traitement côté serveur, si on veut.

Edit: en fait ça a l’air un poil plus compliqué: c’est fait pour le développement Mobile (peut-être ?) et donc le code qu’on écrit tourne sur des clients (les téléphones qui installent les applications qu’on développe), mais la base de donnée de l’application etc. est soit en local sur le client (pour des applications purement locales), soit sur un "parse server" centralisé (mais auto-hébergé / déployé).

P.S.: et qui a un nom tout pourri, parce qu’il reprend un mot courant en informatique qui veut dire complètement autre chose.

+0 -0

Haha, c’est vrai qu’en relisant, c’est pas clair. :D

Je vais essayer d’expliquer un peu mieux. Je vais prendre ici l’exemple d’une application web, mais ça marche aussi pour le mobile.

Je souhaite créer un petit site qui enregistre les scores du joueur dans une base de données pour les afficher ensuite sur un Dashboard.

Logiquement, j’aurais du créer une API (avec Node ou PHP ou autre, peut importe) avec des entrées comme "POST /scores" et "GET /scores" pour enregistrer et récupérer les scores.

Ensuite, j’aurais aussi du, toujours dans cette API, faire un système d’inscription et d’authentification.

Toute cette API serait utilisée par mon Frontend (créer avec Vue, React, …).

Parse Server, ça permet de ne plus se prendre la tête à développer cette API. On à en fait une API déjà prête qui permet l’upload de fichier, l’authentification, l’enregistrement de données, etc…

On l’héberge où on veut, sur http://api.monsite.com par exemple. Ensuite, notre Frontend (ou notre application mobile) va utiliser Parse SDK (qui est une sorte de grosse bibliothèque) pour appeler notre API Parse Server.

Pour reprendre le tableau des scores, j’ai Parse Server sur http://api.myapp.com et mon application (le frontend) sur http://myapp.com/. Ensuite, j’ai juste à utiliser les fonctions du Parse SDK pour enregistrer les scores en base de données, connecter l’utilisateur, etc…

Le SDK va automatiquement appeler les bonnes URL du Server.

+0 -0

Perso, dans le même genre, j’utilise Strapi. Il ne proposent pas de SDK pour du dev mobile, mais te créer une API Rest (ou GraphQL) pour accéder aux collections que tu créée.

Tu as également un système de droits, pour savoir quels types d’utilisateur peut accéder à quoi, etc. Tu tu peux même aller modifier le code des contrôleurs si tu as besoin de faire des traitements un peu plus touchés.

+0 -0

En fait à essayer de nouveau de comprendre ce qui est écrit sur les sites de "Parse" et de Strapi, qui sont, il faut le dire, particulièrement illisibles (aucune explication sur ce qu’est leur truc, Parse dit juste "un backend" et Strapi te vend du rêve), il s’agit d’un middleware qui expose une base de donnée (traditionnelle ou non-structurée) comme des points d’entrée REST (ou GraphQL ou truc-à-la-mode).

Je m’attendrais à ce qu’il y ait déjà plein d’outils pour faire ça avec de la métaprogrammation, par exemple à partir des modèles de Ruby on Rails, mais en fait j’ai regardé rapidement et on dirait que la communauté Rails a fait des outils puissants pour faire le mapping modèles->BD, mais n’a pas beaucoup travaillé sur le mapping modèles->REST, à part quelques projets non-standards comme flexirest, et demande toujours d’écrire pas mal de code boilerplate pour cette partie.

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