diff --git a/config/routes.php b/config/routes.php
index f6a07462855f10306bd4695537360f4afe124c22..a89a1caae1f38385e7d53ce40339d036a7e86b7c 100644
--- a/config/routes.php
+++ b/config/routes.php
@@ -89,6 +89,10 @@ $basicRoutes = function (RouteBuilder $routes) {
                     'action' => 'contact',
                     'method' => ['GET'],
                 ],
+                "opendata/" => [
+                    'action' => 'opendata',
+                    'method' => ['GET'],
+                ],
                 "legal/" => [
                     'action' => 'legal',
                     'method' => ['GET'],
diff --git a/src/Controller/Api/V1/PagesController.php b/src/Controller/Api/V1/PagesController.php
index 8a6274ac7ffd38747dd0aa6f51426cccca101a5c..45f4a7910deb7c6f0c1826938c70615476b33bec 100644
--- a/src/Controller/Api/V1/PagesController.php
+++ b/src/Controller/Api/V1/PagesController.php
@@ -50,7 +50,7 @@ class PagesController extends AppController
 
     public function beforeFilter(Event $event)
     {
-        $this->Auth->allow(['contact', 'legal', 'participate', 'accessibility']);
+        $this->Auth->allow(['contact', 'opendata', 'legal', 'participate', 'accessibility']);
 
         parent::beforeFilter($event);
     }
@@ -313,6 +313,29 @@ class PagesController extends AppController
     }
 
 
+    public function opendata()
+    {
+        $baseUrl = "pages/opendata";
+
+        // Check that the current URL is correct
+        $lang = $this->selectedLanguage;
+        $allowedUrl = "/$lang/$baseUrl";
+        if ($allowedUrl !== $this->request->here(false)) {
+            return $this->redirect("$allowedUrl", 301);
+        }
+
+        // Breadcrumbs
+        $links = array();
+        $links[] = [
+            'name' => __d('Breadcrumbs', 'Page.Opendata'),
+            'url' => $baseUrl
+        ];
+        $this->setBreadcrumbs($links);
+        $this->set('currentPage', 'page_opendata');
+    }
+
+
+
     public function legal()
     {
         $baseUrl = "pages/legal";
diff --git a/src/Locale/Breadcrumbs.pot b/src/Locale/Breadcrumbs.pot
index 9bccf31e783dde24e61ecdfede246a81b65b79cb..d7ee6bcdee97f0635b05939cf31c62a7e125e1ae 100644
--- a/src/Locale/Breadcrumbs.pot
+++ b/src/Locale/Breadcrumbs.pot
@@ -34,6 +34,10 @@ msgstr ""
 msgid "Page.Accessibility"
 msgstr ""
 
+#: Controller/Api/V1/PagesController.php:318
+msgid "Page.Opendata"
+msgstr "Open Data"
+
 #: Controller/Api/V1/ReviewsController.php:100;157
 #: Controller/Api/V1/SoftwaresController.php:704
 msgid "Software.Reviews"
diff --git a/src/Locale/ElementNavigation.pot b/src/Locale/ElementNavigation.pot
index bf145c429fbe15c8d9df8d40a34ee6f9d7b5d1aa..dda400838c18917c9448d0b8cb96e6cd015c6204 100644
--- a/src/Locale/ElementNavigation.pot
+++ b/src/Locale/ElementNavigation.pot
@@ -80,3 +80,10 @@ msgstr ""
 msgid "Contact"
 msgstr ""
 
+#: Template/Element/Pages/footer.ctp:29;31
+msgid "footer.opendata.link"
+msgstr "Open data"
+
+#: Template/Element/Pages/footer.ctp:29;31
+msgid "footer.opendata.link.title"
+msgstr "Use open data"
diff --git a/src/Locale/Pages.pot b/src/Locale/Pages.pot
index 05263ee1050c660213e209b79558f825ae6af6be..35e967eb91186591a0a6afa6c3bc40f61b8c00d9 100644
--- a/src/Locale/Pages.pot
+++ b/src/Locale/Pages.pot
@@ -67,3 +67,18 @@ msgstr ""
 msgid "menu.switch"
 msgstr ""
 
+#: Template/Api/V1/Pages/opendata.ctp:12
+msgid "page.opendata.title"
+msgstr "Open data"
+
+#: Template/Api/V1/Pages/opendata.ctp:12
+msgid "page.opendata.h1"
+msgstr "Open data"
+
+msgid "page.opendata.content1"
+msgstr ""
+
+msgid "page.opendata.content2"
+msgstr ""
+
+
diff --git a/src/Locale/en/Breadcrumbs.po b/src/Locale/en/Breadcrumbs.po
index c5bf5a8a748d54d66a563416e41a944cd879a9f3..c0f77be1cebbaa7c687270b5e38899640d4e721e 100644
--- a/src/Locale/en/Breadcrumbs.po
+++ b/src/Locale/en/Breadcrumbs.po
@@ -35,6 +35,10 @@ msgstr "Legal"
 msgid "Page.Accessibility"
 msgstr "Accessibility"
 
+#: Controller/Api/V1/PagesController.php:318
+msgid "Page.Opendata"
+msgstr "Open Data"
+
 #: Controller/Api/V1/ReviewsController.php:100;157
 #: Controller/Api/V1/SoftwaresController.php:704
 msgid "Software.Reviews"
diff --git a/src/Locale/en/ElementNavigation.po b/src/Locale/en/ElementNavigation.po
index e188c063663ae52f5ff5fef5506489c395468b9f..2a6295ca8a03f23c397b5f5fa8ce39cbcec50f67 100644
--- a/src/Locale/en/ElementNavigation.po
+++ b/src/Locale/en/ElementNavigation.po
@@ -79,3 +79,11 @@ msgstr "Search"
 #: Template/Element/Pages/footer.ctp:29;31
 msgid "Contact"
 msgstr "Contact"
+
+#: Template/Element/Pages/footer.ctp:29;31
+msgid "footer.opendata.link"
+msgstr "Open data"
+
+#: Template/Element/Pages/footer.ctp:29;31
+msgid "footer.opendata.link.title"
+msgstr "Use open data"
diff --git a/src/Locale/en/Pages.po b/src/Locale/en/Pages.po
index 0a0897f67d910b22097f6b99f276655a3a0021fb..76849b3eea2d4d762af1e9f869aefd1cf27b3900 100644
--- a/src/Locale/en/Pages.po
+++ b/src/Locale/en/Pages.po
@@ -79,3 +79,24 @@ msgstr "Release of <span lang=\"fr\">Comptoir du Libre</span> "
 #: Template/Element/Pages/footer.ctp:47
 msgid "menu.switch"
 msgstr "Passer en français."
+
+#: Template/Api/V1/Pages/opendata.ctp:12
+msgid "page.opendata.title"
+msgstr "Open data"
+
+#: Template/Api/V1/Pages/opendata.ctp:12
+msgid "page.opendata.h1"
+msgstr "Open data"
+
+msgid "page.opendata.content1"
+msgstr ""
+"A part of <strong>Comptoir du Libre</strong> are published in <strong>open data</strong>. "
+" Currently, all <strong>free software</strong> present on <em>Comptoir du Libre</em> website  "
+" are available in a JSON format export, with for each software: license, name of software, "
+" source code repository, website, external resources (Wikipedia, Wikidata, Framalibre and SILL) "
+" and declared providers."
+
+msgid "page.opendata.content2"
+msgstr ""
+"You can consult this open data and associated documentation on  "
+"<a href=\"{0}\">{1}</a>."
diff --git a/src/Locale/fr/Breadcrumbs.po b/src/Locale/fr/Breadcrumbs.po
index bd0ad917c51d7242fc1201fa609979106625f30e..ac7a0c63d991c967e95293a03dd1029c81ac84a4 100644
--- a/src/Locale/fr/Breadcrumbs.po
+++ b/src/Locale/fr/Breadcrumbs.po
@@ -35,6 +35,10 @@ msgstr "Mentions légales"
 msgid "Page.Accessibility"
 msgstr "Déclaration d'accessibilité"
 
+#: Controller/Api/V1/PagesController.php:318
+msgid "Page.Opendata"
+msgstr "Open Data"
+
 #: Controller/Api/V1/ReviewsController.php:100;157
 #: Controller/Api/V1/SoftwaresController.php:704
 msgid "Software.Reviews"
diff --git a/src/Locale/fr/ElementNavigation.po b/src/Locale/fr/ElementNavigation.po
index 20f3c58989ab1488d00b4ae5f43991db2926c628..bb0734dcc01f63ff05b6ec3eea9b6d028ce1b515 100644
--- a/src/Locale/fr/ElementNavigation.po
+++ b/src/Locale/fr/ElementNavigation.po
@@ -80,3 +80,11 @@ msgstr "Rechercher"
 #: Template/Element/Pages/footer.ctp:29;31
 msgid "Contact"
 msgstr "Contact"
+
+#: Template/Element/Pages/footer.ctp:29;31
+msgid "footer.opendata.link"
+msgstr "Open Data"
+
+#: Template/Element/Pages/footer.ctp:29;31
+msgid "footer.opendata.link.title"
+msgstr "Open data - Données ouvertes du Comptoir du Libre"
diff --git a/src/Locale/fr/Pages.po b/src/Locale/fr/Pages.po
index 4ede5fb6c7b3dfe0a6f9eb17ea0aa9ea69ffdc76..8f4142a216f6fdc5d77a1ac040458649141cf2b6 100644
--- a/src/Locale/fr/Pages.po
+++ b/src/Locale/fr/Pages.po
@@ -84,3 +84,25 @@ msgstr "Comptoir du Libre version "
 #: Template/Element/Pages/footer.ctp:47
 msgid "menu.switch"
 msgstr "Switch to english."
+
+#: Template/Api/V1/Pages/opendata.ctp:12
+msgid "page.opendata.title"
+msgstr "Open data - Données ouvertes du Comptoir du Libre"
+
+#: Template/Api/V1/Pages/opendata.ctp:12
+msgid "page.opendata.h1"
+msgstr "Open data : données ouvertes"
+
+msgid "page.opendata.content1"
+msgstr ""
+"Une partie des données du <strong>Comptoir du Libre</strong> sont publiées en <strong>open data</strong>. "
+" Actuellement, tous les <strong>logiciels libres</strong> présents sur le site web <em>Comptoir du Libre</em>  "
+" sont mis à votre disposition dans un export au format JSON, avec pour chaque logiciel :"
+" la licence, le nom du logiciel, le dépôt du code source, le site web, "
+" les ressources externes (<em>Wikipédia</em>, <em>Wikidata</em>, <em>Framalibre</em> et <em>SILL</em>)"
+" et les prestataires déclarés."
+
+msgid "page.opendata.content2"
+msgstr ""
+"Vous pouvez consulter ces données ouvertes et la documentation associée sur "
+"<a href=\"{0}\">{1}</a>."
diff --git a/src/Template/Api/V1/Pages/opendata.ctp b/src/Template/Api/V1/Pages/opendata.ctp
new file mode 100644
index 0000000000000000000000000000000000000000..97c8214458efe6d8e398145f1484d689b672aa41
--- /dev/null
+++ b/src/Template/Api/V1/Pages/opendata.ctp
@@ -0,0 +1,15 @@
+<?php
+$this->layout = 'base';
+$this->assign('title', __d("Pages", "page.opendata.title"));
+?>
+<h1><?= __d("Pages", "page.opendata.h1") ?></h1>
+
+<p>
+    <?= __d("Pages", "page.opendata.content1") ?>
+</p>
+<p>
+    <?= __d("Pages", "page.opendata.content2", [
+        'https://www.data.gouv.fr/fr/datasets/logiciels-libres-sur-le-comptoir-du-libre-org/' ,
+        'data.gouv.fr',
+    ]) ?>
+</p>
diff --git a/src/Template/Element/Pages/footer.ctp b/src/Template/Element/Pages/footer.ctp
index ad6b31481c87e40180c2f95ae5df9ef665b04de7..0092b029563ac1a34246fd742ac8ef68dc81ad6a 100644
--- a/src/Template/Element/Pages/footer.ctp
+++ b/src/Template/Element/Pages/footer.ctp
@@ -23,6 +23,8 @@
     $optionLegalLink = [];
     $optionA11yLink = [];
     $optionContactLink = [];
+    $optionOpendataLink = [];
+    $optionOpendataLink['title']  = __d("ElementNavigation", "footer.opendata.link.title");
     $optionLink = ['aria-current' => 'page'];
     if(isset($currentPage)){
         if($currentPage === 'page_legal'){
@@ -31,6 +33,8 @@
             $optionA11yLink  = $optionLink;
         } elseif ($currentPage === 'page_contact'){
             $optionContactLink = $optionLink;
+        } elseif ($currentPage === 'page_opendata'){
+            $optionOpendataLink =  array_merge($optionOpendataLink, $optionLink);
         }
     }
 ?>
@@ -46,7 +50,11 @@
 
         <?= $this->Html->link(__d("Home", "footer-accessibility-link"),
             "/$selectedLanguage/pages/accessibility",
-            $optionA11yLink) ?>
+            $optionA11yLink) ?> -
+
+        <?= $this->Html->link(__d("ElementNavigation", "footer.opendata.link"),
+            "/$selectedLanguage/pages/opendata",
+            $optionOpendataLink) ?> 
 
         <?php if (isset($availableLanguages)): ?>
             -
diff --git a/tests/Acceptance/BasicTestsCest.php b/tests/Acceptance/BasicTestsCest.php
index bb0bc29cd75da08fd2616ff56bd152c887b06f51..f1ed69622d0640e2c0ad362f8efbd4beec314a5c 100644
--- a/tests/Acceptance/BasicTestsCest.php
+++ b/tests/Acceptance/BasicTestsCest.php
@@ -59,5 +59,15 @@ class BasicTestsCest
         $I->seeInTitle('Information pour nous contacter');
     }
 
+    public function clickOnOpendataLinkFromHomepage($I)
+    {
+        $I->amOnPage('/');
+        $I->seeInTitle('Comptoir du libre');
+        $I->see('Open Data');
+        $I->click('Open Data');
+        $I->seeInCurrentUrl('/pages/opendata');
+        $I->seeInTitle('Open data - Données ouvertes');
+    }
+
     //Todo check pages softwares, users and services providers
 }
diff --git a/tests/Acceptance/CheckBreadcrumbCest.php b/tests/Acceptance/CheckBreadcrumbCest.php
index d76c7d409a1213a916209d51cbc9058b44766234..1c2be34afea1616913169944c6945314bcec04f9 100644
--- a/tests/Acceptance/CheckBreadcrumbCest.php
+++ b/tests/Acceptance/CheckBreadcrumbCest.php
@@ -612,4 +612,21 @@ class CheckBreadcrumbCest
         $I->amOnPage(\array_key_last($Breadcrumbs));
         $this->sharedChecks($I, $Breadcrumbs);
     }
+
+    /**
+     * Check Breadcrumb on "OpenData" page
+     * @group nav
+     * @group breadcrumb
+     * @group page
+     * @param AcceptanceTester $I
+     */
+    public function checkBreadcrumbOnOpenDataPage(AcceptanceTester $I)
+    {
+        $Breadcrumbs = [
+            '/fr/' => 'Accueil',
+            '/fr/pages/opendata'   => "Open data",
+        ];
+        $I->amOnPage(\array_key_last($Breadcrumbs));
+        $this->sharedChecks($I, $Breadcrumbs);
+    }
 }