README.md 1.81 KB
Newer Older
Gabriel Detraz's avatar
Gabriel Detraz committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
# Re2o

## Avant propos 

Amap est un logiciel d'administration développé initiallement au rezometz. Il se veut agnostique au réseau considéré, de manière à être installable en quelques clics.

Il utilise le framework django avec python3. Il permet de gérer les adhérents, les machines, les factures, les droits d'accès, les switchs et la topologie du réseau.
De cette manière, il est possible de pluguer très facilement des services dessus, qui accèdent à la base de donnée en passant par django (ex : dhcp), en chargeant la liste de toutes les mac-ip, ou la liste des mac-ip autorisées sur le réseau (adhérent à jour de cotisation).

## Installation

Dépendances :

 * python3-django (1.8, jessie-backports)
 * python3-django-reversion (1.10, stretch)
 * django-bootstrap3 (pip3 install)
 * django-ldapdb (pip3 install)

Moteur de db conseillé (mysql), postgresql fonctionne également.
Pour mysql, il faut installer :

 * mysql-server (jessie)
 * python3-mysqldb (jessie-backports)

## Configuration 

Le site est prêt a fonctionner, il faut simplement créer la base de donnée (par défamap), et régler les variables présentes dans setting_local.py
Un fichier d'exemple est disponible.
Ensuite, effectuer les migrations. Un squelette de base de donnée, via un mysqldump peut être fourni.

## Mise en production avec apache

amap/wsgi.py permet de fonctionner avec apache2 en production

## Fonctionnement avec les services

Pour charger les objets django, il suffit de faire User.objects.all() pour tous les users par exemple. 
Cependant, pour que les services fonctionnent de manière simple, des fonctions toutes prètes existent deja pour charger la liste des users autorisés à se connecter ( has_access(user)), etc. Ces fonctions sont personnalisables, et permettent un fonctionnement très simple des services.