• Laravel 8

    Cours Laravel 8 – mix

    Laravel est un framework PHP consacré à la gestion côté serveur mais on ne peut pas créer une application web sans générer du HTML et pour l’accompagner du CSS et du Javascript. Laravel n’impose rien en la matière mais avec l’arrivée de la version 8 il a tendance à fortement influer. Jetstream est un bel outil que j’ai déjà longuement présenté dans ce cours. J’ai aussi expliqué comment s’en passer mais évidemment au détriment de la perte de belles fonctionnalités toutes prêtes. Toujours est-il que Laravel  que côté frontend Laravel propose NPM comme installeur. Je vais expliquer dans cet article comment ça se passe avec comme exemple Jetstream mais évidemment…

  • Laravel 8

    Cours Laravel 8 – les tests

    Les développeurs PHP n’ont pas été habitués à faire des tests pour leurs applications. Cela est dû à l’histoire de ce langage qui n’était au départ qu’une possibilité de scripter au milieu du code HTML mais qui s’est peu à peu développé comme un langage de plus en plus évolué. Les créateurs de frameworks ont initié une autre façon d’organiser le code de PHP, en particulier ils ont mis en avant la séparation des tâches qui a rendu la création de tests possible.‌ Laravel a été pensé pour intégrer des tests. Il comporte une infrastructure élémentaire et des helpers. Nous allons voir dans ce chapitre cet aspect de Laravel. Considérez…

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