Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment changer le design du site aléatoirement

Sujet résolu
    2 octobre 2016 à 16:06:42

    Bonjour les ami(e)s. Je voudrais faire un truc mais je ne sais pas si c'est possible donc voilà je vous explique. Je voudrais faire un site Web de sorte à ce que le design à afficher se fasse aléatoirement. Pour être plus clair deux personnes peuvent être connecté sur la même page au même moment mais avoir différents différentes vue. Est ce possible ? Si oui comment mettre un tel système en place ?
    • Partager sur Facebook
    • Partager sur Twitter

    merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

    Anonyme
      2 octobre 2016 à 16:44:14

      slt l'ami comment tu vas??

      Et bien c'est un peu délicat mais c'est tout a fait possible, rien n'est impossible en informatique :p

      Bref, pour te répondre et bien il suffit d'utiliser du jquery (framework javascript) et puis de rechanger la valeur de la balise suivante chanque x de  temps

      <link rel="stylesheet" type="text/css" href="valeur_que_tu_veux.css">
      


      ainsi, tu peux dire qu'à chaque 20minutes, et bien tu change de href, autrement dis de page css que tu aura créé...

      Je ne vois pas d'autres solutions...

      a propos du code source si tu n'y arrive pas réponds moi et je t'expliquerai comment faire...

      et pour répondre a la derniere question, il y a aussi un moyen

      par exemple en php ou en jquery tu fourni un nombre aleatoire a chaque rechargement de la page et donc apres tu le met dans la balise (dans le href) comme l'exemple suivant :

      <link rel="stylesheet" type="text/css" href="nom_du_fichier_numero_1.css">
      

      en reprenant la premiere question, tu mettra la valeur qui se trouve dans le href en incrémentation (c'est a dire chaque 5minutes par exemple tu rajoute 1 et ca te donnera

      href="nom_du_fichier_numero_2.css
      href="nom_du_fichier_numero_3.css

      ...etc

      j'espere que je t'ai aidé

      a bientot ;)

      • Partager sur Facebook
      • Partager sur Twitter
        2 octobre 2016 à 20:58:10

        Merci Rayanmaurau1 pour ta réponse mais franchement j'avoue n'avoir pas complètement compris la partie où tu as parlé de php. Aussi je ne maîtrise pas les framework. jamais utilisé 😀😀😀😀😀

        -
        Edité par Sghislain 2 octobre 2016 à 20:59:07

        • Partager sur Facebook
        • Partager sur Twitter

        merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

        Anonyme
          22 octobre 2016 à 9:55:52

          Bonjour...

          Pour réexpliquer de manière simple, il te faut un script javascript (ou du framework jquery) qui va faire cela:

          chaque x de secondes(par exemple 3600s 1h), javascript va changer l'attribut "href" de la balise link et va donc changer de fichier css...

          Par contre, tout les fichier ne peuvent malheureusement pas se créer tout seul ;)

          il faudra donc que tu crée 5 ou 6 fichiers css comme ca chaque heure aura une page speciale...

          l'ideal est de créer 24 fichier css et a chaque heure la page change de forme 24h/24h :D

          Bref, on disant " Aussi je ne maîtrise pas les framework. jamais utilisé 😀😀😀😀😀" ca veut dire que tu connais le js...

          personnelement, je connais mieux le framework jquery que javascript... donc si tu veux le bout de code je te le donne o:) ...

          mais bon je prefere que tu le fasse avec js!

          Et oui ... j'ai parlé du PHP, mais bon ca c'était pour générer un nombre aléatoire et donc des pages css aléatoires à chaque  heure... si tu appelle ton fichier mon_fichier_css_1.css et un deuxieme mon_fichier_css_2.css ...etc jusqu'au nombre max de fichiers css, avec javascript, tu peux aussi fournir un nombre aléatoire comme php et donc tu dis avec du code :

          à chaque heure, tu me fournis un nombre aléatoire de 1 à 24 compris et tu me remplace le href du link et tu met comme valeur ...

          mon_fichier_css_ + le nombre aléatoire [1; 24].css

          J'espere que je t'ai aidé...

          au pire, si tu n'y arrive pas, essaye de créer 4 ou 5 fichiers css et moi je te fournirai le code -script- js que tu inserera dans ton html et ca marchera

          A+

          • Partager sur Facebook
          • Partager sur Twitter
            22 octobre 2016 à 10:40:22

            Bonjour merci pour ton retour

            euuuuuuuuuuuuuuuuh je ne maitrise pas le .JS non plus et c'est surtout là le problème :( par rapport au fichier .CSS, je les avait déjà créer depuis ta première intervention le 02 octobre je crois

            -
            Edité par Sghislain 22 octobre 2016 à 10:44:45

            • Partager sur Facebook
            • Partager sur Twitter

            merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

              22 octobre 2016 à 11:28:58

              Le plus simple serait un langage serveur comme PHP.

              Soit tu mets le noms des fichiers CSS dans un tableau puis un banale tirage au sort, soit tu tire un numéro aléatoirement genre mt_rand(0,9)

              puis tu fais l'affectation dans un switch().

              PHP génère ensuite la page HTML envoyée au client avec le fichier CSS tiré au hasard, cela peut être valable pour une seule page/une seule fois ou toutes les pages du site en stockant le nom du fichier CSS dans une session.

              Si tu préfère le JS (mais désactivable) tu peux stocker l'information avec l'API  WebStorage du HTML5.

              Rien de compliqué, surtout si tu as déjà créé des différents fichiers CSS. A toi de voir...

              -
              Edité par Lucky13 22 octobre 2016 à 11:31:12

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                22 octobre 2016 à 13:06:12

                Bonjour, avant de passer a ma méthode, je répond a celle de Lucky13...

                En effet sa technique marche bien, mais:

                • avec PHP, tu devra créer plusieurs pages html avec des link différents...

                Contrairement a jquery ou javascript, ces derniers change juste le link de ta page html. et qui dit change le link, change de fichiers css !

                avant de te donner le code source de ce que tu veux faire (enfin ;) ), je vais te demander les noms des fichiers css... à ma facon, essaye de les nommer nom_du_fichier_1.css, nom_du_fichier_2.css, ...etc. ainsi, montre moi le chemin de ton link pour acceder a ces fichier...

                je vais aussi te demander le nombre maximal de fichiers css dont tu as besoin ...

                a+

                • Partager sur Facebook
                • Partager sur Twitter
                  22 octobre 2016 à 13:22:00

                  Ben non, juste une inclusion dans le <head> pour charger la feuille CSS tirée au sort ^^

                  Après comme je l'ai dit, JS est aussi une vraie solution du moment que l'utilisateur ne le désactive pas. Auquel cas il faut bien prévoir une solution alternative, c'est pour cela que j'ai écrit "A toi de voir..." :)

                  -
                  Edité par Lucky13 22 octobre 2016 à 13:23:43

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    22 octobre 2016 à 13:47:55

                    ah oui tu as raison, j'ai oublié les inclusions ... ;) bravo ... maintenant on laisse le choix Sghislain de choisir et puis apres on lui donne le code source

                    A+ :D o:)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 octobre 2016 à 17:33:14

                      Merci à vous deux pour vos réponses les deux options sont intéressantes je voudrais bien les essayés même si c'est dans différents projets.

                      côté php voici un peu comment j'ai compris l'explication. Ce pendant pour le JS franchement :(

                          <?php
                              header("Content-type: text/css");
                              readfile('/jscss/css/base1'.mt_rand(1,5).'.css');
                          ?>
                      
                          <?php
                              switch (rand(1,4))
                              {
                              case 1 : $path = '/jscss/css/base2.css'; break;
                              case 2 : $path = '/jscss/css/base3.css'; break;
                              case 3 : $path = '/jscss/css/base4.css'; break;
                              case 4 : $path = '/jscss/css/base4.css'; break;
                              default: $path= '/jscss/css/base5.css';break;
                              }
                               
                              header("Content-type: text/css");
                              readfile($path);    
                          ?>



                      • Partager sur Facebook
                      • Partager sur Twitter

                      merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                        22 octobre 2016 à 20:09:41

                        Je laisse la partie JS qui est une bonne solution à rayan BS

                        Pour le PHP :

                        $random = mt_rand(2,5);

                        $css= '/jscss/css/base'.$random.'.css';

                        Donc l'inclusion dans le< head> html du fichier de contenu :

                        <?php
                        $random = mt_rand(2,5);
                        $css= '/jscss/css/base'.$random.'.css';
                        ?>
                        <link rel="stylesheet"  href="<?php echo $css; ?>">



                        -
                        Edité par Lucky13 22 octobre 2016 à 20:14:45

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          22 octobre 2016 à 21:51:24

                          Passons maintenant coté jquery(javascript)...

                          Ca sera un peu compliqué mais bon, suit les étapes pas a pas Mais j'avoue que le PHP est plus simple :( o:) :D

                          1ere etape(la plus fatigante ;) ): telecharge le fichier suivant:

                          https://code.jquery.com/jquery-3.1.1.min.js

                          copie l'integralité du code (Ctrl + a pour tout selectionner) et copie le dans un fichier que tu nommera "jquery.js" ... Cela te permet de charger le Framework :p

                          et met le dans le meme dossier que le fichier principal

                          2eme etape : ecrit le script suivant dans ton html tout en bas de la page avant la fermeture du body cad avant </body> :

                          <script type="text/javascript" src="jquery.js"></script>
                          <script type="text/javascript">
                          function getRandomIntInclusive(min, max) {
                              min = Math.ceil(min);
                              max = Math.floor(max);
                              return Math.floor(Math.random() * (max - min +1)) + min;
                          }
                          //cette fonction genere le nombre compris entre min et max
                          function recup_href()//une fonction a appeller chaque x de seonde
                          {
                              var nbr_aleatoire = getRandomIntInclusive(1, 4);
                              $('#icon_onglet').attr("href", "/jscss/css/base" + nbr_aleatoire + ".css");
                          }
                          setInterval(recup_href, 600000);//600000 représente 10 minutes
                          //Avec setInterval, tu appelle la fonction recup_href a chaque
                          			// x de secondes souhaitées sachant que le nombre
                          			//1000 est exprimé en milisecondes... ca veut dire que si
                          			//tu veux changer de fichier css chaque 10 minutes, tu fait 
                          			// 600000 etc... pour convertir, google est ton ami 
                          		</script>


                          jespere que ca ta aidé... si tu réalise les étapes, tu y arrivera... l'avantage de cette methode est de :

                          changer le fichier css meme sans le rechargement de la page...

                          En plus, celle de Lucky13, c'est lors du chargement de la page, mais elle ne le fait pas au court de la visite...

                          ce que je veux dire c'est que avec le PHP on met un fichier CSS aléatoire et basta.... Mais imagine que le visiteur reste plus de 20 minutes sur la page, c'est la que intervient le jquery qui, meme sans rechargement de la page, change de fichier css! c'est magique.


                          essaye le code et si ca marche, met plutot un temps de 5000 (5s) et tu verra le resultat toi meme sans que tu recharge la page 

                          allez... bonne chance

                          repond moi dans les meilleurs delais comme ca si il y a un probleme... je repond ;P

                          -
                          Edité par Anonyme 22 octobre 2016 à 21:52:31

                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 octobre 2016 à 21:57:46

                            Oui mais charger des dizaines de kilos (80ko en 3.0)avec jQuery juste faire cela, je pense que tu vas faire polémique  dans le forum JS :D d'ailleurs c'est tout simplement faisable en pure JS...

                            Bref je pense que c'est lors de la première connexion au site que l'on défini le Template, donc côté serveur. Si c'est au hasard de chaque page alors le visiteur va fuir....

                            -
                            Edité par Lucky13 22 octobre 2016 à 22:00:21

                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 octobre 2016 à 12:29:44

                              rayan BS et Lucky13 merci pour vos différence. francheent vous me sauvez la vie. L'option php de Lucky13 je l'ai déja essayé ça et ça marche. celle de rayan, j'ai un peu de mal à l'implémenté. en fait voici un bout de code html dans lequel j'ai testé chacune des deux options

                               
                              <!DOCTYPE html>
                              <head>
                              <meta charset="UTF-8" />
                              <title>Changer mon design de façon al&eacute;atoire code by Lucky13 & rayanBS</title>
                              </head>
                              <body>
                              	<div id="toutlesite">
                              		<header>
                              			<div id="zonelogo-banque"></div>
                              		</header>
                              
                              		<h1>Rafraichir la page pour changer le style: </h1>
                              
                              
                              	</div>
                               
                              
                               <footer></footer>
                              
                              <script type="text/javascript" src="jquery.js"></script>
                              <script type="text/javascript">
                              function getRandomIntInclusive(min, max) {
                              min = Math.ceil(min);
                              max = Math.floor(max);
                              return Math.floor(Math.random() * (max - min +1)) + min;
                              }
                              //cette fonction genere le nombre compris entre min et max
                              function recup_href()//une fonction a appeller chaque x de seonde
                              {
                              var nbr_aleatoire = getRandomIntInclusive(1, 4);
                              $('#icon_onglet').attr("href", "/jscss/css/base" + nbr_aleatoire + ".css");
                              }
                              setInterval(recup_href, 5000);
                              </script>
                              </body> </html>

                              excuse pour la question mais je suis bien nul en JS. Où se trouve mon erreur, pourquoi cela ne marche pas?

                              • Partager sur Facebook
                              • Partager sur Twitter

                              merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                              Anonyme
                                23 octobre 2016 à 14:42:35

                                Bonjour et bon dimanche...

                                J'ai vu ce que tu as fait mais c'est bourré d'erreurs... dans le script, on ne met pas de <br> (deja c'est <br/>), ca ne sert a rien...

                                en plus, tu n'a pas copié le code que je t'ai fourni totalement...

                                et ensuite, tu as oublié le link en haut de la page...

                                Pour finir, je t'offre le code source précédent corrigé et qui marche car je l'ai testé...

                                <!DOCTYPE html>
                                <head>
                                <meta charset="UTF-8" />
                                <title>Changer mon design de façon al&eacute;atoire code by Lucky13 &amp; rayanBS</title>
                                <link id="icon_onglet" rel="stylesheet" type="text/css" href="">
                                </head>
                                <body>
                                    <div id="toutlesite">
                                        <header>
                                            <div id="zonelogo-banque"></div>
                                        </header>
                                 
                                        <h1>Rafraichir la page pour changer le style: </h1>
                                 
                                 
                                    </div>
                                  
                                 
                                 <footer></footer>
                                 
                                <script type="text/javascript" src="jquery.js"></script>
                                <script type="text/javascript">
                                function getRandomIntInclusive(min, max) {
                                    min = Math.ceil(min);
                                    max = Math.floor(max);
                                    return Math.floor(Math.random() * (max - min +1)) + min;
                                }
                                function recup_href()
                                {
                                    var nbr_aleatoire = getRandomIntInclusive(1, 4);
                                    $('#icon_onglet').attr("href", "/jscss/css/base" + nbr_aleatoire + ".css");
                                }
                                recup_href();
                                setInterval(recup_href, 5000);
                                        </script>
                                </body>
                                </html>

                                assure toi d'avoir copié le code du lien suivant
                                https://code.jquery.com/jquery-3.1.1.min.js

                                et de coller le contenu dans un nouveau fichier, que tu l'as enregistré sous le nom jquery.js dans le meme dossier que cette page html... et que le dossier

                                /jscss/css/ existe et contient bien les 4 fichiers

                                "/jscss/css/base1.css"
                                "/jscss/css/base2.css"
                                "/jscss/css/base3.css"
                                "/jscss/css/base4.css"

                                fait cette etape si tu ne la pas faite auparavant et copie le code et patiente 5 a 15 secondes sur la page web et ca marchera...

                                PS: si ca marche... modifie le nombre de seconde pour definir a chaque combien de seconde le fichier css doit changer...

                                Pour conclure, PHP réalise la tache (met un fichier css aléatoirement lors du chargement)...

                                Jquery le fait et si le visiteur reste x secondes sur le site, le css changera sans réfraichissement... c'est plus dur mais c'est dynamique :!!!!!!

                                A+

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  23 octobre 2016 à 15:00:30

                                  jQuery pèse quand même plus de 80Ko, sa fait beaucoup juste pour cela non? surtout qu'il n'est utilisé que pour cette ligne :

                                  $('#icon_onglet').attr("href", "/jscss/css/base" + nbr_aleatoire + ".css");

                                  Enfin avis personnel à l'OP, je ne suis pas sûr que changer le thème périodiquement  soit une bonne chose pour l'utilisateur. Je pense qu'avoir un thème aléatoire qui soit identique lors de la visite soit plus raisonnable. Après cela reste du gadget, mais ça c'est à toi de voir...

                                  Enfin si tu souhaites réellement un changement dans le temps, que l'on change de page ou non alors oui c'est bien en JS.

                                  Enfin cela te donne un e1ère expérience avec jquery... 

                                  -
                                  Edité par Lucky13 23 octobre 2016 à 15:03:07

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 octobre 2016 à 16:42:46

                                    Youpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiie Merci les gars. c'est super. les deux solutions c'est du lourd et ça marche. Euuuh besoin encore de votre coup de main ici 

                                    https://openclassrooms.com/forum/sujet/mes-post-ne-passent-pas-avec-ajax-pour-mon-php?page=1#message-91349666   :)

                                    -
                                    Edité par Sghislain 23 octobre 2016 à 21:12:14

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                                    Anonyme
                                      23 octobre 2016 à 22:02:13

                                      Super ... :):D:p

                                      bon je vais essayer de t'aider sur l'autre sujet dans ce cas....

                                      Mais j'ai une question... Ma technique marche t elle tres bien..? du genre a tu essayé de mettre 5000 secondes et ca a marché...

                                      Je sais je m'inquiete trop mais bon j'ai écrit le code sans l'essayer moi meme donc j'ai envie de savoir si sa marche...

                                      Vasy A+

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        23 octobre 2016 à 23:41:25

                                        Ta technique marche très bien le design change à chaque 5secondes. Des que je met le site en ligne je te passe la l'adresse en privé. Merci :)
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        merci pour votre coup de main. Il me sera très utile. visitez ma page Websoft-Enterprise

                                        Anonyme
                                          24 octobre 2016 à 13:04:17

                                          Ok super Content de voir que ma technique marche :D

                                          passe le moi , oui j'ai bien envie de le voir de mes yeux

                                          .... SLT

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          comment changer le design du site aléatoirement

                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                          • Editeur
                                          • Markdown