Forum robotique : robot quadrupede, hexapode et petits robots autonomes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
Nike : Jusqu’à 50% sur les articles de ...
Voir le deal

Programmation général du robot

4 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

Programmation général du robot Empty Programmation général du robot

Message par Nadar Mar 20 Oct - 13:17

Salut !

Je pose peut être une question un peu tôt mais on ne connait pas encore l'architecture du soft du robot. je dit ça car cela me parrait important. J'ai vu que vous aviez des platines démo microcontroleurs et si j'ai bien compris , les années précédentes les équipes codaient le robot en utilisant uniquement une seule carte de µP ( microcontroleur ).

Ma suggestion est de séparer les différentes taches et de les orchestrer par un autre µP : en gros, un réseau de µP. Je vous propose cela car j'ai pas mal codé pour de la robotique et bien souvent lorsque il y a un probleme dans le code et que l'on change un petit truc le plus souvent on passe des heures sur des problèmes qui n'existeraient pas si on avait séparé le code sur plusieurs µP. Le but serait donc de faire des systèmes indépendants et fiables capables de traiter des problèmes seuls .

Petite illustration :
Programmation général du robot Struct12
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Dagnir Ven 23 Oct - 16:14

Ou alors tu fais du code propre bounce

Dagnir

Nombre de messages : 7
Date d'inscription : 13/10/2009

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Ven 23 Oct - 17:48

Si tu dit cela c'est que tu n'as jamais programmé Very Happy
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par gus Sam 24 Oct - 20:57

Pour les années précédente on utilisait plusieurs microC:

y a 2 ans on a fait 2 microC 32 bit, 1 pour la stratégie et 1 pour l'asservissement en position et 1 microC 8 bit pour asservir un barillet en position
la com avec le 8 bit c'étais très simple 3 fils parallèle pour donner la position du barillet (8 positions possible) et 1 fils d'acquittement
pour la carte stratégie et la carte de position on voulais faire du parallèle 8bit mais ça été la grosse misère et on s'y ai pris trop tard, au final on as tourné sur 1 microC 32 bit et le 8 bit

L'année dernière on as utilisé l'eeePC, 1 microC 32 bit et il étais prévu de mettre 4 microC 8 bit, l'idée étais un peu la même que l'année dernière l'eeepc pour la stratégie, le 32 bit pour l'asserve en position et les 8 bit pour des petit asserve de postion de pince et autre
la com eeePC -> microC étais faite avec un emulateur usb/RS232
et pour la com avec les 8bit on as pas eu le temps de la faire mais c'était soit de l'I²C ou comme y a 2 ans 3 fils (quand il n'y a moins de 8 position possible) et 1 fil d'acquittement


tous ça pour dire qu'il faut faire très gaffe, parce que multiplié les microC ça veut dire faire de la com, et quand c'est juste du tout ou rien ou juste des petites valeur ou on peut faire du parallèle c'est très simple mais quand c'est des grosse valeur, faut mettre en place un protocole de communication et la ça devient tout de suite très lourd !!!


Ton système n'est pas trop mal pour les microC 2 et 3 je vois bien des petits 8 bits

pour microC0 c'est la carte principale, après je crois que tes jonctions sont mal placé, je connais rien qui va permettre de faire directement du PC au microC faudra que tu mette qqch entre, soit un composant spéciale ou le 32 bit (comme on as fait l'année dernière)
ensuite pour l'odométrie tu peux pas utilisé la même chose que tu utilise pour les autre microC: les autres microC c'est une info de temps en temps alors que l'odoétrie faut que ça soit super rapide le mieux c'est de faire du parallèle directement avec le microC 0, un peu comme les cartes que j'ai fait l'année dernière ^^

gus

Nombre de messages : 3
Date d'inscription : 24/10/2009

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Dim 25 Oct - 21:20

Ha ba tu voit, je ne savais même pas que vous aviez utilisés plusieurs µC les années précédentes Razz

gus a écrit:pour microC0 c'est la carte principale, après je crois que tes jonctions sont mal placé, je connais rien qui va permettre de faire directement du PC au microC faudra que tu mette qqch entre, soit un composant spéciale ou le 32 bit (comme on as fait l'année dernière)

Un simple composant du type max 232 qui permettra de convertir les différents niveau de tension Wink Je l'ais utilisé l'année derniere dans le cadre de mon projet . Je devait, entre autre, réaliser une liaison RS232 entre un PC et un µC PIC. ça marche du tonnerre ! Juge par toi même : Lien

gus a écrit:ensuite pour l'odométrie tu peux pas utilisé la même chose que tu utilise pour les autre microC: les autres microC c'est une info de temps en temps alors que l'odoétrie faut que ça soit super rapide le mieux c'est de faire du parallèle directement avec le microC 0, un peu comme les cartes que j'ai fait l'année dernière ^^

Je ne voit pas le probleme ... Tu peut utiliser des interruptions pour regarder en continue l'état de certaines entrées et faire tes calculs en temps réel .
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Lun 15 Mar - 21:16

Heureusement que yen a qui bossent.
Voila l'organisation de la partie programation actuellement (celle qu'on voit marcher sur les vidéos). La prochaine étape c'est de construire la brique "objectifs" qui actuellement est juste une liste de points.

Programmation général du robot Archi10

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mar 6 Avr - 13:29

Hello ! J'aurais voulu savoir si le 32 bits était capable de faire des calculs mathématique "lourd" ? Car dans ce cas exit le pc et on met un 8 bit pour multiplier les entrées/sorties ( je pense aux capteurs ).
Je sais que tu aime bien la liaison avec le PC moi , mais si on peut s'en passer se serait quand même mieu vu les problèmes que ça peut rajouter ! De plus on a pas besoins d'interface graphique et je suis près a enlever la camera au profit de capturs classiques ( c'est d'ailleurs ce que je suis en train de faire pendant ces vacances) mais il me faudrait un petit 8bit en plus dans ce cas comme dans les années precedantes.
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Mer 7 Avr - 16:17

Si le club a approuvé l'achat d'un EeePC l'année dernière c'était pas uniquement pour me permettre de passer ma vie à essayer de faire marcher la communication série, mais justement pour :
- l'interface graphique, va régler tes coefficients si tu dois faire 50 manips avant d'avoir une courbe
- la possibilité de faire des calculs mathématiques lourds, je viens de retester, à la fréquence par défaut de 4MHz il faut 10ms pour calculer cos(0). La fréquence max c'est 22MHz. J'ai pas testé longtemps mais en plus l'emploi de nombres à virgule faisait planter le debugger.

Qu'est-ce qui t'empeche de mettre un QG8 avec le PC ?

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mer 7 Avr - 17:49

Rien ne m'empêche de mettre un QG8 avec le PC bien au contraire !
Moi c'est la liaison série qui m'embête . Je sais que c'est pas fiable à 100% . Le mieux si on voulait vraiment utiliser un PC ça aurait été d'avoir un PC/104 . Mais bon pour maintenant : le club à pris cette décision avant moi, je ne peut donc pas faire sans. C'est une décision qui se respecte et qui permet de simplifier certains problèmes mais qui en pose d'autre comme ... la communication ! Qui dit communication série dit également perturbations ! C'est pour cela que j'approuve cette solution uniquement dans le cas du monitoring.

Pour ce qui est du réglage des coefficients , c'est vrai que l'interface graphique permet de les régler rapidement . Mais une fois réglé plus besoins de revenir dessus , ou alors c'est qu'on c'est planté ou qu'il y a eu des modifications dans la conception du système.

Pour ce qui est des cosinus et autre , il existe des bibliothèques mathématique qui permettent d'approcher les valeurs. De plus si on utilise souvent des valeurs on peut utiliser une table ce qui simplifiera et rendra plus rapide les calculs.

Par contre ton histoire de nombre à virgule qui fait planter le débugger c'est bizarre . Peut tu m'envoyer le code que tu à utilisé svp . J'arrive à le faire avec des 8 bits donc avec des 32 bits ça doit être la même chose.

Ne croit pas que je critique gratuitement ce système. Si j'emet des réticences c'est que j'en ais déjà fait l'expérience. : moins il y a de communications mieux c'est !

A tu trouvé le moyen de passer la com série par la carte de demo directement ?

edit : j'ai retrouvé la doc je te l'ai envoyé par email Very Happy
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Sam 10 Avr - 14:39

J'ai fait des tests sur les timers, niveau PC. J'utilise time.h et clock()
En gros ce que je pense faire c'est

while ( 1 minute 30s ){
t = clock();

/* code d'asservissement */

while ( clock() < t+10 ){
}
}

Pour faire tourner l'asservissement toutes les 10ms.
Ca marche bien sur mon portable, mais sur l'eeepc il semble qu'il y ait un pas de temps minimum de 15~16ms.
Par exemple si mon programme fait

while(1){
printf ( "%l", clock() );
}

ca affiche :
233
233
233
233
233
233
233
233
249
249
249
etc.

Ca fait pareil sur le PC de ma mère donc j'en déduit que ca vient de windows XP.
J'essaye de mettre Windows 7 embarqué mais c'est galère. Donc ma question :
qui connait une distro linux légère et qui peut faire tourner matlab ?

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Sam 10 Avr - 19:58

Ha ha ! Tu veut te mettre a linux maintenant ! Smile ! N'en écouté je regarde ça ce soir sur mon Linux et je te dit ce qu'il en est . Mais tu a encore besooins de matlab ? Je pensais que tu portais le code en C ?
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Sam 10 Avr - 20:10

C'est pas que je veuille me mettre à linux, mais XP a un temps de réponse de 15ms (j'ai testé sur le PC de mon père : pareil), et il faut au moins 1Go pour installer Win 7. Ca vient peut être du framework sinon mais bon...
Pis si faut dévelloper sous linux j'aime encore plus que ce soit avec Matlab, que j'ai une chance d'y comprendre quelque chose.

J'avais déjà porté le code en C sur Matlab, si j'ai fait du full-C c'est parceque je voulais savoir si c'était une hypothétique "couche" Matlab qui ralentissait le port COM.

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Sam 10 Avr - 20:11

Pour la distro on a peut être pas besoin d'un linux "embarqué" ou temps réel, juste d'un truc assez léger pour répondre de l'ordre de la ms. Apparemment y avait une distro eeeXubuntu tunée pour l'EeePC mais ca date de 2007.

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Sam 10 Avr - 20:21

Tu peut essayer Linux xanderos . Et matlab tourne sur Linux donc aucun problème. Et puis pour ce qui est de programmer en C , c'est plus facile de bosser sur Linux que sur Windows Wink !
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Sam 10 Avr - 20:40

Mouai

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Sam 10 Avr - 23:03

C'est vraiment de type merdique linux

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Lun 12 Avr - 1:55

Après moult problèmes, j'ai réussis à faire un petit programme en C++ sous une distro qui s'appelle Puppeee. Tout le système est chargé dans la RAM et le kernell est "préemptif". En faisant le genre de boucle décrit plus haut j'arrive à avoir une résolution de l'ordre de 10µs. Ya plus qu'à faire marcher le port COM. Si ca va bien, j'essaierai de faire sans Matlab vu qu'installer quoi que soit sous linux relève de l'intervention divine.

Pour le port COM http://www.ftdichip.com/ (le constructeur du composant) propose des drivers pour linux. En fait c'est une archive avec dedans un fichier .c et .h. J'ai pas eu le temps de regarder comment m'en servir donc si quelqu'un qui s'y connait en linux veut bien me guider ca serait bien.

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Mar 13 Avr - 13:27

Bon en fait faudrait qu'on se voit en fait, moi j'y grille que dalle à vos make install à la con, du coup je sais pas comment utiliser le port COM.

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mar 13 Avr - 15:11

Ben moi j'arrive à installer matlab mais c'est vrai que c'est pas du gateau et les dévellopeurs de matlab n'aide pas ...

Bon si c'est trop galere deux choix :
- Soit on repart sous windows et on accepte les 15 ms .
avantages : simple ( tu l'a deja fait ), interface graphique, puissance de calcul
inconvénients : temps de latence, communication, beug du Pc ou du logiciel toujours possible

- Soit on s'implifie et on met tous dans le µC
avantages : pas de communication, rapidité d'exécution
inconvénients : pas de calculs mathématiques lourds possibles, pas d'interface graphique.


Si on décide de rester sur PC, il va falloir que l'on allege l'Uc au maximum et qu'on réduise le nombre de programmes fonctionnant en meme temps : exit la caméra ( je suis en train de voir comment faire autrement )

Si on décide de passer sur µC, il faudra limiter les calculs math. On fera des grilles et des aproximations.

Personnellement j'ai discuté des differentes options avec des personnes d'autres équipes par chat et la majorité soutiennent que le choix du µC, pour l'utilisation qu'on a du PC, reste la meilleur option. En fait, si l'asservissement était faites sur le PC, la le choix aurait été different. Mais puisque l'asserve est réalisé sur le µC, alors il ne reste que les trajectoires à coder. Or, on ne fait pas de spline en trajectoire. On a donc pas besoins de la puissance de calcul d'un PC. Le seul atout du PC : le graphique . Oui il nous fait des belles courbes et autre . Mais je prefere me passer de courbes si ça peut nous faire gagner en stabilité et en rapidité.

Peut tu m'envoyer les codes que tu utilise actuellement sur le PC pour faire fonctionner le robot svp afin que je vois comment on peut optimiser dans les deux cas .
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mar 13 Avr - 15:23

Si tu veut des exemples de code j'avais trouvé une doc bien documenté l'année derniere pour de l'asserve de robot :
Clubelec
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Mer 14 Avr - 0:16

Alors, plusieurs choses :

1) Ce que j'appelle asservissement du robot est sur le PC. C'est la code qui compare la position du robot et là où il veut aller, et qui demande d'accelerer ou de ralentir.
Le misérable PI du µC sert juste à vérifier que si le PC demande d'aller à 7,2m/s, le robot va bien à 7,2m/s et qu'il y reste pendant les 10ms où le µC n'a plus de nouvelles du PC, même si le robot passe dans un marécage.
C'est ce que j'appellerais un asservissement secondaire : il est plus réactif parcequ'il s'execute toutes les millisecondes, mais il se contente de faire appliquer une vitesse constante.

2) Le coup des 15ms de windows, en fait je soupconne que c'est quand le noyau prend la main. Le programme peut tourner plusieurs fois par milliseconde sans problème, mais à des moments (arbitraires ?) le noyau décide de prendre la main et bloque tout pendant 15ms. C'est pas pareil que si le délai minimum était de 15ms, j'imagine qu'il soit probable d'avoir un scénario comme ca :

0ms le programme a calculé une consigne et l'a envoyé au µC
0 -> 13ms le programme "dort"
13 -> 29ms windows décide qu'il s'ennui et prend la main pendant 16ms
29ms le programme reprend la main, il voit que ca fait plus de 15ms donc calcule et envoie une consigne

C'est une théorie.


3) Tout mettre dans le micro C ? Même si on s'arrange pour faire des tables de cosinus etc., il faut des nombres avec grande précision pour stocker l'angle, le (x,y) du robot... Pour ca on peut activer la prise en charge des float par le µC. Je sais plus pourquoi mais l'année dernière on rechignait à le faire. La deuxième option c'est de mettre les valeurs dans des int et considérer que les n premiers chiffres sont des décimales. C'est ce qui se passe avec les Kp et Ki du proportionnel-intégral.

Toi ou Delon vous êtes pas des chauds de linux ? Si on arrive à faire marcher le port com on a déjà une grosse partie du code de prête. Apparemment le noyau de linux integre carrément des modules ftdi-serial i/o, mais j'ai aucune idée de ce que c'est un module noyau. Si t'es dans le nord je viens te voir tu m'explique tout ca.

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mer 14 Avr - 11:37

Je sais pas si on auras le temps de se voir , j'ai pris beaucoup de retard pour mes révisions de partielles .

Je suis en train de tester le port com sous linux avec un ftdi que j'ai retrouvé ( c'est pas le meme mais ça fonctionne pareil )

Ce que tu peut faire c'est taper dmesg dans la console afin de voir si ton port est reconnu. Tu devrais trouver un truc du style :
Serial: 8250/16550 driver .Revision: 1.4 . 48 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

Moi sur le mien j'ai pas eu ça mais j'ai trouvé
pl2303 converter now attached to ttyUSB0
donc mon port virtuel est attaché à ttyUSB0
De toute façon , les port com c'est toujours ttyXXXX

Ensuite j'en suis a l'installation de minicom qui est un utilitaire qui permet de tester le port com ( d'utiliser normalement , mais pour nous c'est pour tester Wink )
Ce que j'ai fait c'est branché la patte de reception avec la patte d'emmission , comme ça dés que j'envoi une info j'ai le retour . Si ça marche , c'est que mon port et ma config marche. La j'en suis a ce point .
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mer 14 Avr - 12:07

Re
Bonne nouvelle ça marche mais pas avec minicom ^^
J'ai installé gtkterm .
C'est un logiciel qui te permet de tester ton port serie mais mieu que minicom en tout cas ( oua alors j'ai mal configuré minicom ... )
Bon tu l'installe , tu le lance. Il va t'engueler en te disant que rien n'est configuré : c'est normal . Tu va dans configuration > port . Tu change ton port ( qui , au miracle , doit y etre sous la forme ttyUSBX ). Dans configuration toujours , tu clic sur echo local . Cela va te permettre de regarder ce que tu envoi .
Pour tester , j'ai relié la broche d'envoi et de reception et ça marche vraiment bien .
Voila ! Je regarde pour le C maintenant .
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Nadar Mer 14 Avr - 12:50

Ca m'enerve !!! Pas moyen de trouver une librairie pour communiquer avec le port serie !!!! Grrrrr !!! C'est pas vrai !
Nadar
Nadar
Admin

Nombre de messages : 220
Date d'inscription : 10/07/2008

https://robotique-iut.forum-actif.eu

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Moi Mer 14 Avr - 13:50

dmesg me donne comme toi, le truc avec ttyUSB0.
USBView arrive aussi à me donner le nom du composant et plein d'infos dessus.

Pour les lib tu peux essayer sur le site ftdichip y en a plusieurs : une dans la section VCP, une dans la section D2XX, et dans 3rd party tu trouvera libftdi.

J'ai essayé d'inclure les .h de ces différentes .tar, mais à chaque fois g++ me trouve des erreurs dans les .c des sources.
Pour lib ftdi en plus des sources il y a plein de fichiers avec. A tout hasard je me suis mis dans son repertoire et j'ai fait
./configure
./make
./make install

J'ai eu plein d'output console mais je sais pas ce que ca veut dire ni cee que je dois faire maintenant.





Question bonus :
J'essaye de bien trier mon code en .h et .c. Par exemple j'ai 3 fichiers

/* fonctions.h */
void maFonction(int x);

/* fonctions.cpp */
#include "fonctions.h"
maFonction(int x)
{ return 42; }

/* test.cpp */
#include "fonctions.h"
main()
{
maFonction(13);
}

J'utilise Geany. Quand je clique sur compiler tout va bien. Quand je clique sur build ca me dit reference à maFonction non définie. Pour que ca marche je suis obligé d'ajouter #include "fonctions.cpp" dans le fichier test.cpp.
C'est bizarre non ?

Moi

Nombre de messages : 39
Date d'inscription : 06/03/2010

Revenir en haut Aller en bas

Programmation général du robot Empty Re: Programmation général du robot

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser