• Laravel 8,  Les CMS

    Laravel Filament

    Il existe un certain nombre de packages pour créer une administration pour Laravel dont l’officiel Nova (qui est payant). J’ai déjà parlé dans ce blog de Voyager, Orchid et Infyom. Je dois avouer que je me sens souvent gêné par ces outils qui sont remarquables mais qui obligent à jongler dans les situations particulières. C’est pour cette raison que dans les exemples pratiques que je donne je construis toujours cette partie administration pour en conserver la totale maîtrise. Un nouveau venu a attiré mon attention, c’est Filament. Il se présente lui-même comme un content management framework et nous promet de pouvoir construire rapidement de magnifiques interfaces d’administration, par contre il…

  • Laravel 8

    Créer un blog – le déploiement

    Nous nous somme intéressés dans le précédent article au RGPD et on a ajouté une case à cocher pour le consentement volontaire de l’utilisateur lors de l’enregistrement ou de la prise de contact, les deux moments où il donne des données personnelles. Ça répondait à une question dans un commentaire. Il y a eu aussi la question du déploiement que je n’ai jamais vraiment traité ici. Pour déployer une application construite avec Laravel il faut un serveur pour la recevoir : mutualisé ou privé. Les cas de figure peuvent être très variés. Il existe des outils d’automatisation comme Deployer. Dans cet article je vais traiter principalement le cas du déploiement…

  • Laravel 8

    Créer un blog – le RGPD

    Nous avons dans le précédent article codé le profil de l’utilisateur. Dans un commentaire récent Braice m’a proposé de traiter le sujet du RGPD. C’est un sujet qu’il est nécessaire de prendre en compte dès qu’on doit recueillir et mémoriser des données personnelles. Le RGPD (Règlement Général sur la Protection des Données, mais ça fait GDPR en anglais) est une réglementation européenne qui a pour but d’encadrer strictement le traitement des données des personnes physiques. On peut se demander ce qu’est une donnée personnelle, et en fait c’est assez vaste : nom, adresse, email, téléphone, en fait toute donnée susceptible d’identifier une personne directement ou indirectement (par exemple le fait…

  • Laravel 8

    Créer un blog – le profil

    Nous avons dans le précédent article codé les pages, donc la partie CMS de notre blog. Je vous ai alors dit que la série était terminée mais je vous ai aussi sollicité pour des ajouts éventuels. Il y a eu des propositions. J’ai retenu celle de créer une page de profil pour l’utilisateur, pour qu’il puisse changer son nom, son email ou son mot de passe. Ce n’est pas un gros ajout mais ça permet de montrer une fonctionnalité installée par Breeze : la confirmation du mot de passe. Quand l’utilisateur va dans une zone critique du site c’est une bonne idée de lui demander de retaper son mot de…

  • Laravel 8

    Créer un blog – les pages

    Nous avons dans le précédent article codé les contacts et les liens sociaux. On a vu qu’avec le code déjà mis en place précédemment maintenant ça devient très facile à coder. Dans le présent article on en arrive au terme de cette série. On va s’intéresser à la partie CMS du blog avec les pages. Il ne nous restera plus qu’à ajouter un détail au tableau de bord et on aura fini ! Vous pouvez télécharger le code final de cet article ici. Les pages Les routes Pour les routes on a une ressource et on va utiliser toutes les actions sauf show : Route::prefix('admin')->group(function () { ... Route::middleware('admin')->group(function ()…

  • Laravel 8

    Créer un blog – contacts et liens sociaux

    Nous avons dans le précédent article codé tout ce qui concerne les commentaires. On a dû ajouter un peu de Javascript à notre vue partagée dans le tableau pour l’approbation et la désapprobation des utilisateurs. Pour les contacts et les liens sociaux ça va être bien plus simple. Vous pouvez télécharger le code final de cet article ici. Les contacts Les routes Pour les routes c’est simple, on a une ressource et va utiliser seulement index, et destroy. D’autre part on a besoin d’une route supplémentaire pour les nouveaux contacts : Route::prefix('admin')->group(function () { ... Route::middleware('admin')->group(function () { ... // Contacts Route::resource('contacts', BackResourceController::class)->only(['index', 'destroy']); Route::name('contacts.indexnew')->get('newcontacts', [BackResourceController::class, 'index']); }); Ces routes…