diff --git a/webapp/templates/public_static_pages/en/app_page_moderation_guideline.md b/webapp/templates/public_static_pages/en/app_page_moderation_guideline.md new file mode 100644 index 0000000000000000000000000000000000000000..1145566bd1ed5dc740b4edcad412554866b13e21 --- /dev/null +++ b/webapp/templates/public_static_pages/en/app_page_moderation_guideline.md @@ -0,0 +1,32 @@ +## Moderation guideline + +## Criteria for adding a software + +The criteria for adding software to the _Comptoir du libre_ are : +- the **license** must be one of the [free licenses](https://opensource.org/licenses) approved by the OSI. +- the **source code** must be available in a public repository of a software forge. + +**TODO** +> - software with several licenses +> - software with multiple repositories +> - minimum quality to add a project + +### Source code + +The software source code must be published : + +- under one of the [free licenses](https://opensource.org/licenses) approved by the OSI. +- the license file must be present at the root of the project (e.g. in a `LICENSE` file) +- without any delay between the publication of the source code and that of the executable files. +- in a public repository without authentication. + +### Repository URL + +In software addition form, criteria to be taken into account +concerning **URL** of **source code** repository field: + +- This field is mandatory. +- The URL to be provided is that of the publicly accessible repository. +- This URL must correspond to the software source code. +- This URL must allow a `git clone` to be made. + (or an equivalent command for other source code managers). diff --git a/webapp/templates/public_static_pages/fr/app_page_moderation_guideline.md b/webapp/templates/public_static_pages/fr/app_page_moderation_guideline.md new file mode 100644 index 0000000000000000000000000000000000000000..c012658781880415e7699a008622dbe7de41a669 --- /dev/null +++ b/webapp/templates/public_static_pages/fr/app_page_moderation_guideline.md @@ -0,0 +1,33 @@ +## Charte de modération du contenu + +## Critères d'ajout d'un logiciel + +Les critères à prendre en compte pour l'ajout d'un logiciel sur le _Comptoir du libre_ sont : +- la **licence** doit être une des [licences libres](https://opensource.org/licenses) approuvées par l'OSI. +- le **code source** doit être disponible dans un dépôt public d'une forge logiciel. + +> **TODO** +> - cas des logiciels à plusieurs licences +> - cas des logiciels à plusieurs dépots +> - qualité minimale pour ajouter un projet + +### Code source + +Le code source du logiciel doit être publié : + +- sous l'une des [licences libres](https://opensource.org/licenses) approuvées par l'OSI. +- le fichier de la licence doit être présent à la racine du projet (par exemple dans un fichier `LICENSE`) +- sans délai entre la publication du code source et celle des fichiers exécutables. +- dans un dépôt public sans authentification. + +### URL du dépôt + +Dans le formulaire d'ajout du logiciel, critères à prendre en compte +concernant le champ **URL** du **dépôt** : + +- Ce champ est obligatoire. +- L'URL à fournir est celle du dépôt consultable publiquement. +- Cette URL doit correspondre au code source du logiciel. +- Cette URL doit permettre de faire un `git clone` + (ou une commande équivalente pour d'autre gestionnaire de code source). + diff --git a/webapp/tests/Functional/PublicPages/FunctionalTestStaticPagesTest.php b/webapp/tests/Functional/PublicPages/FunctionalTestStaticPagesTest.php index c4d3d32ea5f389401dae942db073903d1c3a84ea..0e5d5ffcc7ebf42ec33465f23081cdc720684f39 100644 --- a/webapp/tests/Functional/PublicPages/FunctionalTestStaticPagesTest.php +++ b/webapp/tests/Functional/PublicPages/FunctionalTestStaticPagesTest.php @@ -373,6 +373,62 @@ public function testOpenDataPageIsDisplayedForFrenchLocale(): void ); } + + ////////////////////////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * @group static_page + * @group static_page_moderation_guidline + * @group i18n + * @group i18n_english + */ + public function testContentModerationGuidelinePageIsDisplayed(): void + { + // @@@TODO - Stop here and mark this test as incomplete. + $this->markTestIncomplete('This test has not been implemented yet.'); + + $client = static::createClient(); + $this->checkI18nStaticPageIsDisplayed( + client: $client, + locale: 'en', + route: 'app_page_moderation_guideline', + url: '/en/pages/moderation-guideline', + mainTitle: "Moderation guideline", + localizedSubtitle: 'Criteria for adding a software', + breadcrumb: [ + '/en/pages/about' => 'About', + '/en/pages/partners' => 'Moderation guideline', + ], + ); + } + + /** + * @group static_page + * @group static_page_moderation_guidline + * @group i18n + * @group i18n_french + */ + public function testContentModerationGuidelinePageIsDisplayedForFrenchLocale(): void + { + // @@@TODO - Stop here and mark this test as incomplete. + $this->markTestIncomplete('This test has not been implemented yet.'); + + $client = static::createClient(); + $this->checkI18nStaticPageIsDisplayed( + client: $client, + locale: 'fr', + route: 'app_page_moderation_guideline', + url: '/fr/pages/moderation-guideline', + mainTitle: "Charte de modération du contenu", + localizedSubtitle: "Critères d'ajout d'un logiciel", + breadcrumb: [ + '/fr/pages/about' => 'À Propos', + '/fr/pages/partners' => 'Modération du contenu', + ], + ); + } + ////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -382,7 +438,7 @@ public function testOpenDataPageIsDisplayedForFrenchLocale(): void * @group i18n * @group i18n_english */ - public function testPartnersPageIsDisplayed(): void + public function notYetTestPartnersPageIsDisplayed(): void { // @@@TODO - Stop here and mark this test as incomplete. $this->markTestIncomplete('This test has not been implemented yet.'); @@ -408,7 +464,7 @@ public function testPartnersPageIsDisplayed(): void * @group i18n * @group i18n_french */ - public function testPartnersPageIsDisplayedForFrenchLocale(): void + public function notYetTestPartnersPageIsDisplayedForFrenchLocale(): void { // @@@TODO - Stop here and mark this test as incomplete. $this->markTestIncomplete('This test has not been implemented yet.');