
Matrix
bon j'ai refait une version a ma sauce
ou je simule une animation des caracteres ; car apres revisu de la video
les caracteres en tombant change !!!
alors j'ai pas voulu me casser la tete sur ma carte graphique l'effet animation fonctionne (attention c'est une petite arnaque)
dites moi si sur vos carte graphique l'effet passe bien !
prenez un peut de recul par rapport a votre moniteur pour aprecier
mais faite gaffe derriere vous
ne touchez pas votre souris c'est toujours un extincteur d'ecran
Ps: maintenant tous les abonnée du forum sont dans la matrice !
c'est ilisible mais bon !!
voici le code :
@le soldat : Merci !
ou je simule une animation des caracteres ; car apres revisu de la video
les caracteres en tombant change !!!

alors j'ai pas voulu me casser la tete sur ma carte graphique l'effet animation fonctionne (attention c'est une petite arnaque)

dites moi si sur vos carte graphique l'effet passe bien !
prenez un peut de recul par rapport a votre moniteur pour aprecier
mais faite gaffe derriere vous

ne touchez pas votre souris c'est toujours un extincteur d'ecran

Ps: maintenant tous les abonnée du forum sont dans la matrice !

c'est ilisible mais bon !!
voici le code :
Dim ysprite(1000)
Dim de(1000)
Dim nom$(12)
Dim liste(1000)
Dim index(1000)
Dim y(1000)
sprite=1
#Police=1
;*********** pour le screensaver
Param.s = Left(ProgramParameter(), 2)
If Param = "/p"
End
EndIf
GetCursorPos_(SourisOrigine.POINT)
ShowCursor_(0)
; ***********************************
Resultat = InitSprite()
FontID = LoadFont(#Police, "arial", 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_(#SM_CXSCREEN)
EcranY = GetSystemMetrics_(#SM_CYSCREEN)
;NbSprite = EcranX / 40 * 3
NbSprite =12
OpenWindow(1, 0, 0, EcranX, EcranY, #PB_Window_BorderLess | #PB_Window_Invisible, "Matrix")
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ; fenêtre toujours au premier plan
OpenWindowedScreen(WindowID(), 0, 0, EcranX, EcranY, 1, 0, 0)
nom$(1)="F,r,e,d, ,P,o,l,u,x, ,A,r,t,e,m,i,s, ,c,o,m,t,o,i,s, ,y,u,k,i,n, ,P,a,t,r,i,c,k,8,8, ,O,l,i,v, ,V,y,c, ,K,e,p,h, ,h,a,c,k,o,t,e,d,e,l,a,p,l,a,q,u,e, ,C,i,n,d,e,r,e,l,l,a, ,f,i,l,p,e,r,j, ,M,a,c,R,a,i,n,*,"
nom$(2)="B,e,r,n,a,r,d, ,D,e,n,i,s, ,S,n,o,o,z,e, ,M,a,r,c,u,s, ,D,r,., ,D,r,i, ,T,€,r,$,@,k,€,n, ,m,e,l,y,s,o,p,h, ,P,i,e,r,r,e, ,A,r,a,n,o,t,h, ,O,m,b,r,e,s, ,C,h,r,i,s,*,"
nom$(3)="g,a,u,t, ,l,e,o,n,e,o, ,L,u,k,k,y, ,v,i,r,t,u,a,l,y,s, ,P,a,n,e,r,i,c, ,h,t,e,a,m,s,p,y, ,D,E,F, ,b,r,o,s,s,d,e,n, ,-,-,-,f,r,e,d,-,-,-, ,C,r,y,s,t,a,l, ,N,o,i,r, ,c,o,o,k,i,e,*,"
nom$(4)="H,e,i,s, ,S,p,i,t,e,r, ,L,e, ,S,o,l,d,a,t, ,I,n,c,o,n,n,u, ,F,l,y,p,e, ,p,g, ,M,a,r,c, ,j,u,l,i,e,n, ,B,e,r,i,k,c,o, ,T,n,P,z, ,D,i,o,n,y,z,o,s, ,k,i,l,l,e,r,7,*,"
nom$(5)="N,a,d,r,a,k, ,p,h,i,l,i,p,u,s,2,5,1,1,0, ,f,r,e,d,d,i,x, ,r,e,m,r,a,m,4,4, ,c,e,d,e,r,a,v,i,c, ,O,r,l,a,n,t,h, ,G,u,i,m,a,u,v,e, ,T,E,A,L,C, ,n,i,c,o,*,"
nom$(6)="Z,a,p,M,a,n, ,w,e,7,t,h,e,b,o,s,s, ,J,a,c,q,u,e,s, ,S,t,o,p,i,n,s,k,i, ,r,o,l,l,m,o,p,s, ,c,l,a,u,d,e,d,0,7, ,m,g,o,u, ,[,J,B,],T,o,X,-,0,0,7, , ,S,y,s,z,z, ,C,O,R,B,A,S,E,*,"
nom$(7)="g,a,n,s,t,a,9,3, ,F,i,w,i,p, ,K,a,r,L,K,o,X, ,Y,o,o,p, ,p,a,t,m,a,b,a, ,E,l,_,C,h,o,n,i, ,J,e,n,o,v,a, ,N,e,l,l,s, ,f,r,a,n,c,e, ,n,e,w,z,i,g, ,B,a,k,a, ,f,l,o, , ,K,i,W,i,n,*,"
nom$( 8 )="Y,v,e,s, ,R,o,u,q,u,i,e,r, ,l,i,o,n,e,l,_,o,m, ,t,r,i,k,a,r, ,e,r,i,x,1,4, ,v,a,n,a,g,o, ,l,a,z,y, ,L,a,v,a,L,a,v,a, ,S,i,l,v,e,r, ,N,e,c,r,a, ,J,a,c,o,b,u,s, ,S,a,m,m,a,e,l,*,"
nom$(9)="a,b,y,5,6, ,J,e,a,n,-,P,a,u,l, ,t,h,e,d,o,o,r,p, ,s,o,b,r,i,q,u,e,t, ,l,e,_,p,r,o,_,d,u,_,p,u,r,e, ,g,i,l,l,e,s, ,r,o,b,e,r,t, ,C,A,R,T,E,R, ,P,a,t,r,i,c,k, ,c,h,r,o,n,o,m,a,n,c,i,e,n,*,"
nom$(10)="j,b,e,r,n,a,r,d,1,3, ,b,l,u,e, ,M,i,c,k,e,y, ,G,o,o,d,0,7, ,R,e,m,y,X, ,t,i,t,i,m,o,b,y, ,H,e,e,r,o, ,C,r,e,e,p,y, ,j,b,l,a,i,s,e,.,c,s, ,D,o,m,i,n,i,q,u,e,B, ,b,u,g,r,a,n,e,*,"
nom$(11)="P,i,e,r,r,e, ,t,h,e, ,n,o,o,b, ,o,f, ,o,f, ,b,a,s, ,b,l,a,c,k,r,o,c,k, ,r,Y,n,0, ,L,E,_,B,a,s,s,i,s,t,e,_,A,t,i,t,r,é, , ,N,o,T, ,Y,a,m, ,f,w,e,i,l, ,Y,o,u,r,H,e,a,d,[,^,_,-,],*,"
nom$(12)="G,a,l,e,n, ,L,O,U,L,O,U,2,5, ,m,i,c,k,e, ,c,h,a,r,l,y, ,g,a,r,z,u,l, ,B,l,o,u,t,i,o,u,f, ,D,a,r,k,D,r,a,g,o,n, ,n,e,m,o, ,g,i,l,l,e,s,p,e,y,r,i,n, ,y,a,n,n,6,4, ,D,o,b,r,o,*,"
de= Random(EcranX) :; on tire une colonne au hazard
; on crée un sprite
For spr=1 To 12
Resultat = CreateSprite(spr, 24,24*Len(nom$(spr)),0 )
While index(spr)<=Len(nom$(spr))+1
index(spr)=index(spr)+1
car$ = StringField(nom$(spr), index(spr), ",")
y(spr)=y(spr)+24:; pour que le text descende
StartDrawing(SpriteOutput(spr))
BackColor(0, 0,0)
c = c *1.4 :; on eclaircie la couleur !!
If c>255:c=0:EndIf
If car$ = " "
c = 10
EndIf ; on remet la couleur d'origine sur les espaces
;c=255
FrontColor(0, c, 0)
Locate(0, y(spr))
DrawingFont(FontID)
DrawText(car$)
StopDrawing()
Wend
Next spr
;***********************************
For ind=1 To 100
ysprite(ind)=0-Random(900)-900:; on tire une ligne de depart au dessus de l'ecran
de(ind)= Random(EcranX)*24
liste(ind)=de(ind)
Next ind
For ind=1 To 12
Next ind
Repeat
RandomSeed(Random(255))
For ind=1 To 50
; si le sprite sort en bas
If ysprite(ind)>EcranY
ysprite(ind)=-Random(1900)-900:; on tire une ligne de depart au dessus de l'ecran
de(ind)= Random(EcranX)+27 :; on tire une colonne au hazard (on en profite)
EndIf
spr=spr+1
If spr>12
spr=1
EndIf
ysprite(ind)=ysprite(ind)+Random(7)+5
DisplayTransparentSprite(spr, de(ind), ysprite(ind))
Next ind
FlipBuffers()
ClearScreen(0,0,0)
GetCursorPos_(Souris.POINT)
Until WindowEvent() = #PB_Event_CloseWindow Or Souris\x <> SourisOrigine\x Or Souris\y <> SourisOrigine\y
ShowCursor_(1)
@le soldat : Merci !

pourtant c'est le 3em nom de la variable nom$(3)
comment ça ton ecran est tout noir ?? tu voix pas les lettres tomber ??
sinon change
) (plus clair) en principe si tu met c=80 la couleur la plus foncé va s'eclaircir !!
quant a
donc c'est imposssible que tu ne vois pas
heu ! retire moi d'un doute : ton moniteur est branché a la prise au moins ???

comment ça ton ecran est tout noir ?? tu voix pas les lettres tomber ??

sinon change
cette portion de code determine la couleur de depart et celle d'arrivé (Merci CEDERAVICK !c = c *1.4 :; on eclaircie la couleur !!
If c>255:c=0:EndIf
If car$ = " "
c = 10

quant a
ça represente le pas d'eclaircissement !c = c *1.4
donc c'est imposssible que tu ne vois pas

heu ! retire moi d'un doute : ton moniteur est branché a la prise au moins ???




Haha nan j'déconne, j'ai pas d'affichage (je te rassure mon moniteur est branché, note que j'ai moult problèmes de ce genre chez des clients, on rigole mais on trouve toujours plus con que soit, dixit harakiri), un bel écran noir, mais l'applic n'est pas plantée, la souris réanime mon bureau.
Ma config Radeon 9000, Athlon 2400, 1go de SDRam, 250 Go de HDD.
JL
Ma config Radeon 9000, Athlon 2400, 1go de SDRam, 250 Go de HDD.
JL
Quand on me gonfle trop j'éclate, sinon ça va !
il faut attendre quelques secondes avant que les lettres arrivent
c'est peut etre un manque de patience de ta part ??
parcequ'il n'y a rian dans ce listing qui empeche qu tu vois les lettres tomber !!!! verifie tu verra c'est assez simple !
il est vrai que sur mon P4 a 2,8 Go j'attent 4 secondes avant de voir arriver les lettres , et que j'ai programmer ça vers les 1 heures du mat
en plein dans le noir !! et quand plein jours on dicerne assez mal les lettres
t'a essayé de monter le niveau de lumiere de ton moniteur, ou de modifier les parametres comme j'indique plus haut ??
sinon pour etre sur tu décommente la ligne
mais en principe je vois pas pourquoi cela ne marche pas chez toi !!!
y a t'il quelqu'un d'autre ayant ce probleme ???
ps j'utilise la version 3.80 de pure !! je vais installer la derniere pour tester
c'est peut etre un manque de patience de ta part ??

parcequ'il n'y a rian dans ce listing qui empeche qu tu vois les lettres tomber !!!! verifie tu verra c'est assez simple !

il est vrai que sur mon P4 a 2,8 Go j'attent 4 secondes avant de voir arriver les lettres , et que j'ai programmer ça vers les 1 heures du mat
en plein dans le noir !! et quand plein jours on dicerne assez mal les lettres
t'a essayé de monter le niveau de lumiere de ton moniteur, ou de modifier les parametres comme j'indique plus haut ??
sinon pour etre sur tu décommente la ligne
ça forcera les lettre a la couleur verte !!;c=255
mais en principe je vois pas pourquoi cela ne marche pas chez toi !!!
y a t'il quelqu'un d'autre ayant ce probleme ???

ps j'utilise la version 3.80 de pure !! je vais installer la derniere pour tester
parce que j'ai utilisé "StringField"
c'est comme les datas
comme je ne lit q'une seule fois les caracteres pour creer des images de sprites, c'est pratique "StringField" .. je trouve que c'est une des fonctions les plus inovante que le pure propose, une sorte de data moderne !
cherche pas trop la petite bete , car comme je l'ai deja dit sur ce forum
je program basic a l'ancienne ,et les structure et autre liste chainée sont du chinois pour moi !
et pis j'ai pas cherché l'optimisation !
pis les noms ils etaient en REM , je les aient viré !!
c'est comme les datas

comme je ne lit q'une seule fois les caracteres pour creer des images de sprites, c'est pratique "StringField" .. je trouve que c'est une des fonctions les plus inovante que le pure propose, une sorte de data moderne !

cherche pas trop la petite bete , car comme je l'ai deja dit sur ce forum
je program basic a l'ancienne ,et les structure et autre liste chainée sont du chinois pour moi !

et pis j'ai pas cherché l'optimisation !
pis les noms ils etaient en REM , je les aient viré !!
Pour le StringField, j'avais pas vu: Puis c'était juste une question comme ça.Dobro a écrit :cherche pas trop la petite bete , car comme je l'ai deja dit sur ce forum
je program basic a l'ancienne ,et les structure et autre liste chainée sont du chinois pour moi !
et pis j'ai pas cherché l'optimisation !

Pour les Datas, je te signale qu'ils étaient déjà présents sur le Basic du MO5. Si ça, c'est pas du basic à l'ancienne

Chris


Vraiment sympa ce petit prog,
Félicitations Dobro, idée lumineuse

Bravo à la complicité des autres !
Entre nous, j'aime bien la musique....
je me commet dans la compo numérique,
aussi j'ai eu envie de mettre du son sur ce
screensaver et du son à moi.
je ne peux vous en faire profiter compte tenu
de la taille des fichiers wav et mon bas débit,
mais voilà de quoi sonorisé avec votre musique
préférée. vous reconnaîtrez les portions ajoutées
au code initial, facile à comprendre.
Encore Bravo et merci,
Jacobus.
Code : Tout sélectionner
; Matrix Cree Par Dobro
Dim ysprite(1000)
Dim de(1000)
Dim nom$(30)
Dim liste(1000)
Dim index(1000)
Dim y(1000)
sprite=1
#Police=1
;===========constante son========
Enumeration
#son_1
EndEnumeration
;================================
;*********** pour le screensaver
Param.s = Left(ProgramParameter(), 2)
If Param = "/p"
End
EndIf
GetCursorPos_(SourisOrigine.POINT)
ShowCursor_(0)
; ***********************************
Resultat = InitSprite()
FontID = LoadFont(#Police, "arial", 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_(#SM_CXSCREEN)
EcranY = GetSystemMetrics_(#SM_CYSCREEN)
;NbSprite = EcranX / 40 * 3
NbSprite =12
;===initialisation et chargement du son=============
Result = InitSound()
son1.s ="C:\Mes documents\Ma musique\Mes mix\mix0002.wav" ;choisir un wav qui vous plaît
If LoadSound(#son_1,son1)
PlaySound(#son_1,1);O si vous voulez l'entendre qu'une fois, 1 pour l'écoute en continu.
EndIf
;======c'est tout============
OpenWindow(1, 0, 0, EcranX, EcranY, #PB_Window_BorderLess | #PB_Window_Invisible, "Matrix")
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ; fenêtre toujours au premier plan
OpenWindowedScreen(WindowID(), 0, 0, EcranX, EcranY, 1, 0, 0)
nom$(1)="h,o,g,o,f,g,h,6,+,8,3,5,f,s,g,4,6,8,4,3,f,s,*,g,°"
nom$(2)="R,O,L,N,R,H,D,F,G,J,K,L,H,G,F,.,/,M,P,%,M,L,*,K,°"
nom$(3)="E,B,I,C,E,E,R,T,I,U,T,K,G,S,M,K,M,O,S,G,J,S,*,O,°"
nom$(4)="D,R,V,O,D,d,f,g,d,d,f,g,d,x,v,c,b,,,u,r,y,z,*,r,°"
nom$(5)=":,O,:,N,D,q,d,y,e,p,o,x,c,b,:,;,z,e,z,e,t,w,*,x,°"
nom$(6)="P,:,E,U,I,:,:,F,G,H,O,G,K,B,¨,B,J,K,S,G,?,S,*,D,°"
nom$(7)="O,R,L,:,X,:,e,t,i,u,t, ,p,t,z,u,r,z,t,_,ç,e,*,r,°"
nom$( 8 )="L,O,:,D,D,H,I,9,U,R,:,0,8,9,T,Z,R,T,P,R, ,P,*,Z,°"
nom$(9)="U,U,C,E,D,m,s,k,l,d,f,m,p,ç,o,r,j,t,m,z,g,j,*,s,°"
nom$(10)="X,Q,H,N,R,o,o,h,s,r,f,i,h,s,r,f,g,i,h, ,d,f,*,h,°"
nom$(11)="g,U,l,O,I,F,D,O,I,H,F,B,L,K, ,%,P,I,J,3,5, ,*,0,°"
nom$(12)="A,I,u,N,S,D,F,O,0,8,R,G,%,I,R,E,H,P,9,H,P,9,*,O,°"
nom$(13)="R,E,k,I,:,R,G,D,H,O,I,F,D,B,O,%,I, ,V,B,P,Z,*,Q,°"
nom$(14)="T,R,k,:,F,I,O,I,:,X,N,F,B, ,F,B,D,O,P,I,D,F,*,B,°"
nom$(15)="E, ,k,J,L, ,H,R,F,T,J,D,G,N, ,X,F,J,E,<,<,S,*,F,°"
nom$(16)="M,C,k,E,Y,K,Y,R,J,S,R,F,?,N,F,G,W,F,P,G,K, ,*,W,°"
nom$(17)="I,H,k,N,P,A,£,¨,M,£,¨,M,F,G,J,X,W,F,G,J,X,F,*,G,°"
nom$( 18 )="S,R,k,O,E,R,T,D, ,H,I,J, ,I,E,J,H,Q,P,E,T,H,*,J,°"
nom$(19)=" ,I,k,V, ,K,E,R,P,9,I,E,Q,R,P,Q, ,E,U,R,P, ,*,H,°"
nom$(20)="C,S,k,A,H,O,E,R, ,Q,R,Y,U, ,Q,Ë,0,9,U,Q, ,E,*,0,°"
nom$(21)="O, ,k, ,E,X,E,R,Y, ,Q,E,R,Y, ,Q,E,R,Y,Q,E,R,*,P,°"
nom$(22)="M,Z,k,L,I, ,E,R,Y,Q,E,R,Y,P,S,E,U,S,%,P,E,Y,*,9,°"
nom$(23)="T,A,k,E,S,T,S,R,E,T,S,T,R,U,Y,S,R,T,P,U,I,S,*,R,°"
nom$(24)="O,P,k, ,S,Y,S,R,U,S,R,T,U,S,R,T,U,S,R,T,U,9,*,S,°"
nom$(25)="I,M,k,S,P,U,5,S,R,¨,0,8,U, ,Q,R,Y,E,0,5,4,5,*,Y,°"
nom$(26)="S,A,k,O,I,I,R,S,U,S,R,Y,U,2,5,4,3,2,6,5,3,S,*,Y,°"
nom$(27)=" ,N,k,L,T,R,E,R,Y,Q,E,R,z,I,Q,E,4,Y,Q,E,T,+,*,R,°"
nom$( 28 )="8,u,k,D,E,S,E,R,Q,Y,P,9,8,Z,E,a,T,8,3,Q, ,8,*,U,°"
nom$(29)="8,o,k,A,R,G,E,5,Q,E,5,z,Y,8,U,E,R,Z,¨,0,U,3,*,4,°"
nom$(30)="8,f,k,T,s,D,E,5,Y,3,5,Q,8,Q,Z,R,¨,8,E,5,Q,0,*,9,°"
de= Random(EcranX) :; on tire une colonne au hazard
; on crée un sprite
For spr=1 To 30
Resultat = CreateSprite(spr, 24,24*Len(nom$(spr)),0 )
;couleur =couleur+8
;If couleur >255
; couleur=255
;EndIf
; While index(spr)<=Len(nom$(spr))+1
While StringField(nom$(spr), index(spr), ",")<>"°"
index(spr)=index(spr)+1
car$ = StringField(nom$(spr), index(spr), ",")
y(spr)=y(spr)+24:; pour que le text descende
StartDrawing(SpriteOutput(spr))
BackColor(0, 0,0 )
c = c +7 :; on eclaircie la couleur !!
If c>255:c=0:EndIf
If car$ = "°"
c = 20
EndIf
FrontColor(0, c, 0)
If car$ = "*"
index(spr)=index(spr)+1
car$ = StringField(nom$(spr), index(spr), ",")
FrontColor(100, c,100 )
EndIf
;c=couleur
Locate(0, y(spr))
DrawingFont(FontID)
DrawText(car$)
StopDrawing()
Wend
Next spr
;ceci prepare les colonne qui vont etre solicite pour l'affichage, un "precalcul" en fait
If EcranX=640
col$="54,81,108,135,162,189,216,243,270,297,324,351,378,405,432,459,486,513,540,567,594,621,640,27"
EndIf
If EcranX=800
col$="54,81,108,135,162,189,216,243,270,297,324,351,378,405,432,459,486,513,540,567,594,621,648,675,702,729,756,783,800,27"
EndIf
If EcranX=1024
col$="54,81,108,135,162,189,216,243,270,297,324,351,378,405,432,459,486,513,540,567,594,621,648,675,702,729,756,783,810,837,864,891,918,945,972,999,1024,27"
EndIf
;***********************************
indexc=0
For ind=1 To 100
ysprite(ind)=0-Random(900)-900:; on tire une ligne de depart au dessus de l'ecran
If StringField(col$, indexc, ",")<>"27"
indexc=indexc+1
carcol$ = StringField(col$, indexc, ",")
de(ind)=Val(carcol$)
If carcol$=""
de(ind)=135
EndIf
Else
indexc=0
EndIf
Next ind
indexc=0
Repeat
RandomSeed(Random(255))
For ind=1 To 100
; si le sprite sort en bas
If ysprite(ind)>EcranY
ysprite(ind)=-Random(1900)-900:; on tire une ligne de depart au dessus de l'ecran
EndIf
spr=spr+1
If spr>29
spr=1
EndIf
;spr=1
; vitesse des sprites
ysprite(ind)=ysprite(ind)+Random( 8 )+5
DisplayTransparentSprite(spr, de(ind), ysprite(ind))
Next ind
FlipBuffers()
ClearScreen(0,0,0)
GetCursorPos_(Souris.POINT)
Until WindowEvent() = #PB_Event_CloseWindow Or Souris\x <> SourisOrigine\x Or Souris\y <> SourisOrigine\y
ShowCursor_(1)
Re, bon j'ai attendu et je ne suis pas aveugle ce qui déjà me rassure, donc ça ne fonctionne pas chez moi.
Plus fort !
Pour les deux derniers codes je vois le défilement mais concentré sur une seule colonne !! Le tout à 10cm du bord gauche de mon écran !!
Et bien sur c'est illisible puisque tout s'affiche sur une seule colonne le reste étant noir.
Bizarre tout de même, peut-être ma réso, je suis en 1600x1400.
La j'ai pas le temps, je regarderais le code dès que j'aurais un moment, faites comme si j'avais rien dis, mais ça m'épatoume tout de même !
JL
Plus fort !
Pour les deux derniers codes je vois le défilement mais concentré sur une seule colonne !! Le tout à 10cm du bord gauche de mon écran !!
Et bien sur c'est illisible puisque tout s'affiche sur une seule colonne le reste étant noir.
Bizarre tout de même, peut-être ma réso, je suis en 1600x1400.
La j'ai pas le temps, je regarderais le code dès que j'aurais un moment, faites comme si j'avais rien dis, mais ça m'épatoume tout de même !
JL
Quand on me gonfle trop j'éclate, sinon ça va !