

#1
Posté 17 May 2013 - 16:49 PM
Voici une petite fiche de prise en main pour quelques effets simples basés sur les particules, mais aussi pour la librairie Flint.
Je n'ai pas cherché l'optimisation, bien que ce soit important vu le nombre d'objets, mais juste la prise en main pour les débutants. A la fin de la fiche vous avez un tuto de prise en main de la librairie Flint de Richard Lord.
C'est par ici : http://forums.mediab...iche_particules
N'hésitez pas si vous voulez en parler.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#2
Posté 17 May 2013 - 17:50 PM
Je n'ai pas lu tous les détails, mais c'est bien chouette d'avoir sur le wiki une base du système avec plusieurs exemples en plus.
En première lecture ça m'a semblé plutôt très bien, avec des chippoteries qu'on pourrait faire par-ci par-là. Cela permet je pense à celui qui aborde les particules d'avoir une première expérience.
Si tu abordes l'optimisation plus tard voici ce qui m'est passé par la tête (pas sûr que tout soit strictement vrai d'ailleurs) :
- ne pas mettre un enterframe sur chaque particule mais faire une boucle qui appelle update
- travailler avec 2 bitmapdata pour éviter la création de bitmapdata temporaires
- il me semble que flint recycle les particules en stockant celles qui sont mortes dans un tableau de stockage où il va en chercher quand il en a besoin, afin d'économiser les constructions / destructions d'objets
- vector (d'ailleurs je trouve que depuis le temps que ça existe, ne pas l'utiliser est presque à ranger dans les mauvaises habitudes à ne pas transmettre

A propos d'optimisation, je trouve qu'à partir du moment où tu as quelques lignes sur les perspectives d'optimisation en fin de tuto, c'est une lacune de ne pas mentionner Stage3D. Pas pour expliquer quoi que ce soit, mais juste mentionner son existence en 2 mots.
Je ne sais pas si ça vaut le coup de le citer, mais il y a aussi ce lien http://forums.mediab...-2d-via-stage3d . Et je me demande si depuis Starling n'a pas fait de gros progrès pour les particules.
En tout cas bravo pour cette page

P.S: Je viens d'y faire 2 retouches tu peux regarder si elles te plaisent et sinon les enlever.
#3
Posté 17 May 2013 - 19:09 PM
Merci beaucoup de ces retours, je viens de rajouter quelques lignes sur ce que tu viens de signaler.

Ok pour les corrections, parfait

Pour la boucle au lieu d'un EnterFrame par particule, je me suis posé la question, et j'ai pris la décision de rendre au maximum les particules autonomes, comme je le dis en début de fiche, du coup étant parti là dessus j'ai continué, mais effectivement un seul enterFrame serait sans doute plus optmisé, a tout le moins plus simple à gérer.
Edit : ha et j'ai rajouté en complément un lien vers le dernier exercice que j'ai écrit justement utilisant les particules, basé sur Auditorium, ici : http://forums.mediab...jeux/auditorium c'est de la mise en application directe de ce qu'on apprend dans la fiche.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#4
Posté 24 June 2013 - 19:48 PM

#5
Posté 03 July 2013 - 09:14 AM
Particules ou Particule sans S ? Ou est-ce 2 choses différentes?
#6
Posté 03 July 2013 - 10:50 AM
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#7
Posté 03 July 2013 - 14:33 PM
#8
Posté 03 July 2013 - 15:13 PM
Un petit reproche, enfin vis à vis de moi car c'est une question de niveau de connaissance d'as3, j'ai mis un moment à comprendre qu'il n'y avait pas besoin d'écrire clip.x mais que x suffisait ... Ca fait parti de ces raccourcis sur lesquels je tombe en lisant des tutos mais qui ne sont appris nulpart ^^ C'est toujours une étape sautée dans toute mes lectures

#9
Posté 03 July 2013 - 15:35 PM
abriko, le 03 July 2013 - 15:13 PM, dit :

Ce n'est pas un raccourci et tu le fais tout le temps…
ma_var = 5; // << C'est ça…
#10
Posté 03 July 2013 - 16:58 PM
Citation
Dans l'exercice sur la fontaine, je crée une nouvelle particule à chaque frame.
Cette particule est un objet (p) créé à partir de la classe "Particule".
Je la met ensuite dans un tableau et l'ajoute à la scène.
Puis je regarde si le nombre de particules dans le tableau est supérieur à 80.
Si c'est le cas je supprime les particules en trop.
Mais je réutilise l'objet (p) pour identifier la particule en trop.
Pour éviter que cet objet reste en mémoire quelque part, je le vide.
Ainsi il ne correspond plus à la dernière particule enregistrée.
Citation
Inutile de dire "clip.x" puisque tu es déjà dans l'objet "clip", donc "x" suffit.
Si tu veux un exemple plus clair :
clip.x = 10;
clip.y = 20;
clip.alpha = 0.2;
clip.rotation = 10;
le clip a une position x de 10
le clip a une position y de 20
le clip a une opacité de 0.2
le clip a une rotation de 10
Revient au même que :
with (clip) {
x = 10;
y = 20;
alpha = 0.2;
rotation = 10;
}
Avec le clip :
position x de 10
position y de 20
opactité de 0.2
rotation de 10
Et si tu fais une classe tu es directement dans le clip donc cela revient au même que si tu utilisait l'instruction "with".
Pas besoin de le cibler puisque tu es dedans.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#11
Posté 03 July 2013 - 19:54 PM

Je pensais ne pas avoir besoin du tuto de Nataly aillant bien attaqué la doc de Thibault Imbert... mais ce genre de truc y est aussi apparemment considéré comme acquis.
En fait pour la suppression de "p", tu fais l'équivalent aussi dans le chapitre 1. Simplement dans le chapitre 3, tu suggères que tu le fais ici contrairement au chapitre 1 donc je cherchais à comprendre la différence entre les deux ^^ Mais apparemment il n'y a pas.
#12
Posté 15 July 2013 - 14:07 PM
http://www.flashandm...hcs4/fireworks/
Alors bien sûr, le code est commenté.... pour qu'on comprenne comment ça marche, mais arriver à comprendre tout le bloc d'un coup ... il s'agit plus d'une récapitulation d'un tuto...
Mon collègue programmeur me dit que cela a été fait "à l'arrache"... je comprends que ce n'est pas du boulot hyper pro donc mais ça me dépasse donc ma question est :est-ce vraiment bien codé ou devrais je plutôt chercher à prendre exemple ailleurs?
#13
Posté 15 July 2013 - 14:44 PM
Chez Flash&Maths les tutos sont rarement faits "à l'arrache", ils demandent par contre d'avoir déjà un bon niveau pour la prise en main.
Tu as la fiche de récap sur les particules pour faire ce que tu veux, pourquoi ne pas essayer de le faire toi même au lieu de tenter de reproduire le tuto de Flash&Maths ?
Si tu regarde bien c'est un mélange de trois choses que tu as déjà dans la fiche :
- Etape 2 - Starfield :
toute les particules partent d'un même point et s'éclatent
ajout d'un effet sur le bitmap affiché pour obtenir du flou
- Etape 3 - Fontaine
les particules subissent un effet de gravité
- Etape 6 - Formes
des particules sont émise depuis un point précis dans toutes les directions
L'effet feu d'artifice ne devrait pas être plus dur que ça à faire, voici comment je vois ça :
Créer un premier groupe de 10 particules qui explosent à partir d'un point central et ajouter un effet de flou (voir etape 2 - starfield)
Appliquer un effet de gravité pour que ces particules retombent au bout d'un moment (voir etape 3 - fontaine)
Chaque particule (dite maître) est un mini générateur qui va générer 20 ou 30 particules à partir d'elle.
Ces particules générées ont un mouvement aléatoire, comme des étincelles (voir etape 6 - formes), et ne sont pas soumises à la gravité (mais peuvent l'être si tu veux).
Tu obtient donc, 10 particules maîtres qui explosent depuis un point central (la fusée de feu d'artifice qui explose), chacune génère 20 particules en boucle pour donner l'effet d'étincelles. Chaque particules maître subit la gravité, et à une durée de vie précise, chaque particule enfant à une direction aléatoire et une durée de vie précise.
En mixant tout ça tu obtiendra assez facilement l'effet souhaité.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#14
Posté 15 July 2013 - 18:55 PM
Je m'étais mis à penser à installer une sorte de timer pour régler ce déroulement calé sur les frames ou sur la distance parcourue mais j'ai étais rapidement dépassé :/ Je vais expérimenter avec les tiennes, elle m'ont l'air plus fiables et mieux pensé et je te dirais

#15
Posté 16 July 2013 - 13:26 PM


j'ai mis une grosse accélération sur ton starfield. (copier l'rul de l'image si ça ne s'ouvre pas ici)
#16
Posté 16 July 2013 - 14:46 PM
Monsieur Spi, le 15 July 2013 - 14:44 PM, dit :
toute les particules partent d'un même point et s'éclatent
ajout d'un effet sur le bitmap affiché pour obtenir du flou
- Etape 3 - Fontaine
les particules subissent un effet de gravité
- Etape 6 - Formes
des particules sont émise depuis un point précis dans toutes les directions
Je crois que je dois être un peu con ^^ Parce que j'ai beau reprendre l'un ou l'autre, ils ne sont pas compatibles. Le starfield comprend vitesse, accélération, direction et profondeur là où la fontaine ne comprend uniquement que la vitesse dépendant de la direction, sa gravité est facile a gérer mais pas du tout intégrable au starfield.
#17
Posté 16 July 2013 - 14:59 PM
abriko dit :
A.addChild( B ) ajoute l'objet B à la liste d'affichage de A.
Comme ça, A sait qu'il doit s'occuper de la gestion de l'affichage de B au moment du rendu.
Si A n'est pas affiché, il ne s'occupera pas de sa liste et donc B ne sera pas affiché.
Si A est affiché, la main est donnée à A par son parent d'affichage au moment du rendu graphique. A s'occupe de son graphics puis de sa liste d'affichage, donc de B, puis il rend la main à son parent.
#18
Posté 16 July 2013 - 16:56 PM
Citation
Tout dépend de ce que tu cherches en fait. Si c'est un code tout prêt qui fait un feu d'artifice tu ne le trouvera pas sur la fiche, si ce sont des méthodes pour apprendre à te servir des particules, puis en faire un programme qui génère des feux d'artifices, tu les as sur la fiche. La différence entre les deux c'est que ça va être à toi de mettre les mains dans le cambouis pour reprogrammer les particules pour qu'elles fassent ce que tu veux...
Il n'y a pas de notions de "compatibilité" entre les différents exercices, on ne prend pas les bouts de l'un pour les associer avec les bouts d'un autre et ça marche..... Là pour ce que tu veux faire il faut tout reprogrammer pour obtenir l'effet désiré, et pour faire ça tu peux t'appuyer sur ce qui a été montré dans les exercices.
Citation
Tu as du rater un truc à la lecture de la fiche, son but et de montrer comment manipuler des particules, c'est à dire créer un générateur qui en diffuse un certain nombre, puis créer des particules qui ont leur propre comportement. C'est donc à toi de coder le comportement des particules pour obtenir ce que tu veux, il n'est pas question de prendre les particules de la fontaine pour les coller dans le starfield, mais bien de repenser complétement le comportement des particules "feu d'artifice".
Ta recette de cuisine devrait être à mon sens :
Pour générer une explosion de feu d'artifice il faut :
- 1 générateur qui envoie une seule fois 10 particules principales (ou maîtres)
- chacune de ces particules maîtres doit avoir le comportement suivant :
partir dans une direction aléatoire (ex starfield)
a partir d'un certain temps (assez court)
subir les effets de la gravité (ex fontaine)
ralentir
disparaitre en fondu (alpha)
- chacune de ces particules maîtres agit comme un générateur qui doit a chaque frame générer 10 particules (enfants)- chacune des particules enfants doit avoir le comportement suivant :
partir dans une direction aléatoire à partir de la particule maître (ex formes)
a partir d'un certain temps (assez court)
subir les effets de la gravité
ralentir
disparaitre en fondu
Les particules maîtres sont plus grosses que les particules enfant (gestion de l'échelle, scale) et on une vitesse plus importante afin qu'elles se déplacent sur de grandes distances et que les enfants soient limités à une plus petite distance.
Il te faut donc deux types de particules différentes, un de type "maître" qui est à la fois une particule et un générateur, et un de type "enfant" qui est une simple particule. Les deux types ont des comportements différents (vitesse, accélération, durée de vie, gravité, ....)
A partir de là tu as une représentation simple de ce que doit faire ton programme, à toi de l'écrire à partir de ce que tu as appris dans la fiche, mais n'essayes pas de combiner les exercices, ça ne marchera pas.
Autre option, tout en bas de la fiche tu as un exemple de prise en main de Flint, et Flint fourni sur son site différents exemples avec le code, tu peux t'en servir, par exemple : http://flintparticle...amples/firework
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#19
Posté 16 July 2013 - 18:08 PM
il s'agit plus des formules mathématiques pour gérer l'accélération, la direction avec la gravité. En linéaire façon starfield aucun souci mais dés que je dois donner l'effet "feu d'artifice", qui est proche de l'effet fontaine mais vraiment différent dés qu'on cherche la ressemblance, je me perds dans mes formules.
A chaque fois que j'essaie d'ailleurs, je me rappelle pourquoi j'avais de mauvaise notes en math et que cela ne doit décidément pas être faire pour moi...
#20
Posté 19 July 2013 - 13:09 PM
Je ne pense pas que les formules soient très compliquées à ce niveau, pour la direction c'est de la trigo de base (Math.cos et Math.sin) avec un angle, quand à la gravité elle n'est qu'une composante ajoutée sur l'axe Y, par exemple :
var angle:Number = 0.123; // angle en radians
var gravite:Number = 0.12;
var vitesse:Number = 10;
particule.x += Math.cos(angle)*vitesse;
particule.y += Math.sin(angle)*vitesse+gravite;
La gravité envoie toujours un objet vers le bas, donc c'est toujours "+gravite" qui s'ajoute au mouvement en cours sur l'axe Y.
Ensuite il suffit de faire varier la vitesse propre à chaque particule en fonction du temps (la réduire légèrement à chaque frame par exemple), quand à la gravité normalement elle ne bouge pas, elle est identique pour chaque objet, sauf si tu veux un comportement parfait et dans ce cas il faut prendre en compte le poids et la masse (voir : http://pesage.biz/le...hute-des-corps/ ), a toi d'ajouter ces valeurs fictives à chaque particules. Ce n'est pas excessivement complexe, mais as-tu besoin d'un comportement parfait, bien souvent le comportement parfait est inutile ?
Si vraiment tu veux utiliser les forces pour déplacer tes objets de manière très réaliste tu peux jeter un oeil à ce tuto : http://forums.mediab...voir_des_objets
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#21
Posté 19 July 2013 - 13:51 PM
#22
Posté 19 July 2013 - 14:16 PM

#23
Posté 19 July 2013 - 14:54 PM
Pour montrer comment les exos de m.spi peuvent être exploités version feu d'artifice, je mets un zip avec 2 choses:
- La fontaine a peine modifiée pour expulser les particules selon une vitesse et un angle.
- La même chose sauf que les particules sont maintenant expulsées depuis le pointeur de la souris, avec un angle plus large, et qu'elles ralentissent progressivement. Ça commence à se rapprocher du feu d'artifice. Mais c'est sûr que pour faire quelque chose de plus réaliste ça demande encore du boulot.
- Afficher le SWF -

- Afficher le SWF -


[EDIT]
M.Spi il y a une petite erreur ici :
Monsieur Spi, le 19 July 2013 - 13:09 PM, dit :
particule.y += Math.sin(angle)*vitesse+gravite;
#24
Posté 19 July 2013 - 15:44 PM
Exact, erreur de ma part j'y ai pas réfléchit en l'écrivant.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#25
Posté 19 July 2013 - 16:58 PM
Voilà un exemple de ce à quoi je pensais au départ, ça ne correspond pas à ce que tu as vu sur Flash&Matsh mais c'est une idée, il y a des ajustements à faire mais je pense qu'on est sur la bonne voie et que c'est très simple au niveau des formules.
J'ai deux classes, une "Fusees" et une "Particule".
Les deux sont basées sur l'exemple de l'arrosoir dans la fiche.
Les fusées sont les premiers éclats du feu d'artifice, les gros morceaux, ils ont une nouvelle variable "vie" qui détermine leur durée de vie (le temps pendant lequel ils brulent avant d'éclater en petits morceaux). Lorsque sa durée de vie est terminée la fusée éclate en petites particules, qui ont elles aussi une durée de vie limitée. (Note, on pourrait très bien utiliser une seule classe et changer simplement l'échelle de la particule en fonction de si c'est une fusée ou un e particule).
Le tout est géré directement depuis le FLA avec deux boucles imbriquées et deux tableaux de stockage, elles permettent de savoir quand une fusée arrive en fin de vie et la fait éclater le cas échéant, et quand une particule arrive en fin de vie.
Pour bien faire il faudrait rajouter le filtre blur tiré de l'exercice sur le starfield pour conserver une trainée lumineuse des particules et fusées. Et bien sur il faut régler un peu le tout (vitesse, durée de vie, gravité, opacité, couleurs, ...) pour avoir un rendu plus réaliste.
Cliquer avec la souris n'importe où pour faire éclater un feu d'artifice.
- Afficher le SWF -

Fichier(s) joint(s)
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#26
Posté 19 July 2013 - 17:31 PM
Autre exemple qui se rapproche de ce que tu as vu sur Flash&Maths et qui est encore plus simple.
Là aussi il faut tout un tas de réglages pour que ça ait un bon rendu mais la base est super simple.
Sans le blur et une seule couleur :
- Afficher le SWF -

Avec le blur et plusieurs couleurs :
- Afficher le SWF -

Je pense qu'avec ça tu as un départ suffisant pour faire à peu près ce que tu veux sans t'embarquer dans des formules compliquées, après c'est sur que plus tu voudra un rendu réaliste, plus il te faudra plonger dans la physique et les maths.
Fichier(s) joint(s)
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#27
Posté 24 July 2013 - 09:13 AM

Je vais regarder ça en détail. En fait que tu aies un rendu déjà sympa mais que toi même tu n'arrives pas facilement au rendu de flash&math, ça me fait un peu peur et me dissuade un peu plus de m'occuper de ça moi même au boulot car n'ayant déjà pas la moitié de ton niveau, je ne vois comment je peux y arriver ^^
J'ai choisit de le faire moi même car il est plus rapide d'apprendre l'as3 et de le coder moi même que de convaincre les programmeurs et codeurs de le faire, ils vont surement me répondre "c'est bon va, c'est déjà bien ce que tu as dessiné" ^^
#28
Posté 24 July 2013 - 12:19 PM

Bon courage
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#29
Posté 24 July 2013 - 12:32 PM
#30
Posté 24 July 2013 - 12:38 PM

Après je ne sais pas si c'est insurmontable ou pas leur tuto, à vrai dire je l'ai a peine ouvert pour jeter un oeil aux classes, ça n'a pas l'air si long que ça, mais après c'est à chacun de voir selon son niveau et ce qu'il doit faire.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#31
Posté 24 July 2013 - 13:22 PM
#32
Posté 24 July 2013 - 16:42 PM
#33
Posté 04 November 2013 - 13:44 PM

Ca fait un bail, je sais ^^ Je regarde à ton feu d'artifice qui est pas mal du tout. Je suis en train de me demander pourquoi il y a 2 .as parce qu'ils sont identiques. J'imagine qu'ici on pourrait avoir des particules différentes fusées et traine.
Le soucis est que si on veut des particules différentes selon le projet ou l'anim à faire, il faut autant de .as que de movieclip différents, non ?
Il y a un paramètre que j'ai cherché un moment pour la "durée de vie" résiduel du flou, ils appellent ça la qualité alors que ça joue surtout sur le temps que le flou va mettre à disparaitre après l'effet et c'est ce que je cherchais!
Je vais chercher un moyen de n'avoir qu'un .as en jouant sur les images d'un même clip et cela devrait bien le faire

#34
Posté 02 January 2017 - 12:11 PM
Ca c'est rudement bien pour apprendre POO et classes !
J'évolue à grande vitesse.
Merci !
Une petite question : Pourquoi la première particule ne veut pas décoller dans l'exemple de la fontaine ???
#35
Posté 02 January 2017 - 13:18 PM
Citation
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#36
Posté 02 January 2017 - 13:51 PM
if (scaleX < 2) {
visible = false;
}
if (scaleX > 2) {
visible = true;
}
On ne se moque pas !!!!
Et j'ai toujours mon petit point....
( PS. Je sais plus comment en ajoute une image en commentaires )
Merci !
#37
Posté 02 January 2017 - 19:39 PM
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#38
Posté 02 January 2017 - 20:05 PM
package {
import flash.events.Event;
import flash.display.MovieClip;
public class Particule extends MovieClip {
private var _X: Number = 0;
private var _Y: Number = 0;
public function Particule(X: Number, Y: Number) {
x = X;
y = Y;
_Y = Math.random() * 10 - 20;
//_Y = -20;
_X = Math.random() * 20 - 10;
addEventListener(Event.ENTER_FRAME, update);
}
private function update(e: Event): void {
var coulconf: int;
x += _X;
y += _Y;
alpha -= 0.015;
scaleX = scaleY *= 1.05;
_Y += 0.8;
rotation += 5;
if (scaleX < 3) {
visible = false;
}
if (scaleX > 3) {
visible = true;
}
coulconf = Math.random() * 3 + 1;
gotoAndStop(coulconf);
}
public function kill(): void {
removeEventListener(Event.ENTER_FRAME, update);
}
}
}
#39
Posté 02 January 2017 - 20:19 PM
Mais oui : j'ai un "p" dont l’échelle est minime et qui s'affiche néanmoins à la source du générateur...
Dans l'absolu c'est pas bien grave : j'y oppose quelques pixels.
Mais...
J'aimerais comprendre.
#40
Posté 02 January 2017 - 20:31 PM
Puis dans l'update rend la visible lorsqu'elle atteint la valeur voulue.
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
#41
Posté 02 January 2017 - 21:05 PM
Mais pourquoi cette foutu singularité ne rentre t'elle pas dans l'ordre ...
1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)