lili2006 Posté(e) le 8 mai 2016 Auteur Posté(e) le 8 mai 2016 Re, Merci de ton soutien Patrice,...B) je ne pensais pas arriver à une histoire pareille,..:o:blink: C'est vraiment un manquement de MAP ou je demande la lune ? Remarque, sous d'autres logiciels "PUR SIG", je ne sais pas comment ça se gère,.. Et en "SIG MAP", quelle jointure proposez vous pour arriver à mes fins ? (Si des fois en rapport de dessin associé, j'arrive toujours à rien,...:() Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 8 mai 2016 Auteur Posté(e) le 8 mai 2016 Re, De ce lien de Olivier, cette partie me va très bien, en effet ! Le code vous permettra donc d'obtenir tous les prénoms possible pour un même nom. Pour se faire il suffira d'écrire une requête du style : Don, il faut que je puisse écrire la même chose, mais : Tous les défunts possibles pour une même tombe, C'est ça ? J'ai donc essayer d'adapter le code à mes besoins : SELECT N_TOMBE, ConcatForQuery("N_TOMBE",[N_TOMBE],"N_DEFUNT","DEFUNTS"," - ") AS Résultat FROM DEFUNTS GROUP BY N_TOMBE; Ce qui donne ce message d’erreur Je suppose qu'il faut également "chargé la fonction "ConcatForQuery" du code proposé par Jessy SEMPERE ? [color="#009900"]Function ConcatForQuery(strRegroup As String, fldRegroup As String, _ strConcat As String, strTable As String, _ Optional strSep As String = "/") As String[/color] [indent] [color="#009900"]'** Regroupement de donnée sur le champ fldRegroup '** et concaténation sur le champ strConcat Dim db As Database Dim rst As Recordset Dim strResult As String Dim strRst As String Set db = CurrentDb() strRst = "Select * From [" & strTable & "] " _ & "Where [" & strRegroup & "] = """ & fldRegroup & """;" Set rst = db.OpenRecordset(strRst, dbOpenDynaset) With rst If Not .BOF Then [/color][color="#009900"] .MoveFirst Do Until .EOF If strResult = "" Then strResult = .Fields(strConcat) Else strResult = strResult & strSep & .Fields(strConcat) End If .MoveNext Loop End If End With rst.Close: Set rst = Nothing db.Close: Set db = Nothing ConcatForQuery = strResult[/color] [/indent] [color="#009900"]End Function[/color] Je suppose que c'est du code VBA dont tu parlais dans ton premier message Olivier ?, DSi je comprend bien les arguments, ce code devrait s'adapter ? Faut donc maintenant que je trouve le moyen de charger ce code sous Access,... Et c'est au dela de mes faibles competences Access ... Et moi alors,:( Mais j'ai bien l’impression qu'il va falloir que je m'y penche de plus près, surtout si on est si "vite" limité sous MAP,... Bon, ben, j'retourne dans mes recherches,...:) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Olivier Eckmann Posté(e) le 9 mai 2016 Posté(e) le 9 mai 2016 Bonjour, Pour accéder au VBA (quelque soit l'appli Office word, excel, access...) le raccourci clavier c'est Alt+F11 Je te renvoie la base ACCESS avec le code VBA intégré et la requête construite nommée "ConcatDefunts" J'ai modifié la base pour remplir les noms laissés vide par des ?? (enregistrement 49 à vérifier et 99 à 103) car la fonction VBA n'acceptait pas les valeurs "nulles" et je ne voulais pas la modifier.Par rapport au code fourni précédemment, je l'ai légèrement modifié car ton champ N_TOMBE est de type entier et pas texte comme dans le code fourni => suppression des guillemets autour de la valeur. Travaillant avec Office 2013 64 bits, j'ai dû ajouter la librairie "Microsoft Office 15 Access Database Engine Object Library" pour accéder à la couche DAO sous VBA. Si tu as une version différente d'office (2010 par ex), il faudra peut-être que tu ajoutes la librairie "Microsoft Office 14 Access Database Engine Object Library" - à partir de l'éditeur VBA (Alt F11), menu Outils / Référence et descendre puis cocher la bonne librairie.Olivier
lili2006 Posté(e) le 9 mai 2016 Auteur Posté(e) le 9 mai 2016 Bonsoir à toutes et tous, Ouahou !! Super,:) Un grand merci Olivier (le temps que je sache faire tout ça, les examens seront passées pour cette étudiante,...). Merci avant tout pour cette étudiante tenace et patiente (et c'est plutôt deux grandes qualités à mes yeux) et dans un second temps pour moi à qui cette étude offre de nouvelles possibilités,... Je me penche sur tout ça à nouveau au plus vite et reviens sur ce post. ça m’épate tout de m^me d'être obligé d'être "expert" Access pour préparer ce qui me semblait à la base une malheureuse requête de base,...Je suis le seul ou quoi ? Et comment gère ça d'autres logiciels ?? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 9 mai 2016 Auteur Posté(e) le 9 mai 2016 Re, Salut Olivier, Aucun pb de lecture à priori depuis chez moi (V 2013) => On étais coincés depuis un p'tit moment, il m'tarde de pouvoir refaire des tests sous MAP,... Affaire à suivre, PS: J'ai également clôt ce post. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Olivier Eckmann Posté(e) le 10 mai 2016 Posté(e) le 10 mai 2016 Bonjour, Je ne suis pas du tout un "expert" Access, hier je ne savais même pas comment faire une requête SQL sous Access et je suis bien incapable de faire un état ou un formulaire de saisie. Et la dernière fois (qui était aussi la première) que j'ai joué avec du VBA sous Access, c'était il y a plus de 15 ans. Merci Google! Par contre à partir du moment ou tu "joues" avec un SIG, il te faudra forcément quelqu'un qui touches sa bille en administration de BD et en programmation. Olivier PS: Suite à ta remarque sur les qualités de ton étudiante, si tu en as des bons et qui n'ont pas peur de travailler, ça peut être très intéressant. On est toujours à la recherche de gens compétents.
lili2006 Posté(e) le 10 mai 2016 Auteur Posté(e) le 10 mai 2016 Bonsoir à toutes et tous, Salut Olivier, Je ne suis pas du tout un "expert" Access OkOk mais tu t'adaptes rapidement du peu que j'ai vu et tu as surtout pris le temps, pour je ne sais quelle raison qui t'honore, de me dépanner, mais avant tout de dépanner cette demoiselle qui joue sa seconde carrière !! En effet, j'ai créé une formation d'adultes en reconversion (pour des raisons diverses et variées, tu te doutes bien,..) pour préparer le diplôme du BTS Géomètre Topographe en une année scolaire (au lieu de deux, imagine le challenge !!). On peut facilement comprendre qu'il joue gros dans cette formation. La plupart sont en couples et ont des enfants, etc bref=== tu "joues" avec un SIG, il te faudra forcément quelqu'un qui touches sa bille en administration de BD et en programmation. Jouer et le bon verbe, mais le nouveau référentiel du diplôme qui commence dés Septembre de cette année sera plus accès géomatique,..donc, j'm'entraine ;) (Mais je ne veux bien entendu que ce ne soit pas au détriment des étudiants que j'encadre,...) si tu en as des bons et qui n'ont pas peur de travailler, J'enseigne également en formation initiale dans le même lycée, et là aussi, j'ai quelques bons ! Certains recherche des entreprises pour faire des licences pro en apprentissage, t'as ça sous l'coude ? On est toujours à la recherche de gens compétents. C'est clair ! (J’allais dire, surtout par ces temps qui court ou tout se barre en c . - - - -e !) Et cette année, comme chaque année (c'est vrai que c'est rassurant,:)), certain(e)s se distingue particulièrement dans différents domaines de compétences dont, pour certain(e)s, une très bonne approche du très fameux couple "AutoCAD*/Covadis", devenu aujourd'hui incontournable dans mon/ notre métier (j'allais dire, c'est le minimum requis aujourd'hui),... Pensant avoir "suffisamment" de compétences pour l'enseignement que je dispense sur ces deux logiciels (rappelons que c'est un niveau BTS et non une dernière année d'école d'ingé,...! Bien entendu, rien de péjoratif, juste pour préciser que je ne me prétend pas pour un cador, loin de moi cette prétention mais pense avoir assez de compétences pour ce niveau de formation), je m'intéresse depuis quelques années au monde du SIG dés que le temps me le permet mais j'ai bien l'intention de monter en puissance dans ce domaine, d'autant que c'est l'enseignement que je devrai dispenser demain. C'est clair qu'en autodidacte, c'est tendu ! Très loin de mon monde de départ qui est le Génie civil et tout particulièrement le calcul des structures et ouvrages, pour dire,.. Merci encore, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 11 mai 2016 Auteur Posté(e) le 11 mai 2016 Bonjour à toutes et tous, La BD est prête, reste à tester sous MAP,.. J'aimerai refaire la requête sous Access que tu as faites Olivier, peux tu un peu détaillé la démarche si tu as le tps STP ?En effet, je ne sais pas comment requêter en faisant appel au code. Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 11 mai 2016 Auteur Posté(e) le 11 mai 2016 Re, Je viens de tester une connexion de la BD mise en lien sur le post précédent et j'ai ce message d'erreur => En connexion ODBC => Le journal d'erreur => Une source de données faisant référence à cette base de données est déjà associée. Cette source s'appelle 'PLANTEY_DEFINITIVE '. SGBD relationnel: [Microsoft][Pilote ODBC Microsoft Access] Fichier « (Inconnu) » introuvable. [Microsoft][Gestionnaire de pilotes ODBC] Échec SQLSetConnectAttr du pilote SGBD relationnel: [Microsoft][Pilote ODBC Microsoft Access] Fichier « (Inconnu) » introuvable. [Microsoft][Gestionnaire de pilotes ODBC] Échec SQLSetConnectAttr du pilote Par "glisser/déposer" => Une idée ? Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Olivier Eckmann Posté(e) le 11 mai 2016 Posté(e) le 11 mai 2016 Bonsoir, pour la requête est elle de la forme : SELECT N_TOMBE, ConcatForQuery("N_TOMBE",[N_TOMBE],"Nom","DEFUNTS"," ; ") AS ConcatDefunt FROM DEFUNTS GROUP BY N_TOMBE; Dans la table DEFUNTS, elle sélectionne les 2 champs N_TOMBE et le champ obtenu par concaténation faisant appel à la fonction VBA : ConcatForQuery("N_TOMBE",[N_TOMBE],"Nom","DEFUNTS"," ; ") qu'elle affiche sous le nom ConcatDefunt, puis trie sur N_TOMBE la fonction ConcatForQuery("N_TOMBE",[N_TOMBE],"Nom","DEFUNTS"," ; ") a besoin de 5 paramètres:"N_TOMBE" : nom champ de regroupement[N_TOMBE] : valeur du champ sélectionné"Nom" : champ à concaténer"DEFUNTS" : nom de la table dans laquelle faire la requête";" : séparateur des valeurs concaténées. le code VBA exécute la requête SQL suivanteSelect * From [DEFUNTS] Where [N_TOMBE] = valeur;et concatène la liste des enregistrements trouvés Olivier
lili2006 Posté(e) le 11 mai 2016 Auteur Posté(e) le 11 mai 2016 Re, Super,:) Merci Olivier, Je regarde ça dans le WE,.. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 14 mai 2016 Auteur Posté(e) le 14 mai 2016 Bonjour à toutes et tous, Salut Olivier, Travaillant avec Office 2013 64 bits, j'ai dû ajouter la librairie "Microsoft Office 15 Access Database Engine Object Library" pour accéder à la couche DAO sous VBA. Tu veux dire sous MAP ? Il faut donc que j'installe : ? Microsoft Office 15 Access Database Engine Object Library Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 14 mai 2016 Auteur Posté(e) le 14 mai 2016 Re, Arf,C'est en connexion ODBC que j'ai un pb maintenant,...:( SGBD relationnel: [Microsoft][Pilote ODBC Microsoft Access] Fonction « ConcatForQuery » non définie dans l'expression. Je suppose qu'il faut que je supprime la requête qui utilise la Fonction « ConcatForQuery » ? LA DERNIÈRE BD Merci d'avance,EDIT : Je suppose qu'il faut que je supprime la requête qui utilise la Fonction « ConcatForQuery » ? Fait ! Tout fonctionne comme voulut à ce niveau là ! j'ai testé quelques requêtes en mode associé avec cette nouvelle table, je récupère bien le nom des défunts dans la tombe choisit ! Eh bé, quelle histoire ! Je vais voir les Exports/Imports maintenant,...:)Question subsidiaire : Comment utiliser les photos liées aux tombes sous MAP (les photos se trouvent dans le sous formulaire de la table des tombes. Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lecrabe Posté(e) le 15 mai 2016 Posté(e) le 15 mai 2016 Hello Lilian SVP je suis preneur du nouveau MDB ? ... et aussi du nouveau DWG associe ... Bye, lecrabe PS: je suis a Berlin cette semaine pour la convention Europeenne OTX d'Autodesk Donc fort peu de presence ... Autodesk Expert Elite Team
lili2006 Posté(e) le 15 mai 2016 Auteur Posté(e) le 15 mai 2016 Bonjour à toutes et tous, Salut PAtrice, Ma dernière BD Le dessin a associer Tu nous f'ras un ch'tit CR de ta réunion ? :) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Olivier Eckmann Posté(e) le 15 mai 2016 Posté(e) le 15 mai 2016 Lilian, Pour la question subsidiaire, étant donné que les photos ont été incorporées sous forme d'objet OLE, c'est mort, à moins que notre crustacé préféré ait une solution une fois revenu d'Outre-Rhin.Si tu avais disposé d'un champ contenant le nom de la photo, tu aurais pu utiliser les vues de document (commande ADEDEFDOCVIEW pour définir les vues clés et ADEDOCVIEW pour afficher le fichier associé - la photo dans ton cas). Ceci dit, disposer d'un champ texte contenant le nom de la photo et sortir l'objet OLE serait une très bonne chose, car ça ne me semble pas très judicieux d'encapsuler les photos dans la base Access: - Premièrement car la BDD est énorme en taille, tu modifies n'importe quelle données, c'est un fichier de 350Mo qui est mis à jour => espace de stockage, sauvegarde, traffic réseau important. Surtout que je suis sûr que les photos ont aussi été sauvegardées en JPG quelque part => double stockage. - Deuxièmement, OLE est une techno pure Microsoft et si un jour tu dois convertir cette BDD pour une utilisation client/serveur avec un Postgre/PostGis, Oracle, SQL Serveur ou autre, il faudra retraiter la base pour sortir les photos. Je pense qu'avec un petit coup de VBA, tu dois pouvoir recréer un champ texte correspondant au nom de l'image OLE => la nécessité de disposer de quelqu'un qui touche un peu sa bille en dev. Olivier
lili2006 Posté(e) le 16 mai 2016 Auteur Posté(e) le 16 mai 2016 Bonjour à toutes et tous, Salut Olivier, Si tu avais disposé d'un champ contenant le nom de la photo, tu aurais pu utiliser les vues de document (commande ADEDEFDOCVIEW pour définir les vues clés et ADEDOCVIEW pour afficher le fichier associé - la photo dans ton cas). Ce sont des fonctions AutoCAD ou MAP ? car ça ne me semble pas très judicieux d'encapsuler les photos dans la base Access: Le service technique de la mairie en question ne connaissant pas MAP, voilà pourquoi on tente de mettre en place quelque chose,.. pour une utilisation client/serveur avec un Postgre/PostGis, Oracle, SQL Serveur ou autre, il faudra retraiter la base pour sortir les photos. Arf ! :( Je pense qu'avec un petit coup de VBA, tu dois pouvoir recréer un champ texte correspondant au nom de l'image OLE Bon, je vais retenter ma chance ici,.. Merci encore Olivier, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lecrabe Posté(e) le 16 mai 2016 Posté(e) le 16 mai 2016 Hello Lilian Si tu avais disposé d'un champ contenant le nom de la photo, tu aurais pu utiliser les vues de document (commande ADEDEFDOCVIEW pour définir les vues clés et ADEDOCVIEW pour afficher le fichier associé - la photo dans ton cas). La reponse est dans la question car les fonctions/commandes ADExxxxxx sont forcement des fonctions/commandes AutoCAD MAP ! Cela provient du tres vieux module ADE qui est apparu avec AutoCAD R12 ... +1 avec Olivier Comme d'habitude - C'est enervant car je suis toujours d'accord avec Olivier ! Sinon en effet j'aurais bien vu les photos comme un hyperlien !! Bye, lecrabe Autodesk Expert Elite Team
lili2006 Posté(e) le 16 mai 2016 Auteur Posté(e) le 16 mai 2016 Re, Salut Patrice, ADExxxxxx sont forcement des fonctions/commandes AutoCAD MAP ! Ok ! Je savais pour MAP...(Exemple !: MAPcsassign), mais pas pour les "ADExxxxxx" Sinon en effet j'aurais bien vu les photos comme un hyperlien !! A suivre,... PS: J'ai également posté cette nouvelle demande ici ,.. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Olivier Eckmann Posté(e) le 16 mai 2016 Posté(e) le 16 mai 2016 Lilian, Je te renvoie la base modifiée comme suit :- dans le module VBA, j'ai ajouté 2 fonctions Function GetLinkedPath(objOLE As Variant) As String Dim strChunk As String Dim pathStart As Long Dim pathEnd As Long Dim path As String If Not IsNull(objOLE) Then ' Convert string to Unicode. strChunk = StrConv(objOLE, vbUnicode) pathStart = InStr(1, strChunk, ":\", 1) - 1 ' If mapped drive path not found, try UNC path. If pathStart <= 0 Then pathStart = _ InStr(1, strChunk, "\\", 1) ' If either drive letter path or UNC path found, determine ' the length of the path by searching for the first null ' character Chr(0) after the path was found. If pathStart > 0 Then pathEnd = InStr(pathStart, strChunk, Chr(0), 1) path = Mid(strChunk, pathStart, pathEnd - pathStart) GetLinkedPath = path Exit Function End If Else GetLinkedPath = "" End If End Function cette 1ère fonction permet d'extraire d'un objet OLE, le nom et le chemin du fichier ayant servi à le créer, puis Sub ExtractPhoto() Dim db As DAO.Database Dim rst As DAO.Recordset Dim strRst As String Set db = CurrentDb() strRst = "Select * From [TOMBES];" Set rst = db.OpenRecordset(strRst, dbOpenDynaset) With rst If Not .BOF Then .MoveFirst Do Until .EOF If .Updatable Then .Edit .Fields("NomPhoto") = GetLinkedPath(.Fields("Photo").Value) .Update End If .MoveNext Loop End If End With rst.Close: Set rst = Nothing db.Close: Set db = Nothing End Sub Cette 2ème fonction balaie la table TOMBE via une requête SQL et remplit le nouveau champ NomPhoto avec le résultat de la fonction précédente exécutée sur l'objet OLE de l'enregistrement en cours. J'ai ensuite extrait et sauvegardé les photos des 5 premières tombes (joint en JPG dans le ZIP joint) à copier au même endroit que la base Access.. Je laisse le soin à ton étudiante de faire les autres ou de récupérer les images auprès du client. J'ai ensuite modifié le formulaire des tombes en remplaçant le contrôle cadre d'objet par un contrôle image et j'ai ajouté le code VBA suivant dans la feuille du formulaire. Public Function DisplayImage(ctlImageControl As Control, strImagePath As Variant) As String On Error GoTo Err_DisplayImage Dim strResult As String Dim strDatabasePath As String Dim intSlashLocation As Integer With ctlImageControl If IsNull(strImagePath) Then .Visible = False strResult = "No image name specified." Else If InStr(1, strImagePath, "\") = 0 Then ' Path is relative strDatabasePath = CurrentProject.FullName intSlashLocation = InStrRev(strDatabasePath, "\", Len(strDatabasePath)) strDatabasePath = Left(strDatabasePath, intSlashLocation) strImagePath = strDatabasePath & strImagePath End If .Visible = True .Picture = strImagePath strResult = "Image trouvée et affichée." End If End With Exit_DisplayImage: DisplayImage = strResult Exit Function Err_DisplayImage: Select Case Err.Number Case 2220 ' Can't find the picture. ctlImageControl.Visible = False strResult = "Image non trouvée." Resume Exit_DisplayImage: Case Else ' Some other error. MsgBox Err.Number & " " & Err.Description strResult = "Erreur à l'affichage de l'image." Resume Exit_DisplayImage: End Select End Function Cette fonction permet d'afficher dans le contrôle image passé en paramètre, la photo correspondant au nom également passé en paramètre. Enfin cette fonction est encapsulée et exécutée sur l’événement AfterUpdate du contrôle du nom du fichier photo. Private Sub CallDisplayImage() Me!txtInfosPhoto = DisplayImage(Me!PhotoTombe, Me!NomPhoto) End Sub Private Sub NomPhoto_AfterUpdate() CallDisplayImage End Sub Ainsi à chaque changement de tombe, le nom de la photo remplit le champ NomPhoto du formulaire ce qui déclenche le chargement de la photo correspondante. Maintenant que ta base contient le nom de la photo sous forme de texte, tu peux utiliser les vues de documents comme indiqué précédemment. Si tu veux passer par un hyperlien, en FDO, il me semble que c'est natif, mais sous le moteur DWG il me semble pas que ce soit direct => il va falloir passer par un bout de lisp. A moins que notre ami berlinois n'ait une autre solution. Olivier
GEGEMATIC Posté(e) le 17 mai 2016 Posté(e) le 17 mai 2016 salut,cette discussion est passionnante, je vais la garder dans un coin pour plus tard ...Gégé ----------------------------------------------------------------------Site: https://www.g-eaux.frBlog: http://g-eaux.over-blog.com
lili2006 Posté(e) le 17 mai 2016 Auteur Posté(e) le 17 mai 2016 Bonsoir à toutes et tous, ReOuah ! Je ne sais une fois de plus comment te remercier Olivier :o ! Je vais regarder tout ça en détail ce WE !! Me tarde de tester sous MAP !!:) Je reviens sur le post dés les premiers test effectués Salut GéGé, cette discussion est passionnante, Carrément ! J'm'attendais pas à tout ça j"dois dire,...:blink: Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Olivier Eckmann Posté(e) le 18 mai 2016 Posté(e) le 18 mai 2016 Lilian, ci-joint le lien pour la BD Olivier
lili2006 Posté(e) le 18 mai 2016 Auteur Posté(e) le 18 mai 2016 Bonsoir à toutes et tous, Merci encore Olivier !;) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lili2006 Posté(e) le 18 mai 2016 Auteur Posté(e) le 18 mai 2016 Re, Etant bloque cette semaine (pas de PC opérationnel sous le coude,//) et en te relisant Olivier, je me demandais comment tu faisait : J'ai ensuite extrait et sauvegardé les photos des 5 premières tombes Est ce que les images sont forcément des objets OLE sous Access ? cette 1ère fonction permet d'extraire d'un objet OLE, Merci d'avance, Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant