Aller au contenu

attribut d\'une polyligne


Messages recommandés

Posté(e)

Bonjour,

est il possible d'attribuer à une polyligne une sorte de d'attribut.

exemple: je clique sur une po et je sais que c'est une canalisation de gaz je connais le diamètre.

Merci beaucoup de m'éclairer sur se sujet.

 

Posté(e)

Salut,

 

J'suis pas connaisseur d'Autodesk Map, je me lance quand-même, aïe!

Voilà, peût-être en créant des types de lignes avec les appelations que tu souhaites, genre "Canalis-EU-DN125", "GAZ-DN100", etc... Après tu auras ce genre d'indications dans les propriértés. ?

Seuls nous allons vite, ensemble nous allons plus loin...

CPU Intel 3,5Go / Nvidia RTX-3090

AutoCad (Architecture) 2022 - Lumion PRO

BMW R-1200-RT, c'est moche, oui... je sais...

 

www.neda.ch

Posté(e)

Bonjour à toutes et tous,

 

Il existe des types de lignes par défaut sur AutoCAD.

 

Sinon, en voici d'autres à copier sur un fichier type notpad et enregistrer avec une extension ".lin"

 

;;************************************************************

;;                  FLUIDES SPECIAUX

;;************************************************************



*GAZ,Gaz ----GAZ----GAZ----GAZ----GAZ----GAZ----GAZ--

A,50,-5,["GAZ",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*ELECTRIQUE,Liaisons Elec ----/\/----/\/----/\/----/\/----

A,10,-1,[ZIG,ltypeshp.shx,x=-1,s=1],-2,[ZIG,ltypeshp.shx,r=180,x=1,s=1],-1





;;************************************************************

;;                  EAU CHAUDE

;;************************************************************



*EAU_CHAUDE,Eau chaude ---- EC ---- EC ---- EC ----

A,50,-5,["EC",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-8



*EAU_CHAUDEE_ALLER,Eau chaude Aller ---- ECa ---- ECa ---- ECa ----

A,50,-5,["ECa",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-14



*EAU_CHAUDE_RETOUR,Eau chaude Retour ---- ECr ---- ECr ---- ECr ----

A,50,-5,["ECr",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*EAU_CHAUDE_SANIT,Eau chaude sanit ---- ECS ---- ECS ---- ECS ----

A,50,-5,["ECS",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*BOUCLAGE,Bouclage ---- BCL ---- BCL ---- BCL ----

A,50,-5,["BCL",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*CHAUFFAGE,Chauffage ---- CH ---- CH ---- CH ----

A,50,-5,["CH",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-10



*CHAUFFAGE_ALLER,Chauffage Aller ---- CHa ---- CHa ---- CHa ----

A,50,-5,["CHa",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-14



*CHAUFFAGE_RETOUR,Chauffage Retour ---- CHr ---- CHr ---- CHr ----

A,50,-5,["CHr",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*SOLAIRE,Solaire ---- SL ---- SL ---- SL ----

A,50,-5,["SL",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-8



*SOLAIRE_PRIMAIRE,Solaire Primaire---- SLp ---- SLp ---- SLp ----

A,50,-5,["SLp",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*SOLAIRE_SECOND,Solaire Second---- SLs ---- SLs ---- SLs ----

A,50,-5,["SLs",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13





;;************************************************************

;;                  EAU FROIDE

;;************************************************************



*EAU_FROIDE,Eau froide ---- EF ---- EF ---- EF ----

A,50,-5,["EF",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-8



*EAU_FROIDE_SOURCE,Eau froide source ---- EFS ---- EFS ---- EFS ----

A,50,-5,["EFS",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-10



*EAU_DE_VILLE,Eau de ville ---- EDV ---- EDV ---- EDV ----

A,50,-5,["EDV",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*EAU_GLACEE,Eau glacee ---- EG ---- EG ---- EG ----

A,50,-5,["EG",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-8



*EAU_GLACEE_ALLER,Eau glacee Aller ---- EGa ---- EGa ---- EGa ----

A,50,-5,["EGa",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13



*EAU_GLACEE_RETOUR,Eau glacee Retour ---- EGr ---- EGr ---- EGr ----

A,50,-5,["EGr",STANDARD,S=2.54,R=0.0,X=-2.54,Y=-1.27],-13

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Merci, j'utilise déjà des types de ligne et des calques pour différencier les po.

Après je voudrais faire une extraction sur excel comme pour les blocs attribut.

Posté(e)

Re,

 

Il existe plein d elisp qui fait ce que tu souhaites,..

tu peux par exemple utilisé "Metre2Cell&Field" de bonuscad

 

 (vl-load-com)
(defun c:Metre2Cell&Field ( / js AcDoc Space all_path end_pos id_path fonts_path file_shx nw_style
                              oldim oldlay ins_pt_cell h_t w_c ename_cell n_row n_column n ename md_cal
                              tmp_file dcl_file Id_obj q_lay q_col q_ltyp q_weig n_column lst_idcolumn do_it dcl_id nb_c)
 (or
   (setq js (ssget "_I"))
   (setq js (ssget "_P"))
 )
 (cond
   (js
     (sssetfirst nil js)
     (initget "Existant Nouveau _Existent New")
     (if (eq (getkword "\nTraiter jeu de sélection [Existant/Nouveau] : ") "New")
       (progn (sssetfirst nil nil) (setq js (ssadd) js (ssget)))
     )
   )
   (T (setq js (ssget)))
 )
 (cond
   (js
     (setq
       AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
       Space
       (if (= 1 (getvar "CVPORT"))
         (vla-get-PaperSpace AcDoc)
         (vla-get-ModelSpace AcDoc)
       )
     )
     (cond
       ((null (tblsearch "LAYER" "Tableaux-Métrés"))
         (vla-add (vla-get-layers AcDoc) "Tableaux-Métrés")
       )
     )
     (cond
       ((null (tblsearch "STYLE" "Texte-Métré"))
         (setq all_path (getenv "ACAD") j 0)
         (while (setq end_pos (vl-string-position (ascii ";") all_path))
           (setq id_path (substr all_path 1 end_pos))
           (if (wcmatch (strcase id_path) "*FONTS*")
             (setq fonts_path (strcat id_path "\\"))
           )
           (setq all_path (substr all_path (+ 2 end_pos)))
         )
         (setq file_shx (getfiled "Selectionnez un fichier de police" fonts_path "shx" 8))
         (if (not file_shx)
           (setq file_shx "txt.shx")
         )
         (setq nw_style (vla-add (vla-get-textstyles AcDoc) "Texte-Métré"))
         (mapcar
           '(lambda (pr val)
             (vlax-put nw_style pr val)
           )
           (list 'FontFile 'Height 'ObliqueAngle 'Width 'TextGenerationFlag)
           (list file_shx 0.0 (/ (* 15.0 pi) 180) 1.0 0.0)
         )
         (command "_.ddunits"
           (while (not (zerop (getvar "cmdactive")))
             (command pause)
           )
         )
       )
     )
     (setq
       oldim (getvar "dimzin")
       oldlay (getvar "clayer")
     )
     (setvar "dimzin" 0) (setvar "clayer" "Tableaux-Métrés")
     (initget 9)
     (setq ins_pt_cell (getpoint "\nPoint d'insertion haut gauche du tableau: "))
     (initget 6)
     (setq h_t (getdist ins_pt_cell (strcat "\nHauteur du texte : ")))
     (if (null h_t) (setq h_t (getvar "textsize")) (setvar "textsize" h_t))
     (initget 7)
     (setq w_c (getdist ins_pt_cell "\nLargeur des cellules: "))
     (setq
       tmp_file	 (vl-filename-mktemp "metre.dcl")
       dcl_file (open tmp_file "w")
     )
     (write-line
       "Length2CellField : dialog {
         label = \"Choix des colonnes à inscrire\";
           : column {
             : toggle {
               label    = \"Identification des objets\";
               mnemonic = \"I\";
               key      = \"Id_obj\";
             }
             : toggle {
               label    = \"caLque de l'objet\";
               mnemonic = \"L\";
               key      = \"q_lay\";
               }
             : toggle {
               label    = \"Couleur de l'objet\";
               mnemonic = \"C\";
               key      = \"q_col\";
               }
             : toggle {
               label    = \"Type de ligne de l'objet\";
               mnemonic = \"T\";
               key      = \"q_ltyp\";
               }
             : toggle {
               label    = \"Epaisseur de ligne de l'objet\";
               mnemonic = \"E\";
               key      = \"q_weig\";
               }
             :boxed_column {
               label = \"Type de Métré\";
                 :radio_button {
                   label = \"lonGueur\";
                   mnemonic = \"G\";
                   key = \"Typm_L\";
                 }
                 :radio_button {
                   label = \"Surface\";
                   mnemonic = \"S\";
                   key = \"Typm_A\";
                 }
               }
             }
           ok_cancel_err;
         }"
       dcl_file
     )
     (close dcl_file)
     (setq Id_obj "0" q_lay "1" q_col "0" q_ltyp "0" q_weig "0" n_column 1 do_it '((strcat ">%)." typ_measure " \\f \"%lu6\">%")) md_cal 0)
     (setq dcl_id (load_dialog tmp_file))
		(setq what_next 2)
		(while (				(if (not (new_dialog "Length2CellField" dcl_id)) (exit))
			(set_tile "Id_obj" Id_obj)
			(set_tile "q_lay" q_lay)
			(set_tile "q_col" q_col)
			(set_tile "q_ltyp" q_ltyp)
			(set_tile "q_weig" q_weig)
       (cond
         ((eq md_cal 0)
           (set_tile "Typm_L" "1")
           (mode_tile "Typm_L" 2)
         )
         ((eq md_cal 1)
           (set_tile "Typm_A" "1")
           (mode_tile "Typm_" 2)
         )
       )
			(set_tile "error" "")
			(action_tile "Id_obj" "(setq Id_obj $value)")
			(action_tile "q_lay" "(setq q_lay $value)")
			(action_tile "q_col" "(setq q_col $value)")
			(action_tile "q_ltyp" "(setq q_ltyp $value)")
			(action_tile "q_weig" "(setq q_weig $value)")
			(action_tile "accept" "(done_dialog 1)")
       (action_tile "Typm_L" "(setq md_cal 0)")
       (action_tile "Typm_A" "(setq md_cal 1)")
			(action_tile "cancel" "(done_dialog 0)")
			(setq what_next (start_dialog))
		)
		(unload_dialog dcl_id)
		(vl-file-delete tmp_file)
		(setq lst_idcolumn (if (zerop md_cal) '("Longueur") '("Surface")))
     (foreach z '(q_weig q_ltyp q_col q_lay Id_obj)
       (if (not (zerop (atoi (eval Z))))
         (setq
           n_column (1+ n_column)
           lst_idcolumn
           (cons
             (cond
               ((eq z 'ID_OBJ) "ID Objet")
               ((eq z 'Q_LAY) "Calque")
               ((eq z 'Q_COL) "Couleur")
               ((eq z 'Q_LTYP) "Type Ligne")
               ((eq z 'Q_WEIG) "Epaisseur Ligne")
             )
             lst_idcolumn
           )
           do_it
           (cons
             (cond
               ((eq z 'ID_OBJ) ">%).ObjectName \\f \"%tc4\">%")
               ((eq z 'Q_LAY) ">%).Layer \\f \"%tc4\">%")
               ((eq z 'Q_COL) ">%).TrueColor \\f \"%tc4\">%")
               ((eq z 'Q_LTYP) ">%).Linetype \\f \"%tc4\">%")
               ((eq z 'Q_WEIG) ">%).Lineweight \\f \"%.2f mm%lw1\">%")
             )
             do_it
           )
         )
       )
     )
     (setq ename_cell (vla-addTable Space (vlax-3d-point ins_pt_cell) (+ 3 (sslength js)) n_column (+ h_t (* h_t 0.25)) w_c))
     (setq n_row 2 n_column -1)
     (vla-SetText ename_cell 0 0 "Tableau Récapitulatif de Métré")
     (vla-SetCellTextStyle ename_cell 0 0 "Texte-Métré")
     (vla-SetCellTextHeight ename_cell 0 0 (vlax-make-variant h_t 5))
     (vla-SetCellAlignment ename_cell 0 0 5)
     (foreach string lst_idcolumn
       (vla-SetText ename_cell 1 (setq n_column (1+ n_column)) string)
       (vla-SetCellTextStyle ename_cell 1 n_column "Texte-Métré")
       (vla-SetCellTextHeight ename_cell 1 n_column (vlax-make-variant h_t 5))
       (vla-SetCellAlignment ename_cell 1 n_column 5)
     )
     (setq n_column -1)
     (repeat (setq n (sslength js))
       (setq ename (vlax-ename->vla-object (ssname js (setq n (1- n)))))
       (foreach typ_measure (if (zerop md_cal) '("Length" "ArcLength" "Circumference" "Perimeter") '("Area"))
         (if (vlax-property-available-p ename (read typ_measure))
           (progn
             (foreach el do_it
               (vla-SetText ename_cell n_row (setq n_column (1+ n_column))
                 (strcat "%                )
               (vla-SetCellTextStyle ename_cell n_row n_column "Texte-Métré")
               (vla-SetCellTextHeight ename_cell n_row n_column (vlax-make-variant h_t 5))
               (vla-SetCellAlignment ename_cell n_row n_column 6)
             )
             (setq n_row (1+ n_row) n_column -1)
           )
         )
       )
     )
     (setq n_column (1- (length lst_idcolumn)))
     (cond
       ((zerop n_column) (setq nb_c "A"))
       ((eq n_column 1) (setq nb_c "B"))
       ((eq n_column 2) (setq nb_c "C"))
       ((eq n_column 3) (setq nb_c "D"))
       ((eq n_column 4) (setq nb_c "E"))
       ((eq n_column 5) (setq nb_c "F"))
     )
     (vla-SetText ename_cell n_row n_column
       (strcat "Total= " "%%")
     )
     (vla-SetCellTextStyle ename_cell n_row (1- (length lst_idcolumn)) "Texte-Métré")
     (vla-SetCellTextHeight ename_cell n_row (1- (length lst_idcolumn)) (vlax-make-variant h_t 5))
     (vla-SetCellAlignment ename_cell n_row (1- (length lst_idcolumn)) 6)
     (vlax-release-object ename_cell)
     (vlax-release-object Space)
     (setvar "dimzin" oldim) (setvar "clayer" oldlay)
   )
   (T
     (princ "\nSélection vide!")
   )
 )
 (prin1)
)

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Merci Lili 2006 pour ta réponse, mais je cherche plus le faite d'écrire des informations sur une polyligne comme un blocs attribut mais avec autocad map que je ne connais pas assez.

 

Posté(e)

oui sous les fonctions MAP donnée objet, cela s'applique aussi au polyligne. Ces données crées peuvent être plus bas exporté pour une base de donnée.

je suis sous MAP 2007, et je pense que cela devais se faire sous les versions précédentes

Si j'ai bien compris la question, j'espère avoir bien répondu,

Posté(e)

 

Hello

 

Les donnees d'objet de MAP existent depuis au moins MAP R2/R3 sur AutoCAD R14 en 1997/1998 voire meme peut deja sous l'horrible MAP R1 en 1996

qui etait base sur la version abominable AutoCAD R13

 

Olivier (CovaSupport) s'en souvient peut etre !?

 

Le Decapode

 

Autodesk Expert Elite Team

Posté(e)

hello

moi j'utilise les liens hyperliens

tu sélectionnes une entité > propriétés > hyperliens

quand tu passes la sourie sur le trait une info bulle apparait

 

 

 

 

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Posté(e)

ok

tu sélectionnes une entité

propriétés > hyperliens

la fenêtre "insérer un hyperlien" apparait

 

dans "texte a afficher" ecrire ex: "CANALISATION GAZ"

dans "Entrez le nom du fichier........" mettre un espace

 

et OK

 

apres il suffit de poser la souris sur la polyligne en question

et apparait une info bulle avec "CANALISATION GAZ"

 

 

en + avec extraction de données on peut exporter cette valeur

 

voir aussi dans dans

options, onglet Affichage "Afficher les info-bulles"

 

et voila

Vous fîtes ce que vous pûtes

et vous m'épatâtes !!!!

Posté(e)

Merci Capde06 pour ta réponse qui est exactement ce que je cherche.Je viens d'essayer mais ca ne fonctionne pas.

Je retrouve bien dans les propriétés mon texte, et ma variable tooltips est sur 1

mais les info bulles ne s'affichent pas.

Est ce que j'ai enlevé un autre parametre car je ne m'en sert jamais.

Posté(e)

Merci à Lecrabe d'avoir pointé du doigt la

la routine "COPY_OD.lsp"

 

Je crois qu'avec la découverte des fonctions (ade-*) je vais pouvoir enfin rapatrier mes Xdatas en données Map sans trop de difficultés.

 

Quelqu'un a t-il répertorié ces fonctions spécifiques?

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

 

Hello Bonuscad

 

Super enfin quelqu'un qui plonge sur les OD de MAP (ou CIVIL) ! :) :D

 

Le sujet a ete complete ...

http://georezo.net/forum/viewtopic.php?id=44248

 

Le petit programme "MAPCOUP.lsp" refait la bonne vieille commande "COUPURE" d'AutoCAD qui a un gros bug sous MAP (ou CIVIL) : en effet COUPURE ne conserve pas les Object Data eventuellement presentes ! :o

 

Cette routine / commande MAPCOUP utilise en fait "COPY_OD" d'Autodesk !

 

Le Decapode (fanatique de MAP)

 

 

 

Autodesk Expert Elite Team

Posté(e)

Hyper content,

 

Après une paire d'heure pour faire un bout de code qui fonctionne avec mes xdata, 30sec pour convertir toutes mes données. :D

 

Une petite doc sur la programmation sous Map (en Anglais, comme souvent pour tout les manuels techniques) :mad:

http://www.autodesk.com/prods/acadmap/acmapads.pdf

 

Les principales fonctions sont les suivante:

ade_odaddfield

ade_odaddrecord

ade_odattachrecord

ade_oddefinetab

ade_oddeletefield

ade_oddeletetab

ade_oddelrecord

ade_odfreerec

ade_odgetfield

ade_odgetrecfield

ade_odgetrecord

ade_odgettables

ade_odmodifyfield

ade_odmodifytab

ade_odnewrecord

ade_odpresetfield

ade_odrecordqty

ade_odsetfield

ade_odtabledefn

ade_odtablelist

 

Je mets mon bout de code en exemple, bien qui ne fonctionne que pour mes xdatas, si certain de vous veulent s'en inspirer pour faire leur propre conversion.

C'est du brut de décoffrage et écrit rapidement...(je n'en ai besoin qu'une seule fois, mais quel gain de temps)

 

((lambda ( / js tbl n target_obj elist xd_list e_data data_lst tbldef tblstr fldnamelist
fldtypelist fldnme fldtyp fld)
 (setq js (ssget "_X" '((0 . "LWPOLYLINE") (-3 ("ID_RESEAU_CD-BONUSCAD$2002")))))
 (cond
   (js
;crée ma table qui n'existe pas à ignorer si la table existe déjà
     (ade_oddefinetab 
     '(
       ("Tablename" . "VOIES-DEPARTEMENTALES")
         ("TableDesc" . "")
         ("Columns"
           (
             ("ColName" . "NOM-VOIE")
             ("ColDesc" . "Nomination de la voie Départementale")
             ("ColType" . "Character")
             ("DefaultVal" . "D0")
           )
           (
             ("ColName" . "CLASSE-VOIE")
             ("ColDesc" . "Appartenance à la hiérachisation")
             ("ColType" . "Character")
             ("DefaultVal" . "RO-RIET-RIL-NONAFFECTE")
           )
           (
             ("ColName" . "PR-ORIGINE")
             ("ColDesc" . "Valeur en km du PR d'origine de la section de voie")
             ("ColType" . "Real")
             ("DefaultVal" . 0.0)
           )
           (
             ("ColName" . "PR-FIN")
             ("ColDesc" . "Valeur en km du PR de fin de la section de voie")
             ("ColType" . "Real")
             ("DefaultVal" . 0.0)
           )
           (
             ("ColName" . "PR-LONGUEUR")
             ("ColDesc" . "Longueur de la section de voie exprimée en PR")
             ("ColType" . "Real")
             ("DefaultVal" . 0.0)
           )
           (
             ("ColName" . "LONGUEUR3D")
             ("ColDesc" . "Longueur numérique 3D en mètre")
             ("ColType" . "Real")
             ("DefaultVal" . 0.0)
           )
         )
       )
     )
     (setq tbl "VOIES-DEPARTEMENTALES" n -1 tbldef (ade_odtabledefn tbl))
     (repeat (sslength js)
       (setq
         target_obj (ssname js (setq n (1+ n)))
         elist (entget target_obj (list "ID_RESEAU_CD-BONUSCAD$2002"))
         xd_list (cdr (assoc -3 elist))
         e_data (mapcar 'cdr (cdr (car xd_list)))
         data_lst
           (list
             (caddr e_data)
             (car e_data)
             (* (cadddr (cddr e_data)) 0.001)
             (* (cadddr (cdddr e_data)) 0.001)
             (* (- (cadddr (cdddr e_data)) (cadddr (cddr e_data))) 0.001)
             (cadddr (cdr e_data))
           )
         tblstr (cdr (nth 2 tbldef))
         fldnamelist ()
         fldtypelist ()
       )
       (foreach fld tblstr
         (setq
           fldnme (cdr (nth 0 fld))
           fldtyp (cdr (nth 2 fld))
           fldnamelist (append fldnamelist (list fldnme))
           fldtypelist (append fldtypelist (list fldtyp))
         )
       )
       (ade_odaddrecord target_obj tbl)
       (mapcar
         '(lambda (x y) (ade_odsetfield target_obj tbl x 0 y))
         fldnamelist
         data_lst
       )
     )
   )
 )
))

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

I am very sorry

 

Y a vraiment pas de quoi !

En plus cela m'a permis de me plonger et d'explorer les fonctions pour les comprendre, chose que je n'aurais pas fais si j'avais eu du tout cuit..., donc bénéfique pour la suite.

 

Et puis il faudra que je m'inscrive sur georezo (un de plus) qui effectivement me sera utile car je suis encore néophyte sur Map.

 

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

 

 

Hello Bonuscad

 

Sniff, j'ai perdu ton adr courriel perso !

 

SVP peux tu m ecrire svp ?

 

cadxp at hotmail point fr

 

Le Decapode

 

 

Autodesk Expert Elite Team

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité