<p align="center">
<img src="https://user-images.githubusercontent.com/60264344/134811326-27109632-f653-4025-9786-482824635994.png">
</p>
<p align="center">
<i>Add a front-end to udata</i>
<br>
<br>
<img src="https://img.shields.io/github/contributors/datagouv/udata-front">
<img src="https://img.shields.io/github/license/datagouv/udata-front">
<img src="https://img.shields.io/github/commit-activity/m/datagouv/udata-front">
</p>
- [Notes on this repo](#notes-on-this-repo)
- [Compatibility](#compatibility)
- [Installation](#installation)
- [Theme development](#theme-development)
- [🚀 Getting started](#-getting-started)
- [🐍 Python development](#-python-development)
- [🧱 Installing the python dependencies](#-installing-the-python-dependencies)
- [🚩 Starting the python development server](#-starting-the-python-development-server)
- [☕ Javascript development](#-javascript-development)
- [🏗 Installing the javascript dependencies](#-installing-the-javascript-dependencies)
- [💪 Starting the javascript development server](#-starting-the-javascript-development-server)
- [📦 @datagouv/components](#-datagouvcomponents)
- [👀 Other dev commands](#-other-dev-commands)
- [🏰 General architecture](#-general-architecture)
- [🚜 Jinja2 templates](#-jinja2-templates)
- [🚲 Javascript](#-javascript)
- [🖼️ Style](#️-style)
- [🛠️ Build tools](#️-build-tools)
- [🏭 Javascript architecture](#-javascript-architecture)
- [🏔️ Vue mounting](#️-vue-mounting)
- [👩🔬 Tests](#-tests)
- [📖 Read more](#-read-more)
## Notes on this repo
This is a new version of [udata-gouvfr](https://github.com/etalab/udata-gouvfr)
This is a [udata][] extension, you should read the [udata documentation][udata-doc] first.
## Compatibility
**udata-front** requires Python 3.7+ and [udata][].
## Installation
Install [udata][].
Remain in the same Python virtual environment
and install **udata-front**:
```shell
pip install udata-front
```
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:
```python
PLUGINS = ['front']
THEME = 'gouvfr'
```
## Theme development
The front-end theme for the public facing website, is split into two parts :
- The [Jinja](https://jinja.palletsprojects.com/en/2.11.x/) templates are located inside `udata_front/theme/gouvfr/templates`.
- The [Less](https://lesscss.org/), [Vue](https://vuejs.org) & other sourcefiles for the front-end are located in `theme`.
### 🚀 Getting started
Before you start your developper journey, you have to setup your python and/or javascript development tools.
It is recommended to have a workspace with the following layout:
```shell
$WORKSPACE
├── fs
├── udata
│ ├── ...
│ └── setup.py
├── udata-front
│ ├── ...
│ └── setup.py
└── udata.cfg
```
Modify your local `udata.cfg` configuration file as following:
```python
PLUGINS = ['front']
THEME = 'gouvfr'
```
#### 🐍 Python development
##### 🧱 Installing the python dependencies
Prepare a [udata development environment][udata-develop].
Note that we're using [pip-tools][udata-deps] on this repository too.
The following steps use the same Python virtual environment as `udata`.
Install `udata-front` in development mode:
```shell
cd udata-front
pre-commit install
pip install -e . -r requirements/test.pip -r requirements/develop.pip
```
> NB: the `udata.(in|pip)` files are used by the CI to stay in sync with `udata` requirements. You shouldn't need to tinker with them on your local environment, but they might be updated by the CI when you make a Pull Request.
> WARNING: if you experience requirements conflicts, and some dependencies were changed on [udata](https://github.com/opendatateam/udata), the `udata.pip` might need to be manually recompiled locally:
```shell
pip-compile requirements/udata.in --output-file=requirements/udata.pip
```
##### 🚩 Starting the python development server
Simply run the udata project with udata-front loaded as a plugin:
```shell
cd udata
inv serve
```
#### ☕ Javascript development
##### 🏗 Installing the javascript dependencies
First, you need to use [Node](https://nodejs.org/) (version 16+) on your platform. You should consider [installing NVM](https://github.com/creationix/nvm#installation) which uses the existing .nvmrc.
```shell
cd udata-front
nvm install
nvm use
npm install
```
And voilà ! ✨
##### 🆕 Start the storybook server
If you want to work on Vue or Less files, you can start the storybook server with this command :
```shell
npm run storybook
```
It allows you to work on the front-end only and even [mocks the back-end responses](https://github.com/mswjs/msw-storybook-addon).
You can visit their website to [learn more about storybook](https://storybook.js.org/docs/vue/get-started/why-storybook) and [how to use it](https://storybook.js.org/docs/vue/writing-stories/introduction).
##### 💪 Starting the javascript development server
Simply run this command in the project directory :
```shell
npm start
```
This will start a development server that will listen to changes and automatically rebuild the project when needed.
Note that a webserver is started by Vite (default port is `1234`), however we will not be using it as our CSS and JS files will be served by Jinja instead. More on that later.
##### 📦 @datagouv/components
We are using our own package of components. Their sources are in this repository in `udata_front/theme/gouvfr/datagouv-components`. They are included in udata-front without any build or release required. They are also available [on NPM](https://www.npmjs.com/package/@datagouv/components) for others to use.
#### 👀 Other dev commands
Finally, we have a bunch of commands to make your life a tad easier.
You can execute `udata-front` specific tasks from the `udata-front` directory with `invoke`. You can list available development commands with:
```shell
inv -l
```
Example commands:
- `i18n`: Extract translatable strings
- `i18nc`: Compile translations
- `qa`: Run a quality report
- `test`: Run tests suite
Additionally, you can run javascript-related commands through `npm run`.
- `build`: Builds the final CSS/JS files. You should probably use this one 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
- `start`: Get to coding with live reload and things. Same as `npm run dev`
- `test`: Runs the Cypress tests. More on that in the [Tests section](#-tests) of this README.
If you encounter any merge conflict with your package-lock.json, you can fix it with NPM:
```shell
npm install --package-lock-only
```
### 🏰 General architecture
#### 🚜 Jinja2 templates
Because [udata][] is written in Python, its templating engine is Jinja 2.
This means that the HTML received by clients is built at runtime, for each request, using templates with `{% block %}` tags and includes.
Those template are responsible for building the pages using layouts and blocks. Here are a few to get started (in `udata_front/theme/gouvfr/templates`), from less specific to more specific :
- `raw.html` : contains the general html structure exposing a `body` block where we can write our page's body. This template is also responsible for including the CSS and JS files.
- `base.html` : contains some extra html structure exposing a `content` block for our page's content, and wraps it around the header and footer.
- `header.html` and `footer.html` : standard header and footer block that will appear on each page
- `home.html`: the home page template (duh)
#### 🚲 Javascript
In order to add some interactivity to the project, we are using [Vue 3](https://v3.vuejs.org/api/) and some good old VanillaJS.
The JS assets are compiled in a single `index.js` file that includes everything for every page. If the bundle size starts to grow a little bit too much, you might need to think about splitting it into separate files for each page.
#### 🖼️ Style
We are using the [DSFR](https://github.com/GouvernementFR/dsfr) to build our front-end components.
In addition we have a nice litle set of CSS Utilities to quickly build custom components, inspired by bootstrap, most of its documentation
lives in the css located in `theme/less/`.
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.
### 🛠️ Build tools
This project uses [Vite](https://vitejs.dev/) to build and transform our source files into nice bundles for browsers.
Its config can be found in the `vite.config.ts` file.
Vile does multiple custom things in this project :
- Transform the `.ts` files into modern Javascript for browsers
- Transform the `less` files into modern CSS using `PostCSS`
- Copy the static assets when they change (config is in the `vite.config.ts`)
Vite uses `udata_front.egg-info/PKG-INFO` version to name files and udata-front uses its version to load the correct one.
If you're udata-front version doesn't match the one loaded in the theme, you may have to do a `pip install -e .` to update the package information.
### 🏭 Javascript architecture
#### 🏔️ Vue mounting
We are using the full build of VueJS that includes the compiler in order to compile templates directly in the browser.
There is a single VueJS app (in `index.ts`) that contains every component and plugins.
However, this app is mounted multiple times, on each DOM node containing a `vuejs` class.
This allows us to mount the app only where it's needed, because each subsequent mount is more DOM to compile and thus has an impact on performance. Moreover, mounting to the smallest possible HTML allows us to prevent accidental XSS vulnerability by forbidding users to compile their content with the Vue engine.
In order to allow inter-component communication, a global event bus is available in the global app, under the `$bus` variable.
You can emit events by using `$bus.emit('event')` and components can listen to events by using `$bus.on('event')`.
#### 👩🔬 Tests
Tests are run in a headless browser using [Cypress](https://github.com/cypress-io/cypress). Test definitions are located in the `cypress/integration` directory.
Writing tests is very easy thanks to its syntax :
```js
it("Displays the page title", () => {
cy.get("h1").should("be.visible");
});
```
To run the Cypress tests, you need a few things:
- A `cypress/udata-front-e2e.cfg` file:
```shell
cp cypress/udata-front-e2e.cfg.example cypress/udata-front-e2e.cfg
```
- Some loaded fixtures needed by the end-to-end tests:
```shell
npm run prepare-e2e
```
- A local webserver: in another terminal (still in the same Python virtual environment), run the following command in the same Python virtual environment as `udata`:
```shell
npm run serve-e2e
```
Then, tests can be run using the following command:
```shell
npm run test
```
Cypress also comes with [cypress-axe](https://github.com/component-driven/cypress-axe) to allow for accessibility automated testing.
[udata]: https://github.com/opendatateam/udata
[udata-doc]: http://udata.readthedocs.io/en/stable/
[udata-develop]: http://udata.readthedocs.io/en/stable/development-environment/
[udata-deps]: https://udata.readthedocs.io/en/stable/development-environment/#dependency-management
# Changelog
## 6.0.1 (2024-11-13)
- Fix missing closing <a> tag in contact form [#589](https://github.com/datagouv/udata-front/pull/589)
- Fix breadcrumb link for dataservice page [#590](https://github.com/datagouv/udata-front/pull/590)
- Remove truncate and excerpt helpers function and fix error with remove-markdown [#591](https://github.com/datagouv/udata-front/pull/591)
- Add API menu item [#592](https://github.com/datagouv/udata-front/pull/592)
## 6.0.0 (2024-11-07)
- Add beta admin `dataservice` page [#558](https://github.com/datagouv/udata-front/pull/558)
- Add Dataservice publishing form [#358](https://github.com/datagouv/udata-front/pull/559)
- Add the me keyword to the rel attribute of the link to the user website [#571](https://github.com/datagouv/udata-front/pull/571)
- Add dataservice access banner [#573](https://github.com/datagouv/udata-front/pull/573)
- Migrate organization badges label to lowercase [#577](https://github.com/datagouv/udata-front/pull/577)
- Use Dataservice search [#565](https://github.com/datagouv/udata-front/pull/565)
- Add organization type filter to dataset search [#579](https://github.com/datagouv/udata-front/pull/579)
- Fix Reuse tests [#580](https://github.com/datagouv/udata-front/pull/580)
- Rename private to draft [#572](https://github.com/datagouv/udata-front/pull/572) [#583](https://github.com/datagouv/udata-front/pull/583)
## 5.2.4 (2024-10-22)
- Paginate datasets in dataservice display [#560](https://github.com/datagouv/udata-front/pull/560) [#568](https://github.com/datagouv/udata-front/pull/568)
- Beta admin adjustments [#557](https://github.com/datagouv/udata-front/pull/557)
- Fix schema tooltip position [#561](https://github.com/datagouv/udata-front/pull/561)
- Add Parquet file url in download tab [#563](https://github.com/datagouv/udata-front/pull/563)
## 5.2.3 (2024-10-08)
- Adapt to discussion csv export refactor [#543](https://github.com/datagouv/udata-front/pull/543)
- Add beta admin discussion page [#539](https://github.com/datagouv/udata-front/pull/539)
- Add beta admin harvester page [#547](https://github.com/datagouv/udata-front/pull/547)
- Update beta admin members page [#544](https://github.com/datagouv/udata-front/pull/544)
- Fix Beta admin profile page [#546](https://github.com/datagouv/udata-front/pull/546)
- Add beta admin user's datasets page [#549](https://github.com/datagouv/udata-front/pull/549)
- Add beta admin user's reuses page [#550](https://github.com/datagouv/udata-front/pull/550)
- Add beta admin community resources page [#551](https://github.com/datagouv/udata-front/pull/551)
- Display contact point contact form [#555](https://github.com/datagouv/udata-front/pull/555)
- Use created_at date in reuse card [#556](https://github.com/datagouv/udata-front/pull/556)
## 5.2.2 (2024-09-23)
- Fix translations not shown [#541](https://github.com/datagouv/udata-front/pull/541)
## 5.2.1 (2024-09-23)
- Add index page with search for dataservices [#516](https://github.com/datagouv/udata-front/pull/516)
- Add beta admin datasets page [#371](https://github.com/etalab/udata-front/pull/371)
- Redirect to forum on no search results /!\ set the `DATA_SEARCH_FEEDBACK_FORM_URL` to the forum [#526](https://github.com/datagouv/udata-front/pull/526)
- Update proconnect button and link [#530](https://github.com/datagouv/udata-front/pull/530)
- Fix scroll to resource [#531](https://github.com/datagouv/udata-front/pull/531)
- Add beta admin reuses page [#527](https://github.com/datagouv/udata-front/pull/527) [#537](https://github.com/datagouv/udata-front/pull/537)
- Fix schema filter [#532](https://github.com/datagouv/udata-front/pull/532)
## 5.2.0 (2024-09-13)
- add dataservices to dataset page [#476](https://github.com/datagouv/udata-front/pull/476)
- show contact point in dataset and dataservice page [#479](https://github.com/datagouv/udata-front/pull/479)
- add email, member since and last login at to org members table [#480](https://github.com/datagouv/udata-front/pull/480)
- always show authorization_request_url if present (even on open API) [#481](https://github.com/datagouv/udata-front/pull/481)
- Show organization type [#472](https://github.com/datagouv/udata-front/pull/472)
- show permalink for community resources [#486](https://github.com/datagouv/udata-front/pull/486)
- update sentry configuration [#498](https://github.com/datagouv/udata-front/pull/498)
- update DSFR to v1.11 [#502](https://github.com/datagouv/udata-front/pull/502) [#506](https://github.com/datagouv/udata-front/pull/506)
- Replace the "MonComptePro" SSO login button with a "ProConnect" button [#482](https://github.com/datagouv/udata-front/pull/482)
This needs the `PROCONNECT_*` related settings in `settings.py`, and an active [ProConnect flow](https://github.com/numerique-gouv/agentconnect-documentation/blob/main/doc_fs/implementation_technique.md)
- update/remove code following the datagouv/components update [#507](https://github.com/datagouv/udata-front/pull/507) [#513](https://github.com/datagouv/udata-front/pull/513)
- When disconnecting from udata, first disconnect from ProConnect if relevant [#504](https://github.com/datagouv/udata-front/pull/504)
- update privacy policy [#510](https://github.com/datagouv/udata-front/pull/510)
## 5.1.2 (2024-08-01)
- update dependencies following updated dependencies on udata [#470](https://github.com/datagouv/udata-front/pull/470)
- update `@datagouv/components` and `vue-i18n` and fix report translation [#471](https://github.com/datagouv/udata-front/pull/471)
## 5.1.0 (2024-07-30)
- Add organization edit to new admin [#412](https://github.com/datagouv/udata-front/pull/412)
- Fix markdown tables and use DSFR ones [#432](https://github.com/datagouv/udata-front/pull/432)
- Add organization selector to dataset publishing [#438](https://github.com/datagouv/udata-front/pull/438)
- Add beta admin "add member" modale [#442](https://github.com/etalab/udata-front/pull/442)
- Update dependencies from udata [#448](https://github.com/datagouv/udata-front/pull/448) [#454](https://github.com/datagouv/udata-front/pull/454)
- Add new dataset card [#445](https://github.com/datagouv/udata-front/pull/445)
- Fix tests for oembed CORS [#453](https://github.com/datagouv/udata-front/pull/453)
- Add reports [#436](https://github.com/datagouv/udata-front/pull/436)
- Switch to @datagouv/components [#439](https://github.com/datagouv/udata-front/pull/439)
- Update translations [#458](https://github.com/datagouv/udata-front/pull/458)
- use @datagouv/components v1.1.1 [#462](https://github.com/datagouv/udata-front/pull/462)
## 5.0.1 (2024-06-12)
- Fix dataset card link opening another tab [#426](https://github.com/datagouv/udata-front/pull/426)
- Use roadmap page instead of deprecated nouveautes in footer [#429](https://github.com/datagouv/udata-front/pull/429)
- Add elections as featured topic [#430](https://github.com/datagouv/udata-front/pull/430)
## 5.0.0 (2024-06-07)
- Switch MAAF backend to new sync harvest system [#409](https://github.com/datagouv/udata-front/pull/409)
- Add dataservice show page [#420](https://github.com/datagouv/udata-front/pull/420) [#424](https://github.com/datagouv/udata-front/pull/424)
- Improve design of the OrganizationSearch component [#410](https://github.com/datagouv/udata-front/pull/410)
- Add button to remove user without sending email [#418](https://github.com/datagouv/udata-front/pull/418)
- Fix display not showing in Multiselect for multi options [#416](https://github.com/datagouv/udata-front/pull/416)
- Fix dataset publishing form [#417](https://github.com/datagouv/udata-front/pull/417)
## 4.0.3 (2024-05-28)
- Add Organization publishing form [#358](https://github.com/datagouv/udata-front/pull/358)
- Fix an error that blocks datasets search filters reset [#402](https://github.com/datagouv/udata-front/pull/402)
- Componentize dataset card [#397](https://github.com/datagouv/udata-front/pull/397)
- Use udata schema endpoint [#336](https://github.com/etalab/udata-front/pull/336)
## 4.0.2 (2024-04-26)
- Update footer [#405](https://github.com/datagouv/udata-front/pull/405)
## 4.0.1 (2024-04-26)
- Update footer
## 4.0.0 (2024-04-23)
- **breaking change** Migrate to Python 3.11 [#376](https://github.com/etalab/udata-front/pull/376)
- Fix api urls locked on dev.data.gouv.fr [#401](https://github.com/datagouv/udata-front/pull/401)
## 3.5.5 (2024-04-16)
- Add beta admin member page [#374](https://github.com/etalab/udata-front/pull/374)
- Move Pagination to datagouv-components [#365](https://github.com/etalab/udata-front/pull/365)
- Add stories to Resource component [#364](https://github.com/etalab/udata-front/pull/364)
- Move Well to datagouv-components [#382](https://github.com/etalab/udata-front/pull/382)
- Add markdown editor [#351](https://github.com/etalab/udata-front/pull/351)
- Componentize quality component [#385](https://github.com/etalab/udata-front/pull/385)
- Add codes and optgroups in Multiselect to display Insee codes and Licence groups [#347] (https://github.com/etalab/udata-front/pull/347)
- Fix datastructure display in ResourceAccordion [#389](https://github.com/etalab/udata-front/pull/389)
- Order Organization's reuses by publishing date [#390](https://github.com/etalab/udata-front/pull/390)
- Upgrade vue dependency [#386](https://github.com/etalab/udata-front/pull/386)
- Fix failing captchEtat responses [#392](https://github.com/etalab/udata-front/pull/392)
- Fix release CI [#380](https://github.com/etalab/udata-front/pull/380) [#384](https://github.com/etalab/udata-front/pull/384)
- Update constants imports from `.models` to `.constants` [#375](https://github.com/etalab/udata-front/pull/375)
- Fix rename of VisibleDatasetFactory [#387](https://github.com/etalab/udata-front/pull/387)
- Add beta admin member page [#374](https://github.com/etalab/udata-front/pull/374)
- Add Administration Panel to datagouv-components [#378] (https://github.com/etalab/udata-front/pull/378)
## 3.5.4 (2024-03-20)
- Fix footer links and some translations [#366](https://github.com/etalab/udata-front/pull/366)
- Show error when dataset discussion from url doesn't exist [#367](https://github.com/etalab/udata-front/pull/367)
- Hide quality score on "work in progress" backends [#370](https://github.com/etalab/udata-front/pull/370)
- Add a new vite config for development [#372](https://github.com/etalab/udata-front/pull/372)
- Fix structure tab not shown [#369](https://github.com/etalab/udata-front/pull/369)
- Update sentry configuration to ignore aborted requests [#368](https://github.com/etalab/udata-front/pull/368)
- Fix CI not using udata release when needed [#363](https://github.com/etalab/udata-front/pull/363)
## 3.5.3 (2024-02-22)
- Show a map of datasets' spatial coverage [#354](https://github.com/etalab/udata-front/pull/354)
- Fix redirect user to auth page [#357](https://github.com/etalab/udata-front/pull/357)
- Fix tests factories for `HarvestSource`, `backend` is now required [udata#2962](https://github.com/opendatateam/udata/pull/2962)
- Fix schema is not longer a `dict` [#361](https://github.com/etalab/udata-front/pull/361) [udata#2949](https://github.com/opendatateam/udata/pull/2949)
## 3.5.2 (2024-02-15)
- Show a button to mark as no spam a discussion or a message [#352](https://github.com/etalab/udata-front/pull/352)
## 3.5.1 (2024-02-05)
- Fix vue runtime errors [#343](https://github.com/etalab/udata-front/pull/343)
- New featured topic : agriculture [#344](https://github.com/etalab/udata-front/pull/344)
- Create data.gouv.fr-components NPM package and move some `gouvfr` components to it [#324](https://github.com/etalab/udata-front/pull/324)[#350](https://github.com/etalab/udata-front/pull/350)
- Setup storybook for data.gouv.fr-components [#346](https://github.com/etalab/udata-front/pull/346)
## 3.5.0, 3.4.0 and 3.3.0 (2024-01-23)
> **Important** <br>
> These versions contain an invalid js build and are [yanked](https://pypi.org/help/#yanked) from pypi.
> The update to the next version is mandatory to have a valid js build.
- Fix dependencies according to udata's Flask-Babel migration [#300](https://github.com/etalab/udata-front/pull/300)
- User pages are back [#338](https://github.com/etalab/udata-front/pull/338)
## 3.2.12 (2023-12-15)
- Fix support menu link [#335](https://github.com/etalab/udata-front/pull/335)
## 3.2.11 (2023-12-08)
- Remove parents, children, etc. from territory views [#328](https://github.com/etalab/udata-front/pull/328)
- Add publishing form [#266](https://github.com/etalab/udata-front/pull/266) [dependabot/36](https://github.com/etalab/udata-front/security/dependabot/36) [#331](https://github.com/etalab/udata-front/pull/331)
- New featured topics : culture and education [#332](https://github.com/etalab/udata-front/pull/332)
- Fix territory sitemap [#334](https://github.com/etalab/udata-front/pull/334)
- Add header-case to validation url [#333](https://github.com/etalab/udata-front/pull/333)
## 3.2.10 (2023-12-01)
- Ignore another ResizeObserver error [#321](https://github.com/etalab/udata-front/pull/321)
- Fixed ol not appearing in descriptions [#322](https://github.com/etalab/udata-front/pull/322)
- Fix copy discussion link [#323](https://github.com/etalab/udata-front/pull/323)
- Add text-transform-none style and use lowercase k as unit [#325](https://github.com/etalab/udata-front/pull/325)
## 3.2.9 (2023-11-21)
- Update build dependencies [#309](https://github.com/etalab/udata-front/pull/309)
- Add read-more to discussions [#310](https://github.com/etalab/udata-front/pull/310)
- New footer with newsletter [#311](https://github.com/etalab/udata-front/pull/311) [#316](https://github.com/etalab/udata-front/pull/316)
- Add metric components and hooks [#260](https://github.com/etalab/udata-front/pull/260) [#313](https://github.com/etalab/udata-front/pull/313) [#314](https://github.com/etalab/udata-front/pull/314)
- Add raise_for_status on captchetat request [#318](https://github.com/etalab/udata-front/pull/318)
## 3.2.8 (2023-10-26)
- Add German translations files and French latest translations [#307](https://github.com/etalab/udata-front/pull/307)
## 3.2.7 (2023-10-26)
- Update testing dependencies [dependabot/30](https://github.com/etalab/udata-front/security/dependabot/30) [dependabot/22](https://github.com/etalab/udata-front/security/dependabot/22) [dependabot/23](https://github.com/etalab/udata-front/security/dependabot/23) [#297](https://github.com/etalab/udata-front/pull/297) [#298](https://github.com/etalab/udata-front/pull/298)
- Fix translate links in footer [#301](https://github.com/etalab/udata-front/pull/301)
- Track participez clicks [#302](https://github.com/etalab/udata-front/pull/302)
- Fix datasets search on the organization page [#303](https://github.com/etalab/udata-front/pull/303)
- Add discoverability indicator form [#304](https://github.com/etalab/udata-front/pull/304)
## 3.2.6 (2023-09-01)
- Add missing quality criterion (`all_resources_available`) [#287](https://github.com/etalab/udata-front/pull/287)
- Replace linkedin link in footer [#292](https://github.com/etalab/udata-front/pull/292)
- Use the word file instead of resource [#291](https://github.com/etalab/udata-front/pull/291)
- Update certified icon [#288](https://github.com/etalab/udata-front/pull/288)
- Add guides to the menu [#290](https://github.com/etalab/udata-front/pull/290)
- Add resource permalink [#286](https://github.com/etalab/udata-front/pull/286) [#295](https://github.com/etalab/udata-front/pull/295)
- Update read-more height on `details` toggle [#294](https://github.com/etalab/udata-front/pull/294)
- Fix preview style discrepancies [#289](https://github.com/etalab/udata-front/pull/289)
## 3.2.5 (2023-07-19)
- Fix reuse page padding for discussions and reuses section [#270](https://github.com/etalab/udata-front/pull/270)
- Fix dataset oembed links [#271](https://github.com/etalab/udata-front/pull/271)
- Hide CaptchEtat icon loader [#272](https://github.com/etalab/udata-front/pull/272)
- Update guide links [#276](https://github.com/etalab/udata-front/pull/276)
- Redirect *pages* when missing trailing slash [#278](https://github.com/etalab/udata-front/pull/278)
- Add feedback link to header and footer [#275](https://github.com/etalab/udata-front/pull/275)
- Fix actions with scroll inside full-page tabs (e.g. dataset page) [#281](https://github.com/etalab/udata-front/pull/281)
- Add data search form to search [#274](https://github.com/etalab/udata-front/pull/274)
- Upgrade pyyaml dependency to 6.0.1 in deps tree [#283](https://github.com/etalab/udata-front/pull/283)
- Set confirmed_at when creating user in MonComptePro auth [#284](https://github.com/etalab/udata-front/pull/284)
## 3.2.4 (2023-06-19)
- Fix word-wrap for dataset description [#254](https://github.com/etalab/udata-front/pull/254)
- Fix `img` folder not copied [#255](https://github.com/etalab/udata-front/pull/255)
- Add breadcrumbs to pages [#258](https://github.com/etalab/udata-front/pull/258)
- Remove cache around dataset, reuse and organization modify button [#256](https://github.com/etalab/udata-front/pull/256)
- Fix display temporal coverage on dataset page [#261](https://github.com/etalab/udata-front/pull/261)
- Fix tooltip accessibility [#259](https://github.com/etalab/udata-front/pull/259)
- Compute unavailability based on check:available instead of status logic [#267](https://github.com/etalab/udata-front/pull/267)
- Fix [dependabot/17](https://github.com/etalab/udata-front/security/dependabot/17) and [dependabot/18](https://github.com/etalab/udata-front/security/dependabot/18) [#264](https://github.com/etalab/udata-front/pull/264). These aren't udata-front vulnerabilities but only impact vite dev server (unused in `gouvfr` theme).
- Update DSFR to 1.9 [#249](https://github.com/etalab/udata-front/pull/249)
- Fix tab sequence on dataset page [#265](https://github.com/etalab/udata-front/pull/265)
- Fix button to show closed discussion [#253](https://github.com/etalab/udata-front/pull/253)
- Replace housing venti button by agricultural topic [#268](https://github.com/etalab/udata-front/pull/268)
- Fix header search [#269](https://github.com/etalab/udata-front/pull/269)
## 3.2.3 (2023-05-16)
> **Note** <br>
> This renames the `theme` root folder to `assets` and moves it inside gouvfr theme.
> This also updates most references of `udata_front/theme/gouvfr` theme to `*` to ease the usage of other themes.
- Move `theme` to `udata_front/theme/gouvfr`[#244](https://github.com/etalab/udata-front/pull/244) [#252](https://github.com/etalab/udata-front/pull/252)
- MonComptePro SSO integration [#237](https://github.com/etalab/udata-front/pull/237):
- New button on login and register page
- When loging in, the datastore will seek for a coresponding user on udata. If such user does not exist, she will be created.
- Created user during SSO will not have a password. To use the user without SSO, a password reset procedure must be used.
- Handle previous format of link to discussions, e.g. from e-mails [#241](https://github.com/etalab/udata-front/pull/241)
- Add `last_update` sort in datasets page [#242](https://github.com/etalab/udata-front/pull/242)
- Fix `.fr-btn` in `.markdown` [#243](https://github.com/etalab/udata-front/pull/243)
- Add Matomo event tracking [#246](https://github.com/etalab/udata-front/pull/246)
- New scope for Captchetat piste OAuth [#250](https://github.com/etalab/udata-front/pull/250)
- Use `datetime.utcnow` to make sure to handle utc datetimes [#251](https://github.com/etalab/udata-front/pull/251)
## 3.2.2 (2023-04-18)
- New organization page [#230](https://github.com/etalab/udata-front/pull/230)[#233](https://github.com/etalab/udata-front/pull/233)
- Update the login form after Flask-Security and WTForms upgrade [#224](https://github.com/etalab/udata-front/pull/224)
- Align reuse sidebar with image [#234](https://github.com/etalab/udata-front/pull/234)
- Show relative date on dataset and resource cards [#231](https://github.com/etalab/udata-front/pull/231)
- Add version in chunk file names for cache invalidation [#239](https://github.com/etalab/udata-front/pull/239)
- Fix RGAA criterion 8.9 [#174](https://github.com/etalab/udata-front/pull/174)
## 3.2.1 (2023-03-28)
- Front modifications to display resources schema url field [#220](https://github.com/etalab/udata-front/pull/220)
- Update ventti button url [#223](https://github.com/etalab/udata-front/pull/223)
- Dataset page fixes [#219](https://github.com/etalab/udata-front/pull/219) [#229](https://github.com/etalab/udata-front/pull/229)
- Fix "informations" throughout the repo [#218](https://github.com/etalab/udata-front/pull/218)
- fix RGAA criterion 9.3 [#222](https://github.com/etalab/udata-front/pull/222)
- New reuse page [#210](https://github.com/etalab/udata-front/pull/210)
- Fix [dependabot/10](https://github.com/etalab/udata-front/security/dependabot/10) [#228](https://github.com/etalab/udata-front/pull/228)
- Fix links color [#232](https://github.com/etalab/udata-front/pull/232)
## 3.2.0 (2023-03-07)
- Upgrading packages following Flask upgrade to 2.1.2 in udata [#207](https://github.com/etalab/udata-front/pull/207)
- Use feedgenerator for AtomFeed instead of Werkzeug deprecated helper
- `contextfunction` and `contextfilter` from Jinja is deprecated and replaced by `pass_context`
- Move `Flask-Themes2` dep from udata to udata-front and upgrade to 1.0.0
- Fix `@background-contrast-blue-cumulus` LESS variable [#217](https://github.com/etalab/udata-front/pull/217)
## 3.1.3 (2023-03-02)
> **Warning**
> Refactor of breadcrumb macro to be easier to use. `toolbar_class`, `breadcrum_class`, `toolbar_container` and `breadcrumb_bar` options are now removed.
> Refactor of dataset components names to match new sizes : XS (previously card), SM, MD, LG (previously search-result).
> `dataset.display.after-description` hook is now really after the description. Use new `dataset.display.after-files` hook for previous position.
- Make newsletter url configurable [#205](https://github.com/etalab/udata-front/pull/205)
- Show a warning notice when JavaScript is disabled or failed to execute [#206](https://github.com/etalab/udata-front/pull/206)
- Update lighthouse to fix security issues [#211](https://github.com/etalab/udata-front/pull/211)
- New dataset page [#181](https://github.com/etalab/udata-front/pull/181)
- Update vue-toaster dependency to avoid reported vulnerabilities [#215](https://github.com/etalab/udata-front/pull/215)
## 3.1.2 (2023-02-06)
- Use brand color for button style `tertiary-no-outline` [#199](https://github.com/etalab/udata-front/pull/199)
- Use computed dates for resources and datasets [#201](https://github.com/etalab/udata-front/pull/201)
- Fix setuptools version used in CI [#202](https://github.com/etalab/udata-front/pull/202)
- Move Pagination to `@etalab/udata-front-plugin-helpers` and add tests [#200](https://github.com/etalab/udata-front/pull/200)
## 3.1.1 (2023-01-20)
- Fix vanilla js scripts [#196](https://github.com/etalab/udata-front/pull/196)
- Remove useless published date in resource model [#198](https://github.com/etalab/udata-front/pull/198)
## 3.1.0 (2023-01-18)
> **Note** <br>
> This changes the build system from Parcel to Vite.
> This also adds a way for udata plugin to register their own vue components
> and to display them in places chosen by the current theme
- Add resource exploration preview [#169](https://github.com/etalab/udata-front/pull/169)[#180](https://github.com/etalab/udata-front/pull/180)[#183](https://github.com/etalab/udata-front/pull/183)
- Fix RGAA criterion 9.2 [#178](https://github.com/etalab/udata-front/pull/178)
- Add i18n on size suffix [#184](https://github.com/etalab/udata-front/pull/184)
- Add theme view for mail change [#192](https://github.com/etalab/udata-front/pull/192)
## 3.0.1 (2022-12-15)
- Fix Api Representation for media after CaptchEtat integration [#173](https://github.com/etalab/udata-front/pull/173)
- Add archived and private badges to dataset search results and update card style [#170](https://github.com/etalab/udata-front/pull/170)
- Fix banner links underlined twice [#171](https://github.com/etalab/udata-front/pull/171)
- Fix margins for dataset cards [#176](https://github.com/etalab/udata-front/pull/176)
- Fix text for datasets button in org page [#172](https://github.com/etalab/udata-front/pull/172)
- Add Portuguese translations [#167](https://github.com/etalab/udata-front/pull/167)
- Add email address to shared data on oauth authorize page [#175](https://github.com/etalab/udata-front/pull/175)
## 3.0.0 (2022-11-14)
- :warning: **Breaking change** Use and display harvest metadata introduced in udata 5 [#168](https://github.com/etalab/udata-front/pull/168)
- Improve search history [#162](https://github.com/etalab/udata-front/pull/162)
## 2.0.13 (2022-11-02)
- Switch from `Flask-restplus` to its fork `Flask-rest-x` [#165](https://github.com/etalab/udata-front/pull/165)
- Add CaptchEtat integration [#159](https://github.com/etalab/udata-front/pull/159)
- new environment variables : CAPTCHETAT_BASE_URL, CAPTCHETAT_OAUTH_BASE_URL, CAPTCHETAT_CLIENT_ID and CAPTCHETAT_CLIENT_SECRET
- Fix lighthouse reported errors [#158](https://github.com/etalab/udata-front/pull/158)
## 2.0.12 (2022-10-19)
- Fix i18n errors for `/es` [#156](https://github.com/etalab/udata-front/pull/156)
- Update API card [#160](https://github.com/etalab/udata-front/pull/160)
- Create new search results component [#157](https://github.com/etalab/udata-front/pull/157)
- Remove quality score banner [#163](https://github.com/etalab/udata-front/pull/163)
- Add energy on home venti button [#164](https://github.com/etalab/udata-front/pull/164)
- Cache behavior changes [#154](https://github.com/etalab/udata-front/pull/154):
- Organization and Reuse display page are now cached.
- Cache keys now embed the `last_modified` object attribute. This automatically invalidates the cache when modifying the object.
## 2.0.11 (2022-09-02)
- Fix discussions text wrap [#145](https://github.com/etalab/udata-front/pull/145)
- Update Venti buttons [#146](https://github.com/etalab/udata-front/pull/146)
- :warning: @blue-470 and @blue-500 are removed
- Fix z-index value in dataset search-result template [#153](https://github.com/etalab/udata-front/pull/153) [#155](https://github.com/etalab/udata-front/pull/155)
- Fix RGAA criterion 8.2 [#147](https://github.com/etalab/udata-front/pull/147)
## 2.0.10 (2022-08-11)
- Fix dataset search result link to organization [#150](https://github.com/etalab/udata-front/pull/150)
## 2.0.9 (2022-08-10)
- Fix selected tag with wrong color [#149](https://github.com/etalab/udata-front/pull/149)
## 2.0.8 (2022-08-09)
- Add lighthouse in CircleCI [#108](https://github.com/etalab/udata-front/pull/108)
- Fix RGAA criterion 8.2 [#130](https://github.com/etalab/udata-front/pull/130)
- Add quality score [#135](https://github.com/etalab/udata-front/pull/135)
## 2.0.7 (2022-07-20)
- Fix window.dsfr.register error [#138](https://github.com/etalab/udata-front/pull/138)
- Fix featured toggle [#137](https://github.com/etalab/udata-front/pull/137)
- Iterate on search results and cards [#136](https://github.com/etalab/udata-front/pull/136)
## 2.0.6 (2022-07-08)
- Fix RGAA criterion 7.5 [#118](https://github.com/etalab/udata-front/pull/118)
- Remove map related stuff [#124](https://github.com/etalab/udata-front/pull/124)
- Fix clear button now shown on multiselect [#125](https://github.com/etalab/udata-front/pull/125)
- Add aria-current to breadcumbs [#121](https://github.com/etalab/udata-front/pull/121)
- Add missing default og:image [#127](https://github.com/etalab/udata-front/pull/127)
- Fix 500 on favicon in admin [#126](https://github.com/etalab/udata-front/pull/126)
- Update search results [#110](https://github.com/etalab/udata-front/pull/110) [#134](https://github.com/etalab/udata-front/pull/134)
- Fix test error with long reuse title [#133](https://github.com/etalab/udata-front/pull/133)
- Removed manifest logic [#129](https://github.com/etalab/udata-front/pull/129)
## 2.0.5 (2022-06-14)
- Add new menu items and change edito pages slug [#113](https://github.com/etalab/udata-front/pull/113) [#120](https://github.com/etalab/udata-front/pull/120)
- Replace news by release notes in footer [#117](https://github.com/etalab/udata-front/pull/117)
- Use DSFR container and remove custom ones [#111](https://github.com/etalab/udata-front/pull/111)
## 2.0.4 (2022-06-09)
- Add accessibility compliance status in footer [#114](https://github.com/etalab/udata-front/pull/114)
- Fix SVG display issue [#116](https://github.com/etalab/udata-front/pull/116)
## 2.0.3 (2022-06-03)
- Update search pages [#95](https://github.com/etalab/udata-front/pull/95)
- Add support for HTML in posts [#106](https://github.com/etalab/udata-front/pull/106)
- Fix RGAA criterion 1.1 [#104](https://github.com/etalab/udata-front/pull/104)
- Fix RGAA criterion 10.4 [#103](https://github.com/etalab/udata-front/pull/103)
- Add geographical page on home venti button [#109](https://github.com/etalab/udata-front/pull/109)
- Fix RGAA criterion 11.10 [#102](https://github.com/etalab/udata-front/pull/102)
- Update DSFR to 1.5.1 [#107](https://github.com/etalab/udata-front/pull/107)
- :warning: SVG in JS must use `bundle-text:` prefix now
## 2.0.2 (2022-04-11)
- Add harvest catalog view [#100](https://github.com/etalab/udata-front/pull/100)
- Add elections on home venti button [#101](https://github.com/etalab/udata-front/pull/101)
## 2.0.1 (2022-04-05)
- Add support for HTML static pages and more DSFR components [#96](https://github.com/etalab/udata-front/pull/96)
- Fix mobile bugs after header changes [#99](https://github.com/etalab/udata-front/pull/99)
- Fix organizationCertified error when organization is null [#98](https://github.com/etalab/udata-front/pull/98)
## 2.0.0 (2022-03-30)
### Breaking change
- :warning: Use refactored search endpoints from udata [#60](https://github.com/etalab/udata-front/pull/60)
## 1.2.5 (2022-03-29)
- Add a transport banner hook [#94](https://github.com/etalab/udata-front/pull/94)
- Add button on organization page to see all of its datasets [#93](https://github.com/etalab/udata-front/pull/93)
- Format home page numbers [#90](https://github.com/etalab/udata-front/pull/90)
- Let browsers decide what cursor to use [#89](https://github.com/etalab/udata-front/pull/89)
- Replace see more button on home page with link [#91](https://github.com/etalab/udata-front/pull/91)
- Replace Suggest with accessible combobox [#88](https://github.com/etalab/udata-front/pull/88)
## 1.2.4 (2022-03-01)
- **Deprecation**: Topics are now deprecated and will be removed in upcoming releases.
- Fix `<read-more>` component height when it contains `<img>` [#65](https://github.com/etalab/udata-front/pull/65) [#85](https://github.com/etalab/udata-front/pull/85)
- Add featured button component back for sysadmin [#79](https://github.com/etalab/udata-front/pull/79)
- Update reuse style [#52](https://github.com/etalab/udata-front/pull/52) [#81](https://github.com/etalab/udata-front/pull/81)
- Add banner to broken user page [#76](https://github.com/etalab/udata-front/pull/76)
- :warning: Button changes [#75](https://github.com/etalab/udata-front/pull/75)
- Remove underline from button hover
- `.btn`, `.btn-secondary` and `.btn-secondary` are removed. Use DSFR and `.fr-btn--secondary-{color}` instead.
- `.tags` and `.tag` are removed. Use DSFR ones instead.
- `.dropdown` is removed. Use DSFR select instead.
- Fix duplicate request on dataset search [#70](https://github.com/etalab/udata-front/pull/70) [86](https://github.com/etalab/udata-front/pull/86)
- Add banner for harvested dataset [#73](https://github.com/etalab/udata-front/pull/73)
- Change github footer link to the tickets repository [#80](https://github.com/etalab/udata-front/pull/80)
- Remove banner for the new search beta on datasets search page [#83](https://github.com/etalab/udata-front/pull/83)
- Fix RGAA criterion 7.3 [#82](https://github.com/etalab/udata-front/pull/82)
- Use avatar_url for owner [#84](https://github.com/etalab/udata-front/pull/84)
- Update resources style [#78](https://github.com/etalab/udata-front/pull/78)
## 1.2.3 (2022-01-27)
- Fix modals not working [#71](https://github.com/etalab/udata-front/pull/71)
- Fix auth messages not shown from query parameter [#68](https://github.com/etalab/udata-front/pull/68)
- Fix RGAA criterion 10.14 [#72](https://github.com/etalab/udata-front/pull/72)
- Fix thread header wrapped when title is too long [#64](https://github.com/etalab/udata-front/pull/64)
## 1.2.2 (2022-01-21)
- Fix latest modification date for dataset and resources on dataset page [#62](https://github.com/etalab/udata-front/pull/62)
- Fix hidden datasets shown on Home and Reuses [#67](https://github.com/etalab/udata-front/pull/67)
- Add temporal coverage back to dataset page [#63](https://github.com/etalab/udata-front/pull/63)
- :warning: @bg-beige is remove, use @background-contrast-grey instead
- Update colors to fix accessibility issues [#56](https://github.com/etalab/udata-front/pull/56)
- Fix missing checkbox using DSFR checkboxes [#69](https://github.com/etalab/udata-front/pull/69)
## 1.2.1 (2022-01-11)
- Change urls in Participate banner to relevant etalab guides [#53](https://github.com/etalab/udata-front/pull/53)
- Add topic information on reuse metadata and add a filter by topic on reuse search page [#50](https://github.com/etalab/udata-front/pull/50)
- Update DSFR to v1.2.1 [#45](https://github.com/etalab/udata-front/pull/45)
- :warning: `.btn-tab` is removed, use `.fr-tag` instead [57](https://github.com/etalab/udata-front/pull/57)
## 1.2.0 (2021-12-10)
- Add a banner for the new search beta on datasets search page [#43](https://github.com/etalab/udata-front/pull/43)
- :warning: Remove Issues logic in accordance with udata [#42](https://github.com/etalab/udata-front/pull/42)
- :warning: @grey-100 is now `#e5e5e5`
- Standardize organization page similar to dataset and reuse pages [#40](https://github.com/etalab/udata-front/pull/40)
- Fix RGAA criterion 10.7 Each element focusable has a visible focus [#46](https://github.com/etalab/udata-front/pull/46)
- Fix Stylemark generation to include JS files and properly include other assets [#33](https://github.com/etalab/udata-front/pull/33)
- Redirect about page to "ressources" page in menu [#48](https://github.com/etalab/udata-front/pull/48)
- Standardize article discussions and quick fixes to discussions [#41](https://github.com/etalab/udata-front/pull/41) [#51](https://github.com/etalab/udata-front/pull/51)
- Fix error on search request cancelation [#44](https://github.com/etalab/udata-front/pull/44)
## 1.1.2 (2021-11-23)
- Standardize reuse page similar to dataset page navigation quickfixes [#31](https://github.com/etalab/udata-front/pull/31)
- Move template hook logic to udata and add oauth hooks [#29](https://github.com/etalab/udata-front/pull/29)
- Add resources pagination dataset page and use DSFR pagination [#30](https://github.com/etalab/udata-front/pull/30) [#37](https://github.com/etalab/udata-front/pull/37)
- Style oauth page [#34](https://github.com/etalab/udata-front/pull/34)
- Fix horizontal scroll on mobile [#38](https://github.com/etalab/udata-front/pull/38)
- Fix gouvfr static path [#39](https://github.com/etalab/udata-front/pull/39)
## 1.1.1 (2021-10-22)
- Update README to reflect front changes [#17](https://github.com/etalab/udata-front/pull/17)
- Add Participate banner in the footer [#24](https://github.com/etalab/udata-front/pull/24)
- Fix min-height used in posts images to center them [#23](https://github.com/etalab/udata-front/pull/23)
- Update dataset page with navigation quickfixes and add DSFR components [#18](https://github.com/etalab/udata-front/pull/18)
- Implement feedbacks on quickfixes [#26](https://github.com/etalab/udata-front/pull/26)
## 1.1.0 (2021-10-12)
- Add Cypress front-end tests stub [#9](https://github.com/etalab/udata-front/pull/9)
- Add read only mode back on frontend [#10](https://github.com/etalab/udata-front/pull/10)
- Fix RGAA criterion 1.2 Each decorative image is ignored by assistive technologies. [#13](https://github.com/etalab/udata-front/pull/13)
- Add a request membership action on organization page [#12](https://github.com/etalab/udata-front/pull/12)
- Unset vue delimiters used in html templates to prevent injections [#11](https://github.com/etalab/udata-front/pull/11)
- Fix temporal coverage order in search results metadata [#14](https://github.com/etalab/udata-front/pull/14)
- VueJS multiple mount points with a global event bus [#15](https://github.com/etalab/udata-front/pull/15) [#19](https://github.com/etalab/udata-front/pull/19)
- Fix RGAA criterion 12.6 Block of contents from multiple pages can be reached or skipped [#21](https://github.com/etalab/udata-front/pull/21)
## 1.0.0 (2021-09-16)
- :warning: **breaking change**: Package renaming and new repository [#1](https://github.com/etalab/udata-front/pull/1):
- udata-gouvfr is now udata-front
- Update feedparser following setuptools 58.0.2 release that drops support for `use_2to3` [#6](https://github.com/etalab/udata-front/pull/6)
- Show correct number of latest reuses on homepage [#3](https://github.com/etalab/udata-front/pull/3)
- Fix next value on login to prevent infinite loop [#4](https://github.com/etalab/udata-front/pull/4) [#8](https://github.com/etalab/udata-front/pull/8)
## Previous udata-gouvfr changelog
If you're migrating from udata-gouvfr, see previous changelog [here](https://github.com/etalab/udata-gouvfr/blob/master/CHANGELOG.md)
Raw data
{
"_id": null,
"home_page": "https://github.com/datagouv/udata-front",
"name": "udata-front",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "udata opendata portal etalab",
"author": "Etalab",
"author_email": "pypi@data.gouv.fr",
"download_url": null,
"platform": null,
"description": "<p align=\"center\">\n <img src=\"https://user-images.githubusercontent.com/60264344/134811326-27109632-f653-4025-9786-482824635994.png\">\n</p>\n<p align=\"center\">\n <i>Add a front-end to udata</i>\n <br>\n <br>\n <img src=\"https://img.shields.io/github/contributors/datagouv/udata-front\">\n <img src=\"https://img.shields.io/github/license/datagouv/udata-front\">\n <img src=\"https://img.shields.io/github/commit-activity/m/datagouv/udata-front\">\n</p>\n\n- [Notes on this repo](#notes-on-this-repo)\n- [Compatibility](#compatibility)\n- [Installation](#installation)\n- [Theme development](#theme-development)\n - [\ud83d\ude80 Getting started](#-getting-started)\n - [\ud83d\udc0d Python development](#-python-development)\n - [\ud83e\uddf1 Installing the python dependencies](#-installing-the-python-dependencies)\n - [\ud83d\udea9 Starting the python development server](#-starting-the-python-development-server)\n - [\u2615 Javascript development](#-javascript-development)\n - [\ud83c\udfd7 Installing the javascript dependencies](#-installing-the-javascript-dependencies)\n - [\ud83d\udcaa Starting the javascript development server](#-starting-the-javascript-development-server)\n - [\ud83d\udce6 @datagouv/components](#-datagouvcomponents)\n - [\ud83d\udc40 Other dev commands](#-other-dev-commands)\n - [\ud83c\udff0 General architecture](#-general-architecture)\n - [\ud83d\ude9c Jinja2 templates](#-jinja2-templates)\n - [\ud83d\udeb2 Javascript](#-javascript)\n - [\ud83d\uddbc\ufe0f Style](#\ufe0f-style)\n - [\ud83d\udee0\ufe0f Build tools](#\ufe0f-build-tools)\n - [\ud83c\udfed Javascript architecture](#-javascript-architecture)\n - [\ud83c\udfd4\ufe0f Vue mounting](#\ufe0f-vue-mounting)\n - [\ud83d\udc69\u200d\ud83d\udd2c Tests](#-tests)\n- [\ud83d\udcd6 Read more](#-read-more)\n\n## Notes on this repo\n\nThis is a new version of [udata-gouvfr](https://github.com/etalab/udata-gouvfr)\nThis is a [udata][] extension, you should read the [udata documentation][udata-doc] first.\n\n## Compatibility\n\n**udata-front** requires Python 3.7+ and [udata][].\n\n\n## Installation\n\nInstall [udata][].\n\nRemain in the same Python virtual environment\nand install **udata-front**:\n\n```shell\npip install udata-front\n```\n\nCreate a local configuration file `udata.cfg` in your **udata** directory\n(or where your UDATA_SETTINGS point out) or modify an existing one as following:\n\n```python\nPLUGINS = ['front']\nTHEME = 'gouvfr'\n```\n\n## Theme development\n\nThe front-end theme for the public facing website, is split into two parts :\n- The [Jinja](https://jinja.palletsprojects.com/en/2.11.x/) templates are located inside `udata_front/theme/gouvfr/templates`.\n- The [Less](https://lesscss.org/), [Vue](https://vuejs.org) & other sourcefiles for the front-end are located in `theme`.\n\n### \ud83d\ude80 Getting started\n\nBefore you start your developper journey, you have to setup your python and/or javascript development tools.\n\nIt is recommended to have a workspace with the following layout:\n\n```shell\n$WORKSPACE\n\u251c\u2500\u2500 fs\n\u251c\u2500\u2500 udata\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ...\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 setup.py\n\u251c\u2500\u2500 udata-front\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 ...\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 setup.py\n\u2514\u2500\u2500 udata.cfg\n```\n\nModify your local `udata.cfg` configuration file as following:\n\n```python\nPLUGINS = ['front']\nTHEME = 'gouvfr'\n```\n\n#### \ud83d\udc0d Python development\n\n##### \ud83e\uddf1 Installing the python dependencies\n\nPrepare a [udata development environment][udata-develop].\n\nNote that we're using [pip-tools][udata-deps] on this repository too.\n\nThe following steps use the same Python virtual environment as `udata`.\n\nInstall `udata-front` in development mode:\n\n```shell\ncd udata-front\npre-commit install\npip install -e . -r requirements/test.pip -r requirements/develop.pip\n```\n\n> NB: the `udata.(in|pip)` files are used by the CI to stay in sync with `udata` requirements. You shouldn't need to tinker with them on your local environment, but they might be updated by the CI when you make a Pull Request.\n\n> WARNING: if you experience requirements conflicts, and some dependencies were changed on [udata](https://github.com/opendatateam/udata), the `udata.pip` might need to be manually recompiled locally:\n\n ```shell\n pip-compile requirements/udata.in --output-file=requirements/udata.pip\n ```\n\n##### \ud83d\udea9 Starting the python development server\n\nSimply run the udata project with udata-front loaded as a plugin:\n\n```shell\ncd udata\ninv serve\n```\n\n#### \u2615 Javascript development\n\n##### \ud83c\udfd7 Installing the javascript dependencies\n\nFirst, you need to use [Node](https://nodejs.org/) (version 16+) on your platform. You should consider [installing NVM](https://github.com/creationix/nvm#installation) which uses the existing .nvmrc.\n\n```shell\ncd udata-front\n\nnvm install\nnvm use\n\nnpm install\n```\n\nAnd voil\u00e0 ! \u2728\n\n##### \ud83c\udd95 Start the storybook server\n\nIf you want to work on Vue or Less files, you can start the storybook server with this command :\n\n```shell\nnpm run storybook\n```\n\nIt allows you to work on the front-end only and even [mocks the back-end responses](https://github.com/mswjs/msw-storybook-addon).\n\nYou can visit their website to [learn more about storybook](https://storybook.js.org/docs/vue/get-started/why-storybook) and [how to use it](https://storybook.js.org/docs/vue/writing-stories/introduction).\n\n##### \ud83d\udcaa Starting the javascript development server\n\nSimply run this command in the project directory :\n\n```shell\nnpm start\n```\n\nThis will start a development server that will listen to changes and automatically rebuild the project when needed.\nNote that a webserver is started by Vite (default port is `1234`), however we will not be using it as our CSS and JS files will be served by Jinja instead. More on that later.\n\n##### \ud83d\udce6 @datagouv/components\n\nWe are using our own package of components. Their sources are in this repository in `udata_front/theme/gouvfr/datagouv-components`. They are included in udata-front without any build or release required. They are also available [on NPM](https://www.npmjs.com/package/@datagouv/components) for others to use.\n\n#### \ud83d\udc40 Other dev commands\n\nFinally, we have a bunch of commands to make your life a tad easier.\n\nYou can execute `udata-front` specific tasks from the `udata-front` directory with `invoke`. You can list available development commands with:\n\n```shell\ninv -l\n```\n\nExample commands:\n- `i18n`: Extract translatable strings\n- `i18nc`: Compile translations\n- `qa`: Run a quality report\n- `test`: Run tests suite\n\nAdditionally, you can run javascript-related commands through `npm run`.\n\n- `build`: Builds the final CSS/JS files. You should probably use this one in production.\n- `i18n:report`: Generates a report of the i18n missing and unused keys\n- `i18n:extract`: Same as above, but also automatically adds missing keys to translation files\n- `start`: Get to coding with live reload and things. Same as `npm run dev`\n- `test`: Runs the Cypress tests. More on that in the [Tests section](#-tests) of this README.\n\nIf you encounter any merge conflict with your package-lock.json, you can fix it with NPM:\n\n```shell\nnpm install --package-lock-only\n```\n\n### \ud83c\udff0 General architecture\n\n#### \ud83d\ude9c Jinja2 templates\n\nBecause [udata][] is written in Python, its templating engine is Jinja 2.\nThis means that the HTML received by clients is built at runtime, for each request, using templates with `{% block %}` tags and includes.\n\nThose template are responsible for building the pages using layouts and blocks. Here are a few to get started (in `udata_front/theme/gouvfr/templates`), from less specific to more specific :\n\n- `raw.html` : contains the general html structure exposing a `body` block where we can write our page's body. This template is also responsible for including the CSS and JS files.\n- `base.html` : contains some extra html structure exposing a `content` block for our page's content, and wraps it around the header and footer.\n- `header.html` and `footer.html` : standard header and footer block that will appear on each page\n- `home.html`: the home page template (duh)\n\n#### \ud83d\udeb2 Javascript\n\nIn order to add some interactivity to the project, we are using [Vue 3](https://v3.vuejs.org/api/) and some good old VanillaJS.\nThe JS assets are compiled in a single `index.js` file that includes everything for every page. If the bundle size starts to grow a little bit too much, you might need to think about splitting it into separate files for each page.\n\n#### \ud83d\uddbc\ufe0f Style\n\nWe are using the [DSFR](https://github.com/GouvernementFR/dsfr) to build our front-end components.\n\nIn addition we have a nice litle set of CSS Utilities to quickly build custom components, inspired by bootstrap, most of its documentation\nlives in the css located in `theme/less/`.\n\nWhenever a components needs some special styling, you can find their corresponding definitions inside `theme/less/specific/<component>`,\nit's best if we can avoid having too much specific styling, but sometimes you just really need it.\n\n### \ud83d\udee0\ufe0f Build tools\n\nThis project uses [Vite](https://vitejs.dev/) to build and transform our source files into nice bundles for browsers.\nIts config can be found in the `vite.config.ts` file.\n\nVile does multiple custom things in this project :\n\n- Transform the `.ts` files into modern Javascript for browsers\n- Transform the `less` files into modern CSS using `PostCSS`\n- Copy the static assets when they change (config is in the `vite.config.ts`)\n\nVite uses `udata_front.egg-info/PKG-INFO` version to name files and udata-front uses its version to load the correct one.\nIf you're udata-front version doesn't match the one loaded in the theme, you may have to do a `pip install -e .` to update the package information.\n\n### \ud83c\udfed Javascript architecture\n\n#### \ud83c\udfd4\ufe0f Vue mounting\n\nWe are using the full build of VueJS that includes the compiler in order to compile templates directly in the browser.\n\nThere is a single VueJS app (in `index.ts`) that contains every component and plugins.\nHowever, this app is mounted multiple times, on each DOM node containing a `vuejs` class.\n\nThis allows us to mount the app only where it's needed, because each subsequent mount is more DOM to compile and thus has an impact on performance. Moreover, mounting to the smallest possible HTML allows us to prevent accidental XSS vulnerability by forbidding users to compile their content with the Vue engine.\n\nIn order to allow inter-component communication, a global event bus is available in the global app, under the `$bus` variable.\nYou can emit events by using `$bus.emit('event')` and components can listen to events by using `$bus.on('event')`.\n\n#### \ud83d\udc69\u200d\ud83d\udd2c Tests\n\nTests are run in a headless browser using [Cypress](https://github.com/cypress-io/cypress). Test definitions are located in the `cypress/integration` directory.\n\nWriting tests is very easy thanks to its syntax :\n\n```js\n it(\"Displays the page title\", () => {\n cy.get(\"h1\").should(\"be.visible\");\n });\n```\n\nTo run the Cypress tests, you need a few things:\n\n- A `cypress/udata-front-e2e.cfg` file:\n\n```shell\ncp cypress/udata-front-e2e.cfg.example cypress/udata-front-e2e.cfg\n```\n\n- Some loaded fixtures needed by the end-to-end tests:\n\n```shell\nnpm run prepare-e2e\n```\n\n- A local webserver: in another terminal (still in the same Python virtual environment), run the following command in the same Python virtual environment as `udata`:\n\n```shell\nnpm run serve-e2e\n```\n\nThen, tests can be run using the following command:\n\n```shell\nnpm run test\n```\n\nCypress also comes with [cypress-axe](https://github.com/component-driven/cypress-axe) to allow for accessibility automated testing.\n\n[udata]: https://github.com/opendatateam/udata\n[udata-doc]: http://udata.readthedocs.io/en/stable/\n[udata-develop]: http://udata.readthedocs.io/en/stable/development-environment/\n[udata-deps]: https://udata.readthedocs.io/en/stable/development-environment/#dependency-management\n\n# Changelog\n\n## 6.0.1 (2024-11-13)\n\n- Fix missing closing <a> tag in contact form [#589](https://github.com/datagouv/udata-front/pull/589)\n- Fix breadcrumb link for dataservice page [#590](https://github.com/datagouv/udata-front/pull/590)\n- Remove truncate and excerpt helpers function and fix error with remove-markdown [#591](https://github.com/datagouv/udata-front/pull/591)\n- Add API menu item [#592](https://github.com/datagouv/udata-front/pull/592)\n\n## 6.0.0 (2024-11-07)\n\n- Add beta admin `dataservice` page [#558](https://github.com/datagouv/udata-front/pull/558)\n- Add Dataservice publishing form [#358](https://github.com/datagouv/udata-front/pull/559)\n- Add the me keyword to the rel attribute of the link to the user website [#571](https://github.com/datagouv/udata-front/pull/571)\n- Add dataservice access banner [#573](https://github.com/datagouv/udata-front/pull/573)\n- Migrate organization badges label to lowercase [#577](https://github.com/datagouv/udata-front/pull/577)\n- Use Dataservice search [#565](https://github.com/datagouv/udata-front/pull/565)\n- Add organization type filter to dataset search [#579](https://github.com/datagouv/udata-front/pull/579)\n- Fix Reuse tests [#580](https://github.com/datagouv/udata-front/pull/580)\n- Rename private to draft [#572](https://github.com/datagouv/udata-front/pull/572) [#583](https://github.com/datagouv/udata-front/pull/583)\n\n## 5.2.4 (2024-10-22)\n\n- Paginate datasets in dataservice display [#560](https://github.com/datagouv/udata-front/pull/560) [#568](https://github.com/datagouv/udata-front/pull/568)\n- Beta admin adjustments [#557](https://github.com/datagouv/udata-front/pull/557)\n- Fix schema tooltip position [#561](https://github.com/datagouv/udata-front/pull/561)\n- Add Parquet file url in download tab [#563](https://github.com/datagouv/udata-front/pull/563)\n\n## 5.2.3 (2024-10-08)\n\n- Adapt to discussion csv export refactor [#543](https://github.com/datagouv/udata-front/pull/543)\n- Add beta admin discussion page [#539](https://github.com/datagouv/udata-front/pull/539)\n- Add beta admin harvester page [#547](https://github.com/datagouv/udata-front/pull/547)\n- Update beta admin members page [#544](https://github.com/datagouv/udata-front/pull/544)\n- Fix Beta admin profile page [#546](https://github.com/datagouv/udata-front/pull/546)\n- Add beta admin user's datasets page [#549](https://github.com/datagouv/udata-front/pull/549)\n- Add beta admin user's reuses page [#550](https://github.com/datagouv/udata-front/pull/550)\n- Add beta admin community resources page [#551](https://github.com/datagouv/udata-front/pull/551)\n- Display contact point contact form [#555](https://github.com/datagouv/udata-front/pull/555)\n- Use created_at date in reuse card [#556](https://github.com/datagouv/udata-front/pull/556)\n\n## 5.2.2 (2024-09-23)\n\n- Fix translations not shown [#541](https://github.com/datagouv/udata-front/pull/541)\n\n## 5.2.1 (2024-09-23)\n\n- Add index page with search for dataservices [#516](https://github.com/datagouv/udata-front/pull/516)\n- Add beta admin datasets page [#371](https://github.com/etalab/udata-front/pull/371)\n- Redirect to forum on no search results /!\\ set the `DATA_SEARCH_FEEDBACK_FORM_URL` to the forum [#526](https://github.com/datagouv/udata-front/pull/526)\n- Update proconnect button and link [#530](https://github.com/datagouv/udata-front/pull/530)\n- Fix scroll to resource [#531](https://github.com/datagouv/udata-front/pull/531)\n- Add beta admin reuses page [#527](https://github.com/datagouv/udata-front/pull/527) [#537](https://github.com/datagouv/udata-front/pull/537)\n- Fix schema filter [#532](https://github.com/datagouv/udata-front/pull/532)\n\n## 5.2.0 (2024-09-13)\n\n- add dataservices to dataset page [#476](https://github.com/datagouv/udata-front/pull/476)\n- show contact point in dataset and dataservice page [#479](https://github.com/datagouv/udata-front/pull/479)\n- add email, member since and last login at to org members table [#480](https://github.com/datagouv/udata-front/pull/480)\n- always show authorization_request_url if present (even on open API) [#481](https://github.com/datagouv/udata-front/pull/481)\n- Show organization type [#472](https://github.com/datagouv/udata-front/pull/472)\n- show permalink for community resources [#486](https://github.com/datagouv/udata-front/pull/486)\n- update sentry configuration [#498](https://github.com/datagouv/udata-front/pull/498)\n- update DSFR to v1.11 [#502](https://github.com/datagouv/udata-front/pull/502) [#506](https://github.com/datagouv/udata-front/pull/506)\n- Replace the \"MonComptePro\" SSO login button with a \"ProConnect\" button [#482](https://github.com/datagouv/udata-front/pull/482)\n This needs the `PROCONNECT_*` related settings in `settings.py`, and an active [ProConnect flow](https://github.com/numerique-gouv/agentconnect-documentation/blob/main/doc_fs/implementation_technique.md)\n- update/remove code following the datagouv/components update [#507](https://github.com/datagouv/udata-front/pull/507) [#513](https://github.com/datagouv/udata-front/pull/513)\n- When disconnecting from udata, first disconnect from ProConnect if relevant [#504](https://github.com/datagouv/udata-front/pull/504)\n- update privacy policy [#510](https://github.com/datagouv/udata-front/pull/510)\n\n## 5.1.2 (2024-08-01)\n\n- update dependencies following updated dependencies on udata [#470](https://github.com/datagouv/udata-front/pull/470)\n- update `@datagouv/components` and `vue-i18n` and fix report translation [#471](https://github.com/datagouv/udata-front/pull/471)\n\n## 5.1.0 (2024-07-30)\n\n- Add organization edit to new admin [#412](https://github.com/datagouv/udata-front/pull/412)\n- Fix markdown tables and use DSFR ones [#432](https://github.com/datagouv/udata-front/pull/432)\n- Add organization selector to dataset publishing [#438](https://github.com/datagouv/udata-front/pull/438)\n- Add beta admin \"add member\" modale [#442](https://github.com/etalab/udata-front/pull/442)\n- Update dependencies from udata [#448](https://github.com/datagouv/udata-front/pull/448) [#454](https://github.com/datagouv/udata-front/pull/454)\n- Add new dataset card [#445](https://github.com/datagouv/udata-front/pull/445)\n- Fix tests for oembed CORS [#453](https://github.com/datagouv/udata-front/pull/453)\n- Add reports [#436](https://github.com/datagouv/udata-front/pull/436)\n- Switch to @datagouv/components [#439](https://github.com/datagouv/udata-front/pull/439)\n- Update translations [#458](https://github.com/datagouv/udata-front/pull/458)\n- use @datagouv/components v1.1.1 [#462](https://github.com/datagouv/udata-front/pull/462)\n\n## 5.0.1 (2024-06-12)\n\n- Fix dataset card link opening another tab [#426](https://github.com/datagouv/udata-front/pull/426)\n- Use roadmap page instead of deprecated nouveautes in footer [#429](https://github.com/datagouv/udata-front/pull/429)\n- Add elections as featured topic [#430](https://github.com/datagouv/udata-front/pull/430)\n\n## 5.0.0 (2024-06-07)\n\n- Switch MAAF backend to new sync harvest system [#409](https://github.com/datagouv/udata-front/pull/409)\n- Add dataservice show page [#420](https://github.com/datagouv/udata-front/pull/420) [#424](https://github.com/datagouv/udata-front/pull/424)\n- Improve design of the OrganizationSearch component [#410](https://github.com/datagouv/udata-front/pull/410)\n- Add button to remove user without sending email [#418](https://github.com/datagouv/udata-front/pull/418)\n- Fix display not showing in Multiselect for multi options [#416](https://github.com/datagouv/udata-front/pull/416)\n- Fix dataset publishing form [#417](https://github.com/datagouv/udata-front/pull/417)\n\n## 4.0.3 (2024-05-28)\n\n- Add Organization publishing form [#358](https://github.com/datagouv/udata-front/pull/358)\n- Fix an error that blocks datasets search filters reset [#402](https://github.com/datagouv/udata-front/pull/402)\n- Componentize dataset card [#397](https://github.com/datagouv/udata-front/pull/397)\n- Use udata schema endpoint [#336](https://github.com/etalab/udata-front/pull/336)\n\n## 4.0.2 (2024-04-26)\n\n- Update footer [#405](https://github.com/datagouv/udata-front/pull/405)\n\n## 4.0.1 (2024-04-26)\n\n- Update footer\n\n## 4.0.0 (2024-04-23)\n\n- **breaking change** Migrate to Python 3.11 [#376](https://github.com/etalab/udata-front/pull/376)\n- Fix api urls locked on dev.data.gouv.fr [#401](https://github.com/datagouv/udata-front/pull/401)\n\n## 3.5.5 (2024-04-16)\n\n- Add beta admin member page [#374](https://github.com/etalab/udata-front/pull/374)\n- Move Pagination to datagouv-components [#365](https://github.com/etalab/udata-front/pull/365)\n- Add stories to Resource component [#364](https://github.com/etalab/udata-front/pull/364)\n- Move Well to datagouv-components [#382](https://github.com/etalab/udata-front/pull/382)\n- Add markdown editor [#351](https://github.com/etalab/udata-front/pull/351)\n- Componentize quality component [#385](https://github.com/etalab/udata-front/pull/385)\n- Add codes and optgroups in Multiselect to display Insee codes and Licence groups [#347] (https://github.com/etalab/udata-front/pull/347)\n- Fix datastructure display in ResourceAccordion [#389](https://github.com/etalab/udata-front/pull/389)\n- Order Organization's reuses by publishing date [#390](https://github.com/etalab/udata-front/pull/390)\n- Upgrade vue dependency [#386](https://github.com/etalab/udata-front/pull/386)\n- Fix failing captchEtat responses [#392](https://github.com/etalab/udata-front/pull/392)\n- Fix release CI [#380](https://github.com/etalab/udata-front/pull/380) [#384](https://github.com/etalab/udata-front/pull/384)\n- Update constants imports from `.models` to `.constants` [#375](https://github.com/etalab/udata-front/pull/375)\n- Fix rename of VisibleDatasetFactory [#387](https://github.com/etalab/udata-front/pull/387)\n- Add beta admin member page [#374](https://github.com/etalab/udata-front/pull/374)\n- Add Administration Panel to datagouv-components [#378] (https://github.com/etalab/udata-front/pull/378)\n\n## 3.5.4 (2024-03-20)\n\n- Fix footer links and some translations [#366](https://github.com/etalab/udata-front/pull/366)\n- Show error when dataset discussion from url doesn't exist [#367](https://github.com/etalab/udata-front/pull/367)\n- Hide quality score on \"work in progress\" backends [#370](https://github.com/etalab/udata-front/pull/370)\n- Add a new vite config for development [#372](https://github.com/etalab/udata-front/pull/372)\n- Fix structure tab not shown [#369](https://github.com/etalab/udata-front/pull/369)\n- Update sentry configuration to ignore aborted requests [#368](https://github.com/etalab/udata-front/pull/368)\n- Fix CI not using udata release when needed [#363](https://github.com/etalab/udata-front/pull/363)\n\n## 3.5.3 (2024-02-22)\n\n- Show a map of datasets' spatial coverage [#354](https://github.com/etalab/udata-front/pull/354)\n- Fix redirect user to auth page [#357](https://github.com/etalab/udata-front/pull/357)\n- Fix tests factories for `HarvestSource`, `backend` is now required [udata#2962](https://github.com/opendatateam/udata/pull/2962)\n- Fix schema is not longer a `dict` [#361](https://github.com/etalab/udata-front/pull/361) [udata#2949](https://github.com/opendatateam/udata/pull/2949)\n\n## 3.5.2 (2024-02-15)\n\n- Show a button to mark as no spam a discussion or a message [#352](https://github.com/etalab/udata-front/pull/352)\n\n## 3.5.1 (2024-02-05)\n\n- Fix vue runtime errors [#343](https://github.com/etalab/udata-front/pull/343)\n- New featured topic : agriculture [#344](https://github.com/etalab/udata-front/pull/344)\n- Create data.gouv.fr-components NPM package and move some `gouvfr` components to it [#324](https://github.com/etalab/udata-front/pull/324)[#350](https://github.com/etalab/udata-front/pull/350)\n- Setup storybook for data.gouv.fr-components [#346](https://github.com/etalab/udata-front/pull/346)\n\n## 3.5.0, 3.4.0 and 3.3.0 (2024-01-23)\n\n> **Important** <br>\n> These versions contain an invalid js build and are [yanked](https://pypi.org/help/#yanked) from pypi.\n> The update to the next version is mandatory to have a valid js build.\n\n- Fix dependencies according to udata's Flask-Babel migration [#300](https://github.com/etalab/udata-front/pull/300)\n- User pages are back [#338](https://github.com/etalab/udata-front/pull/338)\n\n## 3.2.12 (2023-12-15)\n\n- Fix support menu link [#335](https://github.com/etalab/udata-front/pull/335)\n\n## 3.2.11 (2023-12-08)\n\n- Remove parents, children, etc. from territory views [#328](https://github.com/etalab/udata-front/pull/328)\n- Add publishing form [#266](https://github.com/etalab/udata-front/pull/266) [dependabot/36](https://github.com/etalab/udata-front/security/dependabot/36) [#331](https://github.com/etalab/udata-front/pull/331)\n- New featured topics : culture and education [#332](https://github.com/etalab/udata-front/pull/332)\n- Fix territory sitemap [#334](https://github.com/etalab/udata-front/pull/334)\n- Add header-case to validation url [#333](https://github.com/etalab/udata-front/pull/333)\n\n## 3.2.10 (2023-12-01)\n\n- Ignore another ResizeObserver error [#321](https://github.com/etalab/udata-front/pull/321)\n- Fixed ol not appearing in descriptions [#322](https://github.com/etalab/udata-front/pull/322)\n- Fix copy discussion link [#323](https://github.com/etalab/udata-front/pull/323)\n- Add text-transform-none style and use lowercase k as unit [#325](https://github.com/etalab/udata-front/pull/325)\n\n## 3.2.9 (2023-11-21)\n\n- Update build dependencies [#309](https://github.com/etalab/udata-front/pull/309)\n- Add read-more to discussions [#310](https://github.com/etalab/udata-front/pull/310)\n- New footer with newsletter [#311](https://github.com/etalab/udata-front/pull/311) [#316](https://github.com/etalab/udata-front/pull/316)\n- Add metric components and hooks [#260](https://github.com/etalab/udata-front/pull/260) [#313](https://github.com/etalab/udata-front/pull/313) [#314](https://github.com/etalab/udata-front/pull/314)\n- Add raise_for_status on captchetat request [#318](https://github.com/etalab/udata-front/pull/318)\n\n## 3.2.8 (2023-10-26)\n\n- Add German translations files and French latest translations [#307](https://github.com/etalab/udata-front/pull/307)\n\n## 3.2.7 (2023-10-26)\n\n- Update testing dependencies [dependabot/30](https://github.com/etalab/udata-front/security/dependabot/30) [dependabot/22](https://github.com/etalab/udata-front/security/dependabot/22) [dependabot/23](https://github.com/etalab/udata-front/security/dependabot/23) [#297](https://github.com/etalab/udata-front/pull/297) [#298](https://github.com/etalab/udata-front/pull/298)\n- Fix translate links in footer [#301](https://github.com/etalab/udata-front/pull/301)\n- Track participez clicks [#302](https://github.com/etalab/udata-front/pull/302)\n- Fix datasets search on the organization page [#303](https://github.com/etalab/udata-front/pull/303)\n- Add discoverability indicator form [#304](https://github.com/etalab/udata-front/pull/304)\n\n## 3.2.6 (2023-09-01)\n\n- Add missing quality criterion (`all_resources_available`) [#287](https://github.com/etalab/udata-front/pull/287)\n- Replace linkedin link in footer [#292](https://github.com/etalab/udata-front/pull/292)\n- Use the word file instead of resource [#291](https://github.com/etalab/udata-front/pull/291)\n- Update certified icon [#288](https://github.com/etalab/udata-front/pull/288)\n- Add guides to the menu [#290](https://github.com/etalab/udata-front/pull/290)\n- Add resource permalink [#286](https://github.com/etalab/udata-front/pull/286) [#295](https://github.com/etalab/udata-front/pull/295)\n- Update read-more height on `details` toggle [#294](https://github.com/etalab/udata-front/pull/294)\n- Fix preview style discrepancies [#289](https://github.com/etalab/udata-front/pull/289)\n\n## 3.2.5 (2023-07-19)\n\n- Fix reuse page padding for discussions and reuses section [#270](https://github.com/etalab/udata-front/pull/270)\n- Fix dataset oembed links [#271](https://github.com/etalab/udata-front/pull/271)\n- Hide CaptchEtat icon loader [#272](https://github.com/etalab/udata-front/pull/272)\n- Update guide links [#276](https://github.com/etalab/udata-front/pull/276)\n- Redirect *pages* when missing trailing slash [#278](https://github.com/etalab/udata-front/pull/278)\n- Add feedback link to header and footer [#275](https://github.com/etalab/udata-front/pull/275)\n- Fix actions with scroll inside full-page tabs (e.g. dataset page) [#281](https://github.com/etalab/udata-front/pull/281)\n- Add data search form to search [#274](https://github.com/etalab/udata-front/pull/274)\n- Upgrade pyyaml dependency to 6.0.1 in deps tree [#283](https://github.com/etalab/udata-front/pull/283)\n- Set confirmed_at when creating user in MonComptePro auth [#284](https://github.com/etalab/udata-front/pull/284)\n\n## 3.2.4 (2023-06-19)\n\n- Fix word-wrap for dataset description [#254](https://github.com/etalab/udata-front/pull/254)\n- Fix `img` folder not copied [#255](https://github.com/etalab/udata-front/pull/255)\n- Add breadcrumbs to pages [#258](https://github.com/etalab/udata-front/pull/258)\n- Remove cache around dataset, reuse and organization modify button [#256](https://github.com/etalab/udata-front/pull/256)\n- Fix display temporal coverage on dataset page [#261](https://github.com/etalab/udata-front/pull/261)\n- Fix tooltip accessibility [#259](https://github.com/etalab/udata-front/pull/259)\n- Compute unavailability based on check:available instead of status logic [#267](https://github.com/etalab/udata-front/pull/267)\n- Fix [dependabot/17](https://github.com/etalab/udata-front/security/dependabot/17) and [dependabot/18](https://github.com/etalab/udata-front/security/dependabot/18) [#264](https://github.com/etalab/udata-front/pull/264). These aren't udata-front vulnerabilities but only impact vite dev server (unused in `gouvfr` theme).\n- Update DSFR to 1.9 [#249](https://github.com/etalab/udata-front/pull/249)\n- Fix tab sequence on dataset page [#265](https://github.com/etalab/udata-front/pull/265)\n- Fix button to show closed discussion [#253](https://github.com/etalab/udata-front/pull/253)\n- Replace housing venti button by agricultural topic [#268](https://github.com/etalab/udata-front/pull/268)\n- Fix header search [#269](https://github.com/etalab/udata-front/pull/269)\n\n## 3.2.3 (2023-05-16)\n\n> **Note** <br>\n> This renames the `theme` root folder to `assets` and moves it inside gouvfr theme.\n> This also updates most references of `udata_front/theme/gouvfr` theme to `*` to ease the usage of other themes.\n\n- Move `theme` to `udata_front/theme/gouvfr`[#244](https://github.com/etalab/udata-front/pull/244) [#252](https://github.com/etalab/udata-front/pull/252)\n- MonComptePro SSO integration [#237](https://github.com/etalab/udata-front/pull/237):\n - New button on login and register page\n - When loging in, the datastore will seek for a coresponding user on udata. If such user does not exist, she will be created.\n - Created user during SSO will not have a password. To use the user without SSO, a password reset procedure must be used.\n- Handle previous format of link to discussions, e.g. from e-mails [#241](https://github.com/etalab/udata-front/pull/241)\n- Add `last_update` sort in datasets page [#242](https://github.com/etalab/udata-front/pull/242)\n- Fix `.fr-btn` in `.markdown` [#243](https://github.com/etalab/udata-front/pull/243)\n- Add Matomo event tracking [#246](https://github.com/etalab/udata-front/pull/246)\n- New scope for Captchetat piste OAuth [#250](https://github.com/etalab/udata-front/pull/250)\n- Use `datetime.utcnow` to make sure to handle utc datetimes [#251](https://github.com/etalab/udata-front/pull/251)\n\n## 3.2.2 (2023-04-18)\n\n- New organization page [#230](https://github.com/etalab/udata-front/pull/230)[#233](https://github.com/etalab/udata-front/pull/233)\n- Update the login form after Flask-Security and WTForms upgrade [#224](https://github.com/etalab/udata-front/pull/224)\n- Align reuse sidebar with image [#234](https://github.com/etalab/udata-front/pull/234)\n- Show relative date on dataset and resource cards [#231](https://github.com/etalab/udata-front/pull/231)\n- Add version in chunk file names for cache invalidation [#239](https://github.com/etalab/udata-front/pull/239)\n- Fix RGAA criterion 8.9 [#174](https://github.com/etalab/udata-front/pull/174)\n\n## 3.2.1 (2023-03-28)\n\n- Front modifications to display resources schema url field [#220](https://github.com/etalab/udata-front/pull/220)\n- Update ventti button url [#223](https://github.com/etalab/udata-front/pull/223)\n- Dataset page fixes [#219](https://github.com/etalab/udata-front/pull/219) [#229](https://github.com/etalab/udata-front/pull/229)\n- Fix \"informations\" throughout the repo [#218](https://github.com/etalab/udata-front/pull/218)\n- fix RGAA criterion 9.3 [#222](https://github.com/etalab/udata-front/pull/222)\n- New reuse page [#210](https://github.com/etalab/udata-front/pull/210)\n- Fix [dependabot/10](https://github.com/etalab/udata-front/security/dependabot/10) [#228](https://github.com/etalab/udata-front/pull/228)\n- Fix links color [#232](https://github.com/etalab/udata-front/pull/232)\n\n## 3.2.0 (2023-03-07)\n\n- Upgrading packages following Flask upgrade to 2.1.2 in udata [#207](https://github.com/etalab/udata-front/pull/207)\n - Use feedgenerator for AtomFeed instead of Werkzeug deprecated helper\n - `contextfunction` and `contextfilter` from Jinja is deprecated and replaced by `pass_context`\n - Move `Flask-Themes2` dep from udata to udata-front and upgrade to 1.0.0\n- Fix `@background-contrast-blue-cumulus` LESS variable [#217](https://github.com/etalab/udata-front/pull/217)\n\n## 3.1.3 (2023-03-02)\n\n> **Warning**\n> Refactor of breadcrumb macro to be easier to use. `toolbar_class`, `breadcrum_class`, `toolbar_container` and `breadcrumb_bar` options are now removed.\n> Refactor of dataset components names to match new sizes : XS (previously card), SM, MD, LG (previously search-result).\n> `dataset.display.after-description` hook is now really after the description. Use new `dataset.display.after-files` hook for previous position.\n- Make newsletter url configurable [#205](https://github.com/etalab/udata-front/pull/205)\n- Show a warning notice when JavaScript is disabled or failed to execute [#206](https://github.com/etalab/udata-front/pull/206)\n- Update lighthouse to fix security issues [#211](https://github.com/etalab/udata-front/pull/211)\n- New dataset page [#181](https://github.com/etalab/udata-front/pull/181)\n- Update vue-toaster dependency to avoid reported vulnerabilities [#215](https://github.com/etalab/udata-front/pull/215)\n\n## 3.1.2 (2023-02-06)\n\n- Use brand color for button style `tertiary-no-outline` [#199](https://github.com/etalab/udata-front/pull/199)\n- Use computed dates for resources and datasets [#201](https://github.com/etalab/udata-front/pull/201)\n- Fix setuptools version used in CI [#202](https://github.com/etalab/udata-front/pull/202)\n- Move Pagination to `@etalab/udata-front-plugin-helpers` and add tests [#200](https://github.com/etalab/udata-front/pull/200)\n\n## 3.1.1 (2023-01-20)\n\n- Fix vanilla js scripts [#196](https://github.com/etalab/udata-front/pull/196)\n- Remove useless published date in resource model [#198](https://github.com/etalab/udata-front/pull/198)\n\n## 3.1.0 (2023-01-18)\n\n> **Note** <br>\n> This changes the build system from Parcel to Vite.\n> This also adds a way for udata plugin to register their own vue components\n> and to display them in places chosen by the current theme\n\n- Add resource exploration preview [#169](https://github.com/etalab/udata-front/pull/169)[#180](https://github.com/etalab/udata-front/pull/180)[#183](https://github.com/etalab/udata-front/pull/183)\n- Fix RGAA criterion 9.2 [#178](https://github.com/etalab/udata-front/pull/178)\n- Add i18n on size suffix [#184](https://github.com/etalab/udata-front/pull/184)\n- Add theme view for mail change [#192](https://github.com/etalab/udata-front/pull/192)\n\n## 3.0.1 (2022-12-15)\n\n- Fix Api Representation for media after CaptchEtat integration [#173](https://github.com/etalab/udata-front/pull/173)\n- Add archived and private badges to dataset search results and update card style [#170](https://github.com/etalab/udata-front/pull/170)\n- Fix banner links underlined twice [#171](https://github.com/etalab/udata-front/pull/171)\n- Fix margins for dataset cards [#176](https://github.com/etalab/udata-front/pull/176)\n- Fix text for datasets button in org page [#172](https://github.com/etalab/udata-front/pull/172)\n- Add Portuguese translations [#167](https://github.com/etalab/udata-front/pull/167)\n- Add email address to shared data on oauth authorize page [#175](https://github.com/etalab/udata-front/pull/175)\n\n## 3.0.0 (2022-11-14)\n\n- :warning: **Breaking change** Use and display harvest metadata introduced in udata 5 [#168](https://github.com/etalab/udata-front/pull/168)\n- Improve search history [#162](https://github.com/etalab/udata-front/pull/162)\n\n## 2.0.13 (2022-11-02)\n\n- Switch from `Flask-restplus` to its fork `Flask-rest-x` [#165](https://github.com/etalab/udata-front/pull/165)\n- Add CaptchEtat integration [#159](https://github.com/etalab/udata-front/pull/159)\n - new environment variables : CAPTCHETAT_BASE_URL, CAPTCHETAT_OAUTH_BASE_URL, CAPTCHETAT_CLIENT_ID and CAPTCHETAT_CLIENT_SECRET\n- Fix lighthouse reported errors [#158](https://github.com/etalab/udata-front/pull/158)\n\n## 2.0.12 (2022-10-19)\n\n- Fix i18n errors for `/es` [#156](https://github.com/etalab/udata-front/pull/156)\n- Update API card [#160](https://github.com/etalab/udata-front/pull/160)\n- Create new search results component [#157](https://github.com/etalab/udata-front/pull/157)\n- Remove quality score banner [#163](https://github.com/etalab/udata-front/pull/163)\n- Add energy on home venti button [#164](https://github.com/etalab/udata-front/pull/164)\n- Cache behavior changes [#154](https://github.com/etalab/udata-front/pull/154):\n - Organization and Reuse display page are now cached.\n - Cache keys now embed the `last_modified` object attribute. This automatically invalidates the cache when modifying the object.\n\n## 2.0.11 (2022-09-02)\n\n- Fix discussions text wrap [#145](https://github.com/etalab/udata-front/pull/145)\n- Update Venti buttons [#146](https://github.com/etalab/udata-front/pull/146)\n- :warning: @blue-470 and @blue-500 are removed\n- Fix z-index value in dataset search-result template [#153](https://github.com/etalab/udata-front/pull/153) [#155](https://github.com/etalab/udata-front/pull/155)\n- Fix RGAA criterion 8.2 [#147](https://github.com/etalab/udata-front/pull/147)\n\n## 2.0.10 (2022-08-11)\n\n- Fix dataset search result link to organization [#150](https://github.com/etalab/udata-front/pull/150)\n\n## 2.0.9 (2022-08-10)\n\n- Fix selected tag with wrong color [#149](https://github.com/etalab/udata-front/pull/149)\n\n## 2.0.8 (2022-08-09)\n\n- Add lighthouse in CircleCI [#108](https://github.com/etalab/udata-front/pull/108)\n- Fix RGAA criterion 8.2 [#130](https://github.com/etalab/udata-front/pull/130)\n- Add quality score [#135](https://github.com/etalab/udata-front/pull/135)\n\n## 2.0.7 (2022-07-20)\n\n- Fix window.dsfr.register error [#138](https://github.com/etalab/udata-front/pull/138)\n- Fix featured toggle [#137](https://github.com/etalab/udata-front/pull/137)\n- Iterate on search results and cards [#136](https://github.com/etalab/udata-front/pull/136)\n\n## 2.0.6 (2022-07-08)\n\n- Fix RGAA criterion 7.5 [#118](https://github.com/etalab/udata-front/pull/118)\n- Remove map related stuff [#124](https://github.com/etalab/udata-front/pull/124)\n- Fix clear button now shown on multiselect [#125](https://github.com/etalab/udata-front/pull/125)\n- Add aria-current to breadcumbs [#121](https://github.com/etalab/udata-front/pull/121)\n- Add missing default og:image [#127](https://github.com/etalab/udata-front/pull/127)\n- Fix 500 on favicon in admin [#126](https://github.com/etalab/udata-front/pull/126)\n- Update search results [#110](https://github.com/etalab/udata-front/pull/110) [#134](https://github.com/etalab/udata-front/pull/134)\n- Fix test error with long reuse title [#133](https://github.com/etalab/udata-front/pull/133)\n- Removed manifest logic [#129](https://github.com/etalab/udata-front/pull/129)\n\n## 2.0.5 (2022-06-14)\n\n- Add new menu items and change edito pages slug [#113](https://github.com/etalab/udata-front/pull/113) [#120](https://github.com/etalab/udata-front/pull/120)\n- Replace news by release notes in footer [#117](https://github.com/etalab/udata-front/pull/117)\n- Use DSFR container and remove custom ones [#111](https://github.com/etalab/udata-front/pull/111)\n\n## 2.0.4 (2022-06-09)\n\n- Add accessibility compliance status in footer [#114](https://github.com/etalab/udata-front/pull/114)\n- Fix SVG display issue [#116](https://github.com/etalab/udata-front/pull/116)\n\n## 2.0.3 (2022-06-03)\n\n- Update search pages [#95](https://github.com/etalab/udata-front/pull/95)\n- Add support for HTML in posts [#106](https://github.com/etalab/udata-front/pull/106)\n- Fix RGAA criterion 1.1 [#104](https://github.com/etalab/udata-front/pull/104)\n- Fix RGAA criterion 10.4 [#103](https://github.com/etalab/udata-front/pull/103)\n- Add geographical page on home venti button [#109](https://github.com/etalab/udata-front/pull/109)\n- Fix RGAA criterion 11.10 [#102](https://github.com/etalab/udata-front/pull/102)\n- Update DSFR to 1.5.1 [#107](https://github.com/etalab/udata-front/pull/107)\n - :warning: SVG in JS must use `bundle-text:` prefix now\n\n## 2.0.2 (2022-04-11)\n\n- Add harvest catalog view [#100](https://github.com/etalab/udata-front/pull/100)\n- Add elections on home venti button [#101](https://github.com/etalab/udata-front/pull/101)\n\n## 2.0.1 (2022-04-05)\n\n- Add support for HTML static pages and more DSFR components [#96](https://github.com/etalab/udata-front/pull/96)\n- Fix mobile bugs after header changes [#99](https://github.com/etalab/udata-front/pull/99)\n- Fix organizationCertified error when organization is null [#98](https://github.com/etalab/udata-front/pull/98)\n\n## 2.0.0 (2022-03-30)\n\n### Breaking change\n- :warning: Use refactored search endpoints from udata [#60](https://github.com/etalab/udata-front/pull/60)\n\n## 1.2.5 (2022-03-29)\n\n- Add a transport banner hook [#94](https://github.com/etalab/udata-front/pull/94)\n- Add button on organization page to see all of its datasets [#93](https://github.com/etalab/udata-front/pull/93)\n- Format home page numbers [#90](https://github.com/etalab/udata-front/pull/90)\n- Let browsers decide what cursor to use [#89](https://github.com/etalab/udata-front/pull/89)\n- Replace see more button on home page with link [#91](https://github.com/etalab/udata-front/pull/91)\n- Replace Suggest with accessible combobox [#88](https://github.com/etalab/udata-front/pull/88)\n\n## 1.2.4 (2022-03-01)\n\n- **Deprecation**: Topics are now deprecated and will be removed in upcoming releases.\n- Fix `<read-more>` component height when it contains `<img>` [#65](https://github.com/etalab/udata-front/pull/65) [#85](https://github.com/etalab/udata-front/pull/85)\n- Add featured button component back for sysadmin [#79](https://github.com/etalab/udata-front/pull/79)\n- Update reuse style [#52](https://github.com/etalab/udata-front/pull/52) [#81](https://github.com/etalab/udata-front/pull/81)\n- Add banner to broken user page [#76](https://github.com/etalab/udata-front/pull/76)\n- :warning: Button changes [#75](https://github.com/etalab/udata-front/pull/75)\n - Remove underline from button hover\n - `.btn`, `.btn-secondary` and `.btn-secondary` are removed. Use DSFR and `.fr-btn--secondary-{color}` instead.\n - `.tags` and `.tag` are removed. Use DSFR ones instead.\n - `.dropdown` is removed. Use DSFR select instead.\n- Fix duplicate request on dataset search [#70](https://github.com/etalab/udata-front/pull/70) [86](https://github.com/etalab/udata-front/pull/86)\n- Add banner for harvested dataset [#73](https://github.com/etalab/udata-front/pull/73)\n- Change github footer link to the tickets repository [#80](https://github.com/etalab/udata-front/pull/80)\n- Remove banner for the new search beta on datasets search page [#83](https://github.com/etalab/udata-front/pull/83)\n- Fix RGAA criterion 7.3 [#82](https://github.com/etalab/udata-front/pull/82)\n- Use avatar_url for owner [#84](https://github.com/etalab/udata-front/pull/84)\n- Update resources style [#78](https://github.com/etalab/udata-front/pull/78)\n\n## 1.2.3 (2022-01-27)\n\n- Fix modals not working [#71](https://github.com/etalab/udata-front/pull/71)\n- Fix auth messages not shown from query parameter [#68](https://github.com/etalab/udata-front/pull/68)\n- Fix RGAA criterion 10.14 [#72](https://github.com/etalab/udata-front/pull/72)\n- Fix thread header wrapped when title is too long [#64](https://github.com/etalab/udata-front/pull/64)\n\n## 1.2.2 (2022-01-21)\n\n- Fix latest modification date for dataset and resources on dataset page [#62](https://github.com/etalab/udata-front/pull/62)\n- Fix hidden datasets shown on Home and Reuses [#67](https://github.com/etalab/udata-front/pull/67)\n- Add temporal coverage back to dataset page [#63](https://github.com/etalab/udata-front/pull/63)\n- :warning: @bg-beige is remove, use @background-contrast-grey instead\n- Update colors to fix accessibility issues [#56](https://github.com/etalab/udata-front/pull/56)\n- Fix missing checkbox using DSFR checkboxes [#69](https://github.com/etalab/udata-front/pull/69)\n\n## 1.2.1 (2022-01-11)\n\n- Change urls in Participate banner to relevant etalab guides [#53](https://github.com/etalab/udata-front/pull/53)\n- Add topic information on reuse metadata and add a filter by topic on reuse search page [#50](https://github.com/etalab/udata-front/pull/50)\n- Update DSFR to v1.2.1 [#45](https://github.com/etalab/udata-front/pull/45)\n- :warning: `.btn-tab` is removed, use `.fr-tag` instead [57](https://github.com/etalab/udata-front/pull/57)\n\n## 1.2.0 (2021-12-10)\n\n- Add a banner for the new search beta on datasets search page [#43](https://github.com/etalab/udata-front/pull/43)\n- :warning: Remove Issues logic in accordance with udata [#42](https://github.com/etalab/udata-front/pull/42)\n- :warning: @grey-100 is now `#e5e5e5`\n- Standardize organization page similar to dataset and reuse pages [#40](https://github.com/etalab/udata-front/pull/40)\n- Fix RGAA criterion 10.7 Each element focusable has a visible focus [#46](https://github.com/etalab/udata-front/pull/46)\n- Fix Stylemark generation to include JS files and properly include other assets [#33](https://github.com/etalab/udata-front/pull/33)\n- Redirect about page to \"ressources\" page in menu [#48](https://github.com/etalab/udata-front/pull/48)\n- Standardize article discussions and quick fixes to discussions [#41](https://github.com/etalab/udata-front/pull/41) [#51](https://github.com/etalab/udata-front/pull/51)\n- Fix error on search request cancelation [#44](https://github.com/etalab/udata-front/pull/44)\n\n## 1.1.2 (2021-11-23)\n\n- Standardize reuse page similar to dataset page navigation quickfixes [#31](https://github.com/etalab/udata-front/pull/31)\n- Move template hook logic to udata and add oauth hooks [#29](https://github.com/etalab/udata-front/pull/29)\n- Add resources pagination dataset page and use DSFR pagination [#30](https://github.com/etalab/udata-front/pull/30) [#37](https://github.com/etalab/udata-front/pull/37)\n- Style oauth page [#34](https://github.com/etalab/udata-front/pull/34)\n- Fix horizontal scroll on mobile [#38](https://github.com/etalab/udata-front/pull/38)\n- Fix gouvfr static path [#39](https://github.com/etalab/udata-front/pull/39)\n\n## 1.1.1 (2021-10-22)\n\n- Update README to reflect front changes [#17](https://github.com/etalab/udata-front/pull/17)\n- Add Participate banner in the footer [#24](https://github.com/etalab/udata-front/pull/24)\n- Fix min-height used in posts images to center them [#23](https://github.com/etalab/udata-front/pull/23)\n- Update dataset page with navigation quickfixes and add DSFR components [#18](https://github.com/etalab/udata-front/pull/18)\n- Implement feedbacks on quickfixes [#26](https://github.com/etalab/udata-front/pull/26)\n\n## 1.1.0 (2021-10-12)\n\n- Add Cypress front-end tests stub [#9](https://github.com/etalab/udata-front/pull/9)\n- Add read only mode back on frontend [#10](https://github.com/etalab/udata-front/pull/10)\n- Fix RGAA criterion 1.2 Each decorative image is ignored by assistive technologies. [#13](https://github.com/etalab/udata-front/pull/13)\n- Add a request membership action on organization page [#12](https://github.com/etalab/udata-front/pull/12)\n- Unset vue delimiters used in html templates to prevent injections [#11](https://github.com/etalab/udata-front/pull/11)\n- Fix temporal coverage order in search results metadata [#14](https://github.com/etalab/udata-front/pull/14)\n- VueJS multiple mount points with a global event bus [#15](https://github.com/etalab/udata-front/pull/15) [#19](https://github.com/etalab/udata-front/pull/19)\n- Fix RGAA criterion 12.6 Block of contents from multiple pages can be reached or skipped [#21](https://github.com/etalab/udata-front/pull/21)\n\n## 1.0.0 (2021-09-16)\n\n- :warning: **breaking change**: Package renaming and new repository [#1](https://github.com/etalab/udata-front/pull/1):\n - udata-gouvfr is now udata-front\n- Update feedparser following setuptools 58.0.2 release that drops support for `use_2to3` [#6](https://github.com/etalab/udata-front/pull/6)\n- Show correct number of latest reuses on homepage [#3](https://github.com/etalab/udata-front/pull/3)\n- Fix next value on login to prevent infinite loop [#4](https://github.com/etalab/udata-front/pull/4) [#8](https://github.com/etalab/udata-front/pull/8)\n\n## Previous udata-gouvfr changelog\n\nIf you're migrating from udata-gouvfr, see previous changelog [here](https://github.com/etalab/udata-gouvfr/blob/master/CHANGELOG.md)\n\n",
"bugtrack_url": null,
"license": "LGPL",
"summary": "udata customizations for data.gouv.fr",
"version": "6.0.1",
"project_urls": {
"Homepage": "https://github.com/datagouv/udata-front"
},
"split_keywords": [
"udata",
"opendata",
"portal",
"etalab"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "da0d358799b834f25221ec0de62171e4abb011da2e1f11f702dfe77e85bb6966",
"md5": "865de0a6820c0916fec5ee2d6fd622f9",
"sha256": "d03607cec5bb65449ac95a93f7e77661f2594135c39dbaadfe6addceff90c575"
},
"downloads": -1,
"filename": "udata_front-6.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "865de0a6820c0916fec5ee2d6fd622f9",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.8",
"size": 11810585,
"upload_time": "2024-11-13T09:28:33",
"upload_time_iso_8601": "2024-11-13T09:28:33.205164Z",
"url": "https://files.pythonhosted.org/packages/da/0d/358799b834f25221ec0de62171e4abb011da2e1f11f702dfe77e85bb6966/udata_front-6.0.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-13 09:28:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "datagouv",
"github_project": "udata-front",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"circle": true,
"tox": true,
"lcname": "udata-front"
}