Comment insérer des fichiers css et javascript sur une seule page de mon site ?

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

  • [Problème] Comment insérer des fichiers css et javascript sur une seule page de mon site ?

    Bonjour la communauté,

    Je dois absolument pourvoir insérer des fichiers javascript et css sur certaines pages de mon site seulement et pas sur toutes les pages.
    Il faudrait que ces fichiers soit insérés dans la section <head> juste avant la balise de fermeture </head>
    Existe t'il une extension sécurisée et idéalement mise à jour régulièrement qui me permettrait de faire ça sur joomla 3.4.8 ?
    Sinon comment faire ?
    Je suis prêt à payer pour ça donc même une extension commerciale serait très bien. Ca me rassurerait même sur la sécurité.

    Je vous remercie, j’attends impatiemment vos conseils.
    A très bientôt j'espère,

    François

  • #2
    Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

    Bonjour

    Cédric Keiflin propose un plugin pour cela mais j'ai oublié le nom du plugin; tu devrais toutefois pouvoir le retrouver sur le site de l'auteur : http://www.joomlack.fr/fr/

    Il s'agit d'un plugin de type content permettant d'ajouter une balise à ton code (ton article p.ex.) pour charger ton css et ton js.

    Et c'est gratuit et Cédric étant un excellent développeur, c'est sécurisé également (maintenant tu peux payer quelque chose si cela te rassure )

    Bonne journée.
    Christophe (cavo789)
    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)
    Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes
    Mes logiciels OpenSource : https://www.avonture.be

    Cette anné, le JoomlaDay 2020 FR aura lieu à Bruxelles les 2 et 3 octobre 2020. Plus d'infos sur https://www.joomladay.fr

    Commentaire


    • #3
      Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

      Excellent merci Christophe. Je vais mettre le sujet en résolu et tester tout ça.

      Commentaire


      • #4
        Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

        Salut Christophe et les autres,
        Le sujet n'est finalement pas résolu. Manque de chance je ne crois pas qu'il y ai le plugin dont tu parles sur le site http://www.joomlack.fr/fr/, j'ai envoyé un email sur le formulaire du site dont j'attend la réponse.

        D'autres suggestions ?

        Commentaire


        • #5
          Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

          Si c'est juste un code type google, directement dans le fichier de ton template qui gère le head.

          Certains te diront que ce n'est pas bien en cas de mise à jour, il faut le remettre... Mais cela résout ton problème sans extension en plus
          Christophe
          http://www.webcrea.fr

          Commentaire


          • #6
            Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

            oulah j'ai pas du tout compris Webcrea.
            Mon template est fait par mes petites mains.
            Actuellement je met absolument tous mes css et js dans le fichier index.php de mon template.
            Ce qui gère mon head dans mon template c'est cette ligne <jdoc:include type="head" /> ainsi que les scripts js et css que j'ai ajouté à la suite mais qui sont malheureusement chargés à chaque page.
            Le résultat c'est que ça ralenti le site énormément quand les js et css ne sont pas utilisés dans certaines pages.

            Par exemple :
            Sur deux pages de mon site seulement je met en page des tableaux très compliqués. Ces tableaux nécessitent le fichier datatables.js qui permet de fixer des colonnes du tableaux et autres spécificités. De même, cette page à des indications css spécifiques qui n'ont pas besoin d'être chargées sur d'autres pages.
            L'idéal serait donc de charger datatables uniquement sur ces 2 pages ainsi que le css spécifique à cette page

            Commentaire


            • #7
              Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

              Je ne pige pas, tu dis que tu n'as pas compris et tu m'expliques exactement ce que je te propose de faire !!

              Bref, ce que tu peux faire et c'est plus clean, utilises K2 tools par exemple, il y a aussi "module anywhere" qui fait ça ou celui de CK.

              Cela te permet d'inclure du php dans un module que tu assignes à tes 2 pages seulement où c'est utile.

              le code à insérer est
              <?php
              $doc = JFactory::getDocument();
              $doc->addStyleSheet($this->baseurl . '/messcripts/mon_css.css');
              $doc->addScript($this->baseurl . '/messcripts/mon_js.js');
              ?>
              Dernière édition par webcrea à 03/02/2016, 15h18
              Christophe
              http://www.webcrea.fr

              Commentaire


              • #8
                Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                bah oui je pige pas. Je sais ce que je voudrais faire mais je ne sais pas le faire. Je ne suis peut être pas clair
                C'est peut être parce que je ne parle pas le php à la différence de bon nombre d'entre vous pour qui c'est la langue maternelle.
                Voilà ce que je fais actuellement et qui ne me convient pas, puisque pas mal de js et css sont chargés sur toutes les pages même quand ils ne sont pas nécessaires :
                Code:
                <head>
                <jdoc:include type="head" /> 
                <link rel="stylesheet" href="styles-globlal-necessaires-sur-les-200-pages-du-site.css" type="text/css" />
                <link rel="stylesheet" href="fichier-css-utile-sur-3-pages-de-mon-site-sur-200.css" type="text/css" />
                <script type="text/javascript" src="fichier-js-utile-sur-2-pages-de-mon-site-sur-200.js"></script>
                </head>
                J'utilise déjà module anywhere, mais les fichiers doivent être ajoutés juste avant la fermeture de la balise </head>
                Comme je disais je comprend rien ou presque au php. je vais essayer de créer un custom module dans lequel je vais écrire ce code :
                Code:
                <?php
                $doc = JFactory::getDocument();
                $doc->addStyleSheet($this->baseurl . '/messcripts/mon_css.css');
                $doc->addScript($this->baseurl . '/messcripts/mon_js.js');
                ?>
                et puis je vais dire placer ce module dans les 2 pages qui m'intéressent.

                Je reviens vous dire si ça marche dans 5 minutes, mais déjà je peux dire que je préfèrerais éviter d'écrire du code php j'aime pas trop ça manipuler du code que je comprend pas.

                Commentaire


                • #9
                  Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                  ça devrait marcher car à la différence de ta méthode qui inclus les balises là où s'affiche le module, c-à-d dans le body. Mon code va ajouter la ligne d'insertion dans le head qui sera afficher qu'à la fin du traitement joomla...
                  Christophe
                  http://www.webcrea.fr

                  Commentaire


                  • #10
                    Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                    Ben non j'y arrive pas. Je dois mal m'y prendre.
                    Le code est inséré dans le corps de la page, c'est à dire dans le body à l'intérieur des balises <div> du module. En plus le code php est considéré comme du html
                    J'ai installé sourcerer un plugin qui permet d'insérer du code php et autres langage directement dans un module, un article et ailleurs.
                    Du coup quand j'utilise les tag {source} de sourcerer le code php à l'air d'étre compris mais le résultat c'est que ma page s'affiche entièrement blanche et que quand on affiche la source du code il n'y a rien. Le code est vide completement vide. Il ne reste que les balise <html>,<head>, et <body>
                    Code:
                    {source}
                    <?php
                    $doc = JFactory::getDocument();
                    $doc->addStyleSheet($this->baseurl . 'templates/montemplate/css/moncss.css');
                    ?>
                    {/source}

                    Est ce que tu voudrais bien me décrire un peu plus pas à pas la méthode ?
                    Dernière édition par boucdur à 03/02/2016, 16h45

                    Commentaire


                    • #11
                      Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                      Bonjour François,


                      Envoyé par boucdur Voir le message
                      Je dois absolument pourvoir insérer des fichiers javascript et css sur certaines pages de mon site seulement et pas sur toutes les pages. Il faudrait que ces fichiers soit insérés dans la section <head> juste avant la balise de fermeture </head>.
                      Il faudrait vérifier si cette condition est absolument requise, car si elle n'est pas absolument requise (= si les fichiers en question peuvent jouer leur rôle dans le <body>), une solution toute simple pourrait consister à créer un module de contenu personnalisé (custom) contenant les appels aux fichiers .JS et .CSS, et d'assigner ce module aux liens de menu concernés.

                      => A expérimenter.

                      Pour ma part, j'ai déjà fait cela plusieurs fois et sans rencontrer de problème (même avec les .JS).
                      Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

                      Commentaire


                      • #12
                        Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                        Essaye alors

                        $doc->addStyleSheet('/templates/montemplate/css/moncss.css');





                        $doc = JFactory::getDocument(); charge les méthodes et classes qui gère le document et $doc->addStyleSheet... ajoute à la queue le fichier css et c'est enprincipe au moment du rendu que le code html est généré
                        Christophe
                        http://www.webcrea.fr

                        Commentaire


                        • #13
                          Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                          bonjour PhilJ,
                          j'ai déjà expérimenté ta méthode qui marche bien avec le js, mais pas le css.
                          Le css ça ne peut pas être inséré dans le body à ma connaissance. Pour les js c'est possible ça oui. Mais par soucis de clareté, de bonne organisation et de simplicité j'aime ça que ce soit dans le head à l'endoit ou je veux et en appel au fichier plutôt que d'écrire le code directement dans la page.

                          J'ai trouvé deux extension pas trop mal pour ce que je veux :
                          mod_multijscss - module - https://github.com/ghazal/mod_multijscss
                          Loadtag GC - plugin - http://www.joomlack.fr/telecharger-e.../42-loadtag-gc
                          Loadtag marche mieux. Ceci dit dans les deux cas les extensions n'ont pas l'air très suivies par les programmeurs et les js et css sont insérés juste après les fichiers de head de joomla <jdoc:include type="head" /> alrs que dans l'idéal ils seraient insérés juste avant la fermeture de la balise </head>

                          En clair, si j'utilise le plugin Loadtag GC pour insérer une feuille style spécifique à une page en particulier la feuille de style sera chargée avant la feuille de style principale de mon site. Les style de la feuille de style spécifique de la page ne prendront donc pas le dessus sur les styles généraux du site. Ca c'est pas idéal.

                          Pour être plus clair :
                          Code:
                          <head>
                               <jdoc:include type="head" />
                               <link rel="stylesheet" href="templates/montemplate/js/js-spécifique-a-la-page-chargé-grace-a-loadtagGC.css" type="text/css" />
                               <link rel="stylesheet" href="templates/montemplate/css/styles-globaux-du-site.css" type="text/css" />
                          </head>
                          Dernière édition par boucdur à 03/02/2016, 17h41

                          Commentaire


                          • #14
                            Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                            Envoyé par boucdur Voir le message
                            j'ai déjà expérimenté ta méthode qui marche bien avec le js, mais pas le css.
                            Le css ça ne peut pas être inséré dans le body à ma connaissance.
                            Si si, ça marche très bien, et même bien plus sûrement que le JS, du fait que les directives CSS sont chargées après le </head> contenant les appels aux autres fichiers CSS.

                            Mais par soucis de clareté, de bonne organisation et de simplicité j'aime ça que ce soit dans le head à l'endoit ou je veux et en appel au fichier plutôt que d'écrire le code directement dans la page.
                            Question à mon avis secondaire, dans la mesure où (1°) ça marche bien, (2°) les visiteurs ne regardent pas le code, et accessoirement où (3°) le nombre de pages concerné est limité.
                            Créateur de sites internet — Agence web indépendante http://www.e-33.fr | http://www.quali-site.fr (région de Bordeaux)

                            Commentaire


                            • #15
                              Re : Comment insérer des fichiers css et javascript sur une seule page de mon site ?

                              Bingo loadtag gc de Cédric et Ghazal.
                              Christophe (cavo789)
                              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)
                              Développeur de marknotes, logiciel de gestion de prises de notes avec interface web et de multiples convertisseur https://github.com/cavo789/marknotes
                              Mes logiciels OpenSource : https://www.avonture.be

                              Cette anné, le JoomlaDay 2020 FR aura lieu à Bruxelles les 2 et 3 octobre 2020. Plus d'infos sur https://www.joomladay.fr

                              Commentaire

                              Annonce

                              Réduire
                              1 sur 2 < >

                              C'est [Réglé] et on n'en parle plus ?

                              A quoi ça sert ?
                              La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                              Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                              Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                              Comment ajouter la mention [Réglé] à votre discussion ?
                              1 - Aller sur votre discussion et éditer votre premier message :


                              2 - Cliquer sur la liste déroulante Préfixe.

                              3 - Choisir le préfixe [Réglé].


                              4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                              2 sur 2 < >

                              Assistance au forum - Outil de publication d'infos de votre site

                              Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                              Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                              Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                              UTILISER À VOS PROPRES RISQUES :
                              L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                              Problèmes connus :
                              FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                              Installation :

                              1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                              Archive zip : https://github.com/AFUJ/FPA/zipball/master

                              2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                              3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                              4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                              5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                              6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                              et remplacer www. votresite .com par votre nom de domaine


                              Exemples:
                              Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/
                              Pour executer le script: http://www..com/fpa-fr.php

                              Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                              Télécharger le script fpa-fr.php dans: /public_html/cms/
                              Pour executer le script: http://www..com/cms/fpa-fr.php

                              En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                              Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                              Voir plus
                              Voir moins

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X