Param Converters, Personnalisation des pages d'erreur, Gestion des assets, Console, Deploiment dans le FrameWork Symfony 3.2
Quelles sont les étapes, pour créer et utiliser son propre convertisseur de paramètres?
Lorsque le noyau attrape une exception, l'action show() du contrôleur ExceptionController du Bundle TwigBundle, retourne-t-elle une page d'erreur Symfony?
Pour info, le Bundle TwigBundle se trouve dans le répertoire:
vendor/symfony/symfony/src/Symfony/Bundle
Les pages d'erreur de Symfony pour le mode dev et prod sont-elles les mêmes?
Non
Il y a-t-il une page d'erreur par chaque type d'erreur?
etc...
Oui
Pour personnaliser nos pages d'erreur pourquoi ne modifions-nous pas les pages originales situées dans le Bundle TwigBundle de Symfony?
Car ces pages originales modifiées pour être personnalisées, seraient remplacées aprés toute mise jour du répertoire vendor:
>php composer.phar update
Comment remplacer les vues d'un Bundle par les notres?
On crée un répertoire
app/Resources/NomDuBundle/views
et on y place nos vues personnalisées qui doivent posséder le même nom que les vues qu'elles remplacent.
TwigBundle/Resources/views/Exception/
Dans le répertoire:
app/Resources/TwigBundle/views/Exception/
Dans quel répertoire, Twig va-t-il chercher en premier les vues demandées?
app/Resources/
Pourquoi Symfony possède-t-il par défaut des pages d'erreur dans différents formats (error.html.twig, error.js.twig ...) que l'on trouve dans:
TwigBundle/Resources/views/Exception
Par convention,si une erreur 404 html survient, le Bundle TwigBundle, affichera-t-il la vue
error404.html.twig
Par convention, si une erreur 404 html survient, le Bundle TwigBundle, affichera-t-il la vue error.html.twig, si la vue error404.html.twig n'existe pas?
Oui
Pour pouvoir voir les modifications d'une page d'erreur faut-il:
Il faut effacer le répertoire var/cache
Normalement on personnalise que les pages d'erreur du mode production.
Mais si l'on souhaite personnaliser la page d'erreur html du mode développement, quel template doit-on écraser?
TwingBundle/Resources/views/Exception/ Exception.html.twig
Quel est le nom du bundle que l'on peut ajouter à Symfony pour mieux gérer nos assets comme les images ou les fichiers CSS et JS?
Le bundle Assetic
Quel est le rôle du Bundle Assetic?
En production, le bundle Assetic compresse-t-il comme un fichier zip ou minifie-t-il les assets?
Il minifie les assets
En développement, fait-on appel à Assetic pour regrouper et minifier les assets?
Ainsi on garde un contenu lisible des assets pour mieux les déboguer pendant la phase de développement.
Le bundle Assetic contient-il par défaut les bibliothèques qui minifient les fichiers CSS et JS?
Une bibliothèque qui minifie les fichiers CSS (leafo/scssphp) et une qui minifie les fichiers JS (patchwork/jsqueeze)
Que représentent les lignes 3 et 4?
Les lignes 3 et 4 représentent respectivement, la librairie qui minifie les fichier CSS et la librairie qui minifie les fichiers JS
Avec la commande suivante les lignes 2, 3, 4 seront-elles ajoutées?
>php composer.phar require symfony/assetic-bundle
Seulement la ligne 2 sera ajoutée.
Si l'on n'utilise pas Assetic, est-il recommandé de sauver les assets de chaque bundle dans leur bundle ou dans le répertoire web de notre projet?
Si l'on utilise pas Assetic, dans quel répertoire se situe le fichier main.js?
Dans le répertoire
web/bundle1/css/
Avec Assetic, sauve-t-on dans un premier temps, les assets de chaque bundle dans:
Commentez ces lignes
Quelle commande CLI permet de déplacer (publier) nos assets situés dans les répertoires Resources/public/css de nos bundles, vers les répertoires web/bundles/NonDuBundle1/css, web/bundles/NonDuBundle2/css etc...
>php bin/console assets:install
Que fait la commande CLI suivante?
>php bin/console assets:install --symlink
Aprés la commande CLI suivante, toutes modifications du contenu de nos assets seront-elles prisent en compte automatiquement?
>php bin/console assets:install --symlink
Ces lignes sont-elles correctes pour gérer deux fichiers CSS avec Assetic?
Oui
Tous les fichiers CSS du bundle Core seront pris en compte par Assetic
Quelle commande CLI permet de déplacer (publier) les assets des bundles vers
>php bin/console assetic:dump --env=prod --no-debug
Quelle est la différence entre ces deux lignes de commande?
Publication des assets
Ce filtre permet de réécrire les chemins relatifs situés dans les fichiers CSS.
Il permet de minifier les fichiers CSS en mode production et développement.
Il sera appliqué en mode production uniquement car il est précédé d'un point d'intérrogation
Il permet de minifier les fichiers JS en mode production et développement
La minification des fichiers CSS se fera-t-elle en mode dev?
La minification se fera qu'en mode production, car un point d'interrogation précéde le filtre ''scssphp''
Quel bundle nous recommande-t-on d'installer pour avoir une console dans le navigateur web?
Le Bundle CoreSphereBundle
Quelle est l'utilité du bundle CoreSphereBundle?
CoreSphereBundle permet d'avoir une ligne de commande disponible dans notre navigateur web en mode developpement dans le cas où notre serveur de production ne mettrait pas à disposition du developpeur une console SSH.
Quelle URL doit-on entrer dans le navigateur, pour accéder à la console CoreSphère?
www.nomDuSite/web/app_dev.php/_console
Citez quelques points à faire lors du déploiement de son site Symfony sur un serveur de production?
La minification de ce fichier JS se fera-t-elle en mode dev?
La minification se fera qu'en mode production, car un point d'interrogation précéde le filtre ''jsqueeze''