Skip to main content

udata customizations for data.gouv.fr

Project description

udata-gouvfr

udata customizations for Etalab / Data.gouv.fr.

Note: This is a udata extension, you should read the udata documentation first.

Compatibility

udata-gouvfr requires Python 3.7+ and udata.

Installation

Install udata.

Remain in the same Python virtual environment and install udata-gouvfr:

pip install udata-gouvfr

Create a local configuration file udata.cfg in your udata directory (or where your UDATA_SETTINGS point out) or modify an existing one as following:

PLUGINS = ['gouvfr']
THEME = 'gouvfr'

Development

Prepare a udata development environment.

It is recommended to have a workspace with the following layout:

$WORKSPACE
├── fs
├── udata
│   ├── ...
│   └── setup.py
├── udata-gouvfr
│   ├── ...
│   └── setup.py
└── udata.cfg

The following steps use the same Python virtual environment and the same version of npm (for JS) as udata.

Clone the udata-gouvfr repository into your workspace and install it in development mode:

git clone https://github.com/etalab/udata-gouvfr.git
pip install -e udata-gouvfr

Modify your local udata.cfg configuration file as following:

PLUGINS = ['gouvfr']
THEME = 'gouvfr'

You can execute udata-gouvfr specific tasks from the udata-gouvfr directory.

ex: Build the assets:

cd udata-gouvfr
npm install
inv assets-build

You can list available development commands with:

inv -l

Theme

The front-end theme for the public facing website, is split into two parts :

  • The Jinja templates are located inside udata_gouvfr/theme/templates.
  • The Less & other sourcefiles for the are located in theme.

In addition we have a nice litle set of CSS Utilities to quickly build front end components, inspired by bootstrap, most of its documentation lives in the css located in theme/less/ and is built using Stylemark, you can read the live documentation in udata_gouvfr/theme/stylemark/ after building it using npm run build-stylemark.

When building pages, here are a few templates to look out for in udata_gouvfr/theme/templates :

  • home.html : well, duh.
  • header.html and footer.html : same idea.
  • raw.html : contains the general html structure exposing a body block where we can write our page's body.
  • base.html : contains some extra html structure exposing a content block for our page's content.
  • subnav-large.html, publish-action-modal.html and carousel.html : TODO

Here are our reusable components :

  • dataset : datasets listings used in many pages.
  • reuse : cards for displaying dataset reused in the real world.
  • participez : is the large blue callout seen on multiple pages.
  • macros : TODO
  • svg : contains SVG assets to be included in our pages.

TODO

Front docs todo :

  • Parcel 2 architecture
    • Static copy
    • Stylemark build
    • VueJS compiler mode
  • VanillaJS IIFE architecture
  • Vue 3 architecture
    • Modals
    • I18n
    • Config plugin
    • Components Back docs todo :
  • CSS/JS file inclusion
  • Static route for UI-Kit

Whenever a components needs some special styling, you can find their corresponding definitions inside theme/less/specific/<component>, it's best if we can avoid having too much specific styling, but sometimes you just really need it.

Finally, we have a bunch of commands to make your life a tad easier, that you can run through npm run.

  • build: Builds the final CSS/JS files and the UI-Kit Documentation. You should probably use this one.
  • build:app: Builds the final CSS/JS files without the UI-Kit
  • build:stylemark: Builds the UI-Kit files and also the CSS/JS files but unminifed (do not use those static files in production)
  • i18n:report: Generates a report of the i18n missing and unused keys
  • i18n:extract: Same as above, but also automatically adds missing keys to translation files
  • clean: Cleans Parcel cache. Use this if you stumble upon weird bugs to start anew.
  • start: Get to coding with live reload and things

Changelog

Current (in progress)

  • Nothing yet

3.0.5 (2021-08-12)

  • Add a banner on geo.data.gouv.fr's datasets #607

3.0.4 (2021-08-12)

  • Replace mdstrip filter with markdown in resources descriptions #606
  • Fix numerous responsive issues and prevent VueJS from crashing the page on compilation error #605
  • Replace old COVID-19 inventory button with the new one for santé #608
  • Add SPD datasets to home page #609
  • Remove duplicate Participate block on dataset page #611
  • Add redirect to dataset on submit for suggest search #612

3.0.3 (2021-07-30)

  • Add new translations #603
  • Add vue sentry logging on gouvfr #594
  • Add all featured topics button on homepage #597
  • Resources descriptions are no longer truncated #596
  • Fix URL for dataset search params #595

3.0.2 (2021-07-19)

  • Add organization search #593
  • Fix reuses filters issue #592
  • Remove suggest on mobile #590
  • Added homepage "venti" button for the new inventory #591

3.0.1 (2021-07-09)

  • Fix datasets search pagination reset #588
  • Replace link to /search route by /datasets #587
  • Removed useless templates, views and tests after v3 #557
  • Fix datasets search pagination #585

3.0.0 (2021-07-07)

  • :warning: breaking change: most of the theme/templates logic has been moved from https://github.com/opendatateam/udata to this repo. udata no longer contains a default theme. In the 3.x series, we hope it will be usable as a "headless" open data platform, but for now you probably need to plug your own theme or use udata-gouvfr. More info about this change here. #492

2.6.2 (2021-05-25)

  • New translations #535

2.6.1 (2021-05-25)

  • Add new translations #518

2.6.0 (2021-05-25)

  • [maaf] fix encoding issue #531
  • Add link to support page #532
  • UX enhancement #525:
    • Removed hero's background image.
    • Removed home page's carrousel.
    • Changed homepage's layout. Datasets are now on top followed by reuses.
    • Renamed "Profile" to "Public profile"

2.5.5 (2021-04-02)

  • Thanks for all the fish #529

2.5.4 (2021-03-31)

  • 🦀

2.5.3 (2021-03-23)

  • Add venv activation in CircleCI's publish step #526

2.5.2 (2021-03-22)

  • Keep tracking to strictly necessary #517
  • Changed the title of the elections inventory page #520

2.5.1 (2021-01-26)

  • New Crowdin translations #511

2.5.0 (2021-01-25)

  • Add Inventory cards on homepage #514
  • Add documentation's dropdown menu with links to technical documentation and open data guides #516

2.3.0 (2020-11-30)

  • Read Only Mode modifications on theme #509:
    • Will display a warning banner on the frontend view.
    • Hides the contribute's home's modal.
    • Hides the Reuse's creation card and community resource's creation card on dataset view.
  • Newsletter's subscription banner #512:
    • Override alert section in posts list template to display newsletter's subscription banner.
    • Add settings POST_BANNER_ACTIVATED to toggle banner's activation.
    • Add settings POST_BANNER_LINK and POST_BANNER_MESSAGE to configure subscription's link and message.

2.2.3 (2020-11-09)

  • Add news link to posts list #504

2.2.2 (2020-10-16)

  • Pinned udata version to fix transitive requests dependencies #500

2.2.1 (2020-10-16)

  • Banner is now generic and configurable #499
  • Fix links in static pages

2.2.0 (2020-08-25)

  • Show api.gouv.fr APIs on dataset page #493

2.1.5 (2020-08-05)

  • Mise à jour de l'URL de Geo SIRENE #489
  • Add footer link to pages summary and page cache #488

