Vue d'ensemble

Parse hébergé sur le serveur de Parse sera entièrement arrêté le 28 janvier 2017. Si vous souhaitez migrer une application Parse.com existante, veillez lire attentivement tout ce manuel, vous aurez besoin de passer par le guide de migration. Dans le cas contraire, votre application cessera de fonctionner après la date butoir.

Parse rend open-source son code source sous le nom de Parse Server. Parse Server est une version du site actuel Parse.com qui peut être déployée sur toute infrastructure possédant Node.js. Vous pouvez télécharger ce code source sur le repo GitHub.
Vous pouvez installer Node.js sur votre serveur web très facilement grâce à ce tutoriel.

Informations à savoir

  • Parse Server ne dépend pas de Parse.com.
  • Parse Server utilise une base de donnée MongoDB directement et ne dépend pas de la base de données hébergé par Parse.com.
  • Vous pouvez migrer une application existante sur votre propre infrastructure.
  • Vous pouvez développer et tester votre application localement à l'aide Node.

Conditions préalables

  • Node 4.1
  • MongoDB version 2.6.X ou 3.0.X
  • Python 2.x (pour les serveur sur Windows, la version 2.7.1 est requise)
  • Pour le déploiement de votre application, un fournisseur d'infrastructures tel que Heroku ou AWS, Windows Server ..etc

Installation

Commencez à utiliser Parse Server en tapant la commande suivante dans votre Node.js Command Prompt:

 npm install -g parse-server 

Sinon, vous pouvez spécifier parse-server dans le fichier package.json de votre application NodeJS Express.

 

 

Utilisation

Parse Server est destiné à être lancé sur une application express. Express est un framework web pour Node.js. Le moyen le plus rapide pour commencer est de cloner le repo Github de Parse Server Example qui, à sa racine contient un échantillon de l'application NodeJS Express avec l'API Parse.

Le constructeur renvoie un objet API qui est conforme à la norme Middleware express. Cet objet fournit les noeuds finaux REST pour une application Parse.
Créez une instance comme ceci:

var api = new ParseServer({

databaseURI: 'mongodb://your.mongo.uri',
 cloud: './cloud/main.js',
 appId: 'myAppId',
 fileKey: 'myFileKey',
 masterKey: 'mySecretMasterKey',
 clientKey: 'myClientKey',//optionel
 restAPIKey: 'myRESTAPIKey',//optionel
 javascriptKey: 'myJavascriptKey',//optionel
 dotNetKey: 'myDotNetKey'//optionel

});

Les paramètres sont les suivants:

  • databaseURI: Chaîne de connexion URI pour votre MongoDB.
  • cloud: Chemin de votre application Cloud Code.
  • appId: Un identifiant unique pour votre application.
  • fileKey: Une clé qui spécifie un préfixe utilisé pour le stockage de fichiers. (seulement nécessaire pour les anciens fichiers s3 clarify this)
  • masterKey: Une clé secrete qui l'emporte sur toutes les autorisations. Gardez la ultra-confidentielle.
  • clientKey: La clé du client pour votre application.
  • restAPIKey: La clé de l'API REST pour votre application.
  • javascriptKey: La clé JavaScript sur votre application.
  • dotNetKey: La clé .NET pour votre application.

L'objet Parse Server a été conçu pour être passé directement dans le paramètre app.use qui va monter l'API Parse dans un répertoire virtuel spécifié dans votre application Express:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
var api = new ParseServer({ ... });

// Servir l'API Parse sur le préfixe d'URL /parse
 app.use('/parse', api); //Le répertoire virtuel

var port = 1337;
 app.listen(port, function() {
     console.log('parse-server-example running on port ' + port + '.');
 });

Et avec cela, vous aurez un Parse Server fonctionnant sur ​​le port 1337, au service de l'API Parse sur /parse

 

 

Base de données

Parse Server utilise MongoDB qui est la base de données pour votre application. Si vous n'avez jamais utilisé MongoDB avant, nous vous recommandons fortement de vous familiariser avec lui avant de continuer à lire ce guide. Vous pouvez le faire grâce à ce tutoriel.

Les exigences de MongoDB pour Parse Server sont:

  • MongoDB version 2.6.X ou 3.0.X
  • Le paramètre failIndexKeyTooLong doit être réglé sur false
  • Une connexion SSL est recommandé (mais pas obligatoire).
  • Nous recommandons vivement que vos serveurs MongoDB soient hébergés dans la région Est des Etats-Unies pour moins de latence.

Si ceci est votre première mise en place d'une instance MongoDB de production, nous vous recommandons d'utiliser MongoLab, une base de données database-as-a-service, qui est un service gratuit d'hébergement et de gestion de base de données MongoDB.

Pour une application de production avec un très fort trafic, nous vous recommandons d'utiliser le plan M1 ou plus de MongoLab qui fournit 40Go d'espace. Si vous migrez une application existante de Parse, la best-practice est d'obtenir une instance avec 10 fois plus d'espace que vous utilisez actuellement sur Parse.com.

Lors de l'utilisation de MongoDB avec votre application Parse, il ya quelques différences avec la base de données de Parse.com:

  • Vous devez gérer vos index vous-même. Parse.com ajoutait automatiquement les index basés sur le flux de requête entrante.
  • Vous avez besoin d'augmenter la taille de votre base de données lorsque vos données deviennent importantes.

 

Keys

Le serveur d'analyse de fichier ne nécessite pas l'utilisation de clés côté client. Cela comprend la clientKey, clé JavaScript, clé .NET, et la clé de l'API REST. L'appID est suffisante pour sécuriser votre application.

Cependant, vous avez la possibilité de spécifier une de ces quatre clés lors de l'initialisation. Le comportement serait ainsi plus cohérent avec Parse.com mais pas obligatoire.

 

 

 

SDK Parse Server

Pour utiliser le SDK Parse Server, modifiez l'URL du serveur vers l'URL de votre API Parse (assurez-vous que vous avez la dernière version du SDK). Par exemple, si vous avez Parse Server installé en local, utilisez "http://localhost:1337/parse".

Téléchargez le SDK Parse Server sur Github et modifiez le fichier concerné.

iOS

Pour iOS, le fichierà modifier est Parse-SDK-iOS-OSX-master/Parse/ParseClientConfiguration.m



[Parse initializeWithConfiguration:[ParseClientConfiguration configurationWithBlock:^(id<ParseMutableClientConfiguration> configuration) {
    ...

    configuration.applicationId = @"YOUR_APP_ID";
    configuration.clientKey = @"YOUR_APP_CLIENT_KEY";
    configuration.server = @"http://localhost:1337/parse";

    ...
}]];

CaptureEcran-parse-server-iosSDK

Android



Parse.initialize(new Parse.Configuration.Builder(myContext)
    .applicationId("YOUR_APP_ID")
    .clientKey("YOUR_APP_CLIENT_KEY")
    .server("http://localhost:1337/parse")

    ...

    .build()

);

JavaScript



Parse.initialize("YOUR_APP_ID", "YOUR_APP_CLIENT_KEY");
Parse.serverURL = 'http://localhost:1337/parse'

.NET



ParseClient.initialize(new ParseClient.Configuration {
    ApplicationId = "YOUR_APP_ID",
    ClientKey = "YOUR_APP_CLIENT_KEY",
    Server = "http://localhost:1337/parse"
});

 

 

 

Déploiement sur Heroku et MongoLab

Heroku et MongoLab offrent un moyen facile d'héberger Parse Server, surtout si vous êtes novice à la gestion de votre propre infrastructure.

Voici les étapes:

  1. Créer un repo pour votre application Express avec le middleware Parse Server. Vous pouvez utiliser notre projet exemple, ou démarrer le votre)
  2. Créer un compte Heroku (si vous n'en possédez pas) et utilisez le Heroku Toolbelt pour vous connecter et préparer votre nouvelle application dans le même répertoire que votre application Express. Jetez un oeil au guide Heroku de Mise en route Node.js pour plus de détails.
  3. Utilisez l'addon MongoLab: heroku addons:create mongolab:sandbox (sinon, vous pouvez créer une instance Mongo vous-même directement avec MongoLab)
  4. Utilisez la configuration d'Heroku et notez l'URL fourni par MongoLab dans la variable MONGOLAB_URI.
  5. Copier cette URL et définissez-là comme une nouvelle variable de configuration: cheroku config:set DATABASE_URI=mongodb://...
  6. Déployez-là avec : git push heroku master

 

 

Migrer votre application Parse existante

Veuillez vous référer à ce guide.

 

Tutoriels complet en vidéo

Installer sur Windows Server !

 

 

Traduit et mis à jours par Arthur JANSSENS.
Article original:
https://parse.com/docs/server/guide