Formulaire & carte pour recenser les aspirant-e-s connecté-e-s à un réseau radio.

jocelyn 8aca895af2 Merge branch 'master' of Nim65s/wifi-with-me into master 8 months ago
requirements 9b6c7dcc28 Upgrade to Django 1.11 1 year ago
var f15f21d91e Bootstrap Django skeleton 3 years ago
wifiwithme 260c2b1642 typo 8 months ago
.gitignore 843e58be8d Ignoring venv and .idea folders 2 years ago
LICENSE 0b4ffe0b21 Create LICENSE 4 years ago 511bc0eb82 Fix reminder notice text 1 year ago f15f21d91e Bootstrap Django skeleton 3 years ago


In order to facilitate dependency management, you can use a pip and a virtual environment (like virtualenv).

Install packages:

 # apt-get install python3-pip python3-virtualenv libyaml-dev

Create and activate the virtualenv with:

 $ virtualenv -p $(which python3) venv
 $ source venv/bin/activate

We use django framework. Install it from requirements with pip:

 $ pip install -r requirements/base.txt

For development, install dev.txt instead:

 $ pip install -r requirements/dev.txt

Set up configuration

Then create and edit a wifiwithme/settings/ configuration file wifiwithme/settings/

Mandatory settings

You must Define some details about your ISP in the ISP variable, eg:

    'TITLE':'Réseau wifi expérimental',
    'EMAIL':'bureau (at)',
    'ZONE':'Nantes et environs',
    'ADDRESS_EXAMPLE': 'rue du calvaire, nantes',


Optional settings

Website URL

The wifi-with-me website URL (for links included in emails :)


URL Prefix

Optionaly, you can define an url prefix (ex: /foo/) so that wifi-with-me is accessible under :



If you to receive notifications on each new contrib, customize those :

List of notification recipients:


Notification sender address:


Data expiration

The data gets deleted after one year, if the contributing user does not give its explicit consent to keep it one more year.

Reminders are sent to the contribution author when expiration date gets close. By default we send two notifications :

    30,  # 1 month before
    7,   # 1 week before

You can tweak it to your will or decide to send no reminder (with value []).

Migrate from bottle version (optional)

If you used the (old) bottle version of wifi-with-me and want to migrate your data follow this extra step :

$ ./ migrate auth
$ ./ migrate contribmap 0001 --fake

Run development server

It is required to initialize database first:

$ ./ migrate

Create an admin:

$ ./ createsuperuser

Then launch service with:

$ ./ runserver

You can visit with your browser at

Drop the database

If you want to reset all your data.

$ rm db.sqlite3

Run production server

(Pretty rough instructions. Feel free to submit patches)

  1. Deploy it like any django site
  2. Customize mandatory and optional settings
  3. Customize SECRET_KEY to something really random. Hint: python -c "import string,random; uni=string.ascii_letters+string.digits+string.punctuation; print(repr(''.join([random.SystemRandom().choice(uni) for i in range(random.randint(45,50))])))"
  4. Set daily crons for the two commands that take care of data expiration handling (run them with --help for more information):
    • ./ delete_expired_contribs
    • ./ send_expiration_reminders