Giter Site home page Giter Site logo

loicguillois / content-manager Goto Github PK

View Code? Open in Web Editor NEW

This project forked from numerique-gouv/sites-faciles

0.0 0.0 0.0 559 KB

Gestionnaire de contenu permettant de créer et gérer un site internet basé sur le Système de design de l'État, accessible et responsive

Home Page: https://content-manager.osc-fr1.scalingo.io/

License: GNU Affero General Public License v3.0

Shell 0.01% Python 92.07% CSS 0.09% Makefile 0.20% HTML 7.42% Dockerfile 0.15% Sass 0.05% Procfile 0.01%

content-manager's Introduction

Gestionnaire de contenu DSFR et Accessible

Créez et gérez votre site internet simplement

Gestionnaire de contenu (CMS) pour créer un site internet dont le domaine se terminant par .gouv.fr . Pas besoin de compétence technique pour mettre à jours le contenu.

Un CMS basé sur la solution open source Wagtail

Créez ou modifiez des pages, ajoutez un menu de navigation, des boutons, images, vidéos, contributeurs etc

Système de Design de l'État

Construisez vos pages à l'aide de composants prêts à l'emploi issus du Système de Design de l'État (DSFR)

Accessible et responsive

Le contenu des pages générées par le CMS est partiellement conforme selon la norme RGAA 4.1 et responsive

Prérequis

  • Python 3.10
  • Postgreql 14.x.

Installer les pre-commit hooks

pre-commit install

On peut faire un premier test en faisant tourner :

pre-commit run --all-files

Installation

Le projet peut se lancer en local ou avec Docker.

Dans tous les cas, copier les variables d’environnement

  • Copier le fichier
cp .env.example .env
  • Générer la SECRET_KEY
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
  • Mettre les valeurs pertinentes dans le fichier .env

En local

Installer poetry s’il ne l’est pas

Cf. la documentation de poetry

Installer le projet

  • La commande suivante installe les dépendances, fait les migrations et collecte les fichiers
make init

Créer un utilisateur

  • La commande suivante crée un utilisateur administrateur avec tous les droits:
poetry run python manage.py createsuperuser

Lancer le serveur

make runserver

via Docker

Lancer les containers

docker compose up

Effectuer les tests

Les tests unitaires peuvent être lancés avec make test-unit.

Vous pouvez également générer un rapport sur la couverture de tests :

coverage run manage.py test --settings config.settings_test

Indexation des contenus

Les contenus des pages sont indexés pour la recherche par un script python manage.py update_index (cf. documentation de Wagtail)

Scalingo

Le script est lancé automatiquement après les déploiements sur Scalingo.

Il est recommandé de procéder à une nouvelle indexation une fois par semaine, en renommant le fichier cron.json.example en cron.json (cf. documentation de Scalingo)

Autres déploiements

Il est recommandé de faire de même pour les déploiements sur d’autres plateformes, en ajoutant une ligne à la crontab de l’utilisateur avec lequel tourne le site :

0 3 * * SUN python manage.py update_index

content-manager's People

Contributors

ash-crow avatar cdugeai avatar chaibax avatar cquest avatar dependabot[bot] avatar loicguillois avatar mjeammet avatar sebastienreuiller avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.