• Laravel 9

    Cours Laravel 9 – la localisation

    Lorsqu’on crée un site c’est souvent dans une optique multi-langages. On parle alors d’internationalisation (i18n) et de localisation (L10n). L’internationalisation consiste à préparer une application pour la rendre potentiellement adaptée à différents langages.  La localisation consiste quant à elle à ajouter un composant spécifique à une langue. C’est un sujet assez complexe qui ne se limite pas à la traduction des textes mais qui impacte aussi la représentation des dates, la gestion des pluriels, parfois la mise en page… Qu’a à nous proposer Laravel dans ce domaine ? Nous allons le voir dans ce chapitre. Pour les curieux i18n parce qu’il y a 18 lettres entre le « i » et le…

  • Laravel 9

    Cours Laravel 9 – les événements

    Il y a plusieurs façons de programmer. En général la plus simple et lisible consiste à procéder de façon séquentielle : on a une suite d’instructions (modulables par des conditions) qui sont toujours les mêmes. Le flux est facile à suivre. Mais on a aussi l’approche événementielle. On va réagir à des événements susceptibles de se produire. On peut mettre ainsi en place un ensemble constitué par une partie qui détecte des événements et une autre qui les gère. Laravel permet de gérer avec facilité les événements comme on va le voir dans ce chapitre. Le design pattern Observateur Le design pattern Observateur (observer) établit une relation de type 1:n entre…

  • Laravel 9

    Cours Laravel 9 – la sécurité – on se protège

    Lorsqu’on développe une application on prend plein de précautions, par exemple les utilisateurs doivent s’authentifier pour éviter des actions non autorisées. Dans le code on peut vérifier si la personne est authentifiée et quel est son degré d’habilitation. On a vu que Jetstream introduit une gestion complète des équipes avec des rôles et des permissions. En dehors de l’authentification on doit gérer certaines situations comme par exemple savoir si un utilisateur authentifié a le droit de modifier une ressource particulière. Laravel nous offre un système d’autorisations bien pratique. L’authentification Les middlewares On a déjà vu l’authentification en détail dans un précédent chapitre. On peut aussi gérer les utilisateurs authentifiés selon…

  • Laravel 9

    Cours Laravel 9 – la sécurité – les équipes

    Dans cet article, on va finir l’exploration des possibilités de Jetstream. On a déjà vu précédemment qu’on dispose avec ce package de tout l’arsenal de l’authentification (connexion, déconnexion, oubli du mot de passe, vérification de l’email, vérification du mot de passe…). On a vu également que l’utilisateur dispose d’une gestion complète de son profil (informations personnelles, changement du mot de passe, authentification à double facteur, purge de session…). On va voir dans cet article que Jetstream offre aussi la possibilité de gérer des équipes (teams) avec des permissions. Installation Pour l’installation on retrouve exactement ce qu’on a vu. En partant d’un Laravel 8 tout neuf on installe Jetstream : composer…

  • Laravel 9

    Cours Laravel 9 – la sécurité – gestion du profil et API

    Lorsqu’on installe Jetstream on n’obtient pas seulement une authentification complète avec enregistrement, connexion et déconnexion, vérification de l’email, oubli du mot de passe, comme on l’a vu dans les deux articles précédents. On obtient beaucoup plus comme on va le voir dans cet article. Déjà une gestion du profil de l’utilisateur qui peut ainsi modifier ses données personnelles, mais également la possibilité de passer par une authentification à deux facteurs qui devient de plus en plus à la mode. L’utilisateur peut en plus supprimer sa session ou carrément son compte. On verra par ailleurs la possibilité de demander la confirmation du mot de passe pour l’accès à des pages sensibles.…

  • Laravel 9

    Cours Laravel 9 – la sécurité – Jetstream

    On a vu précédemment l’utilisation de Breeze pour installer un système complet d’authentification. Il existe un deuxième starter kit dans Laravel, il s’agit de Jetstream. Celui-ci reprend toutes les fonctionnalités de Breeze et en ajoute d’autres : authentification à deux facteurs, gestion des sessions, et possibilité de gérer des équipes. Nous allons voir dans cet article comment l’installer et l’utiliser. Les routes de l’authentification Dans l’installation de base vous ne trouvez aucune route pour l’authentification. Pour les créer (et ça ne créera pas seulement les routes) il faut déjà installer Jetstream : composer require laravel/jetstream Ensuite on a le choix entre Livewire (avec Blade) et Inertia (avec Vue.js) selon les…