Assistant d'installation

Une fois que le code source de Robert2 est présent sur votre serveur, cet assistant devrait être disponible à l'adresse http://adresse-de-votre-robert.com/install. La première fois que vous visitez l'URL à laquelle vous avez installé Robert2, vous êtes redirigé-e automatiquement à cette adresse.

Cet assistant est disponible en Français et en Anglais. Normalement la langue est détectée automatiquement, mais il se peut qu'il s'affiche en Anglais alors que votre système est configuré en Français... Si c'est le cas, peut-être aurez-vous besoin d'une petite extension sur votre navigateur qui peut envoyer un header HTTP "Accept-Language" comportant "fr-fr", comme par exemple Quick Accept-Language Switcher pour Firefox.

Il comporte une page d'accueil, suivie de 7 étapes, que voici en détail :

Page d'accueil

Cette page va lancer des tests sur votre serveur pour voir si les pré-requis minimums sont présents, à savoir :

  • La version de PHP utilisée est bien la 7.1.0 ou supérieure
  • Les extensions (modules) PHP nécessaires suivantes sont bien installées :
    • PDO, pdo_mysql, pcre, mbstring, intl, fileinfo, et json

Si il vous manque une de ces extensions, il vous faudra l'installer sur votre serveur (ou demander à ce qu'elle le soit) pour pouvoir utiliser Robert2.

Important
Veuillez vous assurer que les dossiers data, src/var/cache, src/var/logs, src/var/tmp, src/install/ et src/App/Config sont accessibles en écriture par l'utilisateur système du serveur (typiquement sur Linux, cet utilisateur s'appelle www-data pour un serveur Apache).
Sinon, une erreur se produira. Pour vous en assurer, utilisez la commande chmod -R 777 install/ && chmod -R 777 App/Config sur un serveur Linux.

Étape 1 - Paramètres du coeur de Robert

Cette étape permet de créer le fichier de configuration de base de l'application.

Toutes les informations du formulaire sont pré-remplies, à priori vous n'avez pas à les modifier. Vous pouvez toutes les vérifier en cliquant sur le lien "Afficher les paramètres avancés..." en bas de page. Cette étape comporte les informations suivantes  :

  • URL de l'API : Adresse web de l'application.
  • Nom de l'application : Vous pouvez choisir un autre nom que "Robert2", si ça vous chante.
  • Activer CORS : Pour permettre l'accès à l'API via une autre adresse. Dans la majorité des cas, il faut laisser à "Non". Cela est utile aux développeurs par exemple, ou bien si vous voulez qu'une autre application puisse utiliser l'API de votre Robert2. Mais il faut savoir que mettre "Oui" peut présenter un risque de sécurité.
  • Erreurs détaillées : Si "Oui", cela permet d'avoir des informations précises en cas d'erreur. En général ce n'est pas nécessaire.
  • Cache du Routing : Ceci permet de mettre en cache les routes de l'API. Laisser à "Oui" est une bonne idée la plupart du temps.
  • Utiliser HTTPS : Même si c'est détecté automatiquement, cela permet de définir si Robert sera accessible via SSL (avec une adresse commençant par https:// donc). Attention cependant, car si vous activez cette option alors que l'adresse web n'est pas accessible via SSL, vous n'aurez pas accès à l'application car cela génèrera une erreur.
  • Durée des sessions : Nombre d'heures avant que l'utilisateur soit obligé de se re-connecter à l'application.
  • Phrase secrète du jeton d'authentification (JWT) : Il s'agit d'un (très) long mot de passe qui servira à créer les jetons utiles à la connexion des utilisateurs. Pas besoin de s'en souvenir, et d'ailleurs Robert2 vous en a créé un aléatoire rien que pour vous, que vous pouvez utilier tel quel.
  • Nom du header HTTP AUTH : Le nom du Header HTTP qui sera utilisé pour authentifier chaque requête grâce au jeton sité plus haut. En général il faut laisser le nom "Authorization", mais votre serveur aura peut-être besoin d'un autre nom pour que ça fonctionne. Cela dit, si Robert2 ne détecte pas ce header, il utilisera un bon vieux cookie pour authentifier l'utilisateur.

Note
Toutes ces informations seront stockées dans le fichier src/App/Config/settings.json (voir annexes). Vous pourrez les modifier plus tard "à la main" si jamais vous vous êtes trompé-e pendant le processus d'installation.

Étape 2 - Paramètres de l'application

Cette étape est la suite directe de l'étape précédente, mais comporte les informations qui sont plus propres à votre utilisation de l'application. De même que précédemment, ces informations sont pré-remplies, vous pouvez les laisser telles quelles, ou bien les modifier à votre guise. En voici le détail :

  • Langue par défaut : La langue utilisée par défaut quand l'utilisateur n'a pas encore fait son choix.
  • Devise : La monnaie à utiliser pour afficher les montants, prix et tarifs dans l'application.
  • Mode d'utilisation : Choix du type d'utilisation qui sera fait de l'application, à savoir :
    • Location : tous les événements pourront être facturés.
    • Location ET prêt (mode par défaut) : le choix pourra être fait pour chaque événement individuellement, grâce à un bouton "facturable" permettant d'activer ou désactiver le "mode location".
    • Prêt uniquement : aucune facture ne pourra être créée, et le matériel n'a pas de tarif de location et le tarif dégressif (voir point suivant) n'est pas utilisé.
  • Tarif dégressif : Une formule (en javascript) qui permet de calculer le tarif dégressif en fonction de la durée de la location.
    • Par défaut, il s'agit de la formule ((daysCount - 1) * 0.75) + 1. Ce qui peut être traduit par : « Le premier jour est à plein tarif, et les jours supplémentaires sont à 3/4 du tarif ».
    • La variable daysCount représente le nombre de jours de la location.
    • Si vous ne souhaitez pas utiliser de tarif dégressif, mettez simplement daysCount dans ce champ.
  • Parc de matériel : Le nom parc de matériel "principal" qui sera utilisé. Vous pourrez bien sûr renommer ce parc et en créer d'autres plus tard.
  • Nombre d'éléments par page : Il s'agit du nombre d'enregistrements à afficher par page, dans les listings. Avec 100 éléments, l'interface devrait rester assez fluide.
  • Tags par défaut : Les tags que le système utilisera pour identifier les personnes du type "bénéficiaire" et "technicien".

