Skip to content

Commit

Permalink
update doc
Browse files Browse the repository at this point in the history
  • Loading branch information
bruhnild committed Jan 17, 2024
1 parent 2c049bb commit ae89099
Show file tree
Hide file tree
Showing 15 changed files with 708 additions and 73 deletions.
51 changes: 51 additions & 0 deletions docs/about/geotrek.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
=======
Geotrek
=======

Qu'est ce que Geotrek ?
=======================

Geotrek est un outil dédié à la **gestion et la valorisation** des activités de randonnées et des informations touristiques.

La plate-forme permet la gestion de **nombreuses pratiques sportives** liées à des linéaires (randonnée pédestre, à vélo, en VTT, à cheval, avec poussette, etc.) mais également pour **contenus outdoor** non linéaires (escalade, vol libre, sports d’eau vive, etc.).

C’est l’**application de référence** des parcs naturels, mais aussi de nombreuses structures publiques (conseils départementaux, communautés de communes, comités régionaux du tourisme, offices du tourisme, etc.).

**Utiliser Geotrek vous permettra** :
* d’intégrer une **communauté de gestionnaires de randonnées très active **
* de **bénéficier de l’ensemble des évolutions** commandées par les autres utilisateurs. Le service est vivant et s’améliore sans cesse
* de disposer d’une **offre complète** qui pourrait également être utilisée par d’autres acteurs du territoire
* de facilement pouvoir **accéder à d’autres fonctionnalités** quand le besoin s’en fera ressentir : site web, impression de fiches de parcours, gestion de la signalétique, organisation des travaux…
* d’exporter facilement vos contenus valorisables (itinéraires, POIs, contenus touristiques …) vers d’autres **plateformes touristiques nationales** (IGN Rando, VisoRando, OutdoorActive, Apidae, Cirkwi, etc.)

Les quatre modules
==================

Geotrek dispose de quatre modules à la fois distincts et complémentaires :

* **Geotrek Admin** : outil de gestion et de saisie de l’ensemble des informations, intégrant les données des Systèmes d’Informations Touristiques (SIT) et pouvant se relier à votre SIG ou à des systèmes d’information transport
* **Geotrek Rando** : site web, reprenant les informations saisies dans Geotrek Admin, à destination des internautes grand public
* **Geotrek Mobile** : application mobile fonctionnant sous Android et iOS, reprenant des informations saisies dans Geotrek Admin et optimisées pour l’usage mobile (volume, impact sur la batterie…)
* **Geotrek Widget** : nouveau composant web permettant de valoriser une offre de contenus touristiques et de randonnées auprès des usagers du territoire

Utilisateurs
============

L’application Geotrek, **destinée à deux types de public**, est une solution web qui apporte :

* des fonctionnalités de gestion des informations (itinéraires, destinations, points d’intérêts, description, interprétation…) et de gestion des infrastructures (signalétique, aménagement, travaux, réglementation…) pour les utilisateurs administrant un territoire (**Geotrek-Admin**)
* des fonctionnalités simples et ludiques de recherche et de parcours d’itinéraires pour les internautes et les mobinautes (**Geotrek-Rando V3**, **Geotrek-Mobile** et **Geotrek-Widget**).

Composants libres
=================

L’application Geotrek utilise les technologies open source suivantes :

- **Python / Django**, l'épine dorsale de l'application qui prend en charge les principales fonctionnalités comme l'interface d'administration, l'exploitation de la base de données, la gestion des utilisateurs et de leurs droits ou l'intégration avec les bibliothèques cartographiques.
La richesse de son écosystème permet de concevoir des applications aux possibilités infinies, en favorisant la production d'applications sécurisées, solides (tests automatiques) et robustes (Python).
- **PostgreSQL / PostGIS** pour la base de données. La totalité des données de l'application est stockée dans une instance PostgreSQL avec l'extension spatiale PostGIS :
- attributs, comptes utilisateurs…,
- géométries,
- raster (Modèle Numérique Terrain).
- **JavaScript / React**, **Next.js**, **Leaflet**, **SVG** et **WebGL** pour l'interaction avec les utilisateurs et la visualisation, **HTML5** pour la structure du site, **CSS3** pour l’apparence.
Binary file added docs/images/user-manual/admin-django.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/user-manual/django-pratique.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/user-manual/fiche-detail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/user-manual/geotrek-login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/user-manual/multilangue.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/user-manual/vue-edition.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@ Welcome to Geotrek's documentation!

.. _contents:

.. toctree::
:caption: About
:maxdepth: 2

about/geotrek.rst

.. toctree::
:caption: User manual
:maxdepth: 2
Expand All @@ -11,6 +17,7 @@ Welcome to Geotrek's documentation!
usage/screencasts.rst
usage/editing-objects.rst
usage/management-modules.rst
usage/touristic-modules.rst
usage/treks.rst
usage/outdoor.rst
usage/static-pages.rst
Expand Down
152 changes: 99 additions & 53 deletions docs/usage/configuration-ttw.rst
Original file line number Diff line number Diff line change
Expand Up @@ -142,71 +142,82 @@ Zones

.. _user-management-section:

Users management
================
Gestion des utilisateurs
========================

Geotrek-admin s'appuie sur le `système d'authentification et de permissions Django<https://docs.djangoproject.com/en/4.2/topics/auth/default/>`.

Geotrek-admin relies on `Django authentication and permissions system <https://docs.djangoproject.com/en/4.2/topics/auth/default/>`_.
Users belong to groups, and permissions can be assigned at user or group-level.
Les utilisateurs appartiennent à des groupes et les permissions peuvent être attribuées au niveau de l'utilisateur ou du groupe.

With groups, you can create and configure user profile, each owning specific permissions.
Avec les groupes, vous pouvez créer et configurer un profil utilisateur, chacun possédant des permissions spécifiques.

The whole configuration of users, groups and permissions is available in the *AdminSite*,
if you did not enable *External authent* (see below).
Toute la configuration des utilisateurs, groupes et permissions est disponible depuis l'interface d'administration Django, si vous n'avez pas activé *Authentification externe* (voir ci-dessous).

|image9|

Users and permissions
---------------------
Utilisateurs et permissions
---------------------------

L’application permet d’attribuer des droits à autant de groupes que souhaité.
Nous recommandons cependant de privilégier la diffusion la plus large par défaut et de ne restreindre l’application que pour des raisons impératives.

A given user can have three basic status level:
L’application permet de définir des rôles disposant chacun de certains droits.
- visiteurs anonymes (par exemple : tous les internautes)
- partenaires, élus
- agents techniques
- prestataires externes
- administrateurs de l’application
- …

- **Active**: if checked, the user can connect to Geotrek-admin
À chaque rôle est associé un ensemble de permissions (consulter telle donnée, la modifier…) qui peuvent être attribuées à un document ou à une catégorie.
Les utilisateurs sont ensuite associés à un ou plusieurs rôles.

It is better to deactivate an account when the user won't user Geotrek anymore, instead of supress it.
Deleting the account will delete also all entries created by this account.
Un utilisateur donné peut avoir trois niveaux permissions basiques :

- **Staff**: if checked, the user is authorized to access Geotrek-Admin administration interface
- **Actif** : si cette case est coché, l’utilisateur peut se connecter à Geotrek-admin

- **Superuser**: if checked, the user has all permission, without having to define them specifically
.. note::
Il est préférable de désactiver un compte lorsqu’un utilisateur n’intervient plus sur Geotrek, plutôt que de le supprimer. En effet supprimer le compte supprimera également par exemple toutes les entrées dans l’historique de Geotrek associées à ce compte.

A user can get specific permissions by object type.
- **Équipe** : si la case est cochée l’utilisateur pourra accéder à l’interface d’administration de Geotrek-Admin

To do so, select permissions from left box and move them in the right box.
Snapshot below shows a user with permissions allowing him/her to view and export signage,
without the ability to access to others modules. or edit signage objects.
- **Super-utilisateur** : permet d’octroyer toutes les permissions à un utilisateur sans avoir à les définir explicitement

Un utilisateur peut avoir des permissions spécifiques, définies par type d’objet.

Pour cela, sélectionner les permissions dans l’écran de gauche pour les positionner dans l’écran de droite. Par exemple sur la capture ci-dessous l’utilisateur possède les permissions pour consulter uniquement et exporter les informations relatives aux signalétiques sans possibilité d’accéder aux autres modules ou de modifier les contenus.

|image10|

Permissions fall into four main types of actions:
Il existe quatre principaux types de permissions :

* add
* change
* delete
* read / view

Each data type is at least associated with the four basic actions (*add*, *change*, *delete*, *read*). One data type corresponds to a database table (*signage_signage*, *trekking_trek*...)
Chaque type de donnée est au moins associée à ces quatres actions de base (*ajout*, *modification*, *suppression*, *lecture*). Un type de donnée correspond à un table dans la base de données (*signage_signage*, *trekking_trek*…) »


Here is the signification of actions allowed through permissions:
Voici la signification des actions autorisées dans les permissions :

* *view*: see the data in Django *AdminSite* (for data of "category" type such as POI types, or difficulty level)
* *read*: see the data in Geotrek-admin interface (button and data list)
* *add*: adding of a new data (trek, theme...)
* *change*: modify the data
* *change_geom*: modify the data geometry
* *publish*: publish the data
* *export*: export the data thrgough Geotrek-admin interface (CSV, JSON...)
* *view* : voir les données dans l’interface AdminSite de Django (pour ledonnées dans « category », comme les types de POI, ou les niveaux de difficulté)
* *read* : voir les données dans Geotrek-admin (détail et liste)
* *add* : ajouter une nouvelle donnée (itinéraire, thème…)
* *change* : modifier une donnée
* *change_geom* : modifier la géométrie d’une donnée
* *publish* : publier la donnée
* *export* : exporter les données via l’interface de Geotrek-admin (CSV, JSON)


