Commit b9d7a0f4 authored by Pierre Dittgen's avatar Pierre Dittgen

Changed static/errors/index.md into static/errors/README.md

parent 8fdfd3b3
......@@ -48,7 +48,7 @@ def generate_documentation(JSON_SPEC_FILE="spec-fr_FR.json", TARGET_DIR="./"):
with open(JSON_SPEC_FILE, "r", encoding="utf-8") as _file:
specs = json.load(_file)
root_dir = TARGET_DIR
readme = os.path.join(root_dir, "index.md")
readme = os.path.join(root_dir, "README.md")
index_content = []
for error_id, error in specs["errors"].items():
md_filename = os.path.join(root_dir, ("{}.md").format(error_id))
......@@ -64,7 +64,7 @@ def generate_documentation(JSON_SPEC_FILE="spec-fr_FR.json", TARGET_DIR="./"):
with open(md_filename, "w") as _mdfile:
_mdfile.write(md_content)
index_content.append("* [{}](./errors/{}.md)".format(error["name"], error_id))
index_content.append("* [{}]({}.md)".format(error["name"], error_id))
with open(readme, "w") as readme_file:
content = "\n\n".join(["# Types d'erreur"] + index_content)
readme_file.write(content)
......
{
"$schema": "https://frictionlessdata.io/schemas/table-schema.json",
"title": "Schéma SCDL Base d'Adresse Locale",
"author": "OpenDataFrance",
"version": "1.0.2",
"created": "2018-05-30",
"description": "Schéma validant le format relatif à la Base d'Adresses Locales (BAL) du SCDL (Socle Commun des Données Locales).",
"uri": "https://git.opendatafrance.net/scdl/bal/blob/master/schema.json",
"homepage": "https://git.opendatafrance.net/scdl/bal",
"fields": [
{
"name": "cle_interop",
"type": "string",
"title": "Clé d'interopérabilité",
"description": "Composée du code insee (code INSEE) + code de voie (FANTOIR DGFiP sur 4 caractères) + numéro d’adresse (5 caractères préfixé par des zéros) + suffixe (indice de répétition et complément) séparés par `_`",
"example": "35238_3961_00007",
"constraints": {
"required": true,
"minLength": 16
}
},
{
"name": "uid_adresse",
"type": "string",
"format": "uuid",
"title": "Identifiant unique national d’adresse",
"description": "Cet identifiant unique d’adresse est géré et attribué par le service `guichet national d’identification` de la BAN",
"example": ""
},
{
"name": "voie_nom",
"type": "string",
"title": "Nom complet de la voie",
"description": "Concaténation du type et du nom de la voie en majuscules et minuscules accentuées\nLe nom de la voie peut également être un lieu-dit",
"example": "Rue du Rempart",
"constraints": {
"required": true,
"minLength": 3
}
},
{
"name": "numero",
"type": "integer",
"title": "Numéro d’adresse",
"description": "Numéro d’adresse dans la voie et, dans le cas des voies sans adresse, la valeur “99999” est attendue",
"example": "130",
"constraints": {
"required": true,
"minimum": 1
}
},
{
"name": "suffixe",
"type": "string",
"title": "Information suffixée qui complète et précise le numéro d’adresse",
"description": "Indice de répétition et/ou complément d'adresse (nom d’entrée d’immeuble) normalisé en minuscules sans espace",
"example": "ter",
"constraints": {
"pattern": "[^a-z0-9]+"
}
},
{
"name": "commune_nom",
"type": "string",
"title": "Nom officiel de la commune",
"description": "Texte libre qui permet d’identifier rapidement la commune dans laquelle l’adresse est située",
"example": "Brest",
"constraints": {
"required": true
}
},
{
"name": "position",
"type": "string",
"title": "Code de position de l’adresse",
"description": "Décrit la position d’une adresse à partir d’une liste de valeurs qui provient de la spécification INSPIRE v 3.1 sur le thème “Adresses” : délivrance postale, entrée, bâtiment, cage d’escalier, logement, parcelle, segment, service technique",
"example": "segment",
"constraints": {
"required": true,
"enum":[
"délivrance postale",
"entrée",
"bâtiment",
"cage d’escalier",
"logement",
"parcelle",
"segment",
"service technique"
]
}
},
{
"title": "x",
"name": "x",
"type": "number",
"description":"Coordonnée X du système légal en vigueur sur le territoire concerné",
"example": "145377.5",
"constraints": {
"required": true
}
},
{
"title": "y",
"name": "y",
"type": "number",
"description":"Coordonnée Y du système légal en vigueur sur le territoire concerné",
"example": "6835665.67",
"constraints": {
"required": true
}
},
{
"title": "Longitude",
"name": "long",
"type": "number",
"description":"Coordonnée de longitude exprimée en WGS84",
"example": "-4.502217943385534",
"constraints": {
"required": true
}
},
{
"title": "Latitude",
"name": "lat",
"type": "number",
"description":"Coordonnée de latitude exprimée en WGS84",
"example": "48.383985827041485",
"constraints": {
"required": true
}
},
{
"title":"Nom de l’organisme ayant créé ou diffusé cette adresse",
"name": "source",
"type": "string",
"description":"Nom de l’organisme ayant créé ou diffusé cette adresse",
"example":"Rennes Métropole",
"constraints": {
"required": true
}
},
{
"title":"Date de dernière mise à jour de l'adresse",
"name": "date_der_maj",
"type": "date",
"description":"Date de dernière mise à jour connue de la donnée au format AAAA-MM-JJ",
"example":"2014-10-01",
"constraints": {
"required": true
}
}
],
"missingValues": ["", "99999"],
"primaryKey":"cle_interop"
}
\ No newline at end of file
{
"$schema": "https://frictionlessdata.io/schemas/table-schema.json",
"title": "Schéma SCDL Délibérations",
"author": "OpenDataFrance",
"version": "2.0",
"created": "2018-05-23",
"description": "Schéma validant le format relatif aux délibérations du SCDL (Socle Commun des Données Locales).",
"homepage": "https://git.opendatafrance.net/scdl/deliberations",
"fields": [
{
"name": "COLL_NOM",
"type": "string",
"title": "Nom de la collectivité",
"description": "Nom officiel de la collectivité délibérante",
"example": "Ville de Poitiers",
"constraints": {
"required": true
}
},
{
"name": "COLL_SIRET",
"type": "string",
"title": "Code SIRET de la collectivité",
"description": "Identifiant du Système d'Identification du Répertoire des Etablissements (SIRET)",
"example": "23350001600040",
"constraints": {
"required": true,
"pattern": "^\\d{14}$"
}
},
{
"name": "DELIB_ID",
"type": "string",
"title": "Identifiant de la délibération",
"description": "Identifiant interne de délibération respectant le formalisme propre à la collectivité",
"example": "1DL15494",
"constraints": {
"required": true
}
},
{
"name": "DELIB_DATE",
"type": "date",
"title": "Date de la délibération",
"example": "2017-10-15",
"constraints": {
"required": true
}
},
{
"name": "DELIB_MATIERE_CODE",
"type": "string",
"title": "Code de la matière de la délibération",
"description": "Code de l'indexation de niveau 2 de la nomenclature Actes",
"example": "1.1, 7.10",
"constraints": {
"required": true,
"pattern": "^\\d\\.\\d{1,2}$"
}
},
{
"name": "DELIB_MATIERE_NOM",
"type": "string",
"title": "Nom de la matière de la délibération",
"description": "Intitulé de matière niveau 1 suivi de l'intitulé de sous-matière niveau 2 séparés par « / »",
"example": "Finances locales/Divers",
"constraints": {
"required": true,
"pattern": "^\\w+( \\w+)*\\\/[ \\w]+$"
}
},
{
"name": "DELIB_OBJET",
"type": "string",
"title": "Objet de la délibération",
"example": "Lancement d'une démarche partenariale de définition d'une politique montagne et adhésion à l'association nationale des élus de la montagne",
"constraints": {
"required": true
}
},
{
"name": "BUDGET_ANNEE",
"type": "string",
"title": "Année du budget",
"description": "Année de l'exercice budgétaire sur lequel s'applique la décision si celle-ci a un impact budgétaire. Format AAAA pour une année ou AAAA/AAAA pour un intervalle entre deux années (ISO 8601).",
"example": "2017, 2017/2018, 2016/2018",
"constraints": {
"pattern": "^[0-9]{4}(\\/[0-9]{4})?$"
}
},
{
"name": "BUDGET_NOM",
"type": "string",
"title": "Nom du budget",
"description": "Nom du budget si la délibération engendre une affection budgétaire",
"example": "Budget annexe déchets-collecte et traitement"
},
{
"name": "PREF_ID",
"type": "string",
"title": "Identifiant de l'entité exerçant le contrôle de légalité",
"description": "Pour les préfectures : PREFNNN (7 caractères)\nPour les sous-préfectures : SPREFNNNM (9 caractères)\nPour les SGAR : SGARNNN (7 caractères)\nOù NNN : numéro sur 3 caractères du département et M : numéro sur un chiffre de l'arrondissement",
"example": "PREF038"
},
{
"name": "PREF_DATE",
"type": "date",
"title": "Date d'enregistrement de la délibération au contrôle de légalité",
"example": "2017-02-03"
},
{
"name": "VOTE_EFFECTIF",
"type": "integer",
"title": "Décompte de l'effectif total des élus susceptibles de participer au vote (présents à la séance)",
"example": "43"
},
{
"name": "VOTE_REEL",
"type": "integer",
"title": "Décompte de l’effectif total des élus ayant réellement participé au vote (exclusion des absents)",
"example": "40"
},
{
"name": "VOTE_POUR",
"type": "integer",
"title": "Nombre de votes Pour",
"example": "25"
},
{
"name": "VOTE_CONTRE",
"type": "integer",
"title": "Nombre de votes Contre",
"example": "10"
},
{
"name": "VOTE_ABSTENTION",
"type": "integer",
"title": "Nombre de votes Abstention",
"example": "5"
},
{
"name": "DELIB_URL",
"type": "string",
"format": "uri",
"title": "Lien vers le document de la délibération"
}
]
}
{
"$schema": "https://frictionlessdata.io/schemas/table-schema.json",
"title": "Spécification SCDL Marchés Publics",
"author": "Virgile Pesce",
"contributor": "Joël Gombin, Charles Népote, Colin Maudry, Pierre Dittgen, Christophe Benz",
"version": "1.0.1",
"created": "2018-03-01",
"description": "Les données fixées dans l’arrêté du 14 avril 2017 doivent être publiées à compter du 1er octobre 2018 pour chaque marché public dont le montant est supérieur à 25 000 € HT et pour chaque contrat de concession. (https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000034492587&dateTexte=&categorieLien=id)",
"homepage": "https://git.opendatafrance.net/scdl/marches-publics/",
"uri": "https://git.opendatafrance.net/scdl/marches-publics/blob/master/schemas/marche_public_SCDL.json",
"example": "https://git.opendatafrance.net/scdl/marches-publics/blob/master/exemples/exemple_marche_public.csv",
"fields": [
{
"name": "MARCHE_ID",
"title": "Identification du marché public",
"description": "L'ID marché est composé de trois parties: année de notification (4 caractères) ; le numéro d'ordre interne propre à l'acheteur public (1 à 10 caractères alphanumériques),le numéro d'ordre de la modification (2 caractères, 00 si pas de modification, 01 si une modification, etc.)",
"type": "string",
"example": "201872300 (2018 723 00) ou 2019000111202 (2019 00001112 02)",
"constraints": {
"required": true,
"pattern": "^\\d{4}.{1,10}\\d{2}$"
}
},
{
"name": "ACHETEURS_ID",
"title": "Identifiant de l'acheteur",
"description": "Numéro SIRET donc 9 chiffres suivi de 5, soit 14 chiffres. http://xml.insee.fr/schema/siret.html#SIRET_stype",
"type": "string",
"example": "12345678912345",
"constraints": {
"required": true,
"pattern": "^\\d{14}$"
}
},
{
"name": "ACHETEURS_NOM",
"title": "Nom de l'acheteur",
"description": "Si le marché est passé par un groupement d'acheteurs, c'est le mandataire en charge d'effectuer la procédure du passation.",
"type": "string",
"example": "Conseil Départemental de Bretagne",
"constraints": {
"required": true,
"pattern": "[A-Za-zÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸàâäçéèêëîïôöùûüÿÆŒæœ \\-']*"
}
},
{
"name": "NATURE_MARCHE",
"title": "Nature du marché",
"description": "Valeurs possibles : marché, marché de partenariat, accord-cadre, marché subséquent",
"type": "string",
"example": "marché subséquent",
"default": "marché",
"constraints": {
"required": true,
"enum": [
"marché",
"marché de partenariat",
"accord-cadre",
"marché subséquent"
]
}
},
{
"name": "MARCHE_OBJET",
"title": "Objet du marché ou du lot",
"description": "Description synthétique de l'objet du marché ou du lot. Ne doit pas excéder 256 caractères",
"type": "string",
"example": "Entretien des jardins municipaux",
"constraints": {
"required": true,
"maxLength": 256
}
},
{
"name": "CPV_CODE",
"title": "Code CPV principal",
"description": "Le code CPV principal (8 caractères + 1 caractère de contrôle). Même si toléré, il préférable d'omettre le caractère de contrôle (-9). Nomenclature européenne permettant d'identifier les catégories de biens et de service faisant l'objet du marché (http://simap.ted.europa.eu/web/simap/cpv).",
"type": "string",
"example": "45112500",
"constraints": {
"required": true,
"pattern": "^[0-9]{8}(\\-[0-9])?$"
}
},
{
"name": "PROCEDURE",
"title": "Procédure de passation du marché",
"description": "La procédure de passation de marché utilisée par l'acheteur",
"type": "string",
"example": "Procédure adaptée",
"constraints": {
"required": true,
"enum": [
"procédure adaptée",
"appel d'offres ouvert",
"appel d'offres restreint",
"procédure concurrentielle avec négociation",
"procédure négociée avec mise en concurrence préalable",
"marché négocié sans publicité ni mise en concurrence préalable",
"dialogue compétitif"
]
}
},
{
"name": "LIEU_EXEC_CODE",
"title": "Code du lieu d'exécution",
"description": "Code du lieu d'exécution (code postal, commune, canton, arrondissement, département, région, pays). Les codes INSEE sont à privilégier aux dépens du code postal.",
"type": "string",
"example": "04070",
"constraints": {
"required": true
}
},
{
"name": "LIEU_EXEC_TYPE",
"title": "Type de code du lieu d'exécution",
"description": "Le type de code utilisé pour désigner le lieu d'exécution. Hormis le « Code postal », les codes sont des codes géographiques gérés par l'INSEE (http://www.insee.fr/fr/methodes/nomenclatures/cog/default.asp)",
"type": "string",
"example": "Code région",
"constraints": {
"required": true,
"enum": [
"Code postal",
"Code commune",
"Code arrondissement",
"Code canton",
"Code département",
"Code région",
"Code pays"
]
}
},
{
"name": "LIEU_EXEC_NOM",
"title": "Nom du lieu d'exécution",
"description": "Nom du lieu. http://xml.insee.fr/schema/commun.html#ChaineFrancaisOfficiel_stype",
"type": "string",
"constraints": {
"required": true,
"pattern": "^[A-Za-zÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸàâäçéèêëîïôöùûüÿÆŒæœ \\-']*$"
}
},
{
"name": "DUREE_MOIS",
"title": "Durée initiale du marché",
"description": "Valeur minimum : 1. La durée du marché, en mois, telle que définie au moment de la publication des données. La durée initale du marché comprend la durée des tranches et reconductions potentielles. Si la durée n'est pas un nombre exact de mois, arrondir au nombre supérieur. Exemples : 9 pour 9 mois ; 1 pour 2 semaines ; 2 pour 1 mois et 3 semaines. Si, une fois les données initiales du marché publiées une modification de la durée du marché intervient, elle doit être retranscrite via la propriété MODIF_DUREE_MOIS et la propriété DUREE_MOIS initiale ne doit pas être modifiée.",
"type": "integer",
"example": "12",
"constraints": {
"required": true,
"minimum": 1
}
},
{
"name": "NOTIFICATION_DATE",
"title": "Date de la notification du marché",
"description": "Date à laquelle le marché a été notifié au(x) titulaire(s), au format AAAA-MM-JJ.",
"type": "date",
"example": "2017-03-24",
"constraints": {
"required": true
}
},
{
"name": "PUBLICATION_DATE",
"title": "Date de la publication des données essentielles du marché",
"description": "Date à laquelle les données essentielles du marché décrit ont été publiées pour la première fois. Cette date n'est donc pas mise à jour en cas de modification du marché.",
"type": "date",
"example": "2017-07-26",
"constraints": {
"required": true
}
},
{
"name": "MONTANT",
"title": "Montant forfaitaire ou estimé maximum HT",
"description": "Le séparateur décimal doit être un point de type '.' ",
"type": "number",
"example": "325038.12",
"constraints": {
"required": true
}
},
{
"name": "PRIX_FORME",
"title": "Forme du prix",
"description": "Ferme : le prix est fixé pour toute la durée marché. Ferme et actualisable : le prix peut évoluer périodiquement selon des conditions prévues dans le contrat initial (ex: variation d'indice. Révisable : l'acheteur et le titulaire peuvent s'entendre sur une modification du prix après la signature du marché.",
"type": "string",
"constraints": {
"required": true,
"enum": [
"ferme",
"ferme et actualisable",
"révisable"
]
}
},
{
"name": "TITULAIRES_ID",
"title": "Titulaires du marché",
"description": "Les opérateurs économiques titulaires du marché. Types d'identifiants possibles (favoriser le SIRET) : SIRET, TVA, TAHITI, RIDET, FRWF, IREP, HORS UE.",
"type": "string",
"example": "12345678901234",
"constraints": {
"required": true,
"pattern": "^[A-Z0-9]{9,}$"
}
},
{
"name": "TITULAIRES_ID_TYPE",
"title": "Titulaires du marché",
"description": "Le type d'identifiant utilisé pour identifier le titulaire du marché.",
"type": "string",
"constraints": {
"required": true,
"enum": [
"SIRET",
"TVA",
"TAHITI",
"RIDET",
"FRWF",
"IREP",
"HORS UE"
]
}
},
{
"name": "TITULAIRES_DENOMINATION",
"title": "Dénomination sociale du titulaire",
"description": "Nom de l'opérateur économique intervenant sur le marché",
"example": "Transit 2000 SA",
"type": "string",
"constraints": {
"required": true
}
},
{
"name": "MODIF_OBJET",
"title": "Modification",
"description": "Une modification du marché ayant lieu après la publication des données essentielles du marché. Limité à 256 caractères.",
"example": "Modification du titulaire du marché. Nouveau titulaire : Rodriguez SAS",
"type": "string",
"constraints": {
"maxLength": 256
}
},
{
"name": "MODIF_PUBLICATION_DATE",
"title": "Date de la republication des données incluant la modification",
"description": "Date à laquelle les données essentielles sont republiées suite à la modification, au format AAAA-MM-JJ.",
"type": "date",
"example": "2017-12-28"
},
{
"name": "MODIF_DUREE_MOIS",
"title": "Nouvelle durée, en mois",
"description": "Valeur minimum : 1. La durée du marché, en mois, telle que définie au moment de la republication des données. Si la durée n'est pas un nombre exact de mois, arrondir au nombre supérieur. Exemples : 9 pour 9 mois ; 1 pour 2 semaines ; 2 pour 1 mois et 3 semaines.",
"type": "integer",
"example": "7",
"constraints": {
"minimum": 1
}
},
{
"name": "MODIF_MARCHE_MONTANT",
"title": "Nouveau montant forfaitaire ou estimé maximum HT",
"description": "Le séparateur décimal doit être un point de type '.' ",
"type": "number",
"example": "325038.12"
},
{
"name": "MODIF_TITULAIRES_ID",
"title": "Nouveau titulaire du marché",
"description": "Les opérateurs économiques titulaires du marché. Types d'identifiants possibles (favoriser le SIRET) : SIRET, TVA, TAHITI, RIDET, FRWF, IREP, UE, HORS-UE.",
"type": "string",
"example": "12345678901234"
},
{
"name": "MODIF_TITULAIRES_ID_TYPE",
"title": "Type de l'ID du nouveau titulaire du marché",
"description": "Le type d'identifiant utilisé pour identifier le titulaire du marché.",
"type": "string",
"constraints": {
"enum": [
"SIRET",
"TVA",
"TAHITI",
"RIDET",
"FRWF",
"IREP",
"HORS UE"
]
}
},
{
"name": "MODIF_TITULAIRES_DENOMINATION",
"title": "Dénomination sociale du nouveau titulaire",
"description": "Nom du nouvel opérateur économique intervenant sur le marché",
"example": "Transit 2000 SA",
"type": "string"
},
{
"name": "MODIF_SIGNATURE_DATE",
"title": "Date de la signature de la modification",