Parse server, le backend open source à la Firebase

By Léo Penaguin 10 septembre 2019

Aujourd’hui, je vais vous parler d’un outil qui apparemment, est super connus, mais dont j’ai appris l’existence seulement très récemment, est j’espère vous le faire connaître aussi, si vous ne le connaissez pas encore.

Parse server ?! Mais qu’est-ce ?

Premier détail important : d’après Wikipédia, Parse à été acheté par Facebook en 2013 et puis rendu open source en 2017. Et c’est dans sa petite vie de projet open source qu’il est devenu très imposant dans le paysage des outils de mise en place de backend.

Le projet a 17000 étoiles sur Github, je trouve que c’est un bon indicateurs de l’importance du projet.

Le but premier de Parse est de fournir une application coté serveur pour les applications mobile. Avec le temps et la monté en puissance des framework Javascript comme Vue, React ou Angular, il est aussi très utilisé pour le web.

Comment ça marche

Pour faire tourner Parse, il vous faut Node, MongoDB (du NoSQL !) et Python d’installé. L’installation est vraiment très rapide, je vous invite a découvrir la documentation. Pour le développement en local, il est aussi possible d’utiliser un conteneur Docker, et la, l’installation est complètement automatisé.

Une fois installé Parse vous donne accès a divers fonctionnalités de base qui peuvent être assez complexe a coder sois même :

Une API

D’abord, grâce à un système de classes, il est très simple de créer des objets. Par exemple et sans rien avoir configuré côté serveur, il est possible d’envoyer un objet de type « poste » avec un champ « titre » et un champ « contenu » à l’API. De cette façon Parse va automatiquement configurer cette nouvelle classe avec un système de droit, un identifiant et une date de création. Vous pouvez aussi créer une relation entre le poste un utilisateur en ajoutant un champ « createdby« , par exemple. Il suffit d’y attribuer l’identifiant d’un utilisateur. De nouvelle possibilité de requêtes est alors générée, par exemple la possibilité de récupérer les postes d’un utilisateur.

Un système d’authentification

Parse viens avec un système d’authentification qui permet très simplement d’associer un utilisateur à des requêtes HTTP.

Un système de droits d’accés par ACL

Les listes de contrôle d’accès permettent de configurer les droits d’accès de lecture et d’écriture de classes ou d’objets. Par exemple, un utilisateur connecté est le seul à pour modifier ses données et il est le seul à pouvoir lire certaines de ses informations (dans la configuration par défaut). On peut aussi imaginer un cas ou un poste par un utilisateur ne peut être seulement par ce dernier.

Une gestion de fichiers

Parse permet aussi d’héberger des fichiers très simplement, en ajoutant par exemple un champ de type image à un utilisateur pour y ajouter une image de profile. Ce n’est qu’un exemple parmi tant d’autres pour vous montrer qu’associer une image à un objet est rendu très naturel par Parse.

Des SDK pour divers languages et technologies

Dernier point mais non des moindres, des SDK sont fournis pour pouvoir utiliser l’API avec beauuucoup de facilité. Voilà la petite liste des SDK utilisable :

  • iOS + OS X + tvOS
  • Android
  • JavaScript
  • .NET + Xamarin
  • Unity
  • PHP
  • Arduino
  • Embedded C

Comme vous le voyez, il y en a pour (presque) tout le monde. 😃

Voilà, si vous n’êtes pas un très grand fan de la configuration de backend, je vous conseille vraiment d’y jeter un coup d’oeil, ça fait vraiment gagner du temps, en plus il est possible d’installer un dashboard (Dispo ici) qui est vraiment très bien fait aussi.

A+ !

Commentaires 💬