Search by

seb-53 / laravel-core

sdalibard

Core CRUD and API functionalities for Laravel projects

Package info

gitlab.com/seb-53/laravel-core

Issues

pkg:composer/seb-53/laravel-core

Statistics

Installs: 195

Dependents: 0

Suggesters: 0

Stars: 0

1.7.0 2026-10-11 19:41 UTC

This package is not auto-updated.

Last update: 2026-10-11 17:42:56 UTC


README

This package include all basic functionalities for a Laravel application.

  • CRUD
  • API with ApiPlatform 4
  • Caching

Installation

composer require seb-53/laravel-core

Inscription au back-office

L'inscription publique (/admin/register) est désactivée par défaut : les comptes du back-office sont créés par un administrateur. Pour la réactiver (5 inscriptions / 10 min par IP) :

LARAVEL_CORE_REGISTRATION=true

Si le projet a publié config/laravel-core.php, y ajouter la clé 'registration' => (bool) env('LARAVEL_CORE_REGISTRATION', false).

Droits d'accès (1.6.0)

  • AbstractController::authorize() applique réellement le Gate (policies, permissions, Super-Admin via Gate::before). Avant la 1.6.0 il renvoyait toujours true : un contrôleur d'application qui hérite d'AbstractController et appelle $this->authorize() sans policy correspondante renvoie désormais 403.
  • Rôles : un compte qui n'est pas Super-Admin n'attribue (à un compte ou à un rôle) que des rôles et des permissions qu'il détient déjà, ne touche pas au rôle Super-Admin et ne peut pas en créer un autre ; attribuer des rôles demande manage roles (le profil et sa propre fiche n'en attribuent jamais).
  • Comptes : un Super-Admin n'est modifiable ou supprimable que par un Super-Admin ; on ne supprime pas son propre compte ; rattacher la fiche d'un autre collaborateur demande edit contributors, lier un collaborateur à un compte demande edit users.
  • Permissions : création, modification et suppression réservées au Super-Admin (leurs noms sont utilisés dans le code).
  • Avatars : nom aléatoire, extension déduite du contenu (jpg, png, gif, webp ; plus de SVG).
  • Connexion : « mot de passe oublié » sans révéler si l'adresse a un compte ; limites de débit sur la connexion, l'oubli et la réinitialisation du mot de passe, le profil et la connexion d'API (Security\Api\AuthController) ; jetons d'API révoqués à la réinitialisation du mot de passe.
  • Le modèle des comptes est celui de auth.providers.users.model s'il étend Seb53\LaravelCore\Models\User\User : les rôles attribués depuis l'écran Utilisateurs étaient enregistrés sous le type du paquet, donc sans effet pour une application qui étend le modèle.

Publication des ressources

TagContenuDestination
laravel-configconfigurationconfig/laravel-core.php
laravel-viewsvues Bladeresources/views/vendor/laravel-core
laravel-langtraductionslang/vendor/laravel-core
laravel-stubsstubs des générateursstubs/vendor/laravel-core
laravel-core-assetsSCSS, JS, polices, imagesresources/{scss,js,fonts,images}/vendor/laravel-core
php artisan vendor:publish --tag=laravel-core-assets --force

Les assets ne sont pas republiés par le script post-update-cmd du squelette Laravel (vendor:publish --tag=laravel-assets --force) : un composer update n'écrase donc plus les fichiers du projet. Republier explicitement après une mise à jour du paquet qui modifie ses assets.

Documentations

  1. Resource Model - Basic usage of Resource Model.
  2. User - Basic usage of user logic.
  3. API - Basic usage of API.
  4. Filters - Usage of CRUD list filters.
  5. Forms - Usage of CRUD forms blade components.