Étape 3 - Société

L'application a besoin de connaître certains détails de votre société (entreprise, association ou autre), notemment pour pouvoir établir des devis et factures correctes. Les données demandées sont les suivantes :

  • Raison sociale : Il s'agit du nom de votre société / association / institution...
  • Adresse : L'adresse postale de votre société.
  • Téléphone : Numéro de téléphone qui apparaîtra sur les documents (devis et factures).
  • E-mail : Adresse e-mail qui apparaîtra sur les documents.
  • T.V.A. : Si vous êtes assujetti à la T.V.A., vous pouvez renseigner votre numéro intracommunautaire ainsi que le taux à appliquer pour le calcul des montants T.T.C. dans les factures.
  • Autre numéros légaux : Il s'agit typiquement (pour la France) du numéro SIRET et du numéro APE. Cependant, dans d'autres pays il peut s'agir d'autres numéros légaux, qui doivent apparaître sur les devis et factures. Deux champs pour chaque numéros servent à :
    • indiquer le nom commun (acronyme ou autre) du numéro.
    • renseigner la valeur du numéro lui-même.

Étape 4 - Configuration de la base de données

Ici, il s'agit de renseigner les informations de connexion au serveur MySQL et à la base de données :

  • Serveur MySQL : Le nom du serveur hôte MySQL. Si vous installez Robert2 sur un serveur local, ça sera sûrement "localhost".
  • Utilisateur MySQL : Le nom de l'utilisateur MySQL qui a accès à la base de données. Nous vous déconseillons d'utiliser l'utilisateur "root" pour des raisons de sécurité, sauf sur un serveur local où ça reste acceptable.
  • Mot de passe MySQL : Le mot de passe de l'utilisateur qui a été renseigné ci-dessus.
  • Nom de la base de données : Le nom de la base de données où seront stockées toutes les données de Robert2.
  • Préfixe des tables : Un préfixe à ajouter aux noms des tables de la BDD (optionnel, à laisser vide en général).
    N'oubliez pas d'ajouter un caractère séparateur (par exemple _ ou -) à la fin du préfixe si vous en utilisez un.

Note
Si vous n'avez pas entré les bonnes informations de connexion, ou bien si vous n'avez pas créé la base de données vous aurez un message d'erreur qui vous empêchera d'aller plus loin, et vous devrez re-renseigner les informations.

Étape 5 - Structure de la base de données

Arrivé là, votre fichier de configuration App/Config/settings.json a été créé. Attention à ne plus le modifier, à moins de savoir exactement ce que vous faites. Voir les annexes pour plus d'informations.

Dans cette 5ème étape, vous n'aurez rien de spécial à faire, car l'assistant d'installation va créer la structure de la base de données pour vous, et y insérer les premières données nécessaires à son fonctionnement.

Si vous le souhaitez, vous pouvez visualiser toutes les "migrations" que va effectuer Robert2, en cliquant sur le lien en bas de page. Une migration "Down" n'est pas encore effectuée, et une migration "Up" est déjà en place sur le serveur.

Quand vous cliquez sur "Étape suivante", les migrations seront effectuées automatiquement et les données de base insérées.

Étape 6 - Administrateur

Dans cette étape, il vous faut définir les informations du tout premier utilisateur de Robert2, qui aura les droits "admin" (c'est à dire tous les droits). Ces informations sont les suivantes :

  • Pseudo : Le pseudo qui servira à se connecter à l'application.
  • Mot de passe : Le mot de passe qui va avec. Ne le perdez pas, car il sera impossible de le changer sans être connecté au moins une fois !
  • Adresse e-mail : L'adresse e-mail de l'utilisateur admin, qui pourra aussi être utilisée pour se connecter.
  • Nom et prénom : Cette information est facultative, mais c'est bien de savoir à qui on a affaire non ? 😃

Si votre navigateur vous demande d'enregistrer le mot de passe, vous pouvez accepter, cela vous évitera de le perdre et vous fera gagner du temps lors de la connexion.

Étape 7 - Catégories

Cette toute dernière étape de l'assistant d'installation est facltative. Elle sert à créer les catégories principales dans lesquelles le matériel pourra être rangé. Il sera bien sûr possible de les modifier et d'en ajouter d'autres plus tard, une fois connecté à l'application, mais cela permet de commencer avec de bonnes bases.

Il faut remplir le champ en écrivant les différentes catégories, séparées par des virgules. Par exemple : "Son, Lumière, Structure, Accessoires".

Si vous ne souhaitez pas renseigner les catégories maintenant et commencer à utiliser Robert2, vous pouvez cliquer sur le lien "Accéder directement à l'application" en bas de page.

Terminé !

Et voilà, l'installation de Robert2 est terminée. En cliquant sur le bouton "Démarrer Robert2", vous pourrez entrer vos identifiants (ceux que vous avez donné à l'étape 6) pour vous connecter et commencer à utiliser l'application !!