• Laravel 8

    Cours Laravel 8 – les bases – formulaires et middlewares

    Dans bien des circonstances, le client envoie des informations au serveur. La situation la plus générale est celle d’un formulaire. Nous allons voir dans ce chapitre comment créer facilement un formulaire avec Laravel, comment réceptionner les entrées et nous améliorerons notre compréhension du routage. Nous verrons aussi l’importante notion de middleware. Scénario et routes Nous allons envisager un petit scénario avec une demande de formulaire de la part du client, sa soumission et son traitement : On va donc avoir besoin de deux routes : une pour la demande du formulaire avec une méthode get, une pour la soumission du formulaire avec une méthode post. On va donc créer ces…

  • Laravel 8

    Cours Laravel 8 – les bases – la validation

    Nous avons vu dans le chapitre précédent un scénario mettant en œuvre un formulaire. Nous n’avons imposé aucune contrainte sur les valeurs transmises. Dans une application réelle, il est toujours nécessaire de vérifier que ces valeurs correspondent à ce qu’on attend. Par exemple un nom doit comporter uniquement des caractères alphabétiques et avoir une longueur maximale ou minimale, une adresse email doit correspondre à un certain format… Il faut donc mettre en place des règles de validation. En général on procède à une première validation côté client pour éviter de faire des allers-retours avec le serveur. Mais quelle que soit la pertinence de cette validation côté client elle n’exonère pas…

  • Laravel 8

    Cours Laravel 8 – les bases – envoyer un email

    Laravel utilise le célèbre composant SwiftMailer pour l’envoi des emails. Mais il en simplifie grandement l’utilisation. Dans ce chapitre nous allons prolonger l’exemple précédent de la prise de contact en ajoutant l’envoi d’un email à l’administrateur du site lorsque quelqu’un utilisateur soumet une demande de contact. On va donc prendre le code tel qu’on l’a laissé lors du précédent chapitre et le compléter en conséquence. On verra plus tard que Laravel propose aussi un système complet de notification qui permet entre autres l’envoi d’emails. Le scénario Le scénario est donc le même que pour le précédent chapitre avec l’ajout d’une action : On va avoir les mêmes routes et vues, c’est…

  • Laravel 8

    Cours Laravel 8 – les bases – configuration, session et gestion de fichiers

    Dans ce chapitre nous verrons la configuration, la gestion des sessions et des fichiers avec un exemple simple d’envoi et d’enregistrement de fichiers images dans un dossier à partir d’un formulaire. La configuration Tout ce qui concerne la configuration de Laravel se trouve dans le dossier config : De nombreuses valeurs de configuration sont définies dans le fichier .env. Les fichiers de configuration contiennent en fait juste un tableau avec des clés et des valeurs. Par exemple pour les vues (view.php) : <?php return [ 'paths' => [ resource_path('views'), ], ... ]; On a la clé paths et la valeur : un tableau avec des valeurs. Pour récupérer une valeur il…

  • Laravel 8

    Cours Laravel 8 – les bases – artisan et les contrôleurs

    Nous avons vu le cycle d’une requête depuis son arrivée, son traitement par les routes et sa réponse avec des vues qui peuvent être boostées par Blade. Avec tous ces éléments vous pourriez très bien réaliser un site web complet mais Laravel offre encore bien des outils performants que je vais vous présenter. Pour correctement organiser son code dans une application Laravel il faut bien répartir les tâches. Dans les exemples vus jusqu’à présent j’ai renvoyé une vue à partir d’une route, vous ne ferez pratiquement jamais cela dans une application réelle (même si personne ne vous empêchera de le faire ! ). Les routes sont juste un système d’aiguillage…

  • Laravel 8

    Cours Laravel 8 – les bases – le routage

    Dans ce chapitre nous allons nous intéresser au devenir d’une requête HTTP qui arrive dans notre application Laravel. Nous allons voir l’intérêt d’utiliser un fichier .htaccess pour simplifier les url. Nous verrons aussi le système de routage pour trier les requêtes. Les requêtes HTTP Petit rappels On va commencer par un petit rappel sur ce qu’est une requête HTTP. Voici un schéma illustratif : Le HTTP (Hypertext Transfer Protocol) est un protocole de communication entre un client et un serveur. Le client demande une ressource au serveur en envoyant une requête et le serveur réagit en envoyant une réponse, en général une page Html. Quand on surfe sur Internet chacun…

  • Laravel 8

    Cours Laravel 8 – les bases – les réponses

    Nous avons vu précédemment comment la requête qui arrive est traitée par les routes. Voyons maintenant les réponses que nous pouvons renvoyer au client. Nous allons voir le système des vues de Laravel avec la possibilité de transmettre des paramètres. Nous verrons aussi comment créer des templates avec l’outil Blade. Les réponses automatiques Nous avons déjà construit des réponses lorsque nous avons vu le routage au chapitre précédent mais nous n’avons rien fait de spécial pour cela, juste renvoyé une chaîne de caractères comme réponse. Par exemple si nous utilisons cette route : Route::get('test', function () { return 'un test'; }); Nous interceptons l’url http://monsite/test et nous renvoyons la chaîne de…

  • Laravel 8

    Cours Laravel 8 – les bases – installation et organisation

    Dans ce chapitre nous allons voir comment créer une application Laravel et comment le code est organisé dans une application. Pour utiliser Laravel et suivre ce chapitre et l’ensemble du cours vous aurez besoin d’un serveur équipé de PHP avec au minimum la version 7.3 et aussi de MySQL. Nous avons vu dans le précédent chapitre les différentes possibilités. D’autre part plusieurs extensions de PHP doivent être activées. Créer une application Laravel Le serveur Pour fonctionner correctement, Laravel a besoin de PHP : Version >= 7.2.0, Extension PDO, Extension Mbstring, Extension OpenSSL, Extension Tokenizer, Extension XML.‌, Extension BCMath, Extension Ctype, Extension JSON Extension Fileinfo Laravel est équipé d’un serveur sommaire pour le développement…

  • Laravel 8

    Cours Laravel 8 – les bases – présentation générale

    Dans ce premier chapitre je vais évoquer PHP, son historique rapide et sa situation actuelle. Je vais aussi expliquer l’intérêt d’utiliser un framework pour ce langage et surtout pourquoi j’ai choisi Laravel. J’évoquerai enfin le patron MVC et la Programmation Orientée Objet. Un framework ? Approche personnelle PHP est un langage populaire et accessible. Il est facile à installer et présent chez tous les hébergeurs. C’est un langage riche et plutôt facile à aborder, surtout pour quelqu’un qui a déjà des bases en programmation. On peut réaliser rapidement une application web fonctionnelle grâce à lui. Mais le revers de cette simplicité est que bien souvent le code créé est confus,…