Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

Search and consult CADA advices

Project description

CADA

Join the chat at https://gitter.im/etalab/cada

A simplistic interface to search and consult CADA advices.

This is the engine behind https://cada.data.gouv.fr.

Compatibility

CADA has been tested on Python 2.7, MongoDB 3.2 and ElasticSearch 2.4.

The ElasticSearch ICU Analysis plugin is required.

You can install it with:

bin/plugin install analysis-icu

Installation

You can install Cada with pip:

$ pip install cada

You need to create the cada working directory, designed by $HOME in this documentation:

$ mkdir -p $HOME && cd $HOME
$ vim cada.cfg  # See configuration
$ wget https://cada.data.gouv.fr/export -O data.csv
$ cada load data.csv  # Load initial data
$ cada static  # Optional: collect static assets for proper caching
$ cada runserver

Configuration

All configuration is done through the cada.cfg file in $HOME. It's basically a Python file with constants defined in it:

  • SERVER_NAME: the public server name. Mainly used in emails.
  • SECRET_KEY: the common crypto hash.Used for session by exemple.
  • ELASTICSEARCH_URL: the ElasticSearch server URL in host:port format. Default to localhost:9200 if not set
  • MONGODB_SETTINGS: a dictionary to configure MongoDB. Default to {'DB': 'cada'}. See the official flask-mongoengine documentation for more details.

Mails

Mail server configuration is done through the following variables:

  • MAIL_SERVER: SMTP server hostname. Default to localhost.
  • MAIL_PORT: SMTP server port. Default to 25.
  • MAIL_USE_TLS: activate TLS. Default to False.
  • MAIL_USE_SSL: activate SSL. Default to False.
  • MAIL_USERNAME: optional SMTP server username.
  • MAIL_PASSWORD: optional SMTP server password.
  • MAIL_DEFAULT_SENDER: Sender email used for mailings. Default to cada@localhost.
  • ANON_ALERT_MAIL: destination mail for anonymisation alerts. Default to cada.alert@localhost.

See the official Flask-Mail documentation for more details.

Sentry

There is an optional support for Sentry. You need to install the required dependencies:

$ pip install raven[flask]
# Or to install it with cada
$ pip install cada[sentry]

You need to add your Sentry DSN to the configuration

SENTRY_DSN = 'https://xxxxx:xxxxxx@sentry.mydomain.com/id'

Piwik

There is an optional Piwik support. You simply need to add your Piwik server URL and your Piwik project ID to the configuration:

PIWIK_URL = 'piwik.mydomain.com'
PIWIK_ID = X

Current (in progress)

  • Fix advice part roman numerals handling #13
  • Colorize advices labels #14
  • Fixes about page #11
  • Fix the cli encoding handling as well as some formatting issues #18
  • Footer fixes (svg logo, alignments, https links) #20

0.2.0 (2018-10-05)

  • Upgrade stack to latest dependencies (Flask 1.0 with flask.cli, pytest...) #6
  • Test and fix alert mails #7
  • Added "about" page #9
  • Handle type IV advices #10

0.1.0 (2014-04-14)

  • Initial release

Supported by

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