Skip to content

Installation ​

Prérequis ​

  • PHP ^8.5
  • Laravel ^13.0

Installer le paquet ​

Arrel est un logiciel propriétaire distribué depuis un dépôt privé ; une licence valide est nécessaire pour l'utiliser en production (voir Pricing).

Comme le dépôt est privé, Composer doit savoir où le télécharger et comment s'authentifier. Ajoutez-le à composer.json :

json
{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/arrelphp/arrel"
        }
    ]
}

Puis installez le paquet :

bash
composer require arrel/arrel

Authentification auprès du dépôt privé ​

Composer s'authentifie avec un token GitHub disposant d'un accès en lecture au dépôt. En local, composer config --global github-oauth.github.com <token> l'enregistre dans ~/.composer/auth.json.

Sur un serveur (Forge, par exemple) et en CI, le token est aussi enregistré dans un auth.json, ou injecté avec la variable d'environnement COMPOSER_AUTH :

bash
COMPOSER_AUTH='{"github-oauth":{"github.com":"<token>"}}' composer install

Utilisez un token de portée minimale (lecture seule sur le dépôt d'Arrel) et avec une date d'expiration, et ne le laissez jamais dans le dépôt de l'application.

Le ServiceProvider est enregistré automatiquement via extra.laravel.providers dans composer.json (inutile de l'ajouter à la main). Au démarrage, il publie :

  • Le fichier de configuration config/arrel.php, que vous pouvez publier avec php artisan vendor:publish --tag=arrel-config.
  • Les routes web et API d'Arrel (/{prefix}/{panel}/... et /arrel/api/{panel}/...).
  • Les traductions du paquet, sous le namespace arrel::.
  • Un singleton PanelRegistry, où vous enregistrerez vos Panels.

Publier les assets compilés ​

Le frontend d'Arrel (Vue, précompilé) est distribué dans le paquet et doit être publié dans le répertoire public/ de votre application :

bash
php artisan arrel:assets

Cela copie dist/ dans public/vendor/arrel et y écrit un fichier .hash. Chaque réponse HTML du panneau (resources/views/panel.blade.php) inclut ce hash comme query string (arrel.css?v=..., arrel.js?v=...), et AssetsManifest::ensureFresh() échoue bruyamment en mode debug s'il détecte que les assets publiés ne correspondent pas à ceux du paquet installé, afin d'éviter de servir du JS obsolète sans vous en rendre compte après un composer update.

Relancez php artisan arrel:assets chaque fois que vous mettez à jour la version d'arrel/arrel.

Vérifier l'installation ​

Une fois les assets publiés et un Panel enregistré, ouvrez /arrel/{id-du-panneau} dans le navigateur. Vous devriez voir l'écran de connexion. Si ce n'est pas le cas, vérifiez que sanctum.stateful contient le domaine sur lequel vous travaillez.

Nettoyage des uploads temporaires ​

Les champs File/Image envoient d'abord le fichier dans un répertoire temporaire (arrel-temp, disque local) avant qu'il ne soit déplacé à son emplacement final lors de l'enregistrement du formulaire (voir Champs). Planifiez cette commande pour qu'elle nettoie ceux qui restent orphelins :

bash
php artisan arrel:prune-uploads

Elle supprime tout fichier d'arrel-temp de plus de 24 heures. Un bon endroit pour la planifier est le routes/console.php de votre application, avec le scheduler de Laravel :

php
Schedule::command('arrel:prune-uploads')->daily();

Étape suivante ​

Une fois le paquet installé, l'étape suivante est de configurer un Panel : décider quels Resources, pages et widgets il contient, et l'intégrer à une route de votre application.