Groups
------
Groupes
-------

Groups allows to manage easily users and permissions. Each group is associated
to some permissions.
Les groupes facilitent la gestion des utilisateurs et des permissions.Chaque groupe est configuré avec un certain nombre de permissions.

In user modification view, you can associate a user to one ore more groupes to
get their permissions.
Dans la vue de modification d’un utilisateur, il est possible d’associer un utilisateur à un ou plusieurs groupes pour bénéficier des permissioncorrespondantes.

By default six groups are created:
Par défaut, six groupes sont disponibles :

* Readers ("Lecteurs")
* Path managers ("Référents sentiers")
Expand All @@ -215,39 +226,52 @@ By default six groups are created:
* Geotrek-rando ("Geotrek-rando")
* Trek and management editors ("Rédacteurs rando et gestion")

Once the application is installed, it is possible to modify the default permissions
of these existing groups, create new ones etc.
Lorsque l’application est installée, il est possible de modifier les permissions par défaut de ces groupes, d’en créer de nouveaux, etc.

If you want to allow the users to access the *AdminSite*, give them the *staff*
status using the dedicated checkbox. The *AdminSite* allows users to edit data categories such as *trek difficulty levels*, *POI types*, etc.
Pour autoriser les utilisateurs à accéder à l’interface AdminSite, accordez-leur le statut équipe. L’interface AdminSite permet aux utilisateurs d’éditer les catégories comme *niveaux de difficulté*, *types de POI*, etc

Il est possible de créer ou de supprimer des comptes administrateurs ou éditeurs.
De même qu’il est possible d’ajouter, modifier ou supprimer des itinéraires, tout comme pour les contenus additionnels.

Les éditeurs et les administrateurs peuvent travailler en simultané sur des fiches balades, mais pas en même temps sur la même fiche, car il y aurait sinon un risque de perte d’informations lors de la validation / enregistrement des informations saisies.

Structures
----------

Each user has to be linked to a structure. During the installation, Geotrek create a default structure to which first users are linked.
You can add new structures, according to territorial partners, companies, other organisations which work with you on Geotrek.
Chaque utilisateur est obligatoirement rattaché à une structure. Lors de l’installation, Geotrek crée une structure par défaut à laquellles premiers utilisateurs seront rattachés.Il est possible d’ajouter de nouvelles structures, reflétant des partenaires territoriaux, entreprises, entités qui seront amenés à travailler à vos côtés sur Geotrek.

Users of a given structure can work only on objects related to the same structure in Geotrek.
They can view objects from others structures, but won't be able to edit them.
Les utilisateurs d’une structure ne peuvent travailler que sur les objets dans Geotrek liés à leur structure. Ils pourront consulter les objets des autres structures mais n’auront pas le droit de les modifier.

*Exemple : Imagine a Geotrek deployed in the whole french territory, there could be structure related to "regions".
Each user would be linked to its region, through the structure.
Thus it would guarantee that a user from Bretagne could not edit objects created by a user from Normandie.*
*Exemple : si on imagine un Geotrek déployé sur l’ensemble du territoire français, il pourrait y avoir des structures correspondant à chaque région. Chaque utilisateur serait rattaché à sa région. Il y aurait alors la garantie qu’un utilisateur de Bretagne ne puisse pas modifier les objets saisis par un utilisateur de Normandie.*

The structure concept allows to divide users actions fields, and allows several organisation to work on a same Geotrek-admin,
while data keep coherence.
Cette notion de structures permet de segmenter les périmètres d’action des utilisateurs et de permettre à différentes entités de travailler sur un même Geotrek-Admin, tout en garantissant une cohérence des données.

.. note ::
A user of a given structure will be able to create treks on paths related to another structure
Un utilisateur d’une structure pourra tout de même tracer des itinéraires sur des tronçons tracés par une autre structure
.. note ::
To allow an user to modify objects from another structure, there are two ways:
Pour qu’un utilisateur puisse modifier les objets d’une autre structure il y a deux possibilités :
- celui-ci est super-utilisateur
- this user has superuser rights
- this user owns "Can bypass structure" permission, which allows him to override structure restriction
- celui-ci possède la permission « Can by structure », qui permet d’outrepasser la restriction des structures.
Multilingue
============

La configuration des langues de la plate-forme est réalisée au travers du fichier de configuration principal.
Lors de sa mise à jour, la commande de déploiement créé les champs nécessaires qui manquent dans la base de données (exemple : nom_fr, nom_es, nom_it…).
Ceci est à distinguer des langues dans lesquelles sont traduits les éléments de l'interface de l'application (Français, Anglais, Italien, Espagnol).

Il est par exemple possible d'intégrer des textes dans différentes langues (à minima français, anglais) dans Geotrek-Admin.

.. image :: /images/user-manual/multilangue.png
:alt: Gestion multilingue dans la fiche détail
Gestion multilingue dans la fiche détail
Configuration des portails
==========================
Expand All @@ -264,6 +288,28 @@ Pour configurer un ou pluseurs portails, il faut se rendre dans l'interface d'ad

Il est possible de choisir de publier sur un ou plusieurs portails les objets suivants : itinéraires, contenus et évènements touristiques, pages statiques. Pour cela il suffit de sélectionner la valeur souhaitée dans le champ "portail" à l'édition de l'objet.

Intégration des données SIT
===========================

Des développements ont déjà été réalisés dans Geotrek pour intégrer des données de divers SIT (Système d’Informations Touristiques), notamment APIDAE, Tourinsoft, LEI, SITLOR... si les flux sont disponibles dans des formats ouverts.

Il convient ensuite de configurer chaque flux dans Geotrek-Admin afin que ceux-ci soient synchronisé avec la plateforme touristique.

La fonctionnalité consiste à absorber le flux XML, afin de le remettre à disposition sous une forme optimisée et épurée. Les données sont alors exposées sous la forme d’une web API, au format GeoJSON.
L’obtention d’un flux de données GeoJSON (agnostique et standard) présente de nombreux avantages pour l’intégration dans les applications tierces. Ce format est compatible nativement avec Rando V3, mais également avec la plupart des bibliothèques de cartographie (web et natives mobile).

Pour configurer l'import de SIT, référez vous à cette section :doc:`/install/import.html#import-data-from-touristic-data-systems-sit`.

Intégration des fonds de cartes
===============================

Il est possible d'intégrer dans Geotrek différents fonds de carte comme :
- OpenStreetMap : https://www.openstreetmap.org/#map=6/46.449/2.210
- OpenTopoMap : https://opentopomap.org/#map=5/49.000/10.000
- ou les données IGN : https://geoservices.ign.fr/services-geoplateforme-diffusion

Pour configurer l'ajout de fonds de plan, référez vous à cette section :doc:`/install/advanced-configuration.html#map-settings`.


Pictogrammes
============
Expand Down
7 changes: 7 additions & 0 deletions docs/usage/editing-objects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ Segmentation dynamique

Certains objets sont saisis et stockés relativement aux tronçons, en utilisant `la segmentation dynamique <https://makina-corpus.com/sig-webmapping/la-segmentation-dynamique>`_. Il s'agit des objets suivants : sentiers, statuts, aménagements, interventions, itinéraires et POI. Tous les autres objets sont indépendants et ont leur propre géométrie.

La **segmentation dynamique** consiste en un ensemble de déclencheurs calculant automatiquement les géométries résultantes à la création et lors de modifications sur le réseau de tronçons. Cela permet de garantir une cohérence géométrique et topologique entre les tronçons et les itinéraires, mais aussi d'associer tous les objets entre eux en vérifiant leur superposition sur le réseau.

C'est pourquoi, modifier un tronçon peut entrainer des modifications des objets qui lui sont rattachés (interventions, itinéraires, POIs...). Supprimer un tronçon, supprime les objets qui lui sont rattachés par segmentation dynamique.

Les éléments ponctuels et linéaires des différents modules sont stockés sous forme d'évènements (PKdebut, PKfin et décalage dans la table ``geotrek.core_topology``) liés à un ou plusieurs tronçons (``geotrek.core_pathaggregation``).
Expand All @@ -27,3 +29,8 @@ Snapping - Aimantage - Accrochage
Quand vous créez un objet, il est possible de le snapper (aimanter) aux objets existants. C'est notamment utile pour bien raccorder les tronçons entre eux. Quand vous raccrochez un tronçon à un tronçon existant, ce dernier est coupé automatiquement à la nouvelle intersection.

Les fonctions d'aimantage ne sont pas disponibles lors de la création d'un nouvel objet (linéraire ou ponctuel). Il faut commencer par le créer puis le modifier pour disposer des fonctionnalités d'aimantage, activées automatiquement lorsque l'on se rapproche d'un objet existant. Par défaut la distance d'imantage est de 30 pixels mais elle est modifiable en configuration avancée.

Informations altimétriques
==========================

L'édition des objets s'effectue en 2D, et leur géométrie est “drapée” automatiquement en 3D sur un Modèle Numérique de Terrain stocké en base au format raster.
Loading

0 comments on commit ae89099

Please sign in to comment.