[résolu] horaire de début / horaire de fin

Développement, conception de sites web, PHP, (X)HTML, ASP, Ajax, CSS, Javascript, Flash, MySQL, et autres ont leurs entrées dans cette section. On peut aussi parler d'hébergement, de maintenance, de sécurité...

Modérateur: Modérateurs

[résolu] horaire de début / horaire de fin

Messagepar 1suisse » 17 Juil 2007 21:49

salut.

je cherche à faire un menu déroulant avec des heures, et à côté, un 2e menu déroulant qui va afficher l'heure +1.

par-exemple, les 2 menus déroulants sont sur "0:00". je choisis 11:00 dans le premier, hop, ca me met 12:00 dans le 2e.

faisable en javascript/php simplement ? merci.
Dernière édition par 1suisse le 18 Juil 2007 17:41, édité 1 fois.
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar Falkra » 17 Juil 2007 21:52

Bonsoir, pour afficher l'heure, facile :

Code: Tout sélectionner
<SCRIPT>
Today = new Date;
Heure = Today.getHours();
Min = Today.getMinutes();
Message = "Il est " + Heure + "h" + Min + "m";
</SCRIPT>


Code: Tout sélectionner
<SCRIPT>
document.write(Message);
</SCRIPT>


Source :
http://www.editeurjavascript.com/scripts/scripts_temps_2_22.php

Pour ajouter une heure :
Code: Tout sélectionner
Heure = Today.getHours()+1;

dans la fonction, j'ai testé ça marche.

Reste à interfacer ça dans tes menus, là je vois moins clair.
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 24424
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1

Messagepar 1suisse » 18 Juil 2007 07:19

hé hé merci, ms ce n'est pas du tout ce que je cherche.

disons que j'ai ça (c'est joli):
http://www.java2s.com/Code/JavaScript/G ... Picker.htm
(try example)

ensuite, à côté, dans un deuxième champ, j'ai automatiquement la valeur +1h qui se met.

mais ca peut etre un simple menu déroulant dans lequel on choisi 11:00 parexemple, et dans le 2e menu déroulant, paf, ca indique 12:00.

merCIao.
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Re: [javascript] horaire de début / horaire de fin

Messagepar jean@adimp.ch » 18 Juil 2007 08:21

Salut,

1suisse a écrit:
faisable en javascript/php simplement ? merci.


Oui, très faisable.

A+.
Meilleures salutations.

Jean Tinguely Awais.
un mélange entre un schtroumpf et droopy http://www.schtroopy.com
Mon firewall windows préféré : http://www.t-servi.com/ftp/spf.exe
Avatar de l’utilisateur
jean@adimp.ch
Libellulien Junior
Libellulien Junior
 
Messages: 361
Inscription: 07 Oct 2005 08:45

Messagepar 1suisse » 18 Juil 2007 08:31

hi hi excellent ca faisait longtemps qu'on me l'avait pas faite celle-ci. et comment fait-on ?
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar jean@adimp.ch » 18 Juil 2007 09:16

Salut,
Code: Tout sélectionner
<html>
<HEAD>
  <STYLE>
    input {     
      font-size:11px;
    }
  </STYLE>
</HEAD>
<SCRIPT>


/*///////////The following is from   Sihui Wu <sihuiwsh>////


Dear Webmaster,

I discovered a bug in the javascript published on your
website for

http://www.java2s.com/Code/JavaScript/GUI-Components/FancyTimePicker.htm

the owner has written a very good script for free
usage, however, the lines

hideElement( 'SELECT',
document.getElementById("calendar") );
hideElement( 'APPLET',
document.getElementById("calendar") );   

should be changed to

hideElement( 'SELECT',
document.getElementById("timepicker") );
hideElement( 'APPLET',
document.getElementById("timepicker") ); 

failure to do so leads to page error on internet
explorer 6, when 2 or more timepicker were used on the
same page. Most importantly, the function
"hideElement" will fail, leading to incorrect display
on internet explorer 6.


Testing on internet explorer 7 managed to display the
timepicker div correctly (above the select), but page
error is still prompted.

Thank you for sharing the javascript. Attached is the
corrected script.

Regards,
Wu Sihui

*/
/////////////////////////////////Here is the fix from Sihui Wu
/////////////////////////////////Here is the fix from Sihui Wu
/////////////////////////////////Here is the fix from Sihui Wu
/////////////////////////////////Here is the fix from Sihui Wu
/*
  var imagePath='../images/';
 
  var ie=document.all;
  var dom=document.getElementById;
  var ns4=document.layers;
  var bShow=false;
  var textCtl;

  function setTimePicker(t) {
    textCtl.value=t;
    closeTimePicker();
  }

  function refreshTimePicker(mode) {
   
    if (mode==0)
      {
        suffix="AM";
      }
    else
      {
        suffix="PM";
      }

    sHTML = "<table><tr><td><table>";
    for (i=0;i<12;i++) {

      sHTML+="<tr>";

      if (i==0) {
        hr = 12;
      }
      else {
        hr=i;
      } 

      for (j=0;j<4;j++) {
        sHTML+="<td><a>" + hr + ":"+padZero(j*15) +"&nbsp;"+ "<font>" + suffix + "&nbsp;</font></a></td>";
      }

      sHTML+="</tr>";
    }
    sHTML += "</table></td></tr></table>";
    document.getElementById("timePickerContent").innerHTML = sHTML;
  }

  if (dom){
    document.write ("<div><table><tr><td><table><tr><td><B>&nbsp;Select&nbsp;Time </B></td><td>
<img></td><td><img></td><td>&nbsp;<img>&nbsp;</td></tr></table>
</td></tr><tr><td><span></span></td></tr></table></div>");
    refreshTimePicker(0);
  }

  var crossobj=(dom)?document.getElementById("timepicker").style : ie? document.all.timepicker : document.timepicker;
  var currentCtl

  function selectTime(ctl,ctl2) {
    var leftpos=0
    var toppos=0

    textCtl=ctl2;
    currentCtl = ctl
    currentCtl.src=imagePath + "timepicker2.gif";

    aTag = ctl
    do {
      aTag = aTag.offsetParent;
      leftpos  += aTag.offsetLeft;
      toppos += aTag.offsetTop;
    } while(aTag.tagName!="BODY");
    crossobj.left =  ctl.offsetLeft  + leftpos
    crossobj.top = ctl.offsetTop +  toppos + ctl.offsetHeight +  2
    crossobj.visibility=(dom||ie)? "visible" : "show"
    hideElement( 'SELECT', document.getElementById("timepicker") );
    hideElement( 'APPLET', document.getElementById("timepicker") );     
    bShow = true;
  }

  // hides <select> and <applet> objects (for IE only)
  function hideElement( elmID, overDiv ){
    if( ie ){
      for( i = 0; i < document.all.tags( elmID ).length; i++ ){
        obj = document.all.tags( elmID )[i];
        if( !obj || !obj.offsetParent ){
            continue;
        }
          // Find the element's offsetTop and offsetLeft relative to the BODY tag.
          objLeft   = obj.offsetLeft;
          objTop    = obj.offsetTop;
          objParent = obj.offsetParent;
          while( objParent.tagName.toUpperCase() != "BODY" )
          {
          objLeft  += objParent.offsetLeft;
          objTop   += objParent.offsetTop;
          objParent = objParent.offsetParent;
          }
          objHeight = obj.offsetHeight;
          objWidth = obj.offsetWidth;
          if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
          else if(( overDiv.offsetTop + overDiv.offsetHeight ) <objTop>= ( objTop + objHeight + obj.height ));
          else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
          else
          {
          obj.style.visibility = "hidden";
          }
      }
    }
  }
     
  //unhides <select> and <applet> objects (for IE only)
  function showElement( elmID ){
    if( ie ){
      for( i = 0; i < document.all.tags( elmID ).length; i++ ){
        obj = document.all.tags( elmID )[i];
        if( !obj || !obj.offsetParent ){
            continue;
        }
        obj.style.visibility = "";
      }
    }
  }

  function closeTimePicker() {
    crossobj.visibility="hidden"
    showElement( 'SELECT' );
    showElement( 'APPLET' );
    currentCtl.src=imagePath + "timepicker.gif"
  }

  document.onkeypress = function hideTimePicker1 () {
    if (event.keyCode==27){
      if (!bShow){
        closeTimePicker();
      }
    }
  }

  function isDigit(c) {
   
    return ((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9'))
  }

  function isNumeric(n) {
   
    num = parseInt(n,10);

    return !isNaN(num);
  }

  function padZero(n) {
    v="";
    if (n<10){
      return ('0'+n);
    }
    else
    {
      return n;
    }
  }

  function validateDatePicker(ctl) {

    t=ctl.value.toLowerCase();
    t=t.replace(" ","");
    t=t.replace(".",":");
    t=t.replace("-","");

    if ((isNumeric(t))&&(t.length==4))
    {
      t=t.charAt(0)+t.charAt(1)+":"+t.charAt(2)+t.charAt(3);
    }

    var t=new String(t);
    tl=t.length;

    if (tl==1 ) {
      if (isDigit(t)) {
        ctl.value=t+":00 am";
      }
      else {
        return false;
      }
    }
    else if (tl==2) {
      if (isNumeric(t)) {
        if (parseInt(t,10)<13){
          if (t.charAt(1)!=":") {
            ctl.value= t + ':00 am';
          }
          else {
            ctl.value= t + '00 am';
          }
        }
        else if (parseInt(t,10)==24) {
          ctl.value= "0:00 am";
        }
        else if (parseInt(t,10)<24) {
          if (t.charAt(1)!=":") {
            ctl.value= (t-12) + ':00 pm';
          }
          else {
            ctl.value= (t-12) + '00 pm';
          }
        }
        else if (parseInt(t,10)<60>=3) {

      var arr = t.split(":");
      if (t.indexOf(":") > 0)
      {
        hr=parseInt(arr[0],10);
        mn=parseInt(arr[1],10);

        if (t.indexOf("pm")>0) {
          mode="pm";
        }
        else {
          mode="am";
        }

        if (isNaN(hr)) {
          hr=0;
        } else {
          if (hr>24) {
            return false;
          }
          else if (hr==24) {
            mode="am";
            hr=0;
          }
          else if (hr>12) {
            mode="pm";
            hr-=12;
          }
        }
     
        if (isNaN(mn)) {
          mn=0;
        }
        else {
          if (mn>60) {
            mn=mn%60;
            hr+=1;
          }
        }
      } else {

        hr=parseInt(arr[0],10);

        if (isNaN(hr)) {
          hr=0;
        } else {
          if (hr>24) {
            return false;
          }
          else if (hr==24) {
            mode="am";
            hr=0;
          }
          else if (hr>12) {
            mode="pm";
            hr-=12;
          }
        }

        mn = 0;
      }
     
      if (hr==24) {
        hr=0;
        mode="am";
      }
      ctl.value=hr+":"+padZero(mn)+" "+mode;
    }
  }
*/
/////////////////// Here is the original which is from Tan Ling wee
/////////////////// Here is the original which is from Tan Ling wee
/////////////////// Here is the original which is from Tan Ling wee
/////////////////// Here is the original which is from Tan Ling wee
///////////////////  Here is the original which is from Tan Ling wee



//  Written by Tan Ling wee
//  on 19 June 2005
//  email :  info@sparrowscripts.com
//    url : www.sparrowscripts.com

  var imagePath='timePickerImages/';
 
  var ie=document.all;
  var dom=document.getElementById;
  var ns4=document.layers;
  var bShow=false;
  var textCtl;

  function setTimePicker(t) {
    textCtl.value=t;
    closeTimePicker();
  }

  function refreshTimePicker(mode) {
   
    if (mode==0)
      {
        suffix="am";
      }
    else
      {
        suffix="pm";
      }

    sHTML = "<table><tr><td><table>";
    for (i=0;i<=11;i++) {

      sHTML+="<tr>";

      if (i==0) {
        hr = 12;
      }
      else {
        hr=i;
      } 

      for (j=0;j<4;j++) {
        sHTML+="<td><a>" + hr + ":"+padZero(j*15) + "<font>" + suffix + "</font></a></td>";
      }

      sHTML+="</tr>";
    }
    sHTML += "</table></td></tr></table>";
    document.getElementById("timePickerContent").innerHTML = sHTML;
  }

  if (dom){
    document.write ("<div><table><tr><td><table><tr><td><B>&nbsp;&nbsp;Select a Time&nbsp;&nbsp;</B></td><td><img></td><td><img></td><td>&nbsp;<img>&nbsp;</td></tr></table>
</td></tr><tr><td><span></span></td></tr></table></div>");
    refreshTimePicker(0);
  }

  var crossobj=(dom)?document.getElementById("timepicker").style : ie? document.all.timepicker : document.timepicker;
  var currentCtl

  function selectTime(ctl,ctl2) {
    var leftpos=0
    var toppos=0

    textCtl=ctl2;
    currentCtl = ctl
    currentCtl.src=imagePath + "timepicker2.gif";

    aTag = ctl
    do {
      aTag = aTag.offsetParent;
      leftpos  += aTag.offsetLeft;
      toppos += aTag.offsetTop;
    } while(aTag.tagName!="BODY");
    crossobj.left =  ctl.offsetLeft  + leftpos
    crossobj.top = ctl.offsetTop +  toppos + ctl.offsetHeight +  2
    crossobj.visibility=(dom||ie)? "visible" : "show"
    hideElement( 'SELECT', document.getElementById("calendar") );
    hideElement( 'APPLET', document.getElementById("calendar") );     
    bShow = true;
  }

  // hides <select> and <applet> objects (for IE only)
  function hideElement( elmID, overDiv ){
    if( ie ){
      for( i = 0; i < document.all.tags( elmID ).length; i++ ){
        obj = document.all.tags( elmID )[i];
        if( !obj || !obj.offsetParent ){
            continue;
        }
          // Find the element's offsetTop and offsetLeft relative to the BODY tag.
          objLeft   = obj.offsetLeft;
          objTop    = obj.offsetTop;
          objParent = obj.offsetParent;
          while( objParent.tagName.toUpperCase() != "BODY" )
          {
          objLeft  += objParent.offsetLeft;
          objTop   += objParent.offsetTop;
          objParent = objParent.offsetParent;
          }
          objHeight = obj.offsetHeight;
          objWidth = obj.offsetWidth;
          if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
          else if(( overDiv.offsetTop + overDiv.offsetHeight ) <objTop>= ( objTop + objHeight + obj.height ));
          else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
          else
          {
          obj.style.visibility = "hidden";
          }
      }
    }
  }
     
  //unhides <select> and <applet> objects (for IE only)
  function showElement( elmID ){
    if( ie ){
      for( i = 0; i < document.all.tags( elmID ).length; i++ ){
        obj = document.all.tags( elmID )[i];
        if( !obj || !obj.offsetParent ){
            continue;
        }
        obj.style.visibility = "";
      }
    }
  }

  function closeTimePicker() {
    crossobj.visibility="hidden"
    showElement( 'SELECT' );
    showElement( 'APPLET' );
    currentCtl.src=imagePath + "timepicker.gif"
  }

  document.onkeypress = function hideTimePicker1 () {
    if (event.keyCode==27){
      if (!bShow){
        closeTimePicker();
      }
    }
  }

  function isDigit(c) {
   
    return ((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9'))
  }

  function isNumeric(n) {
   
    num = parseInt(n,10);

    return !isNaN(num);
  }

  function padZero(n) {
    v="";
    if (n<10){
      return ('0'+n);
    }
    else
    {
      return n;
    }
  }

  function validateDatePicker(ctl) {

    t=ctl.value.toLowerCase();
    t=t.replace(" ","");
    t=t.replace(".",":");
    t=t.replace("-","");

    if ((isNumeric(t))&&(t.length==4))
    {
      t=t.charAt(0)+t.charAt(1)+":"+t.charAt(2)+t.charAt(3);
    }

    var t=new String(t);
    tl=t.length;

    if (tl==1 ) {
      if (isDigit(t)) {
        ctl.value=t+":00 am";
      }
      else {
        return false;
      }
    }
    else if (tl==2) {
      if (isNumeric(t)) {
        if (parseInt(t,10)<13){
          if (t.charAt(1)!=":") {
            ctl.value= t + ':00 am';
          }
          else {
            ctl.value= t + '00 am';
          }
        }
        else if (parseInt(t,10)==24) {
          ctl.value= "0:00 am";
        }
        else if (parseInt(t,10)<24) {
          if (t.charAt(1)!=":") {
            ctl.value= (t-12) + ':00 pm';
          }
          else {
            ctl.value= (t-12) + '00 pm';
          }
        }
        else if (parseInt(t,10)<60>=3) {

      var arr = t.split(":");
      if (t.indexOf(":") > 0)
      {
        hr=parseInt(arr[0],10);
        mn=parseInt(arr[1],10);

        if (t.indexOf("pm")>0) {
          mode="pm";
        }
        else {
          mode="am";
        }

        if (isNaN(hr)) {
          hr=0;
        } else {
          if (hr>24) {
            return false;
          }
          else if (hr==24) {
            mode="am";
            hr=0;
          }
          else if (hr>12) {
            mode="pm";
            hr-=12;
          }
        }
     
        if (isNaN(mn)) {
          mn=0;
        }
        else {
          if (mn>60) {
            mn=mn%60;
            hr+=1;
          }
        }
      } else {

        hr=parseInt(arr[0],10);

        if (isNaN(hr)) {
          hr=0;
        } else {
          if (hr>24) {
            return false;
          }
          else if (hr==24) {
            mode="am";
            hr=0;
          }
          else if (hr>12) {
            mode="pm";
            hr-=12;
          }
        }

        mn = 0;
      }
     
      if (hr==24) {
        hr=0;
        mode="am";
      }
      ctl.value=hr+":"+padZero(mn)+" "+mode;
   if(hr<24)
   {
       document.getElementById('timepicker2').value=(hr+1)+":"+padZero(mn)+" "+mode;
   }
   else
   {
       document.getElementById('timepicker2').value="01:00 am";
   }
    }
  }

</SCRIPT>

<body>
  <table>
    <tr>
      <td><input></td>
      <td><IMG></td>
   <td><input></td>
      <td></td>
    </tr>
  </table>
</body>
</html>



A peu près comme ça.

A+.
Meilleures salutations.

Jean Tinguely Awais.
un mélange entre un schtroumpf et droopy http://www.schtroopy.com
Mon firewall windows préféré : http://www.t-servi.com/ftp/spf.exe
Avatar de l’utilisateur
jean@adimp.ch
Libellulien Junior
Libellulien Junior
 
Messages: 361
Inscription: 07 Oct 2005 08:45

Messagepar 1suisse » 18 Juil 2007 09:24

wow merci.
mais cela ne marche pas.
http://1suisse.com/test.html

c'est peutetre un trop gros script à la base. peutetre juste 2 menus déroulants. je vais chercher avec les mots clé on change javascript select etc.
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar jean@adimp.ch » 18 Juil 2007 10:09

Salut,
Il y a un petit problème d'affichage du code HTML avec le forum. Voici une adresse ou tu pourras tester le script.
http://www.t-servi.com/test_1_suisse.html
Utilise IE pour tester, j'ai pas mis les images.
A+.
Meilleures salutations.

Jean Tinguely Awais.
un mélange entre un schtroumpf et droopy http://www.schtroopy.com
Mon firewall windows préféré : http://www.t-servi.com/ftp/spf.exe
Avatar de l’utilisateur
jean@adimp.ch
Libellulien Junior
Libellulien Junior
 
Messages: 361
Inscription: 07 Oct 2005 08:45

Messagepar Falkra » 18 Juil 2007 10:13

Il faut cocher "désactiver le HTML dans ce message".
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 24424
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1

Messagepar 1suisse » 18 Juil 2007 10:14

ok je vais voir. sinon j'ai éventuellement trouvé la fonction qui permet ce que je voudrais: http://latlcui.unige.ch/ntic/javascript.html
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar 1suisse » 18 Juil 2007 10:15

ah ouais c'est classe ton exemple. bravo.

j'aurais toutefois pas du mettre ce lien au départ en exemple car c'est sympa comme truc mais AM/PM j'aime pas ;-)
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar jean@adimp.ch » 18 Juil 2007 10:36

Salut,
Je suis pas vexé. Vu que t'es pas très fort en javascript, pense à m'associer en tant que consultant pour certains mandats que tu aurais. Si tu es intéressé, fais le moi savoir par mp et je t'enverrais mes tarifs.
A+.
Meilleures salutations.

Jean Tinguely Awais.
un mélange entre un schtroumpf et droopy http://www.schtroopy.com
Mon firewall windows préféré : http://www.t-servi.com/ftp/spf.exe
Avatar de l’utilisateur
jean@adimp.ch
Libellulien Junior
Libellulien Junior
 
Messages: 361
Inscription: 07 Oct 2005 08:45

Messagepar Falkra » 18 Juil 2007 10:38

Ce qui est bien sur les forums, c'est la gratuité. Image
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 24424
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1

Messagepar 1suisse » 18 Juil 2007 14:47

désolé je reviens avec un nouvel exemple, plus parlant:

http://1suisse.com/test.html

si je choisis 14:00 dans l'exemple ci-dessus, j'aimerais que ca indique 15:00 dans le 2e menu déroulant. j'ai écumé les sites, rien trouvé pour cela.

merci da'vance.
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar 1suisse » 18 Juil 2007 16:53

ok voilà ca peut servir à qqn:



<form>
<select name="select1" onchange="this.form.select2.options[this.selectedIndex+1].selected=true;">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select name="select2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</form>
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20

Messagepar jean@adimp.ch » 18 Juil 2007 21:30

Salut,
Et quand le type choisit 3?
A+.
Meilleures salutations.

Jean Tinguely Awais.
un mélange entre un schtroumpf et droopy http://www.schtroopy.com
Mon firewall windows préféré : http://www.t-servi.com/ftp/spf.exe
Avatar de l’utilisateur
jean@adimp.ch
Libellulien Junior
Libellulien Junior
 
Messages: 361
Inscription: 07 Oct 2005 08:45

Messagepar 1suisse » 18 Juil 2007 21:32

t'inquiète, c'est pas le menu que j'utilise. et c'est destiné à 1 personne pour du backoffice, donc aucun problème s'il persiste des "bizarreries".
Avatar de l’utilisateur
1suisse
Modérateur
Modérateur
 
Messages: 3386
Inscription: 19 Fév 2003 16:20


Retourner vers Développement, conception de sites web

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
cron