**Ceci est une ancienne révision du document !**
DoliMobile
DoliMobile est le résultat d'un long travail de réflexion visant à apporter à l'écosystème Dolibarr une pile technique pour que les développeurs puissent proposer des interface mobiles natives en complément du Module Builder.
L'objectif est de permettre à tout développeur dolibarr de proposer des PWA et non des applications à déployer via les portail des GAFAM.
Tout a commencé lors d'un devcamp dolibarr et a donné naissance à un GIFF qui n'a malheureusement pas été financé ni porté par un réel groupe de partenaires dolibarr : https://decidim-dolibarr.informatique-libre.com/assemblies/assemblee-giff-socle-mobile
Dolibarr est un projet libre et nous pensons qu'il faut proposer une alternative décentralisée à nos utilisateurs pour ne pas les laisser se faire enfermer dans les écosystèmes des GAFAM. Ainsi une application PWA développée à l'aide de DoliMobile est simplement hébergée sur votre dolibarr.
DoliMobile est un projet porté par CAP-REL (preferred partner dolibarr) complètement ouvert et dont nous espérons voir le plus possible de choses intégrées dans le projet Dolibarr.
Backoffice (PHP)
DoliMobile propose l'utilisation d'API côté backoffice pour rendre accessible les éléments dont l'application frontale aurait besoin.
Authentification
La pile d'authentification est détaillée dans le projet SmartAuth : https://inligit.fr/cap-rel/dolibarr/plugin-smartauth/
L'API native de dolibarr n'est à notre avis pas suffisante et nous a conduit à l'implémentation proposée dans SmartAuth.
Note: Le contenu du projet SmartAuth a été prévu pour être intégré dans le cœur de dolibarr où tout au moins nous espérons voir arriver dans le cœur une solution couvrant le même périmètre fonctionnel .
API métier pour votre application
DoliMobile vous offre un cadre de développement moderne pour maximiser votre efficacité.
DoliMobile apporte un routeur PHP comme vous pouvez en trouver dans des projets PHP modernes tels que symfony ou Laravel. Par exemple:
Lié à ce routeur un autoloader PSR-4 est également livré vous permettant de mettre en place une arborescence de fichiers logique répondant aux points d'entrées de votre table de routage PHP.
(Les fichiers suffixés de Controller.php sont donc les classes controleur indiquées dans le routeur)
Ainsi la ligne suivante du routeur
Route::get('home', HomeController::class, 'index', true);
Implémente la méthode “GET /home” et fait appel à la fonction “index” de la classe HomeController … tout est structuré et vous permet d'avoir un code facile à lire et à maintenir.
La classe HomeController
étant tout simplement implémentée dans le fichier ./smartmaker-api/HomeController.php
et sera chargée automatiquement par un autoloader (PSR-4). Note: Vous trouverez l'autoloader dans le fichier smartmaker-api-prepend.php
Front en react
Le front est développé en react et de nombreux objets prêts à l'emploi sont proposés.
Note: Si vous n'avez jamais mis les pieds dans le monde du développement mobile : votre code source pour la plate-forme mobile sera compilé (pour résumer le résultat sera un gros fichier “js”). Il est donc important de maîtriser la chaîne complète pour pouvoir implémenter l'application mobile.