• Laravel 8

    Cours Laravel 8 – les vues

    Je vous ai déjà parlé des vues dans ce cours et de Blade et on a eu plusieurs exemples de code. Dans ce chapitre je vais faire un peu le point et montrer des possibilités intéressantes qui n’ont pas encore été évoquées. Pour les besoins d’illustrer ce chapitre on va repartir de l’application des films que j’ai créée pour ce cours et dont vous pouvez récupérer la version finale ici. Il suffit de décompresser dans un dossier et ensuite de lancer cette commande : composer install Il faut aussi créer une base de données et bien renseigner dans le fichier .env : DB_DATABASE=laravel8 DB_USERNAME=root DB_PASSWORD= Ensuite lancer les migrations et…

  • 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…