• Laravel 8

    Cours Laravel 8 – les notifications

    On a vu dans ce cours comment envoyer un email avec Laravel. Mais on dispose aussi d’un système complet de notifications, par exemple par SMS, qui inclue aussi les emails ou même la base de données. Classiquement une notification est un message court pour informer un utilisateur qu’il s’est passé quelque chose qui le concerne dans l’application. Par exemple une donnée sensible a été mise à jour, on envoie un SMS par sécurité en informant l’utilisateur de ce changement et, si ce n’est pas lui qui l’a effectué, il peut alors intervenir. Évidemment pour tout ce qui n’est pas email ou base de données il faut utiliser un service externe.…

  • Laravel 8

    Cours Laravel 8 – 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 8

    Cours Laravel 8 – 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 8

    Cours Laravel 8 – 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 8

    Cours Laravel 8 – la sécurité – se passer de Jetstream

    On a vu dans les précédents articles comment Jetstream peut nous simplifier la vie au niveau de la gestion de l’authentification et aussi tout ce qu’il nous apporte en prime (gestion du profil, des équipes…). Mais évidemment il y a un revers à la médaille. On a pas forcément besoin de tout ce que Jetstream nous propose, mais on a vu qu’il est facile de désactiver des fonctionnalités au niveau de la configuration. Un autre aspect qui peut se révéler assez gênant c’est que Jetstream nous impose des technologies comme Tailwind ou Livewire que l’on n’a pas forcément envie d’utiliser. Dans cet article je vous montre comment utiliser Fortify sans…

  • Laravel 8

    Cours Laravel 8 – 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…