CSS 3 dynamique en PHP

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • CSS 3 dynamique en PHP

    Bonjour à toutes et à tous,

    Pour ma culture personnelle, je fais un peu de R&D sur Joomla et en particulier sur les templates 3.x.

    Je sais qu'il est possible de générer du CSS à la volée en PHP.
    L'idée est d'avoir un fichier template.php au lieu du template.css.
    Ce template.php est un squelette CSS avec des paramètres positionnés dans le BO du template en question.

    Tout fonctionne mais je me pose tout de même une question :

    Cette solution peut-elle provoquer des failles de sécurité ?

    Cordialement

    Alexandre
    Dernière édition par alexfr79 à 10/02/2015, 11h26
    Templates Joomla 3.x RWD Configurables
    https://shop.afr2i.com

  • #2
    Re : CSS 3 dynamique en PHP

    Bonjour

    Faille de sécurité : non pas forcément si ton code est bien écrit.

    Toutefois un code PHP n'est pas "cachable" : un fichier CSS est statique et peut être caché par le navigateur de ton visiteur. Le fichier n'est donc téléchargé qu'une et une seule fois.

    Si tu as un template.php pour générer ton code; le fichier est appelé tout le temps, à chaque affichage d'une page. En matière d'optimisation; c'est un très mauvais point.

    Réfléchis donc bien avant de travailler de la sorte.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : CSS 3 dynamique en PHP

      Bonjour Christophe,

      Je te remercie de ta réponse. Effectivement, je n'avais pas pensé à cette problématique de mise en cache.

      Grâce à toi j'ai fait des recherches

      Si dans l'entete de mon template.php, je précise les instructions suivantes après header('content-type: text/css');:

      Code:
      <?php
         header('content-type: text/css');
         ob_start('ob_gzhandler');
         header('Cache-Control: max-age=31536000, must-revalidate');
         
      ?>
      La mise en cache sera-t-elle effective ?

      Cordialement

      Alexandre
      Templates Joomla 3.x RWD Configurables
      https://shop.afr2i.com

      Commentaire


      • #4
        Re : CSS 3 dynamique en PHP

        Je dirais que oui mais... assure-toi que ton template.php soit présent dans un dossier où le code php est exécutable.

        En effet, si un .htaccess interdit l'exécution du code php (ce qu'on fait normallement dans des dossiers comme /media, /images, ...); ton code sera inopérant. Si tu le places dans /templates/ton_template et que le code .php est autorisé dans ce dossier, tu n'auras pas de souci.

        Si on reprends ta question, ne pourrais-tu pas "juste" réécrire ton template.css lorsqu'on modifie un paramètre depuis le backend ? Ce serait plus efficace de travailler de la sorte.

        Bonne journée.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Re : CSS 3 dynamique en PHP

          Merci Christophe

          Ta solution est la plus judicieuse en terme de performances et de mise en cache.
          De plus cette solution est la moins lourde à implémenter.

          Je vais donc conditionner la réécriture du template.css en cas de modification d'un paramètre depuis le backend.

          Si cela ne te dérange pas, je reviendrai vers toi pour un retour d'expérience

          Cordialement

          Alexandre
          Dernière édition par alexfr79 à 10/02/2015, 16h02
          Templates Joomla 3.x RWD Configurables
          https://shop.afr2i.com

          Commentaire


          • #6
            Re : CSS 3 dynamique en PHP

            Reviens plus tôt ici afin que ton expérience soit postée à la fin de ta question qui pourra alors servir à d'autre.

            Bonne soirée.
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Re : CSS 3 dynamique en PHP

              Ok Christophe
              Pas de soucis.

              Et encore merci

              Alexandre
              Templates Joomla 3.x RWD Configurables
              https://shop.afr2i.com

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X