Introduction
Laravel est un framework PHP innovant et nouvelle génération qui offre une base solide pour la création de vos applications web ou backend, que vous utilisiez VueJS ou ReactJS. De plus, grâce à sa vaste gamme de modules, vous pouvez enrichir votre application avec divers modules robustes tels que Jetstream, Cashier, Inercia, Socialite, Sanctum, et bien d’autres encore.
Dans un précédent article, nous avons vu comment créer une base Laravel à l’aide de Larave Breeze, un kit de démarrage.
Aujourd’hui, nous allons explorer comment élever votre système d’authentification à un niveau supérieur avec Laravel Jetstream.
Laravel Jetstream vous offre un point de départ complet pour la gestion des utilisateurs, en s’appuyant sur de nombreux autres packages, notamment Fortifier. Il s’intègre parfaitement avec TailwindCSS et vous permet de choisir entre deux méthodes d’échafaudages : Livewire (PHP, Blade) ou Inertia (VueJS).
Fonctionnalité:
- Login/Register
- Authentification a deux facteur
- Email de vérification
- Gestion des Session
- API via Sanctum
- Additionnelle Teams
Installation
Dans ce tutoriel d’installation, nous supposerons que Composer, Apache et PHP sont déjà installés. Cependant, voici quand même une liste des prérequis nécessaires.
Installation Laravel
Prérequis :
- php >= 8.1
- nodejs
- composer 2
- apache2
Une fois PHP et Composer installés, il ne vous reste plus qu’à importer le Framework.
composer create-project laravel/laravel example-app
Il ne nous reste plus qu’à configurer le fichier .env. Pour commencer, créez le fichier .env en utilisant la commande « cp ».
cp .env.example .env
Maintenant, générons la clé d’application. Veuillez noter qu’en environnement de production, il est essentiel de la sauvegarder séparément en cas de réinstallation.
php artisan key:generate
Il ne vous reste plus cas configurer les diverse variable selon vos besoin.
APP_NAME=Laravel
APP_ENV=local
APP_KEY= // la clée génére a l'aide de php artisan key-generate
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel_user
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1
VITE_APP_NAME="${APP_NAME}"
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
Installation Jetstream
Il ne vous reste plus qu’à faire votre choix entre Livewire et Inertia.
Le choix est très simple : interrogez-vous sur la technologie front-end que vous souhaitez utiliser. Si vous êtes familier avec PHP et que vous connaissez Blade, Livewire répondra à vos besoins. Si vous préférez ReactJS ou VueJS, Inertia sera la solution appropriée pour vous.
Commençons l’installation Jetstream
composer require laravel/jetstream
Une fois Jetstream installé, il ne vous reste plus qu’à l’initialiser.
Install Jetstream avec Livewire
php artisan jetstream:install livewire
Si vous souhaitez installer Jetstream avec le système d’équipe, utilisez cette commande :
php artisan jetstream:install livewire --teams
Installer Jetstream avec Inertia
php artisan jetstream:install inertia
Maintenant, il ne nous reste plus qu’à finaliser l’installation avec les commandes suivantes :
php artisan jetstream:install inertia --teams
Maintenant, il ne nous reste plus qu’à finaliser l’installation avec les commandes suivantes :
npm install
npm run build
php artisan migrate
Interface Jetstream
Ci-dessous vous pourrez découvrir un ensemble de screen des interfaces web pré-fournie par jetstream. Si vous souhaitez tout voir ou vous renseignez sur le fonctionnement de chaque, je vous laisse la documentation :
Conclusion
En résumé, Laravel Jetstream se révèle être une ressource inestimable, offrant une solide base pour l’authentification, que ce soit pour une API ou la gestion des utilisateurs. Cette boîte à outils permet de se focaliser sur le développement de l’application, sans se préoccuper de la sécurité des comptes. Il suffit de construire son API et de gérer les utilisateurs. Cependant, pour apporter des modifications à cette base, une certaine expertise est nécessaire pour exploiter pleinement toutes les fonctionnalités de l’outil. Il est donc essentiel de choisir l’outil qui correspond le mieux à vos besoins. Pour ma part, j’utilise régulièrement Laravel en conjonction avec Jetstream et Livewire, et je trouve ces outils extrêmement bénéfiques. Je les recommande vivement.