Bonjour a tous,
1 post 2 questions autour de J3D qui peuvent etre fondammentale pour
mon projet: ( j en ferais 2 si besoin )
Question de performance:
je donc realis=E9 un applet avec j3D , pour mes test je la lance depuis
eclipse le processeur est utilis=E9 =E0 50% au minimum tout le temps.
Lorsque je r=E9duit l applet viewver l utilisatio du proc retombe =E0 0.
Je suis donc =E9tonn=E9 de ce comportement, je ne m attendais pas a ce qu
un thread dessine constemment sur le canvas mais bon ...
Sous firefox le taux d oocupation du preoc est identique sauf que meme
lorsque firefox est reduit ou qu une autre tab est utilis=E9e mon applet
semble redessin=E9, ce qui occupe une grande partie des ressources de la
machine pour rien. De plus mo applet est en cours de dev et ca me fais
un peu peur pour la suite.
Des id=E9es pour palier a cela ?
Question de rendu:
J utilise essentielement des spheres et autres primitives. Je voudrai
savoir si on peu modifier le rendu pour avoir moins de gradiant et
obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
marc26
anotherboo wrote:
Bonjour a tous, 1 post 2 questions autour de J3D qui peuvent etre fondammentale pour mon projet: ( j en ferais 2 si besoin )
Question de performance: je donc realisé un applet avec j3D , pour mes test je la lance depuis eclipse le processeur est utilisé à 50% au minimum tout le temps. Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0. Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu un thread dessine constemment sur le canvas mais bon ... Sous firefox le taux d oocupation du preoc est identique sauf que meme lorsque firefox est reduit ou qu une autre tab est utilisée mon applet semble redessiné, ce qui occupe une grande partie des ressources de la machine pour rien. De plus mo applet est en cours de dev et ca me fais un peu peur pour la suite. Des idées pour palier a cela ?
Question de rendu: J utilise essentielement des spheres et autres primitives. Je voudrai savoir si on peu modifier le rendu pour avoir moins de gradiant et obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
ta essayé avec un autre navigateur ?
faudrait aussi voir ton code
anotherboo wrote:
Bonjour a tous,
1 post 2 questions autour de J3D qui peuvent etre fondammentale pour
mon projet: ( j en ferais 2 si besoin )
Question de performance:
je donc realisé un applet avec j3D , pour mes test je la lance depuis
eclipse le processeur est utilisé à 50% au minimum tout le temps.
Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0.
Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu
un thread dessine constemment sur le canvas mais bon ...
Sous firefox le taux d oocupation du preoc est identique sauf que meme
lorsque firefox est reduit ou qu une autre tab est utilisée mon applet
semble redessiné, ce qui occupe une grande partie des ressources de la
machine pour rien. De plus mo applet est en cours de dev et ca me fais
un peu peur pour la suite.
Des idées pour palier a cela ?
Question de rendu:
J utilise essentielement des spheres et autres primitives. Je voudrai
savoir si on peu modifier le rendu pour avoir moins de gradiant et
obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
Bonjour a tous, 1 post 2 questions autour de J3D qui peuvent etre fondammentale pour mon projet: ( j en ferais 2 si besoin )
Question de performance: je donc realisé un applet avec j3D , pour mes test je la lance depuis eclipse le processeur est utilisé à 50% au minimum tout le temps. Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0. Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu un thread dessine constemment sur le canvas mais bon ... Sous firefox le taux d oocupation du preoc est identique sauf que meme lorsque firefox est reduit ou qu une autre tab est utilisée mon applet semble redessiné, ce qui occupe une grande partie des ressources de la machine pour rien. De plus mo applet est en cours de dev et ca me fais un peu peur pour la suite. Des idées pour palier a cela ?
Question de rendu: J utilise essentielement des spheres et autres primitives. Je voudrai savoir si on peu modifier le rendu pour avoir moins de gradiant et obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
ta essayé avec un autre navigateur ?
faudrait aussi voir ton code
Ced
A lire, en anglais : http://java3d.j3d.org/tutorials/quick_fix/perf_guide_1_3.html
A lire, en anglais :
http://java3d.j3d.org/tutorials/quick_fix/perf_guide_1_3.html
A lire, en anglais : http://java3d.j3d.org/tutorials/quick_fix/perf_guide_1_3.html
Ploc
anotherboo wrote:
Question de rendu: J utilise essentielement des spheres et autres primitives. Je voudrai savoir si on peu modifier le rendu pour avoir moins de gradiant et obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
Pour les gradiants (j'imagine que c'est l'effet Gouraud), on peut changer le rendu des polygones en modifiant les parametres de la classe Appearance associee. Voir SHADE_FLAT dans la classe ColoringAttributes.
Pour le rendu plus cartoon, il y'a un exemple de code pour faire du NPR simplissime, mais ca fait son petit effet. Le principe: il fait une copie de la forme 3D et ne trace que les contours des polygones que l'on voit de derriere. Resultat, seuls les contours sont surlignes. Exemple de code et de capture d'ecran : http://java3d.j3d.org/tutorials/quick_fix/npr_line.html
anotherboo wrote:
Question de rendu:
J utilise essentielement des spheres et autres primitives. Je voudrai
savoir si on peu modifier le rendu pour avoir moins de gradiant et
obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
Pour les gradiants (j'imagine que c'est l'effet Gouraud), on peut
changer le rendu des polygones en modifiant les parametres de la classe
Appearance associee.
Voir SHADE_FLAT dans la classe ColoringAttributes.
Pour le rendu plus cartoon, il y'a un exemple de code pour faire du NPR
simplissime, mais ca fait son petit effet.
Le principe: il fait une copie de la forme 3D et ne trace que les
contours des polygones que l'on voit de derriere. Resultat, seuls les
contours sont surlignes.
Exemple de code et de capture d'ecran :
http://java3d.j3d.org/tutorials/quick_fix/npr_line.html
Question de rendu: J utilise essentielement des spheres et autres primitives. Je voudrai savoir si on peu modifier le rendu pour avoir moins de gradiant et obtenir un resultat plus cartoon. y a moyen ou je me fourvois ... ?
Pour les gradiants (j'imagine que c'est l'effet Gouraud), on peut changer le rendu des polygones en modifiant les parametres de la classe Appearance associee. Voir SHADE_FLAT dans la classe ColoringAttributes.
Pour le rendu plus cartoon, il y'a un exemple de code pour faire du NPR simplissime, mais ca fait son petit effet. Le principe: il fait une copie de la forme 3D et ne trace que les contours des polygones que l'on voit de derriere. Resultat, seuls les contours sont surlignes. Exemple de code et de capture d'ecran : http://java3d.j3d.org/tutorials/quick_fix/npr_line.html
Ced
[i]je donc realisé un applet avec j3D , pour mes test je la lance depuis eclipse le processeur est utilisé à 50% au minimum tout le temps. Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0. Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu un thread dessine constemment sur le canvas mais bon ... [/i]
Tu peux forcer Java3D a garder ton image un certain temps... pour ça, utilise la méthode setMinimumFrameCycleTime(long) sur ta vue, que tu récupères avec canvas.getView(). Une valeur de 10 ou 15 ms semble acceptable si tu fais une animation (au-dessus, elle ne serait plus fluide), sinon tu peux mettre une valeur bien supérieure. Veille à ne pas la mettre trop grande quand même.
Si tu fais par exemple une animation avec un interpolateur, as-tu pensé à le désactiver quand l'animation est finie ? Parce que même si tu mets -1 dans le premier champs pour ton alpha, ton interpolateur continue de tourner. Tu peux le voir en redéfinissant ton interpolateur et en ajoutant un affichage sur console dans la méthode "void processStimulus(Enumeration()".
Utilises une classe dans le genre :
public class monInterpolateurAvecSysout extends TransformInterpolator {
public monInterpolateurAvecSysout(Alpha alpha) { super(alpha); System.out.println("Mon interpolateur est construit"); }
public void initialize() { super.initialize(); System.out.println("Mon interpolateur est initialisé"); }
public void processStimulus(Enumeration e) { super.processStumulus(e); System.out.println("Mon interpolateur tourne"); }
}
( c'est du code improvisé que j'ai pas tappé dans Eclipse, mes excuses si ça compile pas :o) )
Utilise une classe dans le genre au lieu de ton interpolateur, et tu constateras qu'il n'arrête pas de tourner, même si ton animation est sensée s'arrêter. C'est logique si tu penses à la façon dont c'est fait. Si tu veux qu'il ne tourne qu'une fois, mets éventuellement le -1 pour le signaler, dans la construction de ton objet Alpha, mais fais aussi un truc dans le genre dans ton interpolateur :
public void processStimulus(Enumeration e) { super.processStumulus(e); // ou le comportement que tu recherchers if (getAlpha().value() == 1.0) this.setEnabled(false); }
C'est très con, mais ça fera redescendre l'utilisation de ton proco quasiment à 0 si tu n'animes plus rien et que ta scène n'est pas trop compliquée.
Enfin voilà, tout ça c'est un exemple d'optimisation possible, qui sert à te montrer qu'il faut que tu nous donnes bien plus d'informations sur ce que tu fais ;op Mais bon le setMinimumFrameCycleTime(long) dont je t'ai parlé au début t'aidera déjà BEAUCOUP !
Pour des infos sur l'optimisation, lis bien le llien que j'ai filé en réponse il y a quelques jours.
Cédric Olmanst, [qui espère t'avoir donné un bon coup de main]
[i]je donc realisé un applet avec j3D , pour mes test je la lance
depuis
eclipse le processeur est utilisé à 50% au minimum tout le temps.
Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0.
Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu
un thread dessine constemment sur le canvas mais bon ... [/i]
Tu peux forcer Java3D a garder ton image un certain temps... pour ça,
utilise la méthode setMinimumFrameCycleTime(long) sur ta vue, que tu
récupères avec canvas.getView(). Une valeur de 10 ou 15 ms semble
acceptable si tu fais une animation (au-dessus, elle ne serait plus
fluide), sinon tu peux mettre une valeur bien supérieure. Veille à ne
pas la mettre trop grande quand même.
Si tu fais par exemple une animation avec un interpolateur, as-tu
pensé à le désactiver quand l'animation est finie ? Parce que même
si tu mets -1 dans le premier champs pour ton alpha, ton interpolateur
continue de tourner. Tu peux le voir en redéfinissant ton
interpolateur et en ajoutant un affichage sur console dans la méthode
"void processStimulus(Enumeration()".
Utilises une classe dans le genre :
public class monInterpolateurAvecSysout extends TransformInterpolator {
public monInterpolateurAvecSysout(Alpha alpha) {
super(alpha);
System.out.println("Mon interpolateur est construit");
}
public void initialize() {
super.initialize();
System.out.println("Mon interpolateur est initialisé");
}
public void processStimulus(Enumeration e) {
super.processStumulus(e);
System.out.println("Mon interpolateur tourne");
}
}
( c'est du code improvisé que j'ai pas tappé dans Eclipse, mes
excuses si ça compile pas :o) )
Utilise une classe dans le genre au lieu de ton interpolateur, et tu
constateras qu'il n'arrête pas de tourner, même si ton animation est
sensée s'arrêter. C'est logique si tu penses à la façon dont c'est
fait. Si tu veux qu'il ne tourne qu'une fois, mets éventuellement le
-1 pour le signaler, dans la construction de ton objet Alpha, mais fais
aussi un truc dans le genre dans ton interpolateur :
public void processStimulus(Enumeration e) {
super.processStumulus(e); // ou le comportement que tu recherchers
if (getAlpha().value() == 1.0) this.setEnabled(false);
}
C'est très con, mais ça fera redescendre l'utilisation de ton proco
quasiment à 0 si tu n'animes plus rien et que ta scène n'est pas trop
compliquée.
Enfin voilà, tout ça c'est un exemple d'optimisation possible, qui
sert à te montrer qu'il faut que tu nous donnes bien plus
d'informations sur ce que tu fais ;op Mais bon le
setMinimumFrameCycleTime(long) dont je t'ai parlé au début t'aidera
déjà BEAUCOUP !
Pour des infos sur l'optimisation, lis bien le llien que j'ai filé en
réponse il y a quelques jours.
Cédric Olmanst,
[qui espère t'avoir donné un bon coup de main]
[i]je donc realisé un applet avec j3D , pour mes test je la lance depuis eclipse le processeur est utilisé à 50% au minimum tout le temps. Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0. Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu un thread dessine constemment sur le canvas mais bon ... [/i]
Tu peux forcer Java3D a garder ton image un certain temps... pour ça, utilise la méthode setMinimumFrameCycleTime(long) sur ta vue, que tu récupères avec canvas.getView(). Une valeur de 10 ou 15 ms semble acceptable si tu fais une animation (au-dessus, elle ne serait plus fluide), sinon tu peux mettre une valeur bien supérieure. Veille à ne pas la mettre trop grande quand même.
Si tu fais par exemple une animation avec un interpolateur, as-tu pensé à le désactiver quand l'animation est finie ? Parce que même si tu mets -1 dans le premier champs pour ton alpha, ton interpolateur continue de tourner. Tu peux le voir en redéfinissant ton interpolateur et en ajoutant un affichage sur console dans la méthode "void processStimulus(Enumeration()".
Utilises une classe dans le genre :
public class monInterpolateurAvecSysout extends TransformInterpolator {
public monInterpolateurAvecSysout(Alpha alpha) { super(alpha); System.out.println("Mon interpolateur est construit"); }
public void initialize() { super.initialize(); System.out.println("Mon interpolateur est initialisé"); }
public void processStimulus(Enumeration e) { super.processStumulus(e); System.out.println("Mon interpolateur tourne"); }
}
( c'est du code improvisé que j'ai pas tappé dans Eclipse, mes excuses si ça compile pas :o) )
Utilise une classe dans le genre au lieu de ton interpolateur, et tu constateras qu'il n'arrête pas de tourner, même si ton animation est sensée s'arrêter. C'est logique si tu penses à la façon dont c'est fait. Si tu veux qu'il ne tourne qu'une fois, mets éventuellement le -1 pour le signaler, dans la construction de ton objet Alpha, mais fais aussi un truc dans le genre dans ton interpolateur :
public void processStimulus(Enumeration e) { super.processStumulus(e); // ou le comportement que tu recherchers if (getAlpha().value() == 1.0) this.setEnabled(false); }
C'est très con, mais ça fera redescendre l'utilisation de ton proco quasiment à 0 si tu n'animes plus rien et que ta scène n'est pas trop compliquée.
Enfin voilà, tout ça c'est un exemple d'optimisation possible, qui sert à te montrer qu'il faut que tu nous donnes bien plus d'informations sur ce que tu fais ;op Mais bon le setMinimumFrameCycleTime(long) dont je t'ai parlé au début t'aidera déjà BEAUCOUP !
Pour des infos sur l'optimisation, lis bien le llien que j'ai filé en réponse il y a quelques jours.
Cédric Olmanst, [qui espère t'avoir donné un bon coup de main]
Ced
je donc realisé un applet avec j3D , pour mes test je la lance depuis eclipse le processeur est utilisé à 50% au minimum tout le temps. Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0. Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu un thread dessine constemment sur le canvas mais bon ...
Tu peux forcer Java3D a garder ton image un certain temps... pour ça, utilise la méthode setMinimumFrameCycleTime(long) sur ta vue, que tu récupères avec canvas.getView(). Une valeur de 10 ou 15 ms semble acceptable si tu fais une animation (au-dessus, elle ne serait plus fluide), sinon tu peux mettre une valeur bien supérieure. Veille à ne pas la mettre trop grande quand même.
Si tu fais par exemple une animation avec un interpolateur, as-tu pensé à le désactiver quand l'animation est finie ? Parce que même si tu mets -1 dans le premier champs pour ton alpha, ton interpolateur continue de tourner. Tu peux le voir en redéfinissant ton interpolateur et en ajoutant un affichage sur console dans la méthode "void processStimulus(Enumeration()".
Utilises une classe dans le genre :
public class monInterpolateurAvecSysout extends TransformInterpolator {
public monInterpolateurAvecSysout(Alpha alpha) { super(alpha); System.out.println("Mon interpolateur est construit"); }
public void initialize() { super.initialize(); System.out.println("Mon interpolateur est initialisé"); }
public void processStimulus(Enumeration e) { super.processStumulus(e); System.out.println("Mon interpolateur tourne"); }
}
( c'est du code improvisé que j'ai pas tappé dans Eclipse, mes excuses si ça compile pas :o) )
Utilise une classe dans le genre au lieu de ton interpolateur, et tu constateras qu'il n'arrête pas de tourner, même si ton animation est sensée s'arrêter. C'est logique si tu penses à la façon dont c'est fait. Si tu veux qu'il ne tourne qu'une fois, mets éventuellement le -1 pour le signaler, dans la construction de ton objet Alpha, mais fais aussi un truc dans le genre dans ton interpolateur :
public void processStimulus(Enumeration e) { super.processStumulus(e); // ou le comportement que tu recherchers if (getAlpha().value() == 1.0) this.setEnabled(false);
}
C'est très con, mais ça fera redescendre l'utilisation de ton proco quasiment à 0 si tu n'animes plus rien et que ta scène n'est pas trop compliquée.
Enfin voilà, tout ça c'est un exemple d'optimisation possible, qui sert à te montrer qu'il faut que tu nous donnes bien plus d'informations sur ce que tu fais ;op Mais bon le setMinimumFrameCycleTime(long) dont je t'ai parlé au début t'aidera déjà BEAUCOUP !
Pour des infos sur l'optimisation, lis bien le llien que j'ai filé en réponse il y a quelques jours.
Cédric Olmanst, [qui espère t'avoir donné un bon coup de main]
je donc realisé un applet avec j3D , pour mes test je la lance
depuis eclipse le processeur est utilisé à 50% au minimum tout
le temps.
Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0.
Je suis donc étonné de ce comportement, je ne m attendais
pas a ce qu un thread dessine constemment sur le canvas
mais bon ...
Tu peux forcer Java3D a garder ton image un certain temps... pour ça,
utilise la méthode setMinimumFrameCycleTime(long) sur ta vue, que tu
récupères avec canvas.getView(). Une valeur de 10 ou 15 ms semble
acceptable si tu fais une animation (au-dessus, elle ne serait plus
fluide), sinon tu peux mettre une valeur bien supérieure. Veille à ne
pas la mettre trop grande quand même.
Si tu fais par exemple une animation avec un interpolateur, as-tu
pensé à le désactiver quand l'animation est finie ? Parce que même
si tu mets -1 dans le premier champs pour ton alpha, ton interpolateur
continue de tourner. Tu peux le voir en redéfinissant ton
interpolateur et en ajoutant un affichage sur console dans la méthode
"void processStimulus(Enumeration()".
Utilises une classe dans le genre :
public class monInterpolateurAvecSysout extends TransformInterpolator {
public monInterpolateurAvecSysout(Alpha alpha) {
super(alpha);
System.out.println("Mon interpolateur est construit");
}
public void initialize() {
super.initialize();
System.out.println("Mon interpolateur est initialisé");
}
public void processStimulus(Enumeration e) {
super.processStumulus(e);
System.out.println("Mon interpolateur tourne");
}
}
( c'est du code improvisé que j'ai pas tappé dans Eclipse, mes
excuses si ça compile pas :o) )
Utilise une classe dans le genre au lieu de ton interpolateur, et tu
constateras qu'il n'arrête pas de tourner, même si ton animation est
sensée s'arrêter. C'est logique si tu penses à la façon dont c'est
fait. Si tu veux qu'il ne tourne qu'une fois, mets éventuellement le
-1 pour le signaler, dans la construction de ton objet Alpha, mais fais
aussi un truc dans le genre dans ton interpolateur :
public void processStimulus(Enumeration e) {
super.processStumulus(e); // ou le comportement que tu recherchers
if (getAlpha().value() == 1.0) this.setEnabled(false);
}
C'est très con, mais ça fera redescendre l'utilisation de ton proco
quasiment à 0 si tu n'animes plus rien et que ta scène n'est pas trop
compliquée.
Enfin voilà, tout ça c'est un exemple d'optimisation possible, qui
sert à te montrer qu'il faut que tu nous donnes bien plus
d'informations sur ce que tu fais ;op Mais bon le
setMinimumFrameCycleTime(long) dont je t'ai parlé au début t'aidera
déjà BEAUCOUP !
Pour des infos sur l'optimisation, lis bien le llien que j'ai filé en
réponse il y a quelques jours.
Cédric Olmanst,
[qui espère t'avoir donné un bon coup de main]
je donc realisé un applet avec j3D , pour mes test je la lance depuis eclipse le processeur est utilisé à 50% au minimum tout le temps. Lorsque je réduit l applet viewver l utilisatio du proc retombe à 0. Je suis donc étonné de ce comportement, je ne m attendais pas a ce qu un thread dessine constemment sur le canvas mais bon ...
Tu peux forcer Java3D a garder ton image un certain temps... pour ça, utilise la méthode setMinimumFrameCycleTime(long) sur ta vue, que tu récupères avec canvas.getView(). Une valeur de 10 ou 15 ms semble acceptable si tu fais une animation (au-dessus, elle ne serait plus fluide), sinon tu peux mettre une valeur bien supérieure. Veille à ne pas la mettre trop grande quand même.
Si tu fais par exemple une animation avec un interpolateur, as-tu pensé à le désactiver quand l'animation est finie ? Parce que même si tu mets -1 dans le premier champs pour ton alpha, ton interpolateur continue de tourner. Tu peux le voir en redéfinissant ton interpolateur et en ajoutant un affichage sur console dans la méthode "void processStimulus(Enumeration()".
Utilises une classe dans le genre :
public class monInterpolateurAvecSysout extends TransformInterpolator {
public monInterpolateurAvecSysout(Alpha alpha) { super(alpha); System.out.println("Mon interpolateur est construit"); }
public void initialize() { super.initialize(); System.out.println("Mon interpolateur est initialisé"); }
public void processStimulus(Enumeration e) { super.processStumulus(e); System.out.println("Mon interpolateur tourne"); }
}
( c'est du code improvisé que j'ai pas tappé dans Eclipse, mes excuses si ça compile pas :o) )
Utilise une classe dans le genre au lieu de ton interpolateur, et tu constateras qu'il n'arrête pas de tourner, même si ton animation est sensée s'arrêter. C'est logique si tu penses à la façon dont c'est fait. Si tu veux qu'il ne tourne qu'une fois, mets éventuellement le -1 pour le signaler, dans la construction de ton objet Alpha, mais fais aussi un truc dans le genre dans ton interpolateur :
public void processStimulus(Enumeration e) { super.processStumulus(e); // ou le comportement que tu recherchers if (getAlpha().value() == 1.0) this.setEnabled(false);
}
C'est très con, mais ça fera redescendre l'utilisation de ton proco quasiment à 0 si tu n'animes plus rien et que ta scène n'est pas trop compliquée.
Enfin voilà, tout ça c'est un exemple d'optimisation possible, qui sert à te montrer qu'il faut que tu nous donnes bien plus d'informations sur ce que tu fais ;op Mais bon le setMinimumFrameCycleTime(long) dont je t'ai parlé au début t'aidera déjà BEAUCOUP !
Pour des infos sur l'optimisation, lis bien le llien que j'ai filé en réponse il y a quelques jours.
Cédric Olmanst, [qui espère t'avoir donné un bon coup de main]
Ced
Il faut bien évidement remplacer mes -1 par des 1 :)
Il faut bien évidement remplacer mes -1 par des 1 :)