Examen programmation web TEST 4

EXAMEN laravel

 

Exercice 1: qcm laravel (14 pts)

1.Quelle commande est utilisée pour démarrer le serveur Laravel ?

  • php artisan serve
  • php artisan project_name
  • php artisan start php
  • artisan start-server

2. Que peut-on dire sur le contrôleur dans le modèle MVC ?

  • Il choisit les routes à prendre
  • Il récupère les données de la base de données et les transfère aux vues
  • Il contrôle les données reçues de l'utilisateur
  • C'est lui qui reçoit toutes les requêtes de l'application et qui les redirige ensuite

3.Que peut-on dire sur le routeur dans le modèle MVC ?

  • Le routeur est un contrôleur
  • Il n'est pas concerné par les appels AJaX
  • Il est appelé une seule fois pour chaque requête
  • Il correspond au fichier public/index.php dans Laravel

4.Que peut-on dire sur la vue dans le modèle MVC ?

  • Elle contient généralement du code HTML
  • C'est le routeur qui décide quelle vue est affichée
  • Elle ne contient pas de PHP
  • Elle a besoin de données en entrée pour les mettre en forme

5.Que peut-on dire sur le "modèle" dans le modèle MVC ?

  • Il permet d'initialiser la base de données avec des données aléatoires
  • Il permet de modifier la structure de la base de données
  • Il permet de créer la base de données
  • Il permet de récupérer, modifier ou ajouter des données dans la base de données

6. Que peut-on dire sur le fichier web.php de Laravel ?

  • Il permet de décrire les routes de l'application
  • Il est généré automatiquement par Laravel et ne doit pas être modifié
  • Il s'agit du contrôleur
  • Il correspond aux vues de l'application

7.Que peut-on dire sur le fichier .env de Laravel ?

  • Il permet de configurer l'application Laravel
  • Il correspond aux vues de l'application
  • Il est généré automatiquement par Laravel et ne doit pas être modifié
  • Il s'agit de la configuration d'Apache

8. A quoi sert la commande suivante ? composer create-project laravel/laravel exemple

  • Elle permet de récupérer un projet depuis GIT
  • Elle permet de créer une application Laravel vierge
  • Elle crée un projet d'exemple nommé Laravel
  • Elle fait appel au gestionnaire de dépendances composer

9.Que peut-on dire sur la commande suivante ? php artisan migrate

  • Elle ne fonctionne pas si le SGBD n'est pas démarré
  • Elle ne fonctionne pas si la base de données n'existe pas
  • Elle ne fonctionne pas si la configuration à la base de données n'a pas été faite dans le fichier configDB.php
  • Elle ne fonctionne pas si le serveur Web n'est pas démarré

10.Quelle(s) commande(s) permet(tent) de créer un projet Laravel ?

  • composer create-project laravel/laravel exemple
  • git clone https://gitlab-pandacodeur/laravel-exemple exemple
  • php artisan create-project laravel/laravel exemple
  • npm create-project laravel/laravel exemple

11. À quoi sert @yield ?

  • À afficher le contenu d'une section donnée.
  • À étendre un layout.
  • À inclure un fichier.
  • Il n'y a pas une telle directive dans Laravel.

12.Quel logiciel serveur est généralement utilisé pour héberger les applications Laravel ?

  • TomCat
  • Apache
  • MySQL
  • Redis
  • Node.js

13.Dans le déploiement de Laravel, quel est le rôle d’un serveur web comme Apache ou Nginx ?

  •  Exécuter le code PHP
  • Acheminer les requêtes HTTP vers l’application Laravel
  • Gérer les migrations de bases de données
  • Générer des templates HTML

14.Dans le cadre du déploiement de Laravel, comment s’assurer que les dépendances de l’application sont installées sur le serveur ?

  •  En copiant manuellement le répertoire vendor
  • En utilisant Composer pour installer les dépendances
  •  En modifiant le fichier .env
  • Les dépendances ne sont pas nécessaires pour les applications Laravel.

Exercice 2: laravel (6pts) Gestion d'une médiathèque de cassettes vidéo

On considère qu'on a une base de données MySQL avec les tables suivantes : "cassettes", "réalisateurs" et "emprunts". La table "cassettes" doit avoir les colonnes suivantes : id, titre, année de sortie, durée (en minutes) et réalisateur_id. La table "réalisateurs" doit avoir les colonnes suivantes : id, nom et prénom. La table "emprunts" doit avoir les colonnes suivantes : id, cassette_id, date d'emprunt et date de retour.

1. Écrire le code du fichier migration de la table Cassette.

2. Écrire le code qui permet de remplir la table Cassette (Seeder).

3. Écrire le code des deux modèles associés à la table Cassette et Réalisateur avec les relations entre eux.

4. Créez un contrôleur "MediathequeController" en utilisant la commande php artisan make:controller MediathequeController et y ajouter les méthodes suivantes :

   - Rechercher : qui redirige vers la vue Rechercher.blade.php qui affiche la liste des cassettes d'un réalisateur donné. (Utilisez les relations entre les tables pour afficher les noms des réalisateurs dans la liste des cassettes.)
   - Editer : qui redirige vers la vue Editer.blade.php qui permet d'éditer les informations d'une cassette donnée.
   - Modifier : qui modifie les informations d'une cassette sachant que :
     - L'année de sortie doit être supérieure à 2000.
     - Le titre doit être une chaîne qui commence par 't:'.

5. Écrire les routes dans le fichier web.php.

6. Écrire le code des vues Rechercher.blade.php et Editer.blade.php. Utilisez les fonctionnalités de pagination de Laravel pour afficher 10 cassettes par page.

7. Écrire le code du contrôleur d'une API qui contient les méthodes suivantes :

   - rechercher : qui retourne toutes les cassettes d'un réalisateur donné (realisateur_id).
   - emprunter : qui ajoute un nouvel emprunt à la table Emprunt.

8. Utilisez les événements Laravel pour enregistrer l'historique des modifications apportées aux cassettes.

9. A quoi sert l’outil Laravel Sanctum

  • 1 vote. Moyenne 2 sur 5.

Ajouter un commentaire

Anti-spam