2.1.4 (2020-06-29)

  • Add static /pages/* from md in github repo #483

2.1.3 (2020-06-16)

  • Fix packaging

2.1.1 (2020-06-11)

  • Adding banner with setting inherited from udata's settings #480

2.1.0 (2020-05-13)

  • Remove public services metrics #472

2.0.2 (2020-04-22)

  • Ajout du flag "recherche" pour activer le widget d'experimentation de recherche #466

2.0.1 (2020-03-24)

  • Add covid-19 badge for datasets and reuses #473

2.0.0 (2020-03-11)

  • Migrate to python3 🐍 #453

1.6.13 (2019-12-13)

  • Ajout de l'identifiant SPDX pour la licence Ouverte 2.0 #437
  • Lien vers la doc d'API externe dans le footer #438
  • Mise à jour de l'URL de Geo SIRENE #446

1.6.12 (2019-09-11)

  • Nouvelle section contact dans le pied de page #428
  • Suppression du konami code #429

1.6.11 (2019-07-11)

  • New social logo (og:image) #419

1.6.10 (2019-06-26)

  • Data catalog: id as ref instead of slug #415
  • Add cache for topic display page #414
  • Fix card size on dataset page #418

1.6.9 (2019-06-07)

  • Switch removal of related tags in a topic page to a proper related jinja tag #408
  • Add the homologation of IGN licenses #412

1.6.8 (2019-05-29)

  • Minor edits on SPD #406
  • Change certification visual location in cards #407

1.6.7 (2019-05-23)

  • Set org logo to max width #403
  • Add data catalog link to footer #404

1.6.6 (2019-05-20)

  • Remove clutter from search bar #400
  • Add the homologation of INPI licenses #402

1.6.5 (2019-05-10)

  • Home blog post extraction improvements. Supports both Atom and RSS 2.0, more image tag formats, media:thumbnail and enclosures. #385
  • Pin version of requests #397
  • Improve header menu legibility #388

1.6.4 (2019-03-27)

  • Updates topic entry page #382

1.6.3 (2019-03-06)

  • Remove "compte des collectivités" from territories #376
  • Push discussion under reuses and community resources 378

1.6.2 (2018-11-17)

  • Konami code 🥚 #362 NB: this is not a release worth installing except on data.gouv.fr.

1.6.1 (2018-11-05)

  • Add a BAL badge #347
  • Remove TOS opt-in subtext #349

1.6.0 (2018-10-02)

  • Make use of assets manifest for long term caching #328
  • Discussion add card style coherence #339
  • Remove a duplicate rule on .dataset-container h3

1.4.4 (2018-08-27)

  • Fix the multisearch labels position #330

1.4.3 (2018-08-08)

  • Fix the navbar toggle button position 🎊 #327

1.4.2 (2018-07-30)

  • Add a reference on the page about SPD #318

1.4.1 (2018-06-06)

  • Fix packaging

1.4.0 (2018-06-06)

  • Typed resources related styles #265
  • Enforce a domain whitelist when resource.filetype is file (migration) #292
  • Use new pypi.org links #295
  • Ensure active users have a confirmed_at date (migration) #298
  • Remove credits page #306
  • Fix modal-lg width #311
  • Add tracking and privacy page #310

1.3.2 (2018-03-28)

  • Limit number of forum topics #284
  • Use new OEmbed cards in datasets recommandations #285
  • Fix the RSS popover not being clickable #287
  • Drop the custom style for non-certified datasets #288

1.3.1 (2018-03-15)

  • Fix some cards positionning

1.3.0 (2018-03-13)

  • Make use of udata pytest plugin #254
  • Expose new entrypoints. Plugins and theme translations are now splitted #263
  • Align card components design #252 #272
  • Discourse timeout and response parse error catch #267
  • Add tracking on home page call to action #271
  • Add tracking on carousel elements #268
  • Temporary carousel layout #274
  • Add tracking of dataset recommendations #277

1.2.5 (2018-02-05)

1.2.4 (2018-01-24)

  • Licenses: Update SHOM attachment + fix BAN URL #249

1.2.3 (2018-01-17)

  • Add the homologation of CC-BY-SA for SHOM #244
  • Dataset recommendations #243
  • Move some discussions style into udata core #251

1.2.2 (2017-12-14)

1.2.1 (2017-12-06)

  • Export community resource avatar style to udata #233
  • Drop the terms.html template. Terms and conditions are now externalized and use the udata core template. (See udata#1285) #232

1.2.0 (2017-10-20)

  • Use new search blueprint from uData #224

1.1.2 (2017-09-04)

  • Fixes some spacing issues on dataset and reuses page buttons #209
  • Fix some wrong spatial coverages #213
  • Fix translations collision on contact #211 #212
  • Updated some translations

1.1.1 (2017-07-31)

  • Updated translations

1.1.0 (2017-07-05)

  • Use the new entrypoint-based theme management #164
  • Adjust the dataset reuses title overflow for proper display #172
  • Drop glyphicons, remove some useless classes and upgrade to bootstrap 3.3.7 #177
  • Use the core publish action modal #178
  • Fix the deuil header not being an SVG #180
  • Integrating latest versions of GeoZones and GeoLogos for territories. Especially using history of towns, counties and regions from GeoHisto. #499
  • Add the missing placeholders #194
  • Use the udata.harvesters entrypoint #195
  • Revamp actionnable tabs #189
  • Remove .btn-more class #191

1.0.9 (2017-06-28)

  • Nothing yet

1.0.8 (2017-06-21)

1.0.7 (2017-06-20)

  • Added a Licences page #181

1.0.6 (2017-04-18)

  • Fixed numbering in system integrator FAQ (thanks to Bruno Cornec) #174
  • Added a footer link to the SPD page #176

1.0.5 (2017-04-06)

  • Added a missing translation
  • Alphabetical ordering on SPD datasets

1.0.4 (2017-04-05)

  • Introduce SPD page and badge

1.0.3 (2017-02-27)

  • Translations update
  • Switch udata-js link to metaclic #161

1.0.2 (2017-02-21)

  • Optimize png images from theme #159
  • Optimize png images sizes for territory placeholders #788

1.0.1 (2017-02-20)

  • Ensure missing FAQ sections raises a 404 #156
  • Provide deep PyPI versions links into the footer #155
  • Provide proper cache versionning for theme assets #155

1.0.0 (2017-02-16)

  • Remove some main menu entries (events, CADA, Etalab)
  • Use a new SVG logo
  • Apply changes from uData 1.0.0

0.9.1 (2017-01-10)

  • First published release

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page