• Laravel 6

    Laravel 6 avec paper CSS

    J’avais montré comment changer le framework CSS de Laravel 5 avec deux exemples : MDL et Material Design. Depuis ces articles la version 6 a un peu changé les choses. En effet maintenant Laravel est bien séparé de la partie client et il faut installer un package indépendant pour obtenir un peu de code utile côté client. Avec ce package on dispose de 3 presets déjà configurés : Bootstrap, Vue et React. Si on veut autre chose il faut un peu relever ses manches ou alors utiliser un package que quelqu’un aurait déjà créé, c’est le cas par exemple pour UiKit. Mais il n’est pas si difficile de se faire…

  • Laravel 6

    Une API avec Laravel 6 : un exemple

    Dans le précédent article j’ai évoqué la création d’API avec Laravel 6. Maintenant je vous propose un exemple de réalisation encore avec l’application de tâches. J’ai utilisé l’authentification de base que j’ai présenté dans le précédent article. Comme le code est assez chargé vous pouvez le télécharger ici. Je n’ai utilisé aucun framework Javascript pour montrer que désormais les API des navigateurs sont suffisamment mâtures pour s’en passer pour des cas pas trop complexes. Installation Pour installer l’application c’est classique, déjà avec Composer : composer install Créer une base de données et renseigner les identifiants dans le fichier .env, par exemple : DB_DATABASE=monapi DB_USERNAME=root DB_PASSWORD= Vous pouvez alors lancer les…

  • Laravel 6

    Une API avec Laravel 6

    J’ai un peu abordé les API dans mon cours sur Laravel 6 mais sans vraiment approfondir cet aspect, alors je vais à présent un peu m’y attarder. Mais d’abord une API c’est quoi ? De façon très formelle ça signifie Application Programming Interface. Le mot le plus important là dedans est sans doute le dernier : interface. Notre monde regorge d’interfaces en tout genre, en commençant par la télécommande pour la télévision. En informatique c’est plus ciblé. Généralement on utilise une API REST. Encore un acronyme qui signifie Representational State Transfer. C’est un standard qui définit des règles pour créer un Service Web. Et voilà encore une autre appellation !…

  • Laravel 6

    Cours Laravel 6 – CSS et Javascript

    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 il privilégie quelques outils : Bootstrap , React, et Vue.js. D’autres part il propose NPM comme installeur. Un package Lorsqu’on installe Laravel on ne dispose pas de grand chose côté frontend. Pratiquement rien au niveau CSS et Javascript. On a vu dans le chapitre sur l’authentification qu’il faut installer un package supplémentaire (laravel/ui) pour mettre en place l’infrastructure de base : composer require laravel/ui --dev On dispose alors de nouvelles commandes…

  • Laravel 6

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

    Cours Laravel 6 – 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=laravel6 DB_USERNAME=root DB_PASSWORD= Ensuite lancer les migrations et…

  • Laravel 6

    Cours Laravel 6 – ajax

    Ajax est une technologie Javascript fort répandue qui permet d’envoyer des requêtes au serveur et de recevoir des réponses sans rechargement de la page. Il est par ce moyen possible de modifier dynamiquement le DOM, donc une partie de la page. Dans ce chapitre nous allons voir comment mettre en œuvre Ajax avec Laravel. Nous allons partir d’une installation de base de Laravel et ajouter une page modale pour afficher un formulaire de contact qui sera traité en Ajax. Installation côté serveur Créez une nouvelle application Laravel 6 : composer create-project --prefer-dist laravel/laravel laravel6 Et vérifiez que ça fonctionne : On va se contenter de cette trame de base. On…

  • Laravel 6

    Cours Laravel 6 – la sécurité

    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. Mais 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 un rôle ou leur degré d’habilitation. On peut filtrer les accès selon le statut avec des…

  • Laravel 6

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