diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9ce3899 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# Files generated by hugo + +/public/ +/resources/_gen/ + diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..951d3e2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/ace-documentation"] + path = themes/ace-documentation + url = https://github.com/vantagedesign/ace-documentation.git diff --git a/README.md b/README.md index 5ee0dbf..4d2079e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,25 @@ # decp-docs + Documentation de la collecte et de la publication des données essentielles de la commande publique (DECP) + +## Cloner le dépôt + + +Ce dépôt référence un submodule, le thème Ace. Pour récupérer l'ensemble des fichiers nécessaires au bon fonctionnement du site : + +``` +git clone https://github.com/139bercy/decp-docs.git --recursive +``` + +Pour télécharger le thème Ace si vous avez cloné le dépôt sans l'option `--recursive` : + +``` +git submodule update --init +``` + +## Génération du site + +1. [Installer Hugo extended](https://gohugo.io/getting-started/installing/) +2. Lancer `hugo -D` pour simplement générer le site statique, ou `hugo server -D` pour lancer un server HTTP local + +Le site statique est créé dans `/public`. diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/assets/custom.scss b/assets/custom.scss new file mode 100644 index 0000000..536c1b8 --- /dev/null +++ b/assets/custom.scss @@ -0,0 +1,3 @@ +.bg-primary.overflow-hidden.p-3.mt-5.shadow { + display:none; +} diff --git a/assets/processus-decp-rama.drawio b/assets/processus-decp-rama.drawio new file mode 100644 index 0000000..909031a --- /dev/null +++ b/assets/processus-decp-rama.drawio @@ -0,0 +1,2 @@ + +7Vpbc5s4GP01nu4+2AMIsHl0HDubTrPp1t1p+iiDbJTIiAoR2/31K4GwuSi14/rWbNsZB30IAed8d9ECg/nyhsE4vKMBIi3LCJYtcN2yLBP0LPFHSla5xHPMXDBjOFCTNoIx/o6U0FDSFAcoqUzklBKO46rQp1GEfF6RQcboojptSkn1rjGcoYZg7EPSlH7BAQ9zac/qbuR/ITwLizubrpefmcNisnqTJIQBXZREYNgCA0Ypz4/mywEiErwCl/y60Qtn1w/GUMR3uSBc3N7Nb8E/V49fRu/B4vP3h5C0gVrmGZJUvbF6Wr4qIGA0jQIkVzFa4GoRYo7GMfTl2YUgXchCPidiZIrDhDP6tIZKvOTVlEZc8Wq66xkDSijL1gf97L84E8AkzO4jF5piQopJEY3E5VfNNy6eHjGOliWRQuAG0TnibCWmqLM9RYbSRstQ48WG2y5QsrDE65pFqPRptl56A7k4UKhnw38TxO4nj1IrLYPACSIFwC7hCpgK0u63lBYn2kkGWV9MMN14mb19cT5T9wK+jRCYwACjUVnkztTf7IbpnnfLVxlhP8SIJbmxJZQIxRqAVt+TEmmj4lcYYS7LhihJBFNYAJKfRRkO2fXzOYyycZxOCP4mdE89o8AwrT+3kOVYFWJJBMHRk1JszqUz6EserNFisegEkMPOjKbPnSmTF8sfKUsQFw8ycvzA6U6mbm9i+7bZ9SzPQxMDedkC1jaTKSuYMrF9jUXqLRa+pk/wLBIyTmOtCTVMpjvsu0NDY1wHMBG7W7MRt2kjwNLYiLmHjYhhyUxe4bhMp+GnUCA8txpSxkM6oxEkw430qkrOZs4HKoHPKHlEnK8UojDltEpYHW6BMls9yPU6TjH8quZmg+ululk+WhWjJeYPxTxx/HWzhBhtLpKD4pqmWrxIdkJT5qMfoKecPIdshvg2XReGHFSCZFN1GCKQ4+dqzNSpgbr0I8WZ71Mq5xhVlQN1TcofVF1VU6b1Y+zjgwP8/FNO8Rf15QPMfIIGt6/yumtxBtouvtjPbuPjjnD4YjgLxY8JvAli/kqug/y4zeAc7uB1rcN53WP4zJoCr31oyWeatsZnOid0md2jp3onjVOeVw1TttkMU6apCVOm92rMd4xJxttC2DRqEDsaiK3TQgzOEfY3Yb4c5Esx/4Uw30gXVNjfhPp1snCSsF+Yw9a4b50m7tfLMdusucP8jRpxv88YXJWmxXJC8or7eE5NE/MVd0wqdlTVZmn9HqXLohCq1UqKO8v4o387GrYscU/j43Asfu8g88N8Zi6OGRXFcVZRvYN+iDhK2Z8/52gushBZ1xOnKER25NTTePifzgDzVOr9+P7vH1a8JXKTEMbyUKiCL6rs7QRPoP80y1TiPuUiXUPHy4XMmrEBoOmxaFgDxyLN0oXlA5H2cPfhLXBmdS+NM11f8rehVUhzaunZ+UmzfhvaNs68S+MMHI+z+8H1+C2Q5vacCyPtLM3PQ1VBB21k2q0zVTT/j02ffCeFwSggKxpl2ykH2qeprZx3CB9FgdQOUFsWR0jWRaO5rH5QO9sm8tsSfRpTgtryInEaR1Pa2qF7aJfYvrz2IaiVp5pCZ51Vlx1M94TdQ8ttBArYKcy05IcIwXGCtsMIkzjfr5/ipYS+gWt5A1joeQBRb+rralDX76HJ9ECJsGt1qs7e7nYbZABH4+ydYzn7XgP4Scd7a8A7XasOe0HEuYB3GrhX95VrBIgX5S1N+7b2EQNULRZfYIWYpvcyx0FAXuKx6qm2MDfN/h3IRbl2hR/T0/goU+OjjtaLAedJgrQt3HXXVtvC3XeXePu3NPsnTuB34nTUxOkG8zCdHCxbmmXLqSxJv4W6y7cr4LLzoPo2qnOJ26igmQj5VLb0zx8Pqh/QnS442Ha1q+HYTd50tB0iNnwKn++9KKIBvft8NVoOP42nd+1m93DZMRoM/eIpU61qcDWgHytf0oJ+gO6fLbxpw5VG6Tzf/mKi1FNfEb7DkcA29TmWZaBw8IyhJKZRAIUV5dtkzxQzeQqLgjIR8TDZtRX1SsMlaMrPYLbZPPXQ1gG0qVvXJm3+rWtz7ffZ3+bD53zDdfP5OBj+Bw== \ No newline at end of file diff --git a/assets/processus-dgfip-gw.drawio b/assets/processus-dgfip-gw.drawio new file mode 100644 index 0000000..bd59ffa --- /dev/null +++ b/assets/processus-dgfip-gw.drawio @@ -0,0 +1 @@ +7VxZl5s2FP41Pm0fzBEIsTzOYk/TkzlxM2mb9g2DbJNg5AJeJr++EohVsvGC7XHSSc6MdRFCuut3L5J78GG+eYqcxeyZeDjoacDb9OBjT9NUaGn0D6O8ZhQbqRlhGvke71QSXvxvmBMBpy59D8e1jgkhQeIv6kSXhCF2kxrNiSKyrnebkKD+1IUzxQLhxXUCkfqX7yWzjGppZkn/FfvTWf5k1bCzK3Mn78xXEs8cj6wrJDjowYeIkCT7NN884IAxL+dLdt9wy9ViYhEOk31uQI8AvcRPbn9kjNf95z9/+0cf9TUjG2blBEu+Yj7b5DVnQUSWoYfZKKAH79czP8EvC8dlV9dU6JQ2S+YBban0o+fEs7Rv3hg5SYKjMKVogFHjJCJfC25qBeWBBCRKHwmHQwsA9jRxkXzdKxwleFMh8UU/YTLHSfRKu/CriPOfK6Bq8va6FCfMabOKKDXIiQ5XoWkxdMll+oEz+hCmw3amY4+qIW+SKJmRKQmdYFBS7+tiKfu8J2TB+f8FJ8krtylnmZC6qHDo3TELoc2QhDijDH22lnRIQSrgERgASCW4VU4xWUYuX9Ns/e55/g7+fv/lr+FvcP3p2+dZ0Ie5VTvRFCc7OnIeMcbsFHuEAyfxV3X7PUWGO6fdmeGIPJ2QMOHCUw2ZPO7Sf02jm1AJ5p24XDuwIqtuRRqQWJEqsSLVOpsVqQLDL2E0Gz/5XPn8NxtKQbz1uOEjp43XvBHS9X5OOwKg5oTsTt3QckJ5c9qq3T3CkU/ZhqOCeKjtIgA7t93OTZLfOiI+nUqhe1CjjIN2+WPUdFE3bUXT64Nm3oSP01C0YmIy3fsjxtGH8RcGJTQQOGMcZAO+4GiFlxElDhKH0rPH7XQRWmVFXKGPdQ5NV9CBQasGqnMRIcGiVV1i0ehwg6bNCl8P8LIqvIaNN7md23xp539XPIDc5kUzq3gBVPMBLfa/PQwfb7jq1YKu3MKb4UVXG0qWrUiwZ+oDnddKtwXrEO94DqwrPdRBQ22zEbfdbdVnmY92stfZM+JpEsxhBAlX2ZqdGP8uSX6hH6fKfMfwt7HYlBfppyn7O/w0ygeiE8vGyq5Ize995harJuME/pRhfJeqIgtS98wR+TSNuuMX5r7nZdaJ6WyccToeU2IuMjo4uu+hR6la7/QNgssrkkH+lF4135K5QqCoplqPKZzTJ6p1bj580L5uKNCuD0Imkxifqi1y0xVTO0maEQQ0k8btEciJF1l6PfE3zLcKTrIKO6mT8hxsTVyZ+zJcC48n3QQxms0pjTAmA6ZIjGJN0+0sMUAC10vokNoZeHwa+iNBEnTFiSwjaED5/Q1NJtB6aGwR4ST96QhtoLqYVFsUk2rIsvAO0gd5AoeuAS3kUKJAD23pQw04FJnETuCwK6M8HkBA41oAYovQt+H2Jz9J0XoB28HPi8hf9R5g787+pdeO4qFemfDbh/HIkBjWBWH8x9nqgx2GxCPPn+6Hm8HHl8lzX6yV5DXR7yYSwTqANfTLhSEpyzuAiroMKobLeWY7EaF9PMys7Sc/pLxduolPwhR9RRTkLUjoOTRG9bQHNg/iswDo+n0Px9S7xPvizQPDYoAnyWlBsV5L2zNCpv34pLUOtMlsalMBc1qr1ucqt+1R75xSTi72X/3BON22a1yhWaLAE81QRZ7Y9uk8kcYGs50nJ9aABZ9lDu6MgQy8iXzfKcZ2VaxyVUcKZaMBTBo2TISgyGMLKgZSVUMzbWDYpmGdieV5YeD75Hlu/oplIdU2oKkbLEbUc1NTMUxdVy0D6CnLoWgFb0heot8Y+u7Mx1HM4seS/vpCWHJ0igyb7j5haPxNSlY1FIQsW9WgZZiU8Y2sSFeQpUIbQd2yoKlJ/JuuK1T2wDINFWo2BLpEtLRLqR3auSSrySzxiGpUii0aKOPz8/t9AUI8cxbs4yIiLoUW7coydtyv01S9PiyTwA/x3uC8IxUANpUPUG3N1qiQEID1WK8qVLDlj6ULSoAsxdSRbQETmFRZZLDybFmzWFRyCUOB169mHAXcOsBqmtrIwDQZWJOlYOfDapL06kerbbS9Id0q+fbaB7fI1tpHbixnf3vSeKuBUCOr3PL2pH0gcNkXHBKwICjyuZMMXW++ipJkXrJKZVHS7NycxZLyaXDpsltNdku63c3m2EhSUJGK4WwbTsTQR9ePY8VzEkeZkuVKmYg49qbK+qeKqkA4jS13lghkuyr2b6v7ZgNRePeVO+gkYTtG79g4FFFKBDf0sLtIL2utfkqrrF+sCW9xUYdx93DHZTdfhSEJDumqQLJPLVi+4D02P765BF7b2wSunoXLF6B/10y/6bKJfPGymJ8lxJ6/KpPhWr7tFswv82moDgAaDsUUO793mRPuojGJcEwjEJV5mXwvmzcICXlBlszsXJN9efdx8Ikx3p3hJH25PqTevIt532Yd6mBbuc1ClHzxsjMMP2Ah6nAduJFKlHS5+UaqW9r+Xa1wVAoeWzd+X/h8hlytuNm27/TgHS9/QGPnvCteIYpfQ1fQmh+oVAkbuxR0yVmoixYqNVFII7rA/gSzF0P/b5Sr5MmX2Cgnd7RvsCgn2z64rSindLDFRsoYu50vt1aWg0eU5WQ7Uy5bmMu9WkUS33lN7gA5FSexRTHZ5y7BZcB5cZYM8JF6kGwnGmY7CSjipizz6aTSZrYxzUmfMp87YdpeLMeB/++SfUwiJ4znfpx2XvmsY8Doo8EL/f3sRO4sGzx/7jiSJI7tOSbo6H+HjLviioohF/UsaluZdr1eC0Va2owxO+MzRGMPjI2JZ411V1ehByygei7im7J2e4yKrZy4p3erUzgl7Rdcz9n8Qm7vxfEJmTvPO9Xc+RGe4uiiMbzKOcBjzv1VkjY3cOLYd2t5mxhsdudt1ffjsHF0GAC7NYOUHB3eCtNaU8E8hFRTwZ01/o5ffG8/7df1i2goll+jLB5M+O7nrEp6fWBxrVTSaLzjg/aV97xA8wZdxBXrOnBPW85N4Y2UdXKduqWyn/itD8ho2+DU9q0PXQSXvZRnZ63vCpHgtD2rYr1J4jZu+ySSDhrbAGS1km6OItFm+f1VWewtvwUMDv4D \ No newline at end of file diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..c6be746 --- /dev/null +++ b/config.yaml @@ -0,0 +1,14 @@ +--- +baseURL: https://139bercy.github.io/decp-docs/ +languageCode: fr +title: Données essentielles de la commande publique +theme: ace-documentation +orderSections: weight +defaultContentLanguage: fr +params: + disableSearch: true +markup: + defaultMarkdownHandler: goldmark + goldmark: + renderer: + unsafe: true diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..e2b9c49 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,42 @@ +--- +title: "Contexte" +date: 2020-05-05T12:57:45+02:00 +--- + +[L’arrêté du 14 avril 2017](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000034492587&fastPos=5&fastReqId=1878427973&categorieLien=id&oldAction=rechTexte) est entré en vigueur le 1er octobre 2018, et avec lui l’obligation pour les 70 000 acheteurs publics français (collectivités, ministères, hôpitaux publics, etc.) de publier les données essentielles des marchés publics d'un montant supérieur à 25 000 euros (40 000 euros depuis le 1er janvier 2020) sur leur profil d'acheteur. + +Conscient de leur valeur, la mission Etalab et les ministères économiques et financiers ont entrepris de rassembler ces données dans un même jeu de données afin d'accroître leur visibilité et stimuler leur réutilisation par la société civile et les acheteurs eux-mêmes. + +Pour en savoir plus sur la publication des données, consultez [le site de la direction des affaires juridiques (DAJ) du Ministère de l'économie](https://www.economie.gouv.fr/daj/ouverture-des-donnees-commande-publique), ainsi que [l’article de blog](https://www.data.gouv.fr/fr/posts/le-point-sur-les-donnees-essentielles-de-la-commande-publique/) disponble sur la plateforme data.gouv.fr. + + +## Objectifs + +Le rassemblement des données s'inscrit dans la poursuite des objectifs suivant : + +- faciliter l'accès aux données et leur réutilisation par les acheteurs publics, la société civile et les services du Ministère des Finances +- procéder à des corrections et enrichissements dans les données publiées par les acheteurs + +## Évolutions réglementaires + +- **[Arrêté du 14 avril 2017](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000034492587&fastPos=5&fastReqId=1878427973&categorieLien=id&oldAction=rechTexte)** : arrêté initial, abrogé. +- **[Arrêté modificatif du 27 juillet 2018](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037282994&dateTexte=&categorieLien=id)** + - pour les données de marchés publics `dateSignatureModification` est remplacé par `dateNotificationModification` (pas de changement pour les données des contrats de concession) + - fin de l'obligation de publier les données des marchés défense et sécurité + - durée minimale de publication des données réduite à un an si publication en parallèle sur data.gouv.fr, contre cinq ans le cas échéant + +- **[Arrêté du 22 mars 2019](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000038318675&categorieLien=id)** : modification de la liste des valeurs pour le champ `procedure`. Les valeurs "Procédure concurrentielle avec négociation" et "Procédure négociée avec mise en concurrence préalable" sont remplacées par "Procédure avec négociation". +- **[Décret du 12 décembre 2019](https://www.legifrance.gouv.fr/affichTexte.do;jsessionid=018367148239E9992AE8A78B78C4E2B2.tplgfr23s_2?cidTexte=JORFTEXT000039494397&dateTexte=&oldAction=rechJO&categorieLien=id&idJO=JORFCONT000039494029)** : au 1er janvier 2020, le seuil de procédure, et donc de l'obligation de publication des données, est relevé de 25 000 euros à 40 000 euros hors taxes. + +## Acteurs et partenaires + +- DGFiP +- AIFE +- Etalab + +Les profils d'acheteurs qui publient leurs données sur data.gouv.fr : + +- achatpublic.com (données collectée et publiées par l'AIFE) +- e-marchespublics.com ([jeu de données](https://www.data.gouv.fr/fr/datasets/donnees-essentielles-des-marches-publics-e-marchespublics-com-1/#)) + +Si vous êtes un acheteur public ou un profil d'acheteur et que vous avez des questions sur la publication des données essentielles de la commande publique, veuillez consulter [les modalités de contact]({{< ref "/contact/" >}}). diff --git a/content/consolidation-donnees/_index.md b/content/consolidation-donnees/_index.md new file mode 100644 index 0000000..856f167 --- /dev/null +++ b/content/consolidation-donnees/_index.md @@ -0,0 +1,59 @@ +--- +title: "Consolidation des données" +date: 2020-05-05T12:57:45+02:00 +weight: 4 +--- + +## Les sources de données + +Les données sont mises à dispositions par les partenaires pour faciliter leur téléchargement en masse, et donc leur collecte. Les scripts de consolidation, de traitement et de publication des données sont hébergés dans un dépôt dédié : [139bercy/decp-rama](https://github.com/139bercy/decp-rama/). + +## Collecte + +Les données sont téléchargées et traitées en intégralité toutes les nuits, autour de 5 heure du matin, depuis les sources de données identifiées ci-dessous : + +- [données issues du PES Marché de la DGFiP](https://www.data.gouv.fr/fr/datasets/donnees-essentielles-de-la-commande-publique-transmises-via-le-pes-marche/) +- [données collectées par l'API DUME de l'AIFE](https://www.data.gouv.fr/fr/organizations/agence-pour-linformatique-financiere-de-letat/) +- données issues du profil d'acheteur [Achatpublic.com](https://www.data.gouv.fr/fr/datasets/aife-de-44785462100045/) mises à disposition via l'API DUME de l'AIFE +- données issues du profil d'acheteur [Dématis](https://www.data.gouv.fr/fr/organizations/dematis/) facilitant le téléchargement des données de ses clients ([e-marchespublics.com](https://www.data.gouv.fr/fr/datasets/donnees-essentielles-des-marches-publics-e-marchespublics-com-1/#_)) +- données publiées [sur le portail Open Data du Grand Lyon](https://data.grandlyon.com/citoyennete/marchf-public-de-la-mftropole-de-lyon/) +- données publiées sur le profil d'acheteur AWS ([marches-publics.info](https://www.marches-publics.info/mpiaws/index.cfm?fuseaction=pub.affResultats&IDs=25)), jusqu'au 6 mars, extraites et publiées manuellement par Colin Maudry [sur data.gouv.fr](https://www.data.gouv.fr/fr/datasets/donnees-essentielles-des-marches-publics-publies-sur-marches-publics-info-aws/) + +## Gestion des anomalies + +### Données non conformes des schémas réglementaires + +Certaines données ne respectant pas la structure définie par les [schémas]({{< ref "/schemas" >}}), et donc la structure définie dans [la réglementation]({{< ref "/" >}}), peuvent être détectées et corrigées. Par exemple, si une date n'est pas au bon format ou qu'une valeur normée (ex : nom de procédure) n'a pas la bonne casse, un traitement automatisé pourra corriger l'erreur. En revanche, si un champ de données est manquant, on ne peut pas l'ajouter ne pouvant en connaître le contenu. + +### Données inexploitables + +Certaines données, incohérentes ou manifestement erronées, sont susceptibles d'altérer significativement leur analyse, comme lorsque le montant maximal est fantaisiste (1 milliard d'euro pour une mission de conseil) ou lorsque les données sont publiées par les acheteurs à des fins de test. Ces données sont extraites des données consolidées et publiées dans un fichier à part (TODO à préciser après la stabilisation des datasets), notamment lorsque l'identité de l'acheteur et du titulaire sont identiques et lorsqu'il n'existe pas d'acheteur, de titulaire ou d'identifiant de marché. + +## Consolidation + +Les données au format XML sont converties au format JSON, puis les données de chaque source sont fusionnées dans un seul fichier JSON. + +Les données consolidées de la veille sont ensuite téléchargées afin + +1. d'être comparées avec les données actuelles +2. d'établir la liste des nouveaux marchés du jour (marchés présents dans les données consolidées du jour mais absents des données de la veille) +3. d'exporter les nouveaux marchés du jour dans un fichier dédié + +Enfin les fichiers finaux sont produits : + +1. le fichier consolidé au format JSON est converti aux formats XML et OCDS JSON +2. le fichier JSON des nouveaux marchés du jour est converti au format XML. + +Résultat : + +- l'ensemble des marchés consolidé est publié aux formats suivants : + - JSON réglementaire + - XML réglementaire + - OCDS JSON +- les nouveaux marchés du jour sont publiés aux formats suivants : + - JSON réglementaire + - XML réglementaire + +## Publication + +Les données consolidées et les fichiers du jour sont publiées [sur data.gouv.fr](https://www.data.gouv.fr/fr/datasets/5cd57bf68b4c4179299eb0e9/) via l'API. diff --git a/content/contact/_index.md b/content/contact/_index.md new file mode 100644 index 0000000..a2f6ca3 --- /dev/null +++ b/content/contact/_index.md @@ -0,0 +1,9 @@ +--- +title: "Contact" +date: 2020-08-21T12:57:45+02:00 +weight: 9 +--- + +Merci d'adresser vos questions et vos retours, tant techniques que juridiques, à l'adresse email ci-dessous : + +- decp@finances.gouv.fr diff --git a/content/declarer-profil-acheteur/_index.md b/content/declarer-profil-acheteur/_index.md new file mode 100644 index 0000000..fd666d3 --- /dev/null +++ b/content/declarer-profil-acheteur/_index.md @@ -0,0 +1,37 @@ +--- +title: Déclarer un profil d'acheteur +slug: déclarer-profil-acheteur +weight: 2 +--- + +## Qui doit déclarer ? + +La déclaration du profil d’acheteur est effectuée par l’acheteur, ou toute personne habilitée par celui-ci, sur [data.gouv.fr](https://data.gouv.fr)). L’objectif est d’impliquer les **éditeurs** de profils d’acheteurs afin de simplifier la déclaration des profils d’acheteurs initialement confiée aux acheteurs publics. Dans le cas où l’éditeur n’est pas en mesure d’assurer la déclaration, l’administrateur du profil d’acheteur ou l’acheteur peut le faire directement. + +Cette déclaration est décrite dans [l'article 4 de l'arrêté du 22 mars 2019](https://www.legifrance.gouv.fr/affichTexteArticle.do;jsessionid=83D13947C0F1553E2F5BEFBBE3400B3D.tplgfr28s_1?idArticle=JORFARTI000038318529&cidTexte=JORFTEXT000038318516&dateTexte=20190331&categorieLien=id). + +## Comment déclarer ? + +### Format de fichier + +Les éditeurs de profil d’acheteur sont invités à créer un fichier au format CSV contenant les informations suivantes : + +- le SIRET des acheteurs (colonne `siretAcheteur`) ; +- l’adresse URL des profils d’acheteurs (colonne `urlProfilAcheteur`) ; +- l’adresse URL du catalogue DCAT qui répértorie les données (colonne `urlDCAT`) ; +- les coordonnées du ou des acheteurs concernés (colonne `coordonnees`). + +Un modèle de fichier CSV est disponible sur [data.gouv.fr](https://www.data.gouv.fr/fr/datasets/structure-du-fichier-de-declaration-de-profil-dacheteur/#). + +### Dépôt sur data.gouv.fr + +Pour chaque fiche publiée, il est essentiel de demander aux éditeurs de profils d’acheteurs d’associer le mot-clé (« tag ») suivant : « decp » (données essentielles de la commande publique) afin de permettre la centralisation de l’ensemble des contributions par Etalab. + +La procédure complète pour déposer un ficher de déclaration de profil d’acheteur sur data.gouv.fr est la suivante : + +1. Créez un compte individuel en allant sur :  ; +2. Une fois celui-ci validé via l’email de confirmation, créez une organisation correspondant à votre profil d’acheteur depuis :  ; +3. Choisissez l'organisation en question, puis créez un jeu de données depuis   ; +4. À l’étape « Décrivez votre jeu de données », renseignez un titre, **le tag (mot clé) « decp »** et éventuellement d’autres métadonnées (couverture spatiale, fréquence de mise à jour…) et ; +5. À l’étape « Ajouter vos premières ressources » de la création du jeu de données, déposez le fichier CSV. + diff --git a/content/decp_augmente/_index.md b/content/decp_augmente/_index.md new file mode 100644 index 0000000..9a38b4d --- /dev/null +++ b/content/decp_augmente/_index.md @@ -0,0 +1,88 @@ +--- +title: Traitement sur les decp +# slug: decp_augmente +weight: 7 +--- + +Une fois les decp agrégéés, celle-ci sont retraitées afin d'être publiées sur [data économie](https://data.economie.gouv.fr/explore/dataset/decp_augmente/table/) et à des fins de communications publiques avec le [tableau de bord](https://datavision.economie.gouv.fr/decp/?view=France) proposé. Ce retraitement est d'autant plus nécessaire que ces données osnt des données rentrées manuellement. L'ensemble du code est à retrouver sur [139bercy/decp-augmente](https://github.com/139bercy/decp-augmente/), et le processus est synthétisé ci-dessous. + +## Valorisation de la donnée + +### Nettoyage + +#### Travail sur les titulaires + +Si l'on distingue, au sein des decp, deux types de données -- les marchés et les concessions -- nous avons fusionnés les colonnes comportant des informations semblables. + +- La colonne `concessionnaire` a fusionné avec la colonne `titulaire` +- La colonne `valeur globale` a fusionné avec la colonne `montant` +- La colonne `autoriteConcedante.id` a fusionné avec la colonne `acheteur.id` +- La colonne `autoriteConcedante.nom` a fusionné avec la colonne `acheteur.nom` + +De manière générale, on ne conserve que les données ou un titulaire est renseigné. + +#### Travail sur les montants + +Dans un soucis de conservation de l'information source, la colonne montant est renomée en `montantOriginal` et l'ensemble des opérations suivantes seront appliquées à la colonne `montantCalcule` : + +- Les valeurs manquantes sont remplacées par 0 +- Les montants inférieurs à 200€ et supérieur à 999 999 999€ sont remis à 0 +- Les montants composés d'au moins 5 fois le même chiffre (hors 0) sont remis à 0. + +#### Travail sur les indentifiants + +Les codes, ou variables d'identifications, recoupent aussi bien de la variable `id` (identifiant des lignes de la base), que `id.Titulaires` (ientifiant des entreprises) ou encore `code_CPV` permettant l'identification des types de marchés. + +- Remplacement des valeurs manquantes de `id` par '0000000000000000' (la colonne id sera retravaillé un peu plus tard dans le processus de nettoyage) +- Rerait des caractères spéciaux présent dans `idTitulaires`. On obtient le numéro SIRET +- Récupération du NIC et stockage dans une colonne `nic` +- Création d'une colonne `CPV_min` composé des deux premiers chiffre du code CPV. Cela permet d'identifier le type de marché (Fournitures/Travaux/Services) + +#### Travail sur la géographie administrative + +On récupére les codes de départements des marchés, en y ajoutant les libellés et la région. Cet ajout est fait à partir de notre base [Référentiel Géographique](https://data.economie.gouv.fr/explore/dataset/georeferentielcommunesbercyhub/table/) + +- Extraction du code département de la colonne `lieuExecution.code` et stocké dans `codeDepartementExecution` +- Ajout du libellé du département / code de la région / libellé de la région respectivement dans `libelleDepartementExecution`, `codeRegionExecution` et `libelleRegionExecution` + +#### Travail sur les dates + +On récupère les dates des marchés. + +- Récupération de l'année et du mois de notification du marché et stockage dans `anneeNotification` et `moisNotification` +- Remplacement par np.NaN des dates lorsque l'années est inférieur à 1980 et supérieur à 2100 + +#### Travail sur la durée du marché + +Au sein des DECP les durées de marché sont exprimées en mois. De même que pour les montants, on conserve les durées initiales et on modifie les durées dans la colonne `dureeMoisCalculee`. De plus, on ajoute la colonne `dureeMoisEstimee` : TODO. + +Les durées manquantes sont corrigées à 0. Tous les cas suivant seront corrigées en divisant par 30 (conversion en mois) : + +- durée égale au montant +- montant / durée < __100__ +- montant / durée < __1000__ pour une durée > __12__ mois +- duréee == __30__ ou __31__ et montant < __200 000__ € +- duréee == __360__ ou __365__ ou __366__ et montant < __10 000 000__ € +- durée > __120__ et montant < __2 000 000__ € + +Un début de travail sur de l'imputation a aussi été réalisé. On se place dans le cas des marchés qui ne sont pas des travaux (CPV_min != 45) et qui ont une `duréeCalculee` supérieure à 120 : + +- Imputation par la médiane des durées de mois pour un `CPV_min` équivalent. + +#### Travail sur la variable qualitative objet. + +Remplacement du caractère '�' par 'XXXXX' dans la colonne objet + +## Enrichissement des données + +La partie enrichissement des données va nous permettre d'ajouter, grâce à des sources externes, de la donnée dans nos DECP. Pour cela nous utiliserons les sources de données suivantes: + + - Référentiel Géographique, également utilisé dans la partie nettoyage. + - Code des régions, départements, arrondissements, cantons. + - libellé des régions, départements, arrondissements, cantons. + - Géolocalisation des communes. + - Référentiel des entreprises __Insérer le lien de data economie__. + - SIMAP (Système d'Information pour les MArchés Publics) + - Nomencalture européenne des codes CPV + +La structure finale de la base, exportée sur [data économie](https://data.economie.gouv.fr/explore/dataset/decp_augmente/table/), est explicitée dans la partie [Format final des DECP](../structure_finale/_index.md) \ No newline at end of file diff --git a/content/front_page/_index.md b/content/front_page/_index.md new file mode 100644 index 0000000..a71436e --- /dev/null +++ b/content/front_page/_index.md @@ -0,0 +1,41 @@ +--- +title: "Contexte" +date: 2020-05-05T12:57:45+02:00 +weight: 1 +#pre: "0. " +--- + +[L’arrêté du 14 avril 2017](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000034492587&fastPos=5&fastReqId=1878427973&categorieLien=id&oldAction=rechTexte) est entré en vigueur le 1er octobre 2018, et avec lui l’obligation pour les 70 000 acheteurs publics français (collectivités, ministères, hôpitaux publics, etc.) de publier les données essentielles des marchés publics d'un montant supérieur à 25 000 euros (40 000 euros depuis le 1er janvier 2020) sur leur profil d'acheteur. + +Conscient de leur valeur, la mission Etalab et les ministères économiques et financiers ont entrepris de rassembler ces données dans un même jeu de données afin d'accroître leur visibilité et stimuler leur réutilisation par la société civile et les acheteurs eux-mêmes. + +## Objectifs + +Le rassemblement des données s'inscrit dans la poursuite des objectifs suivant : + +- faciliter l'accès aux données et leur réutilisation par les acheteurs publics, la société civile et les services du Ministère des Finances +- procéder à des corrections et enrichissements dans les données publiées par les acheteurs + +## Évolutions réglementaires + +- **[Arrêté du 14 avril 2017](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000034492587&fastPos=5&fastReqId=1878427973&categorieLien=id&oldAction=rechTexte)** : arrêté initial, abrogé. +- **[Arrêté modificatif du 27 juillet 2018](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000037282994&dateTexte=&categorieLien=id)** + - pour les données de marchés publics `dateSignatureModification` est remplacé par `dateNotificationModification` (pas de changement pour les données des contrats de concession) + - fin de l'obligation de publier les données des marchés défense et sécurité + - durée minimale de publication des données réduite à un an si publication en parallèle sur data.gouv.fr, contre cinq ans le cas échéant + +- **[Arrêté du 22 mars 2019](https://www.legifrance.gouv.fr/affichTexte.do?cidTexte=JORFTEXT000038318675&categorieLien=id)** : modification de la liste des valeurs pour le champ `procedure`. Les valeurs "Procédure concurrentielle avec négociation" et "Procédure négociée avec mise en concurrence préalable" sont remplacées par "Procédure avec négociation". +- **[Décret du 12 décembre 2019](https://www.legifrance.gouv.fr/affichTexte.do;jsessionid=018367148239E9992AE8A78B78C4E2B2.tplgfr23s_2?cidTexte=JORFTEXT000039494397&dateTexte=&oldAction=rechJO&categorieLien=id&idJO=JORFCONT000039494029)** : au 1er janvier 2020, le seuil de procédure, et donc de l'obligation de publication des données, est relevé de 25 000 euros à 40 000 euros hors taxes. + +## Acteurs et partenaires + +- DGFiP +- AIFE +- Etalab + +Les profils d'acheteurs qui publient leurs données sur data.gouv.fr : + +- achatpublic.com (données collectée et publiées par l'AIFE) +- e-marchespublics.com ([jeu de données](https://www.data.gouv.fr/fr/datasets/donnees-essentielles-des-marches-publics-e-marchespublics-com-1/#)) + +Si vous êtes un acheteur public ou un profil d'acheteur et que vous avez des questions sur la publication des données essentielles de la commande publique, veuillez consulter [les modalités de contact]({{< ref "/contact/" >}}). diff --git a/content/processus/_index.md b/content/processus/_index.md new file mode 100644 index 0000000..45e01fc --- /dev/null +++ b/content/processus/_index.md @@ -0,0 +1,94 @@ +--- +title: "Processus automatisés" +date: 2020-08-26:57:45+02:00 +weight: 5 +--- + +Les processus automatisés mis en oeuvre sur les projets decp-gw, decpt-rama et decp-monitoring sont décrits ci-dessous. + +## decp-gw + +**Description** : téléchargement des données PES marché de la DGFiP et publication sur files.data.gouv.fr + +**Code source** : + +- hébergement : Gitlab de la mission Etalab +- langages : + - bash + - xslt +- publicité : confidentiel (contient des données de configuration) + +**Exécution** : + +- serveur : VPS loué par la mission Etalab, Debian Linux 4.9, 8 GB RAM +- fréquence : tous les jours à 0:45 CET +- durée : + - moyenne : 5 minutes + +**Actions** : + + + +
+ +1. ouverture d'un tunnel VPN vers la DGFiP +2. téléchargement des données disponibles sur le serveur FTP (les données sont supprimées du serveur FTP après téléchargement) +3. archivage des fichiers XML +4. correction des anomalies et suppression des champs non pertinents +5. extraction et enregistrement dans un CSV des SIRETs et URL des profils d'acheteurs trouvés dans les fichiers +6. fusion de l'ensemble des XML dans un seuil fichier `dgfip-pes-decp.xml` +7. publication des nouveaux fichiers et du nouveau `dgfip-pes-decp.xml` sur [files.data.gouv.fr](https://files.data.gouv.fr/decp/) avec `rsync` ([jeu de données](https://www.data.gouv.fr/fr/datasets/donnees-essentielles-de-la-commande-publique-transmises-via-le-pes-marche/)) + +## decp-rama + +**Description** : téléchargement des DECP publiques et publication sur data.gouv.fr + +**Code source** : + +- hébergement : compte Github du Ministère de l'économie, des finances et de la relance (https://github.com/139bercy/decp-rama) +- langages : + - bash + - xslt + - [jq](https://stedolan.github.io/jq/) +- publicité : public, licence MIT + +**Exécution** : + +- serveur : instance gratuite de CircleCI ([journaux](https://app.circleci.com/pipelines/github/139bercy/decp-rama)) +- fréquence : du mardi au samedi, à 4:00 CET +- durée : + - moyenne : 50 minutes + - maximale : 4 heures + +**Actions** : + + + +
+ + + +**a.** Pour chaque source de données répertoriée : + +1. téléchargement +2. correction des anomalies +3. si la source est en XML, conversion vers JSON +4. fusion de l'ensemble des fichiers de la source en un seul fichier JSON + +**b.** Puis, opérations sur les données consolidées : + +1. consolidation des données de toutes les sources +2. déduplication des marchés par `uid` (SIRET + `id`) +2. exclusion des marchés inexploitables +3. correction des anomalies globales (présentes dans plusieurs sources) +4. production de statistiques +5. extraction des nouveaux marchés du jour (c'est de loin l'étape la plus chronophage, dont la durée dépend du nombre de nouveaux marchés) +6. conversion du fichier consolidé et du fichier du jour en XML +7. conversion du fichier consolidé au format OCDS JSON +8. publication des données sur data.gouv.fr via l'API data.gouv.fr ([jeu de données](https://www.data.gouv.fr/fr/datasets/5cd57bf68b4c4179299eb0e9/)) + - les fichiers consolidés JSON, XML et OCDS JSON remplacent les versions précédentes + - les fichiers du jour JSON et XML sont ajoutés + +## decp-monitoring + +TODO diff --git a/content/publier/_index.md b/content/publier/_index.md new file mode 100644 index 0000000..b06a928 --- /dev/null +++ b/content/publier/_index.md @@ -0,0 +1,112 @@ +--- +title: Publier ses données essentielles via API +slug: publier-donnees-essentielles-attribution +weight: 3 +--- + +La documentation de l’API data.gouv.fr est [consultable en ligne](https://www.data.gouv.fr/fr/apidoc), de même que le [détail des propriétés](https://www.data.gouv.fr/fr/apidoc/#!/datasets/create_dataset). + +Afin de faciliter la localisation et donc l’utilisation des données essentielles, la publication de ces données doit respecter une certaine structure. Les deux structures proposées sont les suivantes : + +- Structure **plateforme** : un jeu de données (`dataset` dans l’API) par plateforme de marchés (identifiée par son SIRET), adapté à la publication par une plateforme des données de ses clients ou adhérents ; +- Structure **acheteur** : un jeu de données par acheteur public (SIRET), adapté à la publication par un acheteur de ses propres données. + +### Jeu de données + +Pour des raisons d’archivage, le téléversement des fichiers de données sur data.gouv.fr est fortement préféré par rapport à un lien vers des serveurs externes. Une fois que le jeu de données a été créé, vous pouvez y ajouter des `ressources` ([API ressource](https://www.data.gouv.fr/fr/apidoc/#!/datasets/upload_new_dataset_resource)). + +Exemple de commande : + +```bash +curl --request POST --url https://data.gouv.fr/api/1/datasets//upload/ --header ’content-type: multipart/form-data’ --header ’x-api-key: ’ --form "file=" +``` + +#### Nom (`title` dans l’API) + +Le nom du jeu de données dépend de la structure choisie pour la publication : + +- jeu de données pour une **plateforme** : Données essentielles des marchés publics - `{nom de la plateforme}`; +- jeu de données pour un **acheteur** : Données essentielles des marchés publics - `{nom de l’acheteur}`. + +Exemple : + +> Données essentielles des marchés publics - Conseil régional de Bretagne + +#### Description (`description`) + +La description attendue est un texte générique décrivant le contexte de publication des données essentielles, ainsi que quelques liens utiles. Le texte suivant remplit ces conditions et peut être étendu par le producteur, notamment avec un lien vers l’interface de visualisaton de données du profil d’acheteur concerné. + +#### Mot-clés (`tags`) + +Renseignez les mot-clés suivants : + +- `données-essentielles` ; +- `commande-publique`. + +#### Extras (`extras`) + +Si le jeu de données est spécifique à un **acheteur** et non à une plateforme, ajoutez une propriété `siret` à la propriété `extras` de l’objet `Dataset`, et indiquez le SIRET de l’acheteur. + +``` +{ + "title": "Données essentielles des marchés publics - Conseil régional de Bretagne" + … + "extras": { + "siret": "89764547841001" +} +``` + +Si le jeu de données est spécifique à une **plateforme**, ne renseignez pas la propriété `extras`. + +#### Licence (`license`) + +La licence à renseigner est la [licence ouverte](https://www.etalab.gouv.fr/wp-content/uploads/2014/05/Licence_Ouverte.pdf) : `fr-lo`. + +#### Organisation (`organization`) + +Ajoutez votre identifiant d’organisation data.gouv.fr. L’utilisateur qui publie les données doit appartenir à cette organisation. + +#### Fréquence (`frequency`) + +Renseignez la fréquence de la publication des mises à jour. + +### Ressource + +#### Nom du fichier + +Format : DECP-`{SIRET}`-`{année}`-`{mois}`-`{jour}`-`{numéro de séquence}`.`{extension}` + +- `DECP` pour « données essentielles de la commande publique » ; +- `siret` : SIRET de la plateforme si structure plateforme, sinon SIRET de l’acheteur ; +- `année` : année de la publication sur data.gouv.fr ; +- `mois` : mois de la publication sur data.gouv.fr ; +- `jour` : jour de la publication sur data.gouv.fr ; +- `numéro de séquence` : numéro de séquence du fichier à incrémenter si plusieurs fichiers sont publiées dans la même journée. Le premier numéro est `01` ; +- `extension` : `xml` ou `json` en fonction du format de publication. Il n’est pas obligatoire de publier les données à la fois en XML et en JSON, un seul des deux formats suffit. + +Exemple : + +> DECP-89764547841001-2018-11-28-01.xml + +#### URL (`url`) + +L’URL n’est renseignée que si le fichier n’est pas téléversé sur data.gouv.fr et hébergé sur un serveur externe. + +#### Nom (`title` dans l’API) + +Identique au nom de fichier. + +#### Type de fichier (`filetype`) + +- `xml` pour du XML ; +- `json` pour du JSON. + +#### Type MIME (`mime`) + +- `application/xml` pour du XML ; +- `application/json` pour du JSON. + +#### Type de ressource (`type`) + +Renseignez `main`. + diff --git a/content/schemas/_index.md b/content/schemas/_index.md new file mode 100644 index 0000000..e5c7c22 --- /dev/null +++ b/content/schemas/_index.md @@ -0,0 +1,90 @@ +--- +title: "Schémas de données" +date: 2020-05-05T12:57:45+02:00 +weight: 2 +chapter: true +--- + +### Schémas réglementaires nationaux + +Traduction technique des [textes réglementaires]({{< ref "/" >}}), les schémas de données reprennent la distinction entre marchés publics et contrats de concessions. Publiés aux formats JSON et XML, ceux-ci sont accessibles dans un dépôt dédié : [139bercy/format-commande-publique](https://github.com/139bercy/format-commande-publique). + +| versions | texte réglementaire | JSON | XML | +|--|--|--|--| +| dernière | à jour | | non disponible pour le schéma XML ([#46](https://github.com/139bercy/format-commande-publique/issues/46#issuecomment-628710331)) | +| 1.5.0 | arrêté du 22 mars 2019 | | https://raw.githubusercontent.com/etalab/format-commande-publique/master/marches.xsd | +| 1.4.0 | arrêté modificatif du 27 juillet 2018 | | + +#### Marchés publics + +- identifiant du marché +- objet +- montant HT forfaitaire ou estimé maximum +- procédure utilisée (Procédure adaptée, Appel d'offres ouvert, Appel d'offres restreint, Procédure avec négociation, Dialogue compétitif, Marchés publics passés sans publicité ni mise en concurrence préalables) +- acheteur + - SIRET de l'acheteur + - nom de l'acheteur +- titulaires du marché + - identifiant du titulaire + - type d'identifiant du titulaire (SIRET, TVA, TAHITI, RIDET, FRWF, UE, HORS-UE, IREP) + - nom du titulaire +- nature du marché (Marché, Accord-cadre, Marché subséquent, Marché de partenariat) +- durée du marché (en mois) +- code [*Common Procurement Vocabulary* (CPV)](https://www.collectivites-locales.gouv.fr/commande-publique/acces-la-nomenclature-europeenne), vocabulaire communautaire pour les marchés publics de l'Union européenne +- forme du prix (Ferme, Révisable, Ferme et actualisable) +- lieu principal d'exécution + - nom du lieu d'exécution + - code du lieu d'exécution + - type de code utilisé (Code commune, Code canton, Code arrondissement, Code département, Code région, Code pays, Code postal) +- date de publication des données +- date de la notification de l'attribution +- modifications + - objet de la modification + - de montant + - de titulaires + - de durée + - date de publication des données de modification + - date de notification de la modification + +#### Contrats de concessions + +- identifiant du contrat de concession +- objet +- autorité concédante + - SIRET de l'autorité concédante + - nom de l'autorité concédante +- nature du contrat de concession (Concession de travaux, Concession de service, Concession de service public, Délégation de service public) +- procédure (Procédure négociée ouverte, Procédure non négociée ouverte, Procédure négociée restreinte, Procédure non négociée restreinte) +- lieu principal d'exécution + - nom du lieu d'exécution + - code du lieu d'exécution + - type de code utilisé (Code commune, Code canton, Code arrondissement, Code département, Code région, Code pays, Code postal) +- valeur globale +- durée (en mois) +- montant des subventions publiques +- données d'exécution + - données annuelles + - date de publication des données d'exécution + - montant des dépenses d'investissement + - tarifs pratiqués + - intitulé du tarif + - montant du tarif +- concessionnaires + - identifiant du concessionnaire + - type d'identifiant du concessionnaire (SIRET, TVA, TAHITI, RIDET, FRWF, UE, HORS-UE, IREP) + - nom de chaque concessionnaire +- date de la signature +- date du début d'exécution +- date de publication des données +- modifications + - objet de la modification + - de montant + - de titulaires + - de durée + - date de publication des données de modification + - date de notification de la modification + +### Schémas standards internationaux + +Les données sont également publiées selon le standard [Open Contracting Data Standard](https://standard.open-contracting.org/latest/fr/) pour permettre la comparaison et l'exploitation des données à l'échelle internationale. À ce jour, seules les données initiales d'attribution sont publiées au format OCDS, les modifications (montant, titulaires, durée) n'étant pas incluses. Les données d'attributions modifiées une fois ou plus représentent moins de 1% de l'ensemble des commandes. + diff --git a/content/structure_finale/_index.md b/content/structure_finale/_index.md new file mode 100644 index 0000000..ca8b4d3 --- /dev/null +++ b/content/structure_finale/_index.md @@ -0,0 +1,227 @@ +--- +title: Format final des DECP +# slug: decp_augmente +weight: 8 +--- + +Cette partie répertorie l'ensemble des 68 variables composants le jeu de données DECP, tel qu'accessible sur [data.economie](https://data.economie.gouv.fr/explore/dataset/decp_augmente/table/). Ces variables sont ici organisées par catégorie, pour offrir une meilleure lisibilité et compréhension de ces dernières. + +### Descriptif de la commande publique + +**id** +: Identifiant métier de la commande publique. + +**idMarche** +: Identifiant technique de la commande publique (unique à une commande). + +**source** +: Provenance de la donnée (Voir la page dédiée à cela/mettre une ref). + +**type** +: Type de commande publique (Marché ou Contrat de Concession). + +**natureObjetMarche** +: Services / Fournitures / Travaux. + +**objetMarche** +: Descriptif complet de la commande publique. + +**codeCPV_Original** +: Code [CPV](https://simap.ted.europa.eu/fr/cpv) brut, non retravaillé. + +**codeCPV** +: Code CPV retravaillé, avec clef de vérification. + +**codeCPV_division** +: Division de la commande publique. + +**referenceCPV** +: Libellé du code CPV. + +**nature** +: nature de la commande publique (Marché, Accord-cadre, Marché subséquent, Marché de partenariat). + +**accord-cadrePresume** +: Variable booléenne. La commande publique est elle un accord cadre ? Variable calculée. + +**procedure** +: Type de procédure utilisée (Procédure adaptée, Appel d'offres ouvert, Appel d'offres restreint, Procédure avec négociation, Dialogue compétitif, Marchés publics passés sans publicité ni mise en concurrence préalables). + + +### Variable temporelle + +**dateNotification** +: Date à laquelle la commande publique a été notifiée (exemple: 1 janvier 2021). + +**anneeNotification** +: Année de la notification de la commande publique (exemple 2021). + +**moisNotification** +: Mois de la notificationde la commande publique (exemple: 01). + +**datePublicationDonnees** +: Date à laquelle les données relatives à la commande publique ont été publiées (exemple: 1 janvier 2021). + +**dureeMois** +: Durée de la commande publique en mois. Variable déclarative, brute. + +**dureeMoisEstimee** +: Variable boléenne. La durée de mois a t-elle été recalculée ? + +**dureeMoisCalculee** +: Durée de la commande publique en mois, après correction. + + +### Variable sur les montants + +**montantOriginal** +: Montant de la commande publique. Variable déclarative, brute. + +**nombreTitulaireSurMarchePresume** +: Nombre de titulaires sur la commande publique. Cette variable a été calculée. (lien vers le calcul). + +**montantCalcule** +: Montant de la commande publique, après correction. + +**formePrix** :Ferme, Révisable, Ferme et actualisable. + + +### Localisation sur l'execution de la commande publique + +**lieuExecutionCode** +: Code du lieu d'éxécution de la commande publique. Attention, variable non homogène. + +**lieuExecutionTypeCode** +: Type du code utilisé (exemple: Code Postal, Code département, Code Commune etc..). + +**lieuExecutionNom** +: Nom du lieu d'éxécution de la commande publique. + +**codeDepartementExecution** +: Code du département d'éxécution de la commande publique. + +**codeRegionExecution** +: Code de la région d'éxécution de la commande publique. + +**libelleRegionExecution** +: Libellé de la région d'éxécution de la commande publique. + + +## Variable sur l'entité passant la commande publique, appelé Acheteur + +**idAcheteur** +: SIREN de l'acheteur. + +**sirenAcheteurValide** +: Booléenne. Le SIREN est il valide (Lien vers le calcul). + +**nomAcheteur** +: Libellé de l'acheteur. + +**codeRegionAcheteur** +: Code de la région de l'acheteur. + +**libelleRegionAcheteur** +: Libelle de la région de l'acheteur. + +**departementAcheteur** +: Code département de l'acheteur. + +**libelleDepartementAcheteur** +: Libelle du département de l'acheteur. + +**codePostalAcheteur** +: Code postal de l'acheteur. + +**libelleArrondissementAcheteur** +: Libelle de l'arrondissement départemental de l'acheteur. + +**codeArrondissementAcheteur** +: Code de l'arrondissement départemental de l'acheteur. + +**libelleCommuneAcheteur** +: Libelle de la commune de l'acheteur. + +**codeCommuneAcheteur** +: Code commune de l'acheteur. + +**superficieCommuneAcheteur** +: Superficie de la commune de l'acheteur. + +**populationCommuneAcheteur** +: Nombre d'habitant sur la commune de l'acheteur. + +**geolocCommuneAcheteur** +: Géolocalisation de la commune de l'acheteur (format: Latitude, Longitude). + + +## Variable sur l'entité répondant la commande publique, appelé Etablissement + +**typeIdentifiantEtablissement** +: Type d'identifiant de l'établissement (SIRET, TVA, TAHITI, RIDET, FRWF, UE, HORS-UE, IREP). + +**siretEtablissement** +: SIRET de l'établissement. + +**siretEtablissementValide** +: Booléenne. Le SIRET est il valide? (lien vers le calcul). + +**sirenEtablissement** +: SIREN de l'établissement. + +**nicEtablissement** +: NIC (Numéro Interne de Classement) de l'établissement. Correspond aux 5 derniers chiffres du SIRET. + +**sirenEtablissementValide** +: Booléenne. Le SIREN est il valide? (lien vers le calcul). + +**categorieEtablissement** +: Catégorie de l'établissement (PME, ETI, GE). + +**denominationSocialeEtablissement** +: Libellé de l'établissement. + +**codeRegionEtablissement** +: Code la région de l'établissement. + +**libelleRegionEtablissement** +: Libellé de la région de l'établissement. + +**libelleDepartementEtablissement** +: Libellé du département de l'établissement. + +**departementEtablissement** +: Code du département de l'établissement. + +**libelleArrondissementEtablissement** +: Libellé de l'arrondissement départemental de l'établissement. + +**codeArrondissementEtablissement** +: Code de l'arrondissement départemental de l'établissement. + +**codePostalEtablissement** +: Code postal de l'établissement. + +**adresseEtablissement** +: Adresse de l'établissement. + +**communeEtablissement** +: Libellé de la commune de l'établissement. + +**codeCommuneEtablissement** +: Code commune de l'établissement. + +**codeTypeEtablissement** +: TODO + +**superficieCommuneEtablissement** +: Superficie de la commune de l'établissement. + +**populationCommuneEtablissement** +: Nombre d'habitant sur la commune de l'établissement. + +**distanceAcheteurEtablissement** +: Distance séparant l'acheteur de l'établissement en km (Calcul à mettre en lien). + +**geolocCommuneEtablissement** +: Géolocalisation de la commune de l'établissement (format: Latitude, Longitude). diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..6864ac8 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# abort on errors +set -e + +rm -rf public + +echo Building. this may take a minute... +hugo + +# navigate into the build output directory +cd public + +# if you are deploying to a custom domain +# echo 'example.com' > CNAME + +echo Deploying.. +git init +git checkout -b gh-pages +git add -A +git commit -m 'deploy' + +# deploy +origin=git@github.com:ColinMaudry/decp-docs.git +git remote add origin $origin +git push -f $origin gh-pages + +cd - diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..46af3b6 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,28 @@ + + + + + + + + + {{ block "title" . }} + {{ .Title}}{{ if ne .Title .Site.Title }} | {{ .Site.Title }}{{ end }} + {{ end }} + + + + + + {{ $style := resources.Get "css/ace.scss" | toCSS | minify }} + + + {{ $customStyle := resources.Get "custom.scss" | toCSS }} + + + + {{ if eq hugo.Environment "production" }} + {{ template "_internal/google_analytics_async.html" . }} + {{ end }} + + diff --git a/themes/ace-documentation b/themes/ace-documentation new file mode 160000 index 0000000..94982f7 --- /dev/null +++ b/themes/ace-documentation @@ -0,0 +1 @@ +Subproject commit 94982f7998875e98de9d00482a35dcbe6a5df5eb