Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

variables MySql

11 views
Skip to first unread message

docanski

unread,
May 14, 2013, 11:38:59 AM5/14/13
to
Bonjour toutes/tous,

Retirᅵ depuis un bon bout de temps du code destinᅵ au Web, suis obligᅵ
de crᅵer un "chat", avec stockage des messages dans une BdD, Free
refusant ceci dans un fichier tete. Pour ce faire, j'ai rᅵcupᅵrᅵ dans
mes archives une sᅵrie de scripts/pages plus ou moins correctes (enfin,
je pense ...) et envoyᅵ le tout sur site. ᅵa "marche", c'est dᅵjᅵ un bon
point. Nᅵanmoins, j'ai quelques petites problᅵmes, le 1er ᅵtant
essentiellement la profondeur du stockage et son affichage dans la
fenᅵtre du chat : cet affichage se limite aux 2/3 de la fenᅵtre et les
messages les plus anciens disparaissent au fur et ᅵ mesure de l'arrivᅵe
des suivants. Or, dans la BdD (qui ne comporte qu'une table, celle qui
stocke les messages), j'ai une profondeur de stockage bien plus
importante. Mais elle ne s'affiche pas et je ne vois pas pourquoi.
Dans les variables de cette table, j'ai ceci, lors de leur crᅵation :
<code>
`pseudo` VARCHAR(30) NOT NULL,
`message` VARCHAR(255) NOT NULL,
`date` VARCHAR(30) NOT NULL,
`formatage` VARCHAR(10) NOT NULL,
`temp` INT(30) NOT NULL,
</code>
Pour les 4 premiers, pas de problᅵme, j'en comprends l'intᅵrᅵt et la
prᅵsence.
C'est pour le 5ᅵme que je m'interroge et je ne trouve aucune information
sur le web, du moins en franᅵais. Serait-ce celle ᅵ modifier ?

La requᅵte vers la BdD destinᅵe ᅵ l'affichage comporte le code suivant :

<code>
$ide= MYSQL_CONNECT($host_mysql,$user_mysql,$pass_mysql);
mysql_select_db("$bd_mysql");
$tm=microtime();$tm2=explode(" ",$tm);$tm3=$tm2[1];
$query = "DELETE FROM $table WHERE (temp+7777)<$tm3";
mysql_query($query,$ide);
$query = "SELECT * FROM $table ORDER BY id DESC";
$result = mysql_query($query,$ide);
$cpt=0;
while($row = mysql_fetch_row($result))
{
$cpt++;
$coul=substr($row[4],0,1);
$tail=substr($row[4],1,1);
$appa=substr($row[4],2,1);
$msg=$row[2];
if ($appa==1){$msg.=$row2;}
if ($appa==2){$msg2="<B>";$msg2.=$msg;$msg2.="</B>";$msg=$msg2;}
if ($appa==3){$msg2="<I>";$msg2.=$msg;$msg2.="</I>";$msg=$msg2;}
if ($appa==4){$msg2="<U>";$msg2.=$msg;$msg2.="</U>";$msg=$msg2;}
if ($appa==5){$msg2="<STRIKE>";$msg2.=$msg;$msg2.="</STRIKE>";$msg=$msg2;}
if ($coul==1){$msg2='<FONT
COLOR="#000000">';$msg2.=$msg;$msg2.="</FONT>";$msg=$msg2;}
if (snip la suite des couleurs) ...
echo"- <u>$row[1]</u> <font color=\"999999\">[$row[3]]</font> : $msg<br>";
if ($cpt==20) {break;}
}
MYSQL_CLOSE();
?>
</code>

Celle structurant le message est la suivante :

<code>
<?
$ide= MYSQL_CONNECT($host_mysql,$user_mysql,$pass_mysql);
mysql_select_db("$bd_mysql");
$query = "SELECT * FROM $table";
$result = mysql_query($query,$ide);
$taille = "1";
$datime = date("H:i");
$message2 = htmlentities($txt);
$message3 = nl2br($message2);
$formatage=$couleur;
$formatage.=$taille;
$formatage.=$attrib;
$tmp=microtime();$tmp2=explode(" ",$tmp);$tmp3=$tmp2[1];
if ($txt != "" and $pseudo != "")
{
$query = "INSERT INTO $table VALUES
('0','$pseudo','$message3','$datime','$formatage','$tmp3')";
$result = mysql_query($query,$ide);
}
MYSQL_CLOSE();
?>
</code>

Quelqu'un peut me dᅵpanner sur ce coup ?

Cordialement,
--
docanski

Portail et annuaire du nord-Bretagne : http://armorance.free.fr/
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallᅵe de la Rance maritime : http://valderance.free.fr/
Les cᅵtes du nord de la Bretagne : http://docarmor.free.fr/

Olivier Miakinen

unread,
May 14, 2013, 12:34:05 PM5/14/13
to
Bonjour,

Le 14/05/2013 17:38, docanski a ᅵcrit :
>
> [...] cet affichage se limite aux 2/3 de la fenᅵtre et les
> messages les plus anciens disparaissent au fur et ᅵ mesure de l'arrivᅵe
> des suivants. Or, dans la BdD (qui ne comporte qu'une table, celle qui
> stocke les messages), j'ai une profondeur de stockage bien plus
> importante. Mais elle ne s'affiche pas et je ne vois pas pourquoi.
> Dans les variables de cette table, j'ai ceci, lors de leur crᅵation :
> <code>
> `pseudo` VARCHAR(30) NOT NULL,
> `message` VARCHAR(255) NOT NULL,
> `date` VARCHAR(30) NOT NULL,
> `formatage` VARCHAR(10) NOT NULL,
> `temp` INT(30) NOT NULL,
> </code>
> Pour les 4 premiers, pas de problᅵme, j'en comprends l'intᅵrᅵt et la
> prᅵsence.
> C'est pour le 5ᅵme que je m'interroge et je ne trouve aucune information
> sur le web, du moins en franᅵais. Serait-ce celle ᅵ modifier ?

Je n'y connais rien en bases de donnᅵes, mais mon intuition me dit
que la commande DELETE portant sur le champ que tu ne comprends pas
pourrait ᅵtre la raison de la disparition des messages.

Regardons-y de plus prᅵs.

> $tm=microtime();$tm2=explode(" ",$tm);$tm3=$tm2[1];
> $query = "DELETE FROM $table WHERE (temp+7777)<$tm3";

Pour commencer, dᅵcouvrons ensemble la fonction microtime.

<cit. http://fr2.php.net/microtime>
microtime() retourne le timestamp Unix, avec les microsecondes. Cette
fonction est uniquement disponible sur les systᅵmes qui supportent la
fonction gettimeofday().

Par dᅵfaut, microtime() retourne une chaᅵne de caractᅵres au format
"msec sec", oᅵ sec est le temps courant mesurᅵ en nombre de secondes
depuis l'ᅵpoque Unix (1 Janvier 1970, 00:00:00 GMT), et msec est le
nombre de microsecondes qui se sont ᅵcoulᅵes depuis sec exprimᅵ en
secondes.
</cit.>

Si $tm est le rᅵsultat de microtime, alors $tm2 est un tableau dont
la seconde valeur est le nombre de secondes depuis l'origine des
temps, et $tm3 est justement ce nombre de secondes.

Et donc, si l'entrᅵe a ᅵtᅵ crᅵᅵe avec un code similaire (ce qui semble
ᅵtre le cas si j'en crois la commande INSERT plus loin dans le code),
le code commence par virer tous les messages vieux de plus de 7777
secondes, soit un peu plus de deux heures (2 h 9 mn 37 s sauf erreur).

Si tu vires ce DELETE ou si tu mets un nombre de secondes plus grand
que 7777, ᅵa devrait changer le comportempent.


Cordialement,
--
Olivier Miakinen

docanski

unread,
May 14, 2013, 12:42:48 PM5/14/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 14/05/2013 18:34 :
> Bonjour,

Salut Olivier !

> Et donc, si l'entrᅵe a ᅵtᅵ crᅵᅵe avec un code similaire (ce qui semble
> ᅵtre le cas si j'en crois la commande INSERT plus loin dans le code),
> le code commence par virer tous les messages vieux de plus de 7777
> secondes, soit un peu plus de deux heures (2 h 9 mn 37 s sauf erreur).
> Si tu vires ce DELETE ou si tu mets un nombre de secondes plus grand
> que 7777, ᅵa devrait changer le comportempent.

C'est ce que je pensais au dᅵpart et j'avais modifiᅵ ce dᅵlai, pour les
essais.
Mais c'est lakelos et qui m'interpelle : malgrᅵ sa longueur, la totalitᅵ
des messages n'est pas affichᅵe dans la fenᅵtre du chat alors qu'elle
est bien prᅵsente pendant plus de 2 heures dans la BdD. Et en disparaᅵt,
ᅵvidemment, une fois le dᅵlai de 7777 secondes dᅵpassᅵ.
J'ai gardᅵ le DELETE, ᅵvidemment, pour ne pas engorger la BdD au delᅵ de
ce dᅵlai.
C'est donc ailleurs que se situe le problᅵme.

Olivier Miakinen

unread,
May 14, 2013, 1:02:05 PM5/14/13
to
Le 14/05/2013 18:42, docanski a ᅵcrit :
>
>> Et donc, si l'entrᅵe a ᅵtᅵ crᅵᅵe avec un code similaire (ce qui semble
>> ᅵtre le cas si j'en crois la commande INSERT plus loin dans le code),
>> le code commence par virer tous les messages vieux de plus de 7777
>> secondes, soit un peu plus de deux heures (2 h 9 mn 37 s sauf erreur).
>> Si tu vires ce DELETE ou si tu mets un nombre de secondes plus grand
>> que 7777, ᅵa devrait changer le comportempent.
>
> C'est ce que je pensais au dᅵpart et j'avais modifiᅵ ce dᅵlai, pour les
> essais.

Ok.

> Mais c'est lakelos

<https://www.google.fr/search?q=lakelos>
Lake Los Angeles
</>

???

> et qui m'interpelle : malgrᅵ sa longueur, la totalitᅵ
> des messages n'est pas affichᅵe dans la fenᅵtre du chat alors qu'elle
> est bien prᅵsente pendant plus de 2 heures dans la BdD. Et en disparaᅵt,
> ᅵvidemment, une fois le dᅵlai de 7777 secondes dᅵpassᅵ.
> J'ai gardᅵ le DELETE, ᅵvidemment, pour ne pas engorger la BdD au delᅵ de
> ce dᅵlai.
> C'est donc ailleurs que se situe le problᅵme.

Il y a un truc qui me semble bizarre, ᅵ moi qui -- je le rappelle -- ne
gᅵre pas de base de donnᅵes :

$query = "INSERT INTO $table VALUES
('0','$pseudo','$message3','$datime','$formatage','$tmp3')";

Pourquoi y a-t-il six valeurs au lieu de cinq ?


Note que si ta question n'est pas un problᅵme de PHP mais un problᅵme
de sgbd, c'est dans f.c.a.sgbd que tu devrais la poser.

Denis Beauregard

unread,
May 14, 2013, 1:57:12 PM5/14/13
to
Le Tue, 14 May 2013 19:02:05 +0200, Olivier Miakinen
<om+...@miakinen.net> �crivait dans fr.comp.lang.php:

>> Mais c'est lakelos
>
><https://www.google.fr/search?q=lakelos>
>Lake Los Angeles
></>
>
>???

C'est l� qu'est l'os...


Denis

Olivier Miakinen

unread,
May 14, 2013, 5:51:04 PM5/14/13
to
Le 14/05/2013 19:57, Denis Beauregard m'a r�pondu :
>
>>> Mais c'est lakelos
>>
>><https://www.google.fr/search?q=lakelos>
>>Lake Los Angeles
>></>
>>
>>???
>
> C'est l� qu'est l'os...

Ha ! :-D

(je le pronon�ais int�rieurement � l��k l�ce � au lieu de
� la quai losse �)

docanski

unread,
May 15, 2013, 5:37:15 PM5/15/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 14/05/2013 19:02 :

> Il y a un truc qui me semble bizarre, ᅵ moi qui -- je le rappelle -- ne
> gᅵre pas de base de donnᅵes :
>
> $query = "INSERT INTO $table VALUES
> ('0','$pseudo','$message3','$datime','$formatage','$tmp3')";
>
> Pourquoi y a-t-il six valeurs au lieu de cinq ?

Un oubli : c'est une variable abandonnᅵe au cours de la mise au point de
l'affichage.
J'avais oubliᅵ de l'ᅵliminer du code, c'est fait dᅵsormais.
Le problᅵme reste entier : impossible d'afficher tous les messages
stockᅵs dans la BdD.
J'ai observᅵ le comportement du bidule et je constate que le nombre de
messages affichᅵs dans la fenᅵtre du chat est toujours limitᅵ ᅵ 20,
quelle qu'en soit la longueur.
Or, je n'ai aucune restriction de ce genre, ni dans les scripts, ni dans
la BdD.
Ce chiffre mystᅵrieux n'apparaᅵt nulle part.

> Note que si ta question n'est pas un problᅵme de PHP mais un problᅵme
> de sgbd, c'est dans f.c.a.sgbd que tu devrais la poser.

Je ne vois pas en quoi : une table toute simple ne comportant que 5
champs crᅵᅵs au dᅵpart du code que j'ai reproduit dans ma question initiale.
Heeeeelp !

Denis Beauregard

unread,
May 15, 2013, 6:13:47 PM5/15/13
to
Le Wed, 15 May 2013 23:37:15 +0200, docanski
<docanski...@mobistar.be.invalid> �crivait dans
fr.comp.lang.php:

>Je ne vois pas en quoi : une table toute simple ne comportant que 5
>champs cr��s au d�part du code que j'ai reproduit dans ma question initiale.
>Heeeeelp !

Un truc que j'utilise : faire afficher avec phpmyadmin et reprendre le
m�me code. En d'autres mots, par exemple, je demande � phpmyadmin de
modifier tel valeur, puis je reprends son code (il est affich�) et
je l'adapte � mes besoins.

La recette :

Choisir une base
Faire "rechercher"
Modifier un des champs de l'enregistrement trouv� (si on veut)
Recopier le code SQL utilis� avec les changements appropri�s.


Ne pas oublier que ce code est limit� � 30 lignes par phpmyadmin.


Si cela ne fonctionne pas comme phpmyadmin, on a au moins une base
de comparaison. Dans ton cas, pourquoi il sort 20 lignes au lieu de
la quantit� attendue.


Denis

Olivier Miakinen

unread,
May 15, 2013, 6:20:37 PM5/15/13
to
Le 15/05/2013 23:37, docanski a ᅵcrit :
>>
>> $query = "INSERT INTO $table VALUES
>> ('0','$pseudo','$message3','$datime','$formatage','$tmp3')";
>>
>> Pourquoi y a-t-il six valeurs au lieu de cinq ?
>
> Un oubli : c'est une variable abandonnᅵe au cours de la mise au point de
> l'affichage.
> J'avais oubliᅵ de l'ᅵliminer du code, c'est fait dᅵsormais.

Je ne comprends toujours pas comment ᅵa a pu fonctionner : ce ne sont
pas 20 messages qui devraient s'afficher correctement, s'il y a un
dᅵcalage entre l'ᅵcriture et la lecture, mais aucun ! Ou alors, si ce
sont toujours les 20 mᅵmes qui s'affichent, ce sont probablement les
20 pour lesquels le code d'ᅵcriture ᅵtait en phase avec le code de
lecture !

Cela dit, j'ai essayᅵ de suivre ton code pas ᅵ pas, en allant lire la
doc ᅵ chaque fonction. Tout d'abord, il y a ᅵ chaque fois un gros
avertissement sur fond rose pour dire que toutes ces fonctions sont
dᅵprᅵciᅵes. Ensuite, je remarque que tu ne testes jamais le code de
retour de mysql_query(), or cette fonction peut trᅵs bien retourner
FALSE ᅵ la place de la ᅵ ressource ᅵ utilisable par mysql_fetch_row().
Enfin, il faut peut-ᅵtre remplacer $row[1] ᅵ $row[4] par $row[0] ᅵ
$row[3].

> Le problᅵme reste entier : impossible d'afficher tous les messages
> stockᅵs dans la BdD.
> J'ai observᅵ le comportement du bidule et je constate que le nombre de
> messages affichᅵs dans la fenᅵtre du chat est toujours limitᅵ ᅵ 20,
> quelle qu'en soit la longueur.
> Or, je n'ai aucune restriction de ce genre, ni dans les scripts, ni dans
> la BdD.
> Ce chiffre mystᅵrieux n'apparaᅵt nulle part.

C'est toujours 20 ? Ce sont les 20 premiers ou les 20 derniers ?
Si tu ajoutes un nouveau message, il s'affiche et le 20e plus vieux
disparaᅵt ? Ou il ne s'affiche pas et ce sont les 20 mᅵmes qui
s'affichent ? C'est juste un problᅵme ᅵ l'affichage et tu as tous
tes messages dans la base quand tu passes par les outils d'adminis-
tration, ou bien le 20e plus vieux disparaᅵt quand tu en insᅵres un
nouveau ? Quelle est la hauteur de l'Everest ? Tu ne vois pas une
autre question stupide que je pourrais poser ?

>> Note que si ta question n'est pas un problᅵme de PHP mais un problᅵme
>> de sgbd, c'est dans f.c.a.sgbd que tu devrais la poser.
>
> Je ne vois pas en quoi : une table toute simple ne comportant que 5
> champs crᅵᅵs au dᅵpart du code que j'ai reproduit dans ma question initiale.

???

Ta table a beau ᅵtre toute simple (je te crois sur parole, encore une
fois je n'y connais rien et je ne sais pas juger de la simplicitᅵ d'une
table), si c'est un problᅵme de SGBD et pas un problᅵme de PHP il est
logique de poser la question aux experts en SGBD plutᅵt qu'aux experts
en PHP !

C'est comme si tu trouvais normal de demander la recette des ᅵufs en
meurette sur fr.rec.cuisine parce que c'est compliquᅵ, mais que tu
t'adresses ᅵ fr.comp.lang.php pour la recette de l'ᅵuf ᅵ la coque
parce que c'est tout simple...

> Heeeeelp !

Je dooooo ce que je caaaaan.

docanski

unread,
May 15, 2013, 6:42:41 PM5/15/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Denis Beauregard ecrit ce qui suit en ce 16/05/2013 00:13 :

> La recette :
>
> Choisir une base
> Faire "rechercher"
> Modifier un des champs de l'enregistrement trouvᅵ (si on veut)
> Recopier le code SQL utilisᅵ avec les changements appropriᅵs.

La table est rᅵduite ᅵ sa plus simple expression : 5 variables avec une
longueur de champ limitᅵe (varchar) dont la 1ᅵre (id) utilise
l'opᅵrateur "=" et les 4 autres le "LIKE" (varchar(nombre paramᅵtrᅵ)).
Bref, pas de quoi fouetter un chat ... et pas plus de code que de beurre
en branche.
Les champs "Valeur" sont vides.

> Ne pas oublier que ce code est limitᅵ ᅵ 30 lignes par phpmyadmin.

Je ne vois vraiment pas ce que je pourrais y changer.

> Dans ton cas, pourquoi il sort 20 lignes au lieu de
> la quantitᅵ attendue.

Il n'y a aucune variable oᅵ s'affiche ce chiffre 20 sorti de nulle part. :-(
A moins qu'il ne soit possible d'ajouter un champ obligeant SQL ᅵ
afficher la totalitᅵ des messages stockᅵs, je ne vois pas comment m'en
sortir.

docanski

unread,
May 15, 2013, 6:54:33 PM5/15/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 16/05/2013 00:20 :

> Ou alors, si ce
> sont toujours les 20 mᅵmes qui s'affichent, ce sont probablement les
> 20 pour lesquels le code d'ᅵcriture ᅵtait en phase avec le code de
> lecture !

Ah non ! pas du tout ! le 21ᅵme message affichᅵ provoque la disparition
du 1er, le 22ᅵme du suivant, etc ... de sorte qu'il ne reste jamais plus
de 20 messages dans la fenᅵtre.

> Cela dit, j'ai essayᅵ de suivre ton code pas ᅵ pas, en allant lire la
> doc ᅵ chaque fonction. Tout d'abord, il y a ᅵ chaque fois un gros
> avertissement sur fond rose pour dire que toutes ces fonctions sont
> dᅵprᅵciᅵes.

C'est du vieux code rᅵcupᅵrᅵ dans les fonds de tiroir, j'avais prᅵvenu ;-)
Mais je n'ai pas eu de message d'erreur en retour quand j'ai installᅵ le
bouzin.

> C'est toujours 20 ? Ce sont les 20 premiers ou les 20 derniers ?
> Si tu ajoutes un nouveau message, il s'affiche et le 20e plus vieux
> disparaᅵt ?

Oui.

Ou il ne s'affiche pas et ce sont les 20 mᅵmes qui
> s'affichent ? C'est juste un problᅵme ᅵ l'affichage et tu as tous
> tes messages dans la base quand tu passes par les outils d'adminis-
> tration, ou bien le 20e plus vieux disparaᅵt quand tu en insᅵres un
> nouveau ?

Oui.

> Quelle est la hauteur de l'Everest ? Tu ne vois pas une
> autre question stupide que je pourrais poser ?

Une question n'est jamais stupide. Seule la rᅵponse peut l'ᅵtre :-)

> Ta table a beau ᅵtre toute simple (je te crois sur parole, encore une
> fois je n'y connais rien et je ne sais pas juger de la simplicitᅵ d'une
> table), si c'est un problᅵme de SGBD et pas un problᅵme de PHP il est
> logique de poser la question aux experts en SGBD plutᅵt qu'aux experts
> en PHP !

Sauf que ne dᅵtectant aucune anomalie frappante (vu la simplicitᅵ de
celle-ci) dans la table, je n'envisage, peut-ᅵtre ᅵ tort, que la
possibilitᅵ d'un problᅵme PHP. Une commande (query) oubliᅵe, peut-ᅵtre ?
Mais comment la crᅵer ?

> Je dooooo ce que je caaaaan.

Tu caaaaan beaucoup plus que ce que je peux doooooer ;-)

docanski

unread,
May 15, 2013, 6:58:09 PM5/15/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, docanski ecrit ce qui suit en ce 16/05/2013 00:54 :

> Ou il ne s'affiche pas et ce sont les 20 mᅵmes qui
>> s'affichent ? C'est juste un problᅵme ᅵ l'affichage et tu as tous
>> tes messages dans la base quand tu passes par les outils d'adminis-
>> tration, ou bien le 20e plus vieux disparaᅵt quand tu en insᅵres un
>> nouveau ?
>
> Oui.

Heu ... j'ai rᅵpondu trop vite.
Tous les messages sont stockᅵs dans la base pendant le temps paramᅵtrᅵ :
7777 ms
Les plus anciens sont ᅵliminᅵs au fur et ᅵ mesure du dᅵpassement de ce
paramᅵtre.

Olivier Miakinen

unread,
May 15, 2013, 7:21:04 PM5/15/13
to
Le 16/05/2013 00:58, docanski a �crit :
>
>> Ou il ne s'affiche pas et ce sont les 20 m�mes qui
>>> s'affichent ? C'est juste un probl�me � l'affichage et tu as tous
>>> tes messages dans la base quand tu passes par les outils d'adminis-
>>> tration, ou bien le 20e plus vieux dispara�t quand tu en ins�res un
>>> nouveau ?
>>
>> Oui.
>
> Heu ... j'ai r�pondu trop vite.
> Tous les messages sont stock�s dans la base pendant le temps param�tr� :
> 7777 ms
> Les plus anciens sont �limin�s au fur et � mesure du d�passement de ce
> param�tre.

Oui, ok pour cela. Mais quand tu ins�res (mettons) 40 messages en moins
de 7777 secondes, tu en vois bien 40 dans mysqladmin, et seulement 20
via ton programme PHP ?

docanski

unread,
May 16, 2013, 4:39:40 AM5/16/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 16/05/2013 01:21 :

> Oui, ok pour cela. Mais quand tu insᅵres (mettons) 40 messages en moins
> de 7777 secondes, tu en vois bien 40 dans mysqladmin, et seulement 20
> via ton programme PHP ?

Ben oui, il me semble avoir ᅵtᅵ explicite au sujet de cette anomalie :
elle est la raison de mon questionnement. Me serais-je mal exprimᅵ ?
J'ajoute que rien ne laisse supposer que mysqladmin bloque ces messages.
En tout cas je n'y dᅵcᅵle aucune commande ou limitation dans ce sens.

Cordialement,

Olivier Miakinen

unread,
May 16, 2013, 5:48:14 AM5/16/13
to
Bonjour,

Le 16/05/2013 10:39, docanski a ᅵcrit :
>
>> Oui, ok pour cela. Mais quand tu insᅵres (mettons) 40 messages en moins
>> de 7777 secondes, tu en vois bien 40 dans mysqladmin, et seulement 20
>> via ton programme PHP ?
>
> Ben oui, il me semble avoir ᅵtᅵ explicite au sujet de cette anomalie :
> elle est la raison de mon questionnement. Me serais-je mal exprimᅵ ?

Je ne me permettrais pas de penser que tu t'es mal exprimᅵ, alors
que c'est moi qui n'y connais pas grand-chose : j'ai probablement
loupᅵ une explication par manque de vocabulaire. Par exemple je ne
sais pas ce que signifie l'expression ᅵ profondeur de stockage ᅵ
que tu emploies dans ton premier article.

> J'ajoute que rien ne laisse supposer que mysqladmin bloque ces messages.

mysqladmin, c'est bien l'outil d'administration qui ne passe pas par
ton script PHP ? Si oui, je ne comprends pas ta remarque parce qu'il
m'avais semblᅵ que tu disais que justement les messages n'ᅵtaient *pas*
bloquᅵs par mysqladmin, mais qu'ils l'ᅵtaient par ton script.

> En tout cas je n'y dᅵcᅵle aucune commande ou limitation dans ce sens.

Est-ce qu'il t'est possible de faire ce que suggᅵrait Denis Beauregard,
ᅵ savoir tester des requᅵtes exactement identiques dans ton code et dans
mysqladmin pour pointer les diffᅵrences ?

Olivier Miakinen

unread,
May 16, 2013, 6:30:01 AM5/16/13
to
Dans la série « le béotien découvre les SGBD et tente de deviner ce
que ça fait », je continue ma lecture de ton code...

Le 14/05/2013 17:38, docanski a écrit :
>
> <code>
> `pseudo` VARCHAR(30) NOT NULL,
> `message` VARCHAR(255) NOT NULL,
> `date` VARCHAR(30) NOT NULL,
> `formatage` VARCHAR(10) NOT NULL,
> `temp` INT(30) NOT NULL,
> </code>

Puis :
>
> $query = "SELECT * FROM $table ORDER BY id DESC";
> $result = mysql_query($query,$ide);

Je suppose que « ORDER BY id DESC » signifie que les réponses doivent
être triées selon la valeur du champ 'id', non ? Ce champ 'id' ne
serait-il pas celui que tu as supprimé (tu m'as dit être passé de 6
champs à 5 champs) ?

> $cpt=0;
> while($row = mysql_fetch_row($result))

Je ne crois pas que tu m'aies répondu sur le fait de tester ou non
le fait que $result puisse valoir FALSE. Ni sur la réindexation des
$row[]. Si tu as changé ton code, il serait peut-être temps de
publier la version actuelle, avec corrections.

> [...]
>
> Celle structurant le message est la suivante :
>
> <code>
> <?
> $ide= MYSQL_CONNECT($host_mysql,$user_mysql,$pass_mysql);
> mysql_select_db("$bd_mysql");
> $query = "SELECT * FROM $table";
> $result = mysql_query($query,$ide);
> [...]
> $query = "INSERT INTO $table VALUES
> ('0','$pseudo','$message3','$datime','$formatage','$tmp3')";
> $result = mysql_query($query,$ide);

À quoi sert le « SELECT * FROM $table » ? Non seulement tu ne testes
pas le $result correspondant, mais en plus tu ne l'utilises même pas.

docanski

unread,
May 16, 2013, 6:38:03 AM5/16/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 16/05/2013 11:48 :
> Bonjour,

Salut Olivier,

> Je ne me permettrais pas de penser que tu t'es mal exprimᅵ, alors
> que c'est moi qui n'y connais pas grand-chose : j'ai probablement
> loupᅵ une explication par manque de vocabulaire. Par exemple je ne
> sais pas ce que signifie l'expression ᅵ profondeur de stockage ᅵ
> que tu emploies dans ton premier article.

Tu ne manques vraiment pas de vocabulaire mais peut-ᅵtre me suis-je mal
exprimᅵ, faute de savoir, peut-ᅵtre, quels sont les termes exacts ᅵ
employer dans le jargon SQL et les autres joyeusetᅵs qui l'accompagnent.
Lorsque je parle de profondeur de stockage, je me rᅵfᅵre ᅵ la notion de
temps. Si le paramᅵtre "temps" est rᅵglᅵ ᅵ 7777 sec, tous les messages
ᅵmis pendant ce temps sont stockᅵs dans la base.

> mysqladmin, c'est bien l'outil d'administration qui ne passe pas par
> ton script PHP ? Si oui, je ne comprends pas ta remarque parce qu'il
> m'avais semblᅵ que tu disais que justement les messages n'ᅵtaient *pas*
> bloquᅵs par mysqladmin, mais qu'ils l'ᅵtaient par ton script.

Pour ᅵtre exact, c'est la console phpMyAdmin et non mysqladmin qui
permet d'administrer la base. Celle-ci reprend les champs citᅵs dans ma
rᅵponse ᅵ Denis.
Et dans ces champs, je ne vois aucune instruction, aucun paramᅵtre
susceptible de bloquer les messages stockᅵs.

> Est-ce qu'il t'est possible de faire ce que suggᅵrait Denis Beauregard,
> ᅵ savoir tester des requᅵtes exactement identiques dans ton code et dans
> mysqladmin pour pointer les diffᅵrences ?

Sachant que celles-ci ne concernent que la *longueur* des champs
autorisᅵs pour l'utilisateur pour les 4 principales, y compris
l'affichage de la date et de l'heure et que la 5ᅵme ne constituent que
l'enregistrement de l'ID de celui-ci, je ne vois vraiment pas ce qui
pourrait changer quoi que ce soit.
Le seul que j'ai modifiᅵ en connaissance de cause pour remplir jusqu'ᅵ
un maximum de 2 lignes de texte dans l'espace de la fenᅵtre du chat est
celui du message : 375 caractᅵres. "pseudo" en comporte jusqu'ᅵ 30,
"date" ᅵgalement et formatage (couleur + typo choisie pour le texte) en
comporte 10.
Mais j'admets bien volontiers que je suis une buse aussi bien en PHP
qu'en administration de BdD. Peut-ᅵtre ne remarquai-je pas ce qui
sauterait aux yeux de celui qui connaᅵt bien la musique.

Antoine Polatouche

unread,
May 16, 2013, 9:01:10 AM5/16/13
to
Le 14/05/2013 17:38, docanski a écrit :

> $cpt=0;
> while($row = mysql_fetch_row($result))
> {
> $cpt++;
...
> echo"- <u>$row[1]</u> <font color=\"999999\">[$row[3]]</font> : $msg<br>";
> if ($cpt==20) {break;}
> }

Je n'ai lu qu'en vitesse ce fil de discussion, est-ce que tu te demandes
pourquoi ça n'affiche que 20 enregistrements ?
Si oui retire les 3 lignes avec $cpt...

Olivier Miakinen

unread,
May 16, 2013, 9:06:22 AM5/16/13
to
Le 16/05/2013 15:01, Antoine Polatouche a ᅵcrit :
>
>> $cpt=0;
>> while($row = mysql_fetch_row($result))
>> {
>> $cpt++;
> ...
>> echo"- <u>$row[1]</u> <font color=\"999999\">[$row[3]]</font> : $msg<br>";
>> if ($cpt==20) {break;}
>> }
>
> Je n'ai lu qu'en vitesse ce fil de discussion, est-ce que tu te demandes
> pourquoi ᅵa n'affiche que 20 enregistrements ?
> Si oui retire les 3 lignes avec $cpt...

Hahaha ! Bravo !

Je n'ai mᅵme pas cherchᅵ ᅵa, ayant cru sur parole docanski quand il
affirmait :

<news:kn0v6k$2cnr$3...@obelix.gegeweb.org>
[...] toujours limitᅵ ᅵ 20 [...]
Or, je n'ai aucune restriction de ce genre, ni dans les scripts, ni dans
la BdD.
Ce chiffre mystᅵrieux n'apparaᅵt nulle part.
</news>

:-D

docanski

unread,
May 16, 2013, 12:36:28 PM5/16/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 16/05/2013 12:30 :

> Je suppose que ᅵ ORDER BY id DESC ᅵ signifie que les rᅵponses doivent
> ᅵtre triᅵes selon la valeur du champ 'id', non ? Ce champ 'id' ne
> serait-il pas celui que tu as supprimᅵ

Non, il demeure bien et est destinᅵ au classement par ID

> Je ne crois pas que tu m'aies rᅵpondu sur le fait de tester ou non
> le fait que $result puisse valoir FALSE. Ni sur la rᅵindexation des
> $row[]. Si tu as changᅵ ton code, il serait peut-ᅵtre temps de
> publier la version actuelle, avec corrections.

Je n'ai fait qu'ᅵliminer la variable devenue inutile, rien d'autre.
En attendnt de trouver une solution ...

> ᅵ quoi sert le ᅵ SELECT * FROM $table ᅵ ? Non seulement tu ne testes
> pas le $result correspondant, mais en plus tu ne l'utilises mᅵme pas.

Si mes souvenirs sont bons (je t'ai dit et tu l'as remarquᅵ, c'est du
code dᅵveloppᅵ il y a dᅵjᅵ bien longtemps), c'est la rᅵcupᅵration des
messages destinᅵs ᅵ ᅵtre affichᅵs.
Pour ce qui est de tester le $result, les bribes de PHP qui me restent
(et c'est trᅵs peu, j'ai prᅵvenu ;-) ) me laissent sans voix (ou
incapable de le mettre en oeuvre, si tu prᅵfᅵres)
Dᅵsolᅵ :-(

Olivier Miakinen

unread,
May 16, 2013, 12:52:01 PM5/16/13
to
Le 16/05/2013 18:36, docanski a ᅵcrit :
>
>> Je suppose que ᅵ ORDER BY id DESC ᅵ signifie que les rᅵponses doivent
>> ᅵtre triᅵes selon la valeur du champ 'id', non ? Ce champ 'id' ne
>> serait-il pas celui que tu as supprimᅵ
>
> Non, il demeure bien et est destinᅵ au classement par ID

Ok, ᅵa doit ᅵtre un mot-clᅵ rᅵservᅵ alors. Un jour peut-ᅵtre je
me mettrai ᅵ SQL... comme toi un jour peut-ᅵtre tu te mettras
ᅵ PHP. ;-)

>> Je ne crois pas que tu m'aies rᅵpondu sur le fait de tester ou non
>> le fait que $result puisse valoir FALSE. [...]
>
> Pour ce qui est de tester le $result, les bribes de PHP qui me restent
> (et c'est trᅵs peu, j'ai prᅵvenu ;-) ) me laissent sans voix (ou
> incapable de le mettre en oeuvre, si tu prᅵfᅵres)

Ok.

Lᅵ oᅵ tu as :

$result = mysql_query($query,$ide);
while ($row = mysql_fetch_row($result)) {
...
}

Faire :

$result = mysql_query($query,$ide);
if ($result === FALSE) {
... afficher une page d'erreur...
} else while ($row = mysql_fetch_row($result)) {
...
}

docanski

unread,
May 16, 2013, 1:23:29 PM5/16/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Antoine Polatouche ecrit ce qui suit en ce 16/05/2013 15:01 :

>> $cpt=0;
>> while($row = mysql_fetch_row($result))
>> {
>> $cpt++;

> Je n'ai lu qu'en vitesse ce fil de discussion, est-ce que tu te demandes
> pourquoi ᅵa n'affiche que 20 enregistrements ?
> Si oui retire les 3 lignes avec $cpt...

Bingo !
Le "break" m'avait effectivement mis la puce ᅵ l'oreille, je l'avais
ᅵliminᅵ lors de mes essais ... mais oubliᅵ les 2 premiᅵres lignes :-(

Merci !

docanski

unread,
May 16, 2013, 1:30:34 PM5/16/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 16/05/2013 18:52 :

> Ok, ᅵa doit ᅵtre un mot-clᅵ rᅵservᅵ alors. Un jour peut-ᅵtre je
> me mettrai ᅵ SQL... comme toi un jour peut-ᅵtre tu te mettras
> ᅵ PHP. ;-)

Suis trop vieux, mon disque dur est saturᅵ.
J'en arrive mᅵme parfois ᅵ oublier oᅵ j'ai mis mes lunettes ... alors
qu'elles chevauchent mon tarin. :-)

> Lᅵ oᅵ tu as :
>
> $result = mysql_query($query,$ide);
> while ($row = mysql_fetch_row($result)) {
> ...
> }
>
> Faire :
>
> $result = mysql_query($query,$ide);
> if ($result === FALSE) {
> ... afficher une page d'erreur...
> } else while ($row = mysql_fetch_row($result)) {
> ...
> }

Ok, vu. Mais comme le bouzin fonctionne maintenant, le code n'a plus
besoin d'ᅵtre testᅵ.
Reste ᅵ espᅵrer qu'il ne soit pas ᅵ revoir entiᅵrement, vu les ᅵlᅵments
dᅵprᅵciᅵs ...
Merci pour ton aide !

Cordialement,

Otomatic

unread,
May 16, 2013, 1:50:35 PM5/16/13
to
docanski <docanski...@mobistar.be.invalid> écrivait :

> Suis trop vieux, mon disque dur est saturé.
La connaissance, ce n'est jamais saturé.
Une journée passée sans avoir appris quelque chose, est une mauvaise
journée.
Bientôt 70 piges et je viens de migrer mon site chez un autre hébergeur
pour pouvoir tâter des possibilités de PHP 5.4.14 au lieu de 5.1.3.
--
Les gens que l'on considère comme des fous de travail sont, peut-être,
tout simplement entrain de s'amuser. Einstein

Olivier Miakinen

unread,
May 16, 2013, 2:02:50 PM5/16/13
to
Le 16/05/2013 19:50, Otomatic a ᅵcrit :
>
>> Suis trop vieux, mon disque dur est saturᅵ.
> La connaissance, ce n'est jamais saturᅵ.
> Une journᅵe passᅵe sans avoir appris quelque chose, est une mauvaise
> journᅵe.
> Bientᅵt 70 piges et je viens de migrer mon site chez un autre hᅵbergeur
> pour pouvoir tᅵter des possibilitᅵs de PHP 5.4.14 au lieu de 5.1.3.

ᅵ La vieillesse c'est pas automatique ᅵ ;-)

docanski

unread,
May 16, 2013, 2:06:32 PM5/16/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Otomatic ecrit ce qui suit en ce 16/05/2013 19:50 :
> docanski <docanski...@mobistar.be.invalid> ᅵcrivait :
>
>> Suis trop vieux, mon disque dur est saturᅵ.
> La connaissance, ce n'est jamais saturᅵ.

Je me suis donc mal exprimᅵ mais la suite ᅵtait explicite : c'est la
mᅵmoire qui flanche.

> Une journᅵe passᅵe sans avoir appris quelque chose, est une mauvaise
> journᅵe.

Pas faux.

> Bientᅵt 70 piges et je viens de migrer mon site chez un autre hᅵbergeur
> pour pouvoir tᅵter des possibilitᅵs de PHP 5.4.14 au lieu de 5.1.3.

Bravo pour la verdeur ! ;-)
Perso, j'en suis mᅵme arrivᅵ ᅵ dᅵlaisser les quelques sites que j'ai commis.

Antoine Polatouche

unread,
May 16, 2013, 9:23:13 PM5/16/13
to
Le 16/05/2013 19:23, docanski a écrit :
> Alors que les eleveurs et agriculteurs empoisonnent toujours la
> Bretagne, Antoine Polatouche ecrit ce qui suit en ce 16/05/2013 15:01 :
>
>>> $cpt=0;
>>> while($row = mysql_fetch_row($result))
>>> {
>>> $cpt++;
>
>> Je n'ai lu qu'en vitesse ce fil de discussion, est-ce que tu te demandes
>> pourquoi ça n'affiche que 20 enregistrements ?
>> Si oui retire les 3 lignes avec $cpt...
>
> Bingo !
> Le "break" m'avait effectivement mis la puce à l'oreille, je l'avais
> éliminé lors de mes essais ... mais oublié les 2 premières lignes :-(

Non, tu as cru: en supprimant le break tu aurais résolu ton problème, et
les lignes $cpt=0 et $cpt++ ne serviraient simplement à rien...


> Merci !
De rien ;)

docanski

unread,
May 17, 2013, 4:20:16 AM5/17/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Antoine Polatouche ecrit ce qui suit en ce 17/05/2013 03:23 :

> Le 16/05/2013 19:23, docanski a ᅵcrit :
>> Le "break" m'avait effectivement mis la puce ᅵ l'oreille, je l'avais
>> ᅵliminᅵ lors de mes essais ... mais oubliᅵ les 2 premiᅵres lignes :-(
>
> Non, tu as cru: en supprimant le break tu aurais rᅵsolu ton problᅵme, et
> les lignes $cpt=0 et $cpt++ ne serviraient simplement ᅵ rien...
>
>
>> Merci !
> De rien ;)

Bonjour,

J'ai relu mes notes (bien obligᅵ de noter ou de stocker les anciens
fichiers modifiᅵs quand il m'arrive encore de taper dans le code) depuis
le dᅵbut de mes essais et j'ai retrouvᅵ les modifs que j'avais faites,
il y a 3 mois : j'avais alors allongᅵ et non ᅵlimlinᅵ cette variable
qui, en effet, ᅵtait destinᅵe ᅵ limiter l'affichage, la fenᅵtre ᅵtant ᅵ
cette ᅵpoque rᅵglᅵe sur des plus petites dimensions.
Comme je bidouille directement sur site, j'avais envoyᅵ ce fichier
modifiᅵ puis actualisᅵ l'affichage "pour voir". Et malgrᅵ cette
actualisation, aucun changement ... :-(
J'ai donc remis le compteur ᅵ zᅵro (enfin ... ᅵ 20) et laissᅵ tomber
pendant un moment.
Cela soulᅵve une question : logiquement, l'ᅵcrasement d'un fichier sur
site doit tout de mᅵme ᅵtre automatiquement suivi d'effet quand on
actualise la page, non !?
Dans ce cas, Arora (comme je vois que tu es linuxien, tu connais
peut-ᅵtre ?) que j'utilise habituellement pour cela aurait-il des
dᅵfaillances de ce cᅵtᅵ-lᅵ ou le serveur Free pourrait-il ᅵtre mis en
cause ?

Olivier Miakinen

unread,
May 17, 2013, 5:22:49 AM5/17/13
to
[diapublication et suivi]

Bonjour,

Le 17/05/2013 10:20, docanski a ᅵcrit :
>
> [...]
> Comme je bidouille directement sur site, j'avais envoyᅵ ce fichier
> modifiᅵ puis actualisᅵ l'affichage "pour voir". Et malgrᅵ cette
> actualisation, aucun changement ... :-(
> [...]
> Cela soulᅵve une question : logiquement, l'ᅵcrasement d'un fichier sur
> site doit tout de mᅵme ᅵtre automatiquement suivi d'effet quand on
> actualise la page, non !?

Tout dᅵpend du type d'ᅵ actualisation ᅵ. Selon les paramᅵtres de cache
que tu as (ou non) configurᅵs sur le serveur, et selon ta commande de
rafraᅵchissement, la page qui se rᅵaffiche peut ᅵtre celle en cache dans
ton navigateur, celle en cache sur l'un des ᅵventuels proxys traversᅵs,
ou celle du serveur.

Je diapublie ma rᅵponse sur fciwn et fciwa, avec suivi vers ce dernier,
car je ne suis pas un expert et que d'autres sauront t'expliquer tout ᅵa
bien mieux que moi.

Cordialement,
--
Olivier Miakinen

docanski

unread,
May 17, 2013, 6:53:54 AM5/17/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, docanski ecrit ce qui suit en ce 14/05/2013 17:38 :

> Celle structurant le message est la suivante :
>
> <code>
> <?
> $ide= MYSQL_CONNECT($host_mysql,$user_mysql,$pass_mysql);
> mysql_select_db("$bd_mysql");
> $query = "SELECT * FROM $table";
> $result = mysql_query($query,$ide);
> $taille = "1";
> $datime = date("H:i");
> $message2 = htmlentities($txt);
> $message3 = nl2br($message2);
> $formatage=$couleur;
> $formatage.=$taille;
> $formatage.=$attrib;
> $tmp=microtime();$tmp2=explode(" ",$tmp);$tmp3=$tmp2[1];
> if ($txt != "" and $pseudo != "")
> {
> $query = "INSERT INTO $table VALUES
> ('0','$pseudo','$message3','$datime','$formatage','$tmp3')";
> $result = mysql_query($query,$ide);
> }
> MYSQL_CLOSE();
> ?>
> </code>

Il me reste un petit problᅵme ᅵ rᅵsoudre : l'ordre d'affichage des messages.
En ce moment, chaque nouveau message est affichᅵ au sommet de la fenᅵtre.
Or, je voudrais qu'il le soit au bas de la fenᅵtre, dans l'ordre logique
de l'arrivᅵe de ces messages, soit de haut en bas.

Olivier Miakinen

unread,
May 17, 2013, 8:31:16 AM5/17/13
to
Le 17/05/2013 12:53, docanski a ᅵcrit :
>
> Il me reste un petit problᅵme ᅵ rᅵsoudre : l'ordre d'affichage des messages.
> En ce moment, chaque nouveau message est affichᅵ au sommet de la fenᅵtre.
> Or, je voudrais qu'il le soit au bas de la fenᅵtre, dans l'ordre logique
> de l'arrivᅵe de ces messages, soit de haut en bas.

Ne serait-ce pas 'ORDER BY temp' au lieu de 'ORDER BY id' ou bien
'ASC' au lieu de 'DESC' ?

docanski

unread,
May 19, 2013, 12:28:18 PM5/19/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, Olivier Miakinen ecrit ce qui suit en ce 17/05/2013 14:31 :

> Ne serait-ce pas 'ORDER BY ... 'ASC' au lieu de 'DESC' ?

Bonjour Olivier,

C'ᅵtait bien ASC.
Merci !

docanski

unread,
May 19, 2013, 1:47:44 PM5/19/13
to
Alors que les eleveurs et agriculteurs empoisonnent toujours la
Bretagne, docanski ecrit ce qui suit en ce 19/05/2013 18:28 :

> C'ᅵtait bien ASC.

Mouais ... aprᅵs essais du remplissage de la fenᅵtre, c'est un autre
problᅵme qui survient : les messages qui "dᅵpassent" le conteneur
s'affichent "sous" celui-ci car l'ascenseur (overflow) ne suit pas
automatiquement, il reste sur sa position.
Rᅵsultat : il faut remonter manuellement les messages qui suivent, au
fur et ᅵ mesure de la conversation. :-(

Olivier Miakinen

unread,
May 19, 2013, 6:55:13 PM5/19/13
to
Le 19/05/2013 19:47, docanski a �crit :
>
> Mouais ... apr�s essais du remplissage de la fen�tre, c'est un autre
> probl�me qui survient : les messages qui "d�passent" le conteneur
> s'affichent "sous" celui-ci car l'ascenseur (overflow) ne suit pas
> automatiquement, il reste sur sa position.
> R�sultat : il faut remonter manuellement les messages qui suivent, au
> fur et � mesure de la conversation. :-(

Mais l�, ce n'est plus du PHP, et encore moins du SQL. Je te sugg�re
fciw.auteurs, � moins que la solution ne n�cessite fcl.javascript !

0 new messages