Formation PUB030 : Laravel, 2019 La vue

6.7 Visuel différent sur le site en développement


Une fois que votre application sera en ligne, vous travaillerez parfois sur le site en développement pour tester vos fonctionnalités et parfois sur le site en production pour entrer de vraies données.

Dans un tel contexte, une erreur peut rapidement arriver, par exemple vous ajoutez des données détaillées sur le site en développement alors que vous pensez que vous êtes en production (quelle perte de temps...) ou, pire encore, vous supprimez des données en croyant être sur le site en développement alors que vous êtes en production. Ouch !

Pour éviter de telles erreurs, je vous proppose deux ajustements visuels qui vous avertiront que vous êtes sur le site en développement :

  • Le favicon apparaîtra en grisé
  • Un message d'avertissement apparaîtra dans le haut du site

L'URL du site en production pourra être lu à différents endroits selon vos préférences :

  • Dans le fichier .env, au paramètre APP_URL (attention : il faudra entrer l'URL en production même sur le site en développement)
  • Dans une table de configuration dans la base de données
  • Codé en dur

Personnellement, j'aime travailler avec une table de configuration. Mais pour les besoins de la cause, je vais coder l'URL en dur ici.

Créer un favicon grisé

Pour griser le favicon, nous allons travailler avec un outil en ligne : https://www.befunky.com/create/.

  • Rendez-vous sur BeFunky puis cliquez sur Open pour téléverser l'image originale de votre favicon (idéalement au format PNG, JPG ou SVG avec une résolution minimale de 260x260 pixel).
  • Dans la palette d'outils Edit, cliquez sur Color. Mettez la saturation à zéro.

    Désaturation

  • Si le résultat n'est pas tout à fait satisfaisant, vous pouvez aller dans Exposure pour jouer notamment sur la luminosité et sur le contraste.

    Luminosité et contraste

  • Cliquez sur Save / Computer pour enregistrer votre favicon grisé.
  • La version gratuite de BeFunky ne permet pas de créer un fond transparent. Nous allons donc utiliser un autre site Web gratuit pour y parvenir : https://onlinepngtools.com/create-transparent-png. Faites glisser l'image obtenue à partir de BeFunky à l'endroit prévu. Vous obtenez instantanément une version avec fond transparent au bas de l'écran. Cliquez sur Save As pour l'enregistrer puis sur Download pour la télécharger.
  • Vous pouvez maintenant générer le favicon et le app icon à partir de cette image. Mon outil préféré : https://realfavicongenerator.net/.

Utiliser le favicon grisé sur le site en développement

Décompressez le fichier .zip qui contient les fichiers pour votre favicon grisé. Placez ces fichiers dans un sous-dossier de public. Dans cet exemple, je les ai placés dans un sous-dossier nommé sitetest.

Ouvrez maintenant le gabarit que vous utilisez dans votre application (app.blade.php) puis localisez l'endroit où le favicon est ajouté au site.

Modifiez le code pour qu'il affiche l'une ou l'autre des séries de fichiers selon que vous êtes en développement ou en production. Notez que vos données seront différentes de cet extrait, notamment pour le nom de domaine et pour les codes de couleurs à utiliser.

Fichier app.blade.php

@if (parse_url(url('/'), PHP_URL_HOST) == 'mondomaine.com')
    <link rel="apple-touch-icon" sizes="180x180" href="{{ asset('apple-touch-icon.png') }}">
    <link rel="icon" type="image/png" sizes="32x32" href="{{ asset('favicon-32x32.png') }}">
    <link rel="icon" type="image/png" sizes="16x16" href="{{ asset('favicon-16x16.png') }}">
    <link rel="manifest" href="{{ asset('site.webmanifest') }}">
    <link rel="mask-icon" href="{{ asset('safari-pinned-tab.svg" color="#5bbad5') }}">
    <meta name="msapplication-TileColor" content="#2b5797">
    <meta name="theme-color" content="#ffffff">
@else
    <link rel="apple-touch-icon" sizes="180x180" href="{{ asset('sitetest/apple-touch-icon.png') }}">
    <link rel="icon" type="image/png" sizes="32x32" href="{{ asset('sitetest/favicon-32x32.png') }}">
    <link rel="icon" type="image/png" sizes="16x16" href="{{ asset('sitetest/favicon-16x16.png') }}">
    <link rel="manifest" href="{{ asset('sitetest/site.webmanifest') }}">
    <link rel="mask-icon" href="{{ asset('sitetest/safari-pinned-tab.svg') }}" color="#5bbad5">
    <meta name="msapplication-TileColor" content="#2b5797">
    <meta name="theme-color" content="#ffffff">
@endif

Ajouter un message d'avertissement quand on est sur le site en développement

Pour compléter le tout, voici comment ajouter un message d'avertissement, toujours en modifiant le gabarit.

Fichier app.blade.php

@if (parse_url(url('/'), PHP_URL_HOST) != 'mondomaine.com')
    <div class="messageserveurdev">
        Attention : Vous êtes présentement sur une ancienne version du site (...) hébergée sur un serveur de développement. Pour accéder à la bonne version, rendez-vous à cette adresse : <a href="https://mondomaine.com">https://mondomaine.com</a>.
    </div>
@endif

Avec un peu de CSS pour styliser le message, nous obtenons le visuel souhaité :

Visuel différent sur le site en développement

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre