Flux PolirisRéférence d'intégration
Sommaire de la documentation

Format du fichier

Structure du zip, grammaire du CSV, encodage et lecture des valeurs.

Structure du zip

Contenu attendu
export-20260929-1200.zip
├── annonces.csv          obligatoire
├── ref-001-1.jpg         photos citées par le CSV
├── ref-001-2.jpg
└── …                     tout autre fichier est ignoré
  • annonces.csv est trouvé par son nom, casse et dossier ignorés. Un zip sans lui est refusé.
  • Photos retenues : extensions .jpg, .jpeg, .png, .webp, .gif. Elles sont appariées au CSV par nom de fichier, sans chemin, casse ignorée.
  • Les photos peuvent aussi être des adresses http(s) dans le CSV ; les deux formes se mélangent librement.
  • Config.txt, photos.cfg et la version déclarée ne sont pas lus : seules les positions de colonnes comptent.
  • Taille maximale : 300 Mo.

Grammaire du CSV

Grammaire
fichier      = ligne { fin_de_ligne ligne }
ligne        = champ { "!#" champ }
champ        = '"' { caractère | '""' } '"'
             | { caractère sauf "!#" et fin_de_ligne }
fin_de_ligne = CRLF | LF | CR
  • Pas de ligne d'en-tête : la première ligne est une annonce.
  • Un champ entre guillemets peut contenir !# et des retours à la ligne ; "" vaut un guillemet.
  • Les champs sans guillemets sont acceptés. Les lignes vides sont ignorées.
  • Le nombre de colonnes est libre : une position absente vaut un champ vide, les positions non lues sont ignorées.

Encodage

Le fichier est d'abord décodé en UTF-8 strict (marque d'ordre retirée). S'il n'est pas de l'UTF-8 valide, il est relu en Windows-1252, qui couvre l'ISO-8859-1 et ses guillemets typographiques. Aucun paramètre à fournir.

Lecture des valeurs

TypeLecture
TexteEspaces de bord retirés. Champ vide = absent.
NombreEspaces et espaces insécables retirés, virgule décimale acceptée : 125 000, 98,5.
EntierNombre arrondi, de 0 à 999 (pièces, chambres, parkings).
BooléenVrai pour oui, o, 1, true, vrai, yes, y (casse ignorée), faux sinon.
DescriptifHTML toléré : <br> et </p> deviennent des retours à la ligne, les autres balises sont retirées, &nbsp; &amp; &lt; &gt; &quot; &#39; décodés.

Le détail par colonne (bornes, obligations, correspondances) est dans Colonnes lues.

Exemple

Début d'une ligne (positions 1 à 21), généré à partir de la carte des colonnes du traitement :

annonces.csv
"AG42"!#"REF-001"!#"Vente"!#"Maison"!#"59000"!#"LILLE"!#""!#"12 rue Nationale"!#"Vieux-Lille"!#""!#"425000"!#""!#""!#""!#""!#"120,5"!#"250"!#"5"!#"3"!#"Maison de caractère"!#"Belle maison.<br>Jardin plein sud."!#…

Note

Les photos (positions 85 et suivantes) portent soit un nom de fichier du zip, par exemple ref-001-1.jpg, soit une adresse complète.

Dernière mise à jour : 29 septembre 2026