S'adapter à n'importe quel résolution d'écran
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
S'adapter à n'importe quel résolution d'écran
Bonjour ,
À mon avis vous êtes énormément à rechercher une solution pour adapter vos script sur n'importe quel résolution ?
Je recherche une solution aussi .
Alors actuellement pour ce que j'ai dev .
Les infos pour l'exemple :
Mon pc : 1920x1080
Résolution de test : 1400x1050
X/Y du mouse click d'un bouton en 1920x1080 : 579 et 599
Donc ce que j'ai fait j'ai fait des calculs j'ai fait 1920 / 1400 et 1080 / 1050 ce qui nous permet d'obtenir un coef de pourcentage . Par la suite avec ce chiffre je fait 578 / le coef et 599 / le coef .
Logiquement ça devrait marcher sauf que ça ne marche pas .
Les calculs :
1920 /1400 = 1,37....
579 / 1,37... = 422
Quand avec je prend la position de la mouse de la position en 1400x1050 j'obtiens 333 . Pourquoi ce ne correspond pas ? Je ne sais pas .
Deuxième solution obligé l'utilisateur à être en 1920 x 1080 j'ai vu qu'une UDF américaine traîné pour modifier la résolution de l'écran sauf que tout le monde peux être en 1920 x1080 ? Une personne avec un petit écran va voir correctement où il aura l'écran coupé ?
Voilà si des gens ont déjà test , une solution ou autre je prends avec plaisir merci d'avance .
À mon avis vous êtes énormément à rechercher une solution pour adapter vos script sur n'importe quel résolution ?
Je recherche une solution aussi .
Alors actuellement pour ce que j'ai dev .
Les infos pour l'exemple :
Mon pc : 1920x1080
Résolution de test : 1400x1050
X/Y du mouse click d'un bouton en 1920x1080 : 579 et 599
Donc ce que j'ai fait j'ai fait des calculs j'ai fait 1920 / 1400 et 1080 / 1050 ce qui nous permet d'obtenir un coef de pourcentage . Par la suite avec ce chiffre je fait 578 / le coef et 599 / le coef .
Logiquement ça devrait marcher sauf que ça ne marche pas .
Les calculs :
1920 /1400 = 1,37....
579 / 1,37... = 422
Quand avec je prend la position de la mouse de la position en 1400x1050 j'obtiens 333 . Pourquoi ce ne correspond pas ? Je ne sais pas .
Deuxième solution obligé l'utilisateur à être en 1920 x 1080 j'ai vu qu'une UDF américaine traîné pour modifier la résolution de l'écran sauf que tout le monde peux être en 1920 x1080 ? Une personne avec un petit écran va voir correctement où il aura l'écran coupé ?
Voilà si des gens ont déjà test , une solution ou autre je prends avec plaisir merci d'avance .
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran
Bonjour, pouvez-vous êtes plus explicite concernant votre demande (avec un script qui met en évidence le problème rencontré) ?
Edit : Sans plus d'informations, voilà une solution proposée qui s'adapte aux résolutions (grâce à GUICtrlSetResizing) :
Edit : Sans plus d'informations, voilà une solution proposée qui s'adapte aux résolutions (grâce à GUICtrlSetResizing) :
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <TreeViewConstants.au3>
#include <WinAPITheme.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("MustDeclareVars", 1)
Global $gui
Global $tView
Global $lView
Global $taille[2] = [800, 600]
Global $border = 5
Global $tailleTView = [150, $taille[1] - 2 * $border]
Global $tailleLView = [$taille[0] - 3 * $border - $tailleTView[0], $tailleTView[1]]
$gui = GUICreate("", $taille[0], $taille[1], Default, Default, $WS_OVERLAPPEDWINDOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit", $gui)
$tView = GUICtrlCreateTreeView($border, $border, $tailleTView[0], $tailleTView[1], BitOR($TVS_HASBUTTONS, $TVS_LINESATROOT, $TVS_HASLINES, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
confTView()
$lView = GUICtrlCreateListView("", $border * 2 + $tailleTView[0], $border, $tailleLView[0], $tailleLView[1])
confLView()
GUICtrlSetResizing($tView, BitOR($GUI_DOCKLEFT, $GUI_DOCKTOP, $GUI_DOCKBOTTOM, $GUI_DOCKWIDTH))
GUICtrlSetResizing($lView, BitOR($GUI_DOCKLEFT, $GUI_DOCKTOP, $GUI_DOCKBOTTOM, $GUI_DOCKRIGHT))
GUISetState(@SW_SHOW, $gui)
While(True)
Sleep(10)
WEnd
Func confTView()
_WinAPI_SetWindowTheme(GUICtrlGetHandle($tView), 'Explorer')
_GUICtrlListView_SetExtendedListViewStyle($tView, BitOR($lVS_EX_DOUBLEBUFFER, $lVS_EX_FULLROWSELECT, $lVS_EX_SUBITEMIMAGES, $LVS_EX_HEADERDRAGDROP))
Local $grp1 = GUICtrlCreateTreeViewItem("Groupe 1", $tView)
Local $grp2 = GUICtrlCreateTreeViewItem("Groupe 2", $tView)
Local $grp3 = GUICtrlCreateTreeViewItem("Groupe 3", $tView)
GUICtrlCreateTreeViewItem("Item 1", $grp1)
GUICtrlCreateTreeViewItem("Item 2", $grp1)
GUICtrlCreateTreeViewItem("Item 3", $grp1)
GUICtrlCreateTreeViewItem("Item 4", $grp2)
GUICtrlCreateTreeViewItem("Item 5", $grp2)
GUICtrlCreateTreeViewItem("Item 6", $grp3)
GUICtrlCreateTreeViewItem("Item 7", $grp3)
GUICtrlCreateTreeViewItem("Item 8", $grp3)
GUICtrlSetState($grp1, $GUI_EXPAND)
GUICtrlSetState($grp2, $GUI_EXPAND)
GUICtrlSetState($grp3, $GUI_EXPAND)
EndFunc
Func confLView()
_WinAPI_SetWindowTheme(GUICtrlGetHandle($lView), 'Explorer')
_GUICtrlListView_BeginUpdate($lView)
_GUICtrlListView_AddColumn($lView, "Nom", 100)
_GUICtrlListView_AddColumn($lView, "val 1", 150)
_GUICtrlListView_AddColumn($lView, "val 2", 150)
For $i = 0 To 100
Local $index = _GUICtrlListView_AddItem($lView, "Item " & $i)
_GUICtrlListView_AddSubItem($lView, $index, $i * 10, 1)
_GUICtrlListView_AddSubItem($lView, $index, $i * 100, 2)
Next
_GUICtrlListView_EndUpdate($lView)
EndFunc
Func quit()
Exit
EndFunc
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <TreeViewConstants.au3>
#include <WinAPITheme.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("MustDeclareVars", 1)
Global $gui
Global $tView
Global $lView
Global $taille[2] = [800, 600]
Global $border = 5
Global $tailleTView = [150, $taille[1] - 2 * $border]
Global $tailleLView = [$taille[0] - 3 * $border - $tailleTView[0], $tailleTView[1]]
$gui = GUICreate("", $taille[0], $taille[1], Default, Default, $WS_OVERLAPPEDWINDOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit", $gui)
$tView = GUICtrlCreateTreeView($border, $border, $tailleTView[0], $tailleTView[1], BitOR($TVS_HASBUTTONS, $TVS_LINESATROOT, $TVS_HASLINES, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
confTView()
$lView = GUICtrlCreateListView("", $border * 2 + $tailleTView[0], $border, $tailleLView[0], $tailleLView[1])
confLView()
GUICtrlSetResizing($tView, BitOR($GUI_DOCKLEFT, $GUI_DOCKTOP, $GUI_DOCKBOTTOM, $GUI_DOCKWIDTH))
GUICtrlSetResizing($lView, BitOR($GUI_DOCKLEFT, $GUI_DOCKTOP, $GUI_DOCKBOTTOM, $GUI_DOCKRIGHT))
GUISetState(@SW_SHOW, $gui)
While(True)
Sleep(10)
WEnd
Func confTView()
_WinAPI_SetWindowTheme(GUICtrlGetHandle($tView), 'Explorer')
_GUICtrlListView_SetExtendedListViewStyle($tView, BitOR($lVS_EX_DOUBLEBUFFER, $lVS_EX_FULLROWSELECT, $lVS_EX_SUBITEMIMAGES, $LVS_EX_HEADERDRAGDROP))
Local $grp1 = GUICtrlCreateTreeViewItem("Groupe 1", $tView)
Local $grp2 = GUICtrlCreateTreeViewItem("Groupe 2", $tView)
Local $grp3 = GUICtrlCreateTreeViewItem("Groupe 3", $tView)
GUICtrlCreateTreeViewItem("Item 1", $grp1)
GUICtrlCreateTreeViewItem("Item 2", $grp1)
GUICtrlCreateTreeViewItem("Item 3", $grp1)
GUICtrlCreateTreeViewItem("Item 4", $grp2)
GUICtrlCreateTreeViewItem("Item 5", $grp2)
GUICtrlCreateTreeViewItem("Item 6", $grp3)
GUICtrlCreateTreeViewItem("Item 7", $grp3)
GUICtrlCreateTreeViewItem("Item 8", $grp3)
GUICtrlSetState($grp1, $GUI_EXPAND)
GUICtrlSetState($grp2, $GUI_EXPAND)
GUICtrlSetState($grp3, $GUI_EXPAND)
EndFunc
Func confLView()
_WinAPI_SetWindowTheme(GUICtrlGetHandle($lView), 'Explorer')
_GUICtrlListView_BeginUpdate($lView)
_GUICtrlListView_AddColumn($lView, "Nom", 100)
_GUICtrlListView_AddColumn($lView, "val 1", 150)
_GUICtrlListView_AddColumn($lView, "val 2", 150)
For $i = 0 To 100
Local $index = _GUICtrlListView_AddItem($lView, "Item " & $i)
_GUICtrlListView_AddSubItem($lView, $index, $i * 10, 1)
_GUICtrlListView_AddSubItem($lView, $index, $i * 100, 2)
Next
_GUICtrlListView_EndUpdate($lView)
EndFunc
Func quit()
Exit
EndFunc
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: S'adapter à n'importe quel résolution d'écran
TommyDDR a écrit : ↑ven. 07 mai 2021 23:52 Bonjour, pouvez-vous êtes plus explicite concernant votre demande (avec un script qui met en évidence le problème rencontré) ?
Edit : Sans plus d'informations, voilà une solution proposée qui s'adapte aux résolutions (grâce à GUICtrlSetResizing) :
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <ListViewConstants.au3>
#include <TreeViewConstants.au3>
#include <WinAPITheme.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("MustDeclareVars", 1)
Global $gui
Global $tView
Global $lView
Global $taille[2] = [800, 600]
Global $border = 5
Global $tailleTView = [150, $taille[1] - 2 * $border]
Global $tailleLView = [$taille[0] - 3 * $border - $tailleTView[0], $tailleTView[1]]
$gui = GUICreate("", $taille[0], $taille[1], Default, Default, $WS_OVERLAPPEDWINDOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit", $gui)
$tView = GUICtrlCreateTreeView($border, $border, $tailleTView[0], $tailleTView[1], BitOR($TVS_HASBUTTONS, $TVS_LINESATROOT, $TVS_HASLINES, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)
confTView()
$lView = GUICtrlCreateListView("", $border * 2 + $tailleTView[0], $border, $tailleLView[0], $tailleLView[1])
confLView()
GUICtrlSetResizing($tView, BitOR($GUI_DOCKLEFT, $GUI_DOCKTOP, $GUI_DOCKBOTTOM, $GUI_DOCKWIDTH))
GUICtrlSetResizing($lView, BitOR($GUI_DOCKLEFT, $GUI_DOCKTOP, $GUI_DOCKBOTTOM, $GUI_DOCKRIGHT))
GUISetState(@SW_SHOW, $gui)
While(True)
Sleep(10)
WEnd
Func confTView()
_WinAPI_SetWindowTheme(GUICtrlGetHandle($tView), 'Explorer')
_GUICtrlListView_SetExtendedListViewStyle($tView, BitOR($lVS_EX_DOUBLEBUFFER, $lVS_EX_FULLROWSELECT, $lVS_EX_SUBITEMIMAGES, $LVS_EX_HEADERDRAGDROP))
Local $grp1 = GUICtrlCreateTreeViewItem("Groupe 1", $tView)
Local $grp2 = GUICtrlCreateTreeViewItem("Groupe 2", $tView)
Local $grp3 = GUICtrlCreateTreeViewItem("Groupe 3", $tView)
GUICtrlCreateTreeViewItem("Item 1", $grp1)
GUICtrlCreateTreeViewItem("Item 2", $grp1)
GUICtrlCreateTreeViewItem("Item 3", $grp1)
GUICtrlCreateTreeViewItem("Item 4", $grp2)
GUICtrlCreateTreeViewItem("Item 5", $grp2)
GUICtrlCreateTreeViewItem("Item 6", $grp3)
GUICtrlCreateTreeViewItem("Item 7", $grp3)
GUICtrlCreateTreeViewItem("Item 8", $grp3)
GUICtrlSetState($grp1, $GUI_EXPAND)
GUICtrlSetState($grp2, $GUI_EXPAND)
GUICtrlSetState($grp3, $GUI_EXPAND)
EndFunc
Func confLView()
_WinAPI_SetWindowTheme(GUICtrlGetHandle($lView), 'Explorer')
_GUICtrlListView_BeginUpdate($lView)
_GUICtrlListView_AddColumn($lView, "Nom", 100)
_GUICtrlListView_AddColumn($lView, "val 1", 150)
_GUICtrlListView_AddColumn($lView, "val 2", 150)
For $i = 0 To 100
Local $index = _GUICtrlListView_AddItem($lView, "Item " & $i)
_GUICtrlListView_AddSubItem($lView, $index, $i * 10, 1)
_GUICtrlListView_AddSubItem($lView, $index, $i * 100, 2)
Next
_GUICtrlListView_EndUpdate($lView)
EndFunc
Func quit()
Exit
EndFunc
Désolé pour l'instant je suis pas sur mon pc donc impossible de vous donnez un bout de code dès que je peux je le fait mais ce n'est pas pour une gui c'est pour des données fixe ( X,Y) type variable mouse click .... Fin vraiment tout et n'importe quoi qui utilise un X,Y pour une position . Imaginons que je décide qu'il y'a un mouse click en 500,600 sur une autre résolution de pc autre que la mienne le mouse click ne de retrouvera pas au même endroit car la largeur et longueur a changer d'où l'histoire du coef qui logiquement mathématiquement permettrai de " convertir " le x,y du mouse click pour n'importe quelle résolution d'écran .
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran
Ok, je comprends mieux.
Vous vous êtes juste inversé pour les coef :
Si vous cliquez en 550 en 1920 et que la cible est 1400, il faut faire 550 / 1920 * 1400
C'est logique, imaginez que vous vouliez cliquer en 1920 (donc en 1400 sur la 2nd résolution)
1920 / 1920 * 1400 = 1 * 1400 = 1400
Vous vous êtes juste inversé pour les coef :
Si vous cliquez en 550 en 1920 et que la cible est 1400, il faut faire 550 / 1920 * 1400
C'est logique, imaginez que vous vouliez cliquer en 1920 (donc en 1400 sur la 2nd résolution)
1920 / 1920 * 1400 = 1 * 1400 = 1400
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: S'adapter à n'importe quel résolution d'écran
TommyDDR a écrit : ↑sam. 08 mai 2021 10:24 Ok, je comprends mieux.
Vous vous êtes juste inversé pour les coef :
Si vous cliquez en 550 en 1920 et que la cible est 1400, il faut faire 550 / 1920 * 1400
C'est logique, imaginez que vous vouliez cliquer en 1920 (donc en 1400 sur la 2nd résolution)
1920 / 1920 * 1400 = 1 * 1400 = 1400
Merci de votre aide . Du coup j'ai fait votre formule de calcul en reprenant les chiffre du premier post donc 579 et 1920 et 1400
579/1920 * 1400 = 422
Du coup au final je me retrouve avec exactement le même résultat que sur ma formule de calcul . Ce que je comprends pas c'est pourquoi ça ne marche pas . J'ai essayé sauf qu'au final l'objet cible de trouve en 333 et non en 422 comme le dit le résultat . J'ai bien revérifier en 1920 l'objet de trouve bien en 579 .
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran
Il faudrait une impression écran e 1920 et une en 1400 pour pouvoir comparer
Pour moi, ce n'est pas un bête ratio et il y a surement des parties qui se recalculent différemment.
Sans impressions écrans, nous ne pourrons pas aller plus loin dans l'analyse.
Pour moi, ce n'est pas un bête ratio et il y a surement des parties qui se recalculent différemment.
Sans impressions écrans, nous ne pourrons pas aller plus loin dans l'analyse.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: S'adapter à n'importe quel résolution d'écran
Alors voila un exemple concret 3 screen un qui montre la position avec un points rouge d'ou j'ai pris les données à chaque fois . Vous pouvez voir le X,Y dans le autoit X,Y.
On peux voir qu'en 1920 on trouve 527 et en 1400 on trouve 511
mais si on se base sur les calculs
1920/1400 = 1,3714...
527/1,3714 = 384
Donc ça ne correspond pas . la question c'est d'ou viens le problème.
On peux voir qu'en 1920 on trouve 527 et en 1400 on trouve 511
mais si on se base sur les calculs
1920/1400 = 1,3714...
527/1,3714 = 384
Donc ça ne correspond pas . la question c'est d'ou viens le problème.
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran
Si on observe bien les impressions écrans, on voit que ce n'est en effet pas simplement un ratio, les tailles d’icônes changent très légèrement ainsi que l'espacement entre les icônes, mais vous perdez surtout une grosse partie de vide à droite, c'est là que part la plupart de la différence de résolution.
La question est surtout : pourquoi pouvoir cliquer sur un fichier sur le bureau et pas faire un :
(.zip, .rar, .7z suivant la réelle extension du fichier, comme vous ne les affichez pas, je ne peux pas savoir exactement)
Quel est le but de cliquer sur cet icône ?
La question est surtout : pourquoi pouvoir cliquer sur un fichier sur le bureau et pas faire un :
ShellExecute(@DesktopDir & "\Sufokia.zip")
(.zip, .rar, .7z suivant la réelle extension du fichier, comme vous ne les affichez pas, je ne peux pas savoir exactement)
Quel est le but de cliquer sur cet icône ?
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Re: S'adapter à n'importe quel résolution d'écran
TommyDDR a écrit : ↑dim. 09 mai 2021 09:53 Si on observe bien les impressions écrans, on voit que ce n'est en effet pas simplement un ratio, les tailles d’icônes changent très légèrement ainsi que l'espacement entre les icônes, mais vous perdez surtout une grosse partie de vide à droite, c'est là que part la plupart de la différence de résolution.
La question est surtout : pourquoi pouvoir cliquer sur un fichier sur le bureau et pas faire un :
ShellExecute(@DesktopDir & "\Sufokia.zip")
(.zip, .rar, .7z suivant la réelle extension du fichier, comme vous ne les affichez pas, je ne peux pas savoir exactement)
Quel est le but de cliquer sur cet icône ?
Le but étant par exemple d'utiliser de la recherche d'images ou de pixel et que la zone prédéfini s'adapte aux changements de résolution ou que par exemple un mouse click sur une application s'adapte aux changements de résolution aussi par exemple . L'histoire du bureau c'etait simplement un exemple pour démontrer d'où venait le problème . Donc impossible de savoir si coup comment la résolution change l'écran vu que ce n'est pas un %?
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran
La question encore une fois est : Quel est le but de cliquer sur une icône sur le bureau ?
Vous avez surement autre autre finalité que de simplement cliquer une fois sur une icône du bureau.
Le but n'est-il pas de double cliquer dessus et donc de lancer le fichier voulu ?
Essayez de répondre avec un "début de cahier des charges".
C'est à dire : qu'est ce que vous avez en entrée, et qu'est ce que vous voulez en sortie.
Exemple : Je veux voir les propriétés du fichier Sufokia.zip se situant sur mon bureau
-> Entrée : nom du fichier
-> sortie : paramètres du fichier
("Faire un mouseclick sur une icône" n'est pas une finalité, "lancer l'application" en est une.)
Pour être clair : Il y a de fortes chances que vous vouliez faire une action d'une manière beaucoup plus compliqué que ce qui est possible de faire.
C'est pourquoi vous devez indiquer la finalité exact de ce clic sur une application
Vous avez surement autre autre finalité que de simplement cliquer une fois sur une icône du bureau.
Le but n'est-il pas de double cliquer dessus et donc de lancer le fichier voulu ?
Essayez de répondre avec un "début de cahier des charges".
C'est à dire : qu'est ce que vous avez en entrée, et qu'est ce que vous voulez en sortie.
Exemple : Je veux voir les propriétés du fichier Sufokia.zip se situant sur mon bureau
-> Entrée : nom du fichier
-> sortie : paramètres du fichier
("Faire un mouseclick sur une icône" n'est pas une finalité, "lancer l'application" en est une.)
Pour être clair : Il y a de fortes chances que vous vouliez faire une action d'une manière beaucoup plus compliqué que ce qui est possible de faire.
C'est pourquoi vous devez indiquer la finalité exact de ce clic sur une application
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- TommyDDR
- Modérateur
- Messages : 2102
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran
Sufokia étant le nom d'un serveur dofus, la présence d'une image dofus sur le bureau et d'un flash décompiler me laissent un doute sur vos intentions.
Sans compter votre mois d'absence sur ce sujet, je laisse un warning ici pour la suite de cette discussion.
Sans compter votre mois d'absence sur ce sujet, je laisse un warning ici pour la suite de cette discussion.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: S'adapter à n'importe quel résolution d'écran


" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )