Compare commits

..

14 Commits

Author SHA1 Message Date
Colin Maudry 369cadb27c Merge branch 'release/1.4.0' into main 2021-06-14 17:04:42 +02:00
Colin Maudry 017333f379 feature: amélioration des meta tags 2021-06-14 16:51:10 +02:00
Colin Maudry 6919a77852 feature: ajout des meta tags pour les twitter cards 2021-06-14 16:47:08 +02:00
Colin Maudry c2adf169aa doc: ajout des notes de version 1.4.0 2021-06-14 16:46:47 +02:00
Colin Maudry 582f1cbb63 feat: moins d'anglais 2021-06-06 07:09:46 +02:00
Colin Maudry 45c50845d7 feat: traduction du nom des opérations de filtrage 2021-06-06 06:53:04 +02:00
Colin Maudry ca365b4d7f bug: correction du titre de la page des notes de versions 2021-06-06 06:52:24 +02:00
Colin Maudry d36b74b4d4 Merge tag 'v1.3.0' into develop
Noms de colonnes plus clairs, corrections mineurs
2021-06-03 16:01:16 +02:00
Colin Maudry 393940c2a2 Merge branch 'release/1.3.0' into main 2021-06-03 16:00:57 +02:00
Colin Maudry a98eeb1272 bug: correction de l'indentation des puces dans les notes de version 2021-06-03 16:00:32 +02:00
Colin Maudry 72c915294a doc: notes de version 1.3.0 2021-06-03 15:54:05 +02:00
Colin Maudry 17f3cc5244 feat: affichage de noms de colonnes plus accessibles closes #45 2021-06-02 18:07:57 +02:00
Colin Maudry 55babc362e Suppression du bloc license en index, correction du lien vers le code source footer 2021-05-29 15:54:30 +02:00
Colin Maudry d817eafe48 Ignore db 2021-05-28 18:34:35 +02:00
10 changed files with 170 additions and 16 deletions
+1
View File
@@ -0,0 +1 @@
*.db
+14 -1
View File
@@ -4,13 +4,26 @@ Outil d'exploration et de téléchargement des données essentielles de la comma
=> https://decp.info
Dépôts de code connexe :
Dépôts de code connexes :
- [decp-table-schema-utils](https://github.com/ColinMaudry/decp-table-schema-utils) (traitement et publication des données)
- [decp-table-schema](https://github.com/ColinMaudry/decp-table-schema) (schéma de données tabulaire)
## Notes de version
### 1.4.0 (14/06/2021)
- traduction des opérations de filtrage (ex : contains => contient)
- élargissement des menus de filtrage
- correction du titre de la page des notes de versions
### 1.3.0 (03/06/2021)
- utilisation de noms de colonnes plus lisibles dans l'application
- suppression des références à la licence et aux données source sur la page d'accueil
- correction des liens vers le code source
- correction de l'indentation des puces dans les notes de version
### 1.2.0 (28/05/2021)
- ajout d'une page "Notes de version"
+92 -1
View File
@@ -19,13 +19,104 @@ databases:
Marché publics et leurs titulaires, données équivalentes au <a href="https://139bercy.github.io/decp-docs/schemas/">format réglementaire</a>. Une ligne = un titulaire de marché, donc ces données ne sont pas adaptées pour travailler avec les montants de marché ou compter les marchés.
size: 40
download: https://www.data.gouv.fr/fr/datasets/r/8587fe77-fb31-4155-8753-f6a3c5e0f5c9
column_labels:
id: Identifiant
uid: Identifiant unique
acheteur.id: SIRET acheteur
acheteur.nom: Nom de l'acheteur
procedure: Procédure d'achat
nature: Nature
dureeMois: Durée du marché (mois)
dateNotification: Date de notification
datePublicationDonnees: Date de publication des données
montant: Montant
objet: Objet
codeCPV: Code CPV
formePrix: Forme du prix
lieuExecution.code: Code du lieu d'exécution
lieuExecution.typeCode: Code du lieu d'exécution (type)
lieuExecution.nom: Nom du lieu d'exécution
titulaire.id: Identifiant du titulaire
titulaire.typeIdentifiant: Identifiant du titulaire (type)
titulaire.denominationSociale: Nom du titulaire
objetModification: Objet de la modification
source: Source des données
donneesActuelles: Données actuelles ?
anomalies: Anomalies
operation_labels:
exact: est égal à
not: est différent de
contains: contient
endswith: finit par
startswith: commence par
gt: est supérieur à (>)
lt: est inférieur à (<)
lte: est inférieur ou égal à (<=)
gte: est supérieur ou égal à (>=)
isnull__1: est vide
notnull__1: n'est pas vide
decp-sans-titulaires:
title: Marchés publics sans leurs titulaires
description_html: Marchés publics sans les titulaires (pas de colonnes titulaire). Une ligne = un marché, donc ces données sont adaptées pour travailler avec les montants de marchés et compter les marchés.
size: 40
download: https://www.data.gouv.fr/fr/datasets/r/834c14dd-037c-4825-958d-0a841c4777ae
column_labels:
id: Identifiant
uid: Identifiant unique
acheteur.id: SIRET acheteur
acheteur.nom: Nom de l'acheteur
procedure: Procédure d'achat
nature: Nature
dureeMois: Durée du marché (mois)
dateNotification: Date de notification
datePublicationDonnees: Date de publication des données
montant: Montant
objet: Objet
codeCPV: Code CPV
formePrix: Forme du prix
lieuExecution.code: Code du lieu d'exécution
lieuExecution.typeCode: Code du lieu d'exécution (type)
lieuExecution.nom: Nom du lieu d'exécution
objetModification: Objet de la modification
source: Source des données
donneesActuelles: Données actuelles ?
anomalies: Anomalies
decp-titulaires:
title: Données sur les titulaires et géolocalisation
description_html: Données détaillées sur les titulaires, dont leur géolocalisation. Les colonnes <tt>formePrix</tt>, <tt>procedure</tt>, <tt>objetModification</tt> et <tt>datePublicationDonnees</tt> sont absentes. Une ligne = un titulaire de marché, donc ces données ne sont pas adaptées pour travailler avec les montants de marché ou compter les marchés.
description_html: Données détaillées sur les titulaires ayant un numéro SIRET, dont leur géolocalisation. Les colonnes <tt>formePrix</tt>, <tt>procedure</tt>, <tt>objetModification</tt> et <tt>datePublicationDonnees</tt> sont absentes. Une ligne = un titulaire de marché, donc ces données ne sont pas adaptées pour travailler avec les montants de marché ou compter les marchés.
size: 40
download: https://www.data.gouv.fr/fr/datasets/r/25fcd9e6-ce5a-41a7-b6c0-f140abb2a060
column_labels:
id: Identifiant
uid: Identifiant unique
acheteur.id: SIRET acheteur
acheteur.nom: Nom de l'acheteur
procedure: Procédure d'achat
nature: Nature
dureeMois: Durée du marché (mois)
dateNotification: Date de notification
datePublicationDonnees: Date de publication des données
montant: Montant
objet: Objet
codeCPV: Code CPV
formePrix: Forme du prix
lieuExecution.code: Code du lieu d'exécution
lieuExecution.typeCode: Code du lieu d'exécution (type)
lieuExecution.nom: Nom du lieu d'exécution
objetModification: Objet de la modification
source: Source des données
donneesActuelles: Données actuelles ?
anomalies: Anomalies
codeAPE: Code APE
departement: Département
categorie: Catégorie
categorieJuridique: Catégorie juridique
categorieJuridiqueLibelle1: Catégorie juridique niveau 1
categorieJuridiqueLibelle2: Catégorie juridique niveau 2
etatEtablissement: État établissement
etatEntreprise: État entreprise
longitude: Longitude
latitude: Latitude
titulaire.id: Identifiant du titulaire
titulaire.typeIdentifiant: Identifiant du titulaire (type)
titulaire.denominationSociale: Nom du titulaire
+12
View File
@@ -81,6 +81,18 @@ td.col-longitude,th.col-longitude,td.col-latitude,th.col-latitude {
}
.versions ul ul {
margin-left: 22px;
}
div.select-wrapper {
width: 160px;
}
div.select-wrapper.filter-op {
width: 160px;
}
/*
Flaticon icon font: Flaticon
+1 -1
View File
@@ -13,7 +13,7 @@ Propulsé par <a href="https://datasette.io/" title="Datasette v{{ datasette_ver
<a href="{{ metadata.source_url }}">
{% endif %}{{ metadata.source or metadata.source_url }}{% if metadata.source_url %}</a>{% endif %}
{% endif %}
&middot; Code source : <a href="https://github.com/ColinMaudry/decp-table-schema-utils">Github</a>
&middot; Code source : <a href="https://github.com/ColinMaudry/decp.info">Github</a>
{% if metadata.about or metadata.about_url %}&middot;
Plus d'informations : {% if metadata.about_url %}
<a href="{{ metadata.about_url }}">
+3 -3
View File
@@ -6,12 +6,12 @@
{% for column in display_columns %}
<th class="col-{{ column.name|to_css_class }}" scope="col" data-column="{{ column.name }}" data-column-type="{{ column.type }}" data-column-not-null="{{ column.notnull }}" data-is-pk="{% if column.is_pk %}1{% else %}0{% endif %}">
{% if not column.sortable %}
{{ column.name }}
{{ metadata.column_labels[column.name] }}
{% else %}
{% if column.name == sort %}
<a href="{{ path_with_replaced_args(request, {'_sort_desc': column.name, '_sort': None, '_next': None}) }}" rel="nofollow">{{ column.name }}&nbsp;</a>
<a href="{{ path_with_replaced_args(request, {'_sort_desc': column.name, '_sort': None, '_next': None}) }}" rel="nofollow">{{ metadata.column_labels[column.name] }}&nbsp;</a>
{% else %}
<a href="{{ path_with_replaced_args(request, {'_sort': column.name, '_sort_desc': None, '_next': None}) }}" rel="nofollow">{{ column.name }}{% if column.name == sort_desc %}&nbsp;▲{% endif %}</a>
<a href="{{ path_with_replaced_args(request, {'_sort': column.name, '_sort_desc': None, '_next': None}) }}" rel="nofollow">{{ metadata.column_labels[column.name] }}{% if column.name == sort_desc %}&nbsp;▲{% endif %}</a>
{% endif %}
{% endif %}
</th>
+9
View File
@@ -13,6 +13,15 @@
{% endfor %}
{% block extra_head %}{% endblock %}
<meta name="twitter:card" content="summary"></meta>
<meta name="twitter:creator" content="@col1m" />
<meta name="author" content="Colin Maudry" />
<meta property="og:type" content="website"/>
<meta property="og:title" content="decp.info : exploration et téléchargement des données des marchés publics" />
<meta name="description" property="og:description" content="decp.info vous permet de filtrer et trier les données sur les marchés publics français et de télécharger le résultat sous la forme d'un fichier que vous pourrez ouvrir dans un logiciel de tableur. Outil gratuit et libre." />
<meta name="image" property="og:image" content="https://decp.info/static/images/capture.png" />
<link rel="shortcut icon" href="/static/icons/icon-192x192.png" />
<!-- Matomo -->
+2 -2
View File
@@ -7,8 +7,8 @@
{% block content %}
<h1>{{ metadata.title or "Datasette" }}{% if private %} 🔒{% endif %}</h1>
{% block description_source_license %}{% include "_description_source_license.html" %}{% endblock %}
<!-- {% block description_source_license %}{% include "_description_source_license.html" %}{% endblock %}
-->
<p><a class="explore nodec" href="/db"><i class="flaticon-magnifying-glass"></i></a> <a class="explore" href="/db">Explorer les données</a></p>
<p><a class="explore nodec" href="https://teamopendata.org/t/decp-info-les-donnees-de-la-commande-publique-pour-tous-questions-reponses-discussions/2948"><i class="flaticon-chat-2"></i></a> <a href="https://teamopendata.org/t/decp-info-les-donnees-de-la-commande-publique-pour-tous-questions-reponses-discussions/2948">Présentation / FAQ / discussions</a></p>
+26 -2
View File
@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Mentions légales{% endblock %}
{% block title %}Notes de version{% endblock %}
{% block nav %}
<p class="crumbs">
<a href="{{ urls.instance() }}">accueil</a>
@@ -8,8 +8,32 @@
{% endblock %}
{% block content %}
<div style="max-width: 700px;margin:auto">
<div style="max-width: 700px;margin:auto" class="versions">
<h1>Notes de version</h1>
<h3 id="14014062021">1.4.0 (14/06/2021)</h3>
<ul>
<li>traduction des opérations de filtrage (ex : contains => contient)</li>
<li>élargissement des menus de filtrage</li>
<li>correction du titre de la page des notes de versions</li>
</ul>
<h3 id="13003062021">1.3.0 (03/06/2021)</h3>
<ul>
<li>utilisation de noms de colonnes plus lisibles dans l'application</li>
<li>suppression des références à la licence et aux données source sur la page d'accueil</li>
<li>correction des liens vers le code source</li>
<li>correction de l'indentation des puces dans les notes de version</li>
</ul>
<h3 id="12028052021">1.2.0 (28/05/2021)</h3>
<ul>
+10 -6
View File
@@ -34,7 +34,7 @@
style="color: #666" xmlns="http://www.w3.org/2000/svg"
width="28" height="28" viewBox="0 0 24 24" fill="none"
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<title id="actions-menu-links-title">Actions</title>
<title id="actions-menu-links-title">Actions</title>
<circle cx="12" cy="12" r="3"></circle>
<path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path>
</svg></summary>
@@ -54,7 +54,7 @@
{% if filtered_table_rows_count or human_description_en %}
<h4>{% if filtered_table_rows_count or filtered_table_rows_count == 0 %}{{ "{:,}".format(filtered_table_rows_count) }} ligne{% if filtered_table_rows_count == 1 %}{% else %}s{% endif %}{% endif %}
{% if human_description_en %}{{ human_description_en }}{% endif %}
<!-- {% if human_description_en %}{{ human_description_en }}{% endif %} -->
</h4>
{% endif %}
@@ -68,13 +68,15 @@
<select name="_filter_column_{{ loop.index }}">
<option value="">- supprimer le filtre -</option>
{% for c in filter_columns %}
<option{% if c == column %} selected{% endif %}>{{ c }}</option>
<option{% if c == column %} selected{% endif %} value="{{ c }}">{{ metadata.column_labels[c] }}</option>
{% endfor %}
</select>
</div><div class="select-wrapper filter-op">
<select name="_filter_op_{{ loop.index }}">
{% for key, display, no_argument in filters.lookups() %}
<option value="{{ key }}{% if no_argument %}__1{% endif %}"{% if key == lookup %} selected{% endif %}>{{ display }}</option>
{% if metadata.operation_labels[key] %}
<option value="{{ key }}{% if no_argument %}__1{% endif %}"{% if key == lookup %} selected{% endif %}>{{ metadata.operation_labels[key] }}</option>
{% endif %}
{% endfor %}
</select>
</div><input type="text" name="_filter_value_{{ loop.index }}" class="filter-value" value="{{ value }}">
@@ -85,13 +87,15 @@
<select name="_filter_column">
<option value="">- colonne -</option>
{% for column in filter_columns %}
<option>{{ column }}</option>
<option value="{{ column }}">{{ metadata.column_labels[column] }}</option>
{% endfor %}
</select>
</div><div class="select-wrapper filter-op">
<select name="_filter_op">
{% for key, display, no_argument in filters.lookups() %}
<option value="{{ key }}{% if no_argument %}__1{% endif %}"{% if key == lookup %} selected{% endif %}>{{ display }}</option>
{% if metadata.operation_labels[key] %}
<option value="{{ key }}{% if no_argument %}__1{% endif %}"{% if key == lookup %} selected{% endif %}>{{ metadata.operation_labels[key] }}</option>
{% endif %}
{% endfor %}
</select>
</div><input type="text" name="_filter_value" class="filter-value">