PHPackages                             world-connect/laravel-boilerplate - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. world-connect/laravel-boilerplate

ActiveProject[Framework](/categories/framework)

world-connect/laravel-boilerplate
=================================

It's a Laravel boilerplate to speed up the development process with all logic configured for auth, granting etc

v1.1.1(9mo ago)014MITPHPPHP ^8.2

Since Sep 16Pushed 7mo agoCompare

[ Source](https://github.com/D-avlessi-webcoom/laravel-boilerplate)[ Packagist](https://packagist.org/packages/world-connect/laravel-boilerplate)[ RSS](/packages/world-connect-laravel-boilerplate/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (15)Versions (4)Used By (0)

Laravel Boilerplate avec Authentification et Gestion des Rôles
==============================================================

[](#laravel-boilerplate-avec-authentification-et-gestion-des-rôles)

Un boilerplate Laravel prêt à l'emploi avec système d'authentification complet et gestion des rôles et permissions.

🚀 Commandes utiles
------------------

[](#-commandes-utiles)

### Développement

[](#développement)

```
# Démarrer l'environnement de développement
composer dev

# Exécuter les tests
composer test

# Lancer l'analyse de code avec Pint
./vendor/bin/pint
```

### Base de données

[](#base-de-données)

```
# Exécuter les migrations
php artisan migrate

# Exécuter les seeders
php artisan db:seed

# Rafraîchir la base de données et réexécuter les seeders
php artisan migrate:fresh --seed
```

### Génération de code

[](#génération-de-code)

```
# Générer un nouveau contrôleur
php artisan make:controller NomDuControleur

# Générer un nouveau modèle avec migration
php artisan make:model NomDuModele -m

# Générer un nouveau service
php artisan make:service NomDuService

# Générer un CRUD complet pour un modèle existant
php artisan make:crud NomDuModele
```

#### Commande `make:crud`

[](#commande-makecrud)

La commande `make:crud` génère automatiquement un contrôleur CRUD complet pour un modèle existant avec les fonctionnalités suivantes :

- Méthodes CRUD complètes (index, store, show, update, destroy)
- Gestion des erreurs avec try/catch
- Réponses JSON structurées
- Validation des données
- Routes API RESTful

**Options :**

- `{model}` : (Optionnel) Nom du modèle pour lequel générer le CRUD. Si non spécifié, une liste des modèles disponibles sera affichée.

**Exemple :**

```
# Générer un CRUD pour le modèle User
php artisan make:crud User
```

**Fonctionnalités :**

- Vérification de l'existence du modèle
- Demande de confirmation avant d'écraser un contrôleur existant
- Détection automatique des routes existantes pour éviter les doublons
- Messages d'erreur et de succès en français
- Journalisation complète des erreurs dans `storage/logs/laravel.log`
- Gestion sécurisée des erreurs sans exposer de détails sensibles
- Structure de réponse standardisée : ```
    {
      "success": true,
      "message": "Message de succès",
      "data": {},
      "errors": []
    }
    ```

**Journalisation des erreurs :**

- Toutes les erreurs sont automatiquement enregistrées avec :
    - Message d'erreur détaillé
    - Contexte de la requête (données, utilisateur, etc.)
    - Stack trace pour le débogage
    - Horodatage précis
- Les erreurs sont classées par type d'opération (création, lecture, mise à jour, suppression)
- Les messages d'erreur utilisateur sont génériques pour la sécurité

**Bonnes pratiques :**

1. Vérifiez régulièrement les fichiers de logs dans `storage/logs/`
2. Configurez un système de surveillance des logs pour les environnements de production
3. Utilisez la commande `php artisan pail` pour surveiller les logs en temps réel

📦 Packages inclus
-----------------

[](#-packages-inclus)

### Principaux

[](#principaux)

- **Laravel Sanctum** - Authentification API légère
- **Spatie Laravel Permission** - Gestion des rôles et permissions
- **Laravel Tinker** - Console interactive pour Laravel

### Développement

[](#développement-1)

- **Laravel Sail** - Environnement de développement Docker
- **Laravel Pint** - Outil de formatage de code
- **Pest PHP** - Framework de test élégant
- **Reliese Laravel** - Génération de code pour les modèles
- **Laravel Pail** - Outil de journalisation en temps réel

🔄 Utilisation de Reliese Laravel
--------------------------------

[](#-utilisation-de-reliese-laravel)

Reliese Laravel est un outil puissant pour générer automatiquement du code à partir de votre base de données. Voici comment l'utiliser :

### Configuration initiale

[](#configuration-initiale)

1. Publier la configuration :

    ```
    php artisan vendor:publish --provider="Reliese\Coders\CodersServiceProvider"
    ```

    Ceci créera un fichier `config/models.php` que vous pouvez personnaliser.
2. Configurer la connexion à la base de données dans `.env` si ce n'est pas déjà fait.

### Génération des modèles

[](#génération-des-modèles)

Pour générer les modèles à partir de votre base de données :

```
php artisan code:models
```

Options utiles :

- `--table=nom_table` : Générer un modèle spécifique
- `--schema=nom_schema` : Spécifier un schéma de base de données
- `--connection=ma_connexion` : Utiliser une connexion spécifique
- `--suffix=` : Ajouter un suffixe aux noms de modèles
- `--namespace=` : Définir l'espace de noms personnalisé

### Personnalisation des modèles

[](#personnalisation-des-modèles)

Les modèles générés incluent des fonctionnalités avancées :

- Relations automatiquement détectées
- Casts pour les types de colonnes
- Règles de validation
- Configuration des champs remplissables (fillable)

### Mise à jour des modèles

[](#mise-à-jour-des-modèles)

Pour mettre à jour les modèles existants sans écraser vos modifications :

```
php artisan code:models --ignore=updated_at,created_at
```

### Configuration avancée

[](#configuration-avancée)

Personnalisez `config/models.php` pour :

- Définir des espaces de noms personnalisés
- Configurer le format des noms de modèles
- Définir des relations personnalisées
- Configurer les types de retour PHPDoc

### Bonnes pratiques

[](#bonnes-pratiques)

1. Versionnez toujours vos modèles générés
2. Utilisez les modèles de base (BaseModel) pour personnaliser le comportement
3. Consultez la [documentation officielle](https://github.com/reliese/laravel) pour des fonctionnalités avancées

### Tests

[](#tests)

- **Pest PHP** - Framework de test élégant
- **Mockery** - Création de mocks pour les tests
- **Faker** - Génération de données de test

Fonctionnalités
---------------

[](#fonctionnalités)

- **Authentification**

    - Connexion/Déconnexion
    - Gestion des jetons d'API avec Laravel Sanctum
    - Protection des routes API
- **Gestion des Utilisateurs**

    - CRUD complet des utilisateurs
    - Attribution de rôles aux utilisateurs
    - Gestion des profils utilisateurs
- **Gestion des Rôles et Permissions**

    - Création et gestion des rôles
    - Attribution de permissions aux rôles
    - Vérification des permissions dans les contrôleurs
- **Sécurité**

    - Protection CSRF
    - Validation des données
    - Hachage des mots de passe

Prérequis
---------

[](#prérequis)

- PHP 8.2 ou supérieur
- Composer
- Base de données (MySQL/PostgreSQL/SQLite)
- Node.js et NPM (pour les assets frontend)

Installation
------------

[](#installation)

1. **Cloner le dépôt**

    ```
    git clone [URL_DU_REPO]
    cd nom-du-projet
    ```
2. **Installer les dépendances PHP**

    ```
    composer install
    ```
3. **Installer les dépendances NPM**

    ```
    npm install
    npm run dev
    ```
4. **Configurer l'environnement**

    ```
    cp .env.example .env
    php artisan key:generate
    ```
5. **Configurer la base de données**

    - Créer une base de données
    - Mettre à jour le fichier `.env` avec les informations de connexion
6. **Exécuter les migrations et les seeders**

    ```
    php artisan migrate --seed
    ```

    Ceci créera :

    - Un utilisateur administrateur par défaut
    - Des rôles de base (admin, user)
    - Des permissions de base

Utilisation
-----------

[](#utilisation)

### Démarrer le serveur de développement

[](#démarrer-le-serveur-de-développement)

```
php artisan serve
```

### Endpoints API

[](#endpoints-api)

#### Authentification

[](#authentification)

- `POST /api/login` - Connexion utilisateur
- `POST /api/logout` - Déconnexion utilisateur (nécessite authentification)

#### Utilisateurs

[](#utilisateurs)

- `GET /api/users` - Lister tous les utilisateurs
- `POST /api/users` - Créer un nouvel utilisateur
- `GET /api/users/{id}` - Afficher un utilisateur
- `PUT/PATCH /api/users/{id}` - Mettre à jour un utilisateur
- `DELETE /api/users/{id}` - Supprimer un utilisateur

#### Rôles et Permissions

[](#rôles-et-permissions)

- `GET /api/roles` - Lister tous les rôles
- `POST /api/roles` - Créer un nouveau rôle
- `GET /api/roles/{id}` - Afficher un rôle
- `PUT/PATCH /api/roles/{id}` - Mettre à jour un rôle
- `DELETE /api/roles/{id}` - Supprimer un rôle
- `PUT/PATCH /api/roles/{role}/permissions` - Attribuer des permissions à un rôle

### Utilisation avec Postman

[](#utilisation-avec-postman)

Une collection Postman est disponible dans le dossier `laravel-auto-crud` pour tester facilement les endpoints de l'API.

Structure du Projet
-------------------

[](#structure-du-projet)

```
app/
  ├── Http/
  │   ├── Controllers/     # Contrôleurs de l'application
  │   ├── Requests/        # Classes de validation
  │   └── Resources/       # Transformateurs de données
  ├── Models/              # Modèles Eloquent
  ├── Providers/           # Fournisseurs de services
  └── Services/            # Logique métier
config/                    # Fichiers de configuration
database/
  ├── migrations/          # Migrations de base de données
  ├── seeders/             # Données initiales
  └── factories/           # Usines de test
routes/                    # Définitions des routes

```

Sécurité
--------

[](#sécurité)

- Tous les mots de passe sont hachés avec Bcrypt
- Protection contre les attaques CSRF
- Validation des entrées utilisateur
- Gestion des erreurs sécurisée

Licence
-------

[](#licence)

Ce projet est sous licence MIT. Voir le fichier `LICENSE` pour plus d'informations.

Contribution
------------

[](#contribution)

Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance61

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Total

3

Last Release

277d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/208678778?v=4)[D-avlessi-webcoom](/maintainers/D-avlessi-webcoom)[@D-avlessi-webcoom](https://github.com/D-avlessi-webcoom)

---

Top Contributors

[![D-avlessi-webcoom](https://avatars.githubusercontent.com/u/208678778?v=4)](https://github.com/D-avlessi-webcoom "D-avlessi-webcoom (16 commits)")

---

Tags

frameworklaravel

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/world-connect-laravel-boilerplate/health.svg)

```
[![Health](https://phpackages.com/badges/world-connect-laravel-boilerplate/health.svg)](https://phpackages.com/packages/world-connect-laravel-boilerplate)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[bagisto/bagisto

Bagisto Laravel E-Commerce

27.6k172.1k9](/packages/bagisto-bagisto)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.4k](/packages/typicms-base)[juzaweb/cms

Juzaweb CMS is a Content Management System (CMS) developed based on Laravel Framework and web platform whose sole purpose is to make your development workflow simple again. Project develop by Juzaweb

188571.2k](/packages/juzaweb-cms)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3891.8k](/packages/codewithdennis-larament)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
