mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 11:23:10 +00:00
finish readme
This commit is contained in:
parent
2e2c5f625c
commit
2f9ac1a168
1 changed files with 13 additions and 57 deletions
70
README.md
70
README.md
|
@ -6,75 +6,31 @@ GNU public license v2.0
|
||||||
|
|
||||||
## Avant propos
|
## Avant propos
|
||||||
|
|
||||||
Re2o est un logiciel d'administration développé initialement au rezometz. Il
|
Re2o est un logiciel d'administration développé initialement au [rezometz](https://www.rezometz.org/). Il
|
||||||
se veut agnostique au réseau considéré, de manière à être installable en
|
se veut agnostique au réseau considéré, de manière à être installable et configurable facilement.
|
||||||
quelques clics.
|
|
||||||
|
|
||||||
Il utilise le framework django avec python3. Il permet de gérer les adhérents,
|
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
|
les machines, les factures, les droits d'accès, les switchs et la topologie du
|
||||||
réseau.
|
réseau.
|
||||||
De cette manière, il est possible de pluguer très facilement des services
|
Il est possible d'activer très facilement des services qui améliorerons les possibilités de Re2o pour convenir au mieux aux besoins de chaque association.
|
||||||
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
|
## Installation
|
||||||
|
|
||||||
Un tutoriel pour installer le projet est disponible [sur le wiki](https://gitlab.federez.net/federez/re2o/wikis/User%20Documentation/Quick%20Start).
|
Un tutoriel pour installer le projet est disponible [sur le wiki](https://gitlab.federez.net/federez/re2o/wikis/User%20Documentation/Quick%20Start).
|
||||||
|
|
||||||
# Installations Optionnelles
|
## Fonctionnement Général
|
||||||
## Générer le schéma des dépendances
|
|
||||||
|
|
||||||
Pour cela :
|
Re2o utilise le Framework Django et suit donc le principe de toutes les applications Django. Les différents composants sont les models (qui définissent les entrées de la base de données), les templates (qui définissent les pages), les views (qui génèrent les templates avec les données pertinentes), et les forms (qui définissent les pages de modification des objets). Ce framework permet de manipuler les données comme des objets Python.
|
||||||
* apt install python3-django-extensions
|
|
||||||
* python3 manage.py graph_models -a -g -o re2o.png
|
|
||||||
|
|
||||||
# Fonctionnement interne
|
Tous ces composants sont regroupés en apps (users, machines, topologie,...). Certaines de ces apps constituent le coeur de Re2o et sont indispensables à son fonctionnement. Certaines autres apps sont optionnelles et peuvent être activées en fonction des besoins de chaque association.
|
||||||
|
|
||||||
## Fonctionnement général
|
## API Rest
|
||||||
|
|
||||||
Re2o est séparé entre les models, qui sont visibles sur le schéma des
|
Les données stockées dans Re2o sont disponibles via un API Rest. Les services installés sur d'autres machines (dhcp, dns, firewall,...) utilisent cet API pour avoir accès aux données des utilisateurs et fonctionner.
|
||||||
dépendances. Il s'agit en réalité des tables sql, et les fields étant les
|
|
||||||
colonnes.
|
|
||||||
Ceci dit il n'est jamais nécessaire de toucher directement au sql, django
|
|
||||||
procédant automatiquement à tout cela.
|
|
||||||
On crée donc différents models (user, right pour les droits des users,
|
|
||||||
interfaces, IpList pour l'ensemble des adresses ip, etc)
|
|
||||||
|
|
||||||
Du coté des forms, il s'agit des formulaires d'édition des models. Il
|
# Wiki
|
||||||
s'agit de ModelForms django, qui héritent des models très simplement, voir la
|
|
||||||
documentation django models forms.
|
|
||||||
|
|
||||||
Enfin les views, générent les pages web à partir des forms et des templates.
|
Le [Wiki](https://gitlab.federez.net/federez/re2o/-/wikis/home) est accessible sur le gitlab de Federez. Il regroupe les informations et instructions pour la plupart des composants de Re2o.
|
||||||
|
|
||||||
## Fonctionnement avec les services
|
|
||||||
|
|
||||||
Les services dhcp.py, dns.py etc accèdent aux données via des vues rest.
|
|
||||||
Celles-ci se trouvent dans machines/views.py. Elles sont générées via
|
|
||||||
machines/serializers.py qui génère les vues. IL s'agit de vues en json utilisées
|
|
||||||
par re2o-tools pour récupérer les données.
|
|
||||||
Il est nécessaire de créer un user dans re2o avec le droit serveur qui permet
|
|
||||||
d'accéder à ces vues, utilisé par re2o-tools.
|
|
||||||
|
|
||||||
# Requète en base de donnée
|
|
||||||
|
|
||||||
Pour avoir un shell, lancer :
|
|
||||||
```.bash
|
|
||||||
python3 manage.py shell
|
|
||||||
```
|
|
||||||
|
|
||||||
Pour charger des objets (exemple avec User), faire :
|
|
||||||
```.python
|
|
||||||
from users.models import User
|
|
||||||
```
|
|
||||||
|
|
||||||
Pour charger les objets django, il suffit de faire `User.objects.all()`
|
|
||||||
pour tous les users par exemple.
|
|
||||||
Il est ensuite aisé de faire des requêtes, par exemple
|
|
||||||
`User.objects.filter(pseudo='test')`
|
|
||||||
|
|
||||||
Des exemples et la documentation complète sur les requêtes django sont
|
|
||||||
disponible sur le site officiel.
|
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
@ -84,9 +40,9 @@ GNU Public license v2.0
|
||||||
|
|
||||||
## Foreword
|
## Foreword
|
||||||
|
|
||||||
Re2o is a management software initialy developed at [rezometz](https://www.rezometz.org/). It is now in use in several student organizations. It aims to remain agnostic of the organization that uses it and be easy to setup.
|
Re2o is a management software initially developed at [rezometz](https://www.rezometz.org/). It is now in use in several student organizations. It aims to remain agnostic of the organization that uses it and be easy to setup.
|
||||||
|
|
||||||
Re2o is based on the Django framework and Python3. It's core functionalities includes managing the members, their machines, their invoices and their access to the network but also the topology of the network and its devices.
|
Re2o is based on the Django framework and Python3. Its core functionalities include managing the members, their machines, their invoices and their rights to the network but also the topology of the network and its devices.
|
||||||
On top of this, it is possible to plug services to enhance the possibilities and fit the need of each organization.
|
On top of this, it is possible to plug services to enhance the possibilities and fit the need of each organization.
|
||||||
|
|
||||||
# Setup
|
# Setup
|
||||||
|
|
Loading…
Reference in a new issue