Laravel est un framework d'application Web créé par Taylor Otwell. Ce framework est considéré le meilleur framework web open-source codé en PHP en 2022. Celui-ci facilite la création d'applications Web modernes. Avec sa syntaxe expressive et élégante (MVC), Laravel nous permet de réduire les délais de développement et ainsi de terminer des produits plus rapidement que toute autre solution.
Artisan est l'interface de ligne de commande incluse avec Laravel. Artisan fournit un certain nombre de commandes utiles qui peuvent vous aider lors de la création et l'optimisation de votre application.

La migration de base de données est également l'un des plus grands avantages de l'utilisation de ce framework. Ces migrations permettent aux développeurs d'annuler facilement les modifications apportées à la base de données en cas d'erreur et ainsi, d'avoir les mêmes versions de base de données.
L'utilisation de l'architecture MVC améliore les performances des applications Web. L'architecture Laravel est aussi l'une des raisons pour choisir le framework.
Pour gérer les dépendances, Laravel utilise composer. Il faut s'assurer
que Composer est installé sur votre système
avant d'installer Laravel. Il sera important de suivre les étapes d'installation afin de
permettre le bon fonctionnement à Laragon soit bien configuré.
Ensuite, il faut installer la dernière version (Stable version) de PHP.
Ensuite, on installe MySQL Workbench pour nos
bases de données ainsi que Laragon, un
environnement de développement universel. Il a de nombreuses fonctionnalités pour vous rendre
plus productif. Après le téléchargement, nous avons la possibilité d'ajouter Git,
phpmyadmin, Node.js/MongoDB, Python/Django/Flask/Postgres, Ruby, Java, Go en
utilisant "Tools > Quick add".

Laravel a quelques similarités avec CakePHP mais il faut dire qu'il est beaucoup plus complet et mieux structuré.
app Ce répertoire contient
l'intégralité du code source de notre projet. Il y voit les fichiers de modèles, contrôleurs,
événements, commandes, middleware et exceptions.config Comme son nom l'indique clairement, celui-ci stocke tous les fichiers de
configuration du projet.database Le fichier database est la place où nous mettons tous les fichiers de
migrations, model factories et seeders. Ils déterminent la structure de la base de données.public Ce répertoire contient le fichier index.php, qui est le point d'entrée de toutes
les requêtes. Ce répertoire héberge également vos actifs tels que les img, JS et CSS.lang Le répertoire lang contient tous les fichiers de langue de l'application.routes Le répertoire routes contient toutes les définitions de routes pour votre
application. Par défaut, il y a quatres fichiers routes: web.php, api.php, console.php et
channels.php.
resources Le répertoire des ressources contient les vues ainsi que les actifs
bruts non compilés tels que du CSS ou du JS.storage Le répertoire storage contient les logs, Blade templates compilés, sessions
basées sur des fichiers, caches de fichiers et autres fichiers générés par le framework. Ce
répertoire est séparé en répertoires d'application, de structure et de logs. Le dossier logs
contient les fichiers journaux de votre application. Si configuré, on y trouvera les rapports
d'erreurs de l'application.Le "modèle" est une représentation d'une instance ou d'un objet réel dans
notre base de code. Son rôle est d'aller récupérer les informations « brutes » dans la base de
données, de les organiser et de les assembler pour qu'elles puissent ensuite être traitées par
le contrôleur. On y trouve donc entre autres les requêtes SQL.
La "vue" représente l'interface à travers laquelle l'utilisateur interagit avec notre
application. Elle ne fait presque aucun calcul et se contente de récupérer des variables pour
savoir ce qu'elle doit afficher.
Le "contrôleur" gère l'action des utilisateurs. Cette partie gère la logique du code. C'est
l'intermédiaire entre le modèle et la vue. C'est aussi celui qui s'occupe de la gestion des
droits d'accès du site et autres.
Artisan est le nom de l'interface
de ligne de commande incluse avec Laravel. Il fournit un certain nombre de commandes utiles pour
votre utilisation lors du développement de votre application. Il est piloté par le puissant
composant Symfony Console.
Afin d'en savoir plus sur l'utilité de ces commandes on écrit:

Avant de penser à créer une notification, il faudrait bien savoir comment
utiliser le modèle de conception Eloquent pour aller chercher rapidement nos clients dans la
base de données. J'ai montré les mutiples commandes artisan ci-haut qui assurent le bon
fonctionnement du modèle Eloquent.
De plus, il sera important d'utiliser PSR-4. Ce PSR décrit une spécification pour le chargement
automatique des classes à partir des chemins de fichiers. Il est entièrement interopérable. Ce
PSR décrit également où placer les fichiers qui seront chargés automatiquement conformément à la
spécification.
Les méthodes Eloquent comme all et get récupèrent plusieurs enregistrements de la base de
données. Cependant, ces méthodes ne renvoient pas un tableau PHP simple. Au lieu de cela, une
instance de Illuminate\Database\Eloquent\Collection est renvoyée.
En utilisant Eloquent ORM, obtenir et trouver des enregistrements de la base de données est
gérable et facile. Les requêtes sont construites simplement. Pour créer des instructions
Model::where, on utilise les méthodes get()et first(). La méthode first() renverra un seul
enregistrement, tandis que la méthode get() renverra une collection d'enregistrements sur
lesquels on aura accès aux informations. De plus, la méthode find() peut être utilisée avec un
tableau de clés primaires, qui renverra une collection d'enregistrements correspondants.
Voici quelques exemples:
Il est possible d'envoyer des
emails et notifications dans la grande majorité des réseaux sociaux professionnels avec Laravel.
Nous allons expérimenter l'envoi de notifications dans Microsoft Teams.
Tout d'abord, il va falloir installer le package "laravel-notification-channels/microsoft-teams"
Pour cela, on exécute cette commande via composer:
On copie le lien du connecteur webhook et le
rajouterons dans le .env (notre fichier de configuration de projet local)
Notification
Command