Bienvenue dans la doc de Police¶
Contenu:

SERVEUR¶
Prérequis¶
- Ressources minimum serveur :
Un serveur disposant d’au moins de 1 Go RAM et de 10 Go d’espace disque.
- disposer d’un utilisateur linux nommé
police
. Le répertoire de cet utilisateurpolice
doit être dans/home/police
Il est possible de faire l’installation de l’application sur un serveur existant. Si l’utilisateur police
n’existe pas vous avez le choix entre créer cet utilisateur ou adapter la documentation avec le nom de votre utilisateur
sudo adduser --home /home/police police
Récupérer le zip de l’application sur le Github du projet (X.Y.Z à remplacer par le numéro de version souhaité), dézippez le dans le répertoire
tmp
du serveur puis copiez le dans le répertoire de l’utilisateur linux :cd /tmp wget https://github.com/PnEcrins/Police/archive/vX.Y.Z.zip unzip vX.Y.Z.zip cp -R Police-X.Y.Z /home/police/Police cd /home/police
Installation et configuration du serveur¶
Installation pour Debian 7.
notes: | Cette documentation concerne une installation sur Debian. Pour tout autre environemment les commandes sont à adapter. |
---|
.
notes: | Durant toute la procédure d’installation, travailler avec l’utilisateur police . Ne changer d’utilisateur que lorsque la documentation le spécifie. |
---|
.
su - apt-get install apache2 php5 libapache2-mod-php5 php5-gd libapache2-mod-wsgi php5-pgsql cgi-mapserver sudo gdal-bin usermod -g www-data police usermod -a -G root police adduser police sudo exit Fermer la console et la réouvrir pour que les modifications soient prises en compte
Ajouter un alias du serveur de base de données dans le fichier /etc/hosts
sudo sh -c 'echo "127.0.1.1 policedbhost" >> /etc/hosts' sudo apache2ctl restart
notes: | Cet alias Par défaut, PostgreSQL est en localhost (127.0.1.1) Si votre serveur PostgreSQL est sur un autre host (par exemple sur |
---|
- Vérifier que le répertoire
/tmp
existe et que l’utilisateurwww-data
y ait accès en lecture/écriture
Installation et configuration de PosgreSQL¶
- Sur Debian 7, configuration des dépots pour avoir les dernières versions de PostgreSQL (9.3) et PostGIS (2.1)
(http://foretribe.blogspot.fr/2013/12/the-posgresql-and-postgis-install-on.html)
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main" >> /etc/apt/sources.list' sudo wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update
Installation de PostreSQL/PostGIS
sudo apt-get install postgresql-9.3 postgresql-client-9.3 sudo apt-get install postgresql-9.3-postgis-2.1 sudo adduser postgres sudo
configuration PostgreSQL - permettre l’écoute de toutes les ip
sed -e "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" -i /etc/postgresql/9.3/main/postgresql.conf sudo sed -e "s/# IPv4 local connections:/# IPv4 local connections:\nhost\tall\tall\t0.0.0.0\/32\t md5/g" -i /etc/postgresql/9.3/main/pg_hba.conf /etc/init.d/postgresql restart
Création de 2 utilisateurs PostgreSQL
sudo su postgres psql CREATE ROLE policeuser WITH LOGIN PASSWORD 'monpassachanger'; CREATE ROLE policeadmin WITH SUPERUSER LOGIN PASSWORD 'monpassachanger'; \q exit
L’utilisateur policeuser
sera le propriétaire de la base de données policedb
et sera utilisé par l’application pour se connecter à celle-ci.
L’utilisateur policeadmin
est super utilisateur de PostgreSQL.
L’application fonctionne avec par default le mot de passe monpassachanger
mais il est conseillé de le modifier !
Ces mots de passe, ainsi que les utilisateurs PostgreSQL créés ci-dessus policeuser
et policeadmin
sont des valeurs par défaut utilisées à plusieurs reprises dans l’application. Ils peuvent cependant être changés dans le fichier conf/settings.ini
APPLICATION¶
Configuration de la base de données PostgreSQL¶
Copier et renommer le fichier
conf/settings.ini.sample
enconf/settings.ini
:cp conf/settings.ini.sample conf/settings.ini
Mettre à jour la section PostgreSQL du fichier
conf/settings.ini
avec vos paramètres de connexion à la base de données ainsi que la sectionparamétrage de l'application
:nano conf/settings.ini
Renseigner le nom de la base de données, les utilisateurs PostgreSQL et les mots de passe. Il est possible mais non conseillé de laisser les valeurs proposées par défaut.
ATTENTION : Les valeurs renseignées dans ce fichier sont utilisées par le script d’installation de la base de données install_db.sh
. Les utilisateurs PostgreSQL doivent exister (et disposer de droits suffisants) ou être en concordance avec ceux créés lors de la dernière étape de l’installation du serveur (Création de 2 utilisateurs PostgreSQL).
Création de la base de données¶
Création automatisée de la base de données (
data/policedb.sql
) et chargement des données initiales (data/policedb_data.sql
etpolicedb_data_sig_pne.sql
) :cd /home/police/Police sudo ./install_db.sh
Vous pouvez consulter le fichier
log/install_db.log
afin de vérifier si des errreurs se sont produites lors de l’installation de la base de donnéesSi besoin, l’exemple des données SIG du Parc national des Ecrins pour les tables du schéma
layers
export PGPASSWORD=monpassachanger;psql -h policedbhost -U policeuser -d policedb -f data/pne/policedb_data_sig_pne.sql
La base de données est composée de 4 schémas : * Public contenant les fonctions natives PostgreSQL et PostGIS ainsi que la table geometry_columns listant les tables géoréférencées ainsi que leur systeme de projection respectives * Interventions contenant l’ensemble des interventions et de leurs attributs * Layers contenant toutes les tables géographiques (communes, zones réglementées, cœur du Parc, ...) * Utilisateurs contenant la liste des utilisateurs ainsi que leurs droits (ce schéma ne doit pas être modifié, il est mise à jour par l’application UsersHub et la répercusion automatique de toutes les modifications faites dans la BDD de UsersHub.
Les couches géographiques à intégrer :
* Communes dans la table layers.l_communes
* Secteurs dans la table layers.l_secteurs
* Zones à statut (cœur, aire d’adhésion, réserves) dans la table layers.l_statut_zone
. En lien avec la bibliothèque des types de zones interventions.bib_statutszone
. Le champ ordre
de la table layers.l_statut_zone
permet d’ordonner l’importance des zones pour savoir laquelle sera retenue en cas de superposition de plusieurs zones.
Les autres bibliothèques peuvent aussi être modifiées directement dans la base de données (liste des types d’infractions, des types de zones à statut, ...). Ces tables utilisent le préfixe bib_
Configuration de l’application¶
Se loguer sur le serveur avec l’utilisateur
police
Se placer dans le répertoire de l’application et lancer le script d’installation de l’application
install_app.sh
qui va générer les fichiers de configuration et modifier les droits de certains répertoires :cd /home/police/Police ./install_app.sh
Editer et vérifier dans le fichier
conf/connecter.php
que vos paramètres de connexion à la BDD sont corrects.Editer et mettre à jour le fichier
conf/parametres.php
avec vos paramètres.Editer et mettre à jour le fichier
conf/conf_carto.js
avec vos paramètres. Vous devez notamment fournir la clé de l’API IGN (voir dernière section de ce document). Vous devez aussi configurer les valeurs des emprises de votre territoire.Si vous souhaitez mettre à disposition des utilisateurs des documents (PDF, DOC, XLS...), éditer et mettre à jour le fichier
documents_liste.php
.
Vos documents doivent être placés dans le répertoire documents
, il vous suffit ensuite de modifier le fichier documents_liste.php
pour faire pointer les liens vers vos documents.
- Pour tester, se connecter à l’application via http://mon-domaine.fr/Police avec l’utilisateur et mot de passe :
admin/ admin
Mise à jour de l’application¶
Les différentes versions sont disponibles sur le Github du projet (https://github.com/PnEcrins/Police/releases).
- Télécharger et extraire la version souhaitée dans un répertoire séparé (où
X.Y.Z
est à remplacer par le numéro de la version que vous installez).
cd /home/police/
wget https://github.com/PnEcrins/Police/archive/vX.Y.Z.zip
unzip vX.Y.Z.zip
cd Police-X.Y.Z/
- Lire attentivement les notes de chaque version si il y a des spécificités (https://github.com/PnEcrins/Police/releases). Suivre ces instructions avant de continuer la mise à jour.
- Copier les anciens fichiers de configuration et les charger dans le nouveau répertoire de l’application (
version-precedente
est à modifier par le nom du répertoire où était installé votre application Police).
# Fichiers de configuration
cp ../version-precedente/conf/parametres.php conf/parametres.php
cp ../version-precedente/conf/connecter.php conf/connecter.php
cp ../version-precedente/conf/settings.ini conf/settings.ini
cp ../version-precedente/conf/parametres_wms.js conf/parametres_wms.js
# Logo et pied de page
cp ../version-precedente/images/logo_etablissement.png images/logo_etablissement.png
cp ../version-precedente/images/footer.jpg images/footer.jpg
# Documents (si vous en avez ajouté)
cp -r ../version-precedente/documents/* /documents/
- Renommer l’ancien répertoire de l’application Police (/Police_OLD/ par exemple) puis celui de la nouvelle version (/Police/ par exemple) pour que le serveur pointe sur la nouvelle version
Clé IGN¶
Si vous êtes un établissement public, commandez une clé IGN de type : Licence géoservices IGN pour usage grand public - gratuite Avec les couches suivantes :
- WMTS-Géoportail - Orthophotographies
- WMTS-Géoportail - Parcelles cadastrales
- WMTS-Géoportail - Cartes IGN
Pour cela, il faut que vous disposiez d’un compte IGN pro. (http://professionnels.ign.fr) Une fois connecté au site:
- aller dans “Nouvelle commande”
- choisir “Géoservices IGN : Pour le web” dans la rubrique “LES GÉOSERVICES EN LIGNE”
- cocher l’option “Pour un site internet grand public”
- cocher l’option “Licence géoservices IGN pour usage grand public - gratuite”
- saisir votre url. Attention, l’adresse doit être précédée de
http://
(même si il s’agit d’une IP) - Finir votre commande en selectionnant les couches d’intéret et en acceptant les différentes conditions.
Une fois votre commande terminée, saisissez la valeur de la clé IGN reçue dans le fichier conf/conf_carto.js
.
CHANGELOG¶
2.4.0.dev1¶
2.3.2 (2016-01-04)¶
Corrections de bugs
- Intégration de la librairie OpenLayers.JS en local car le lien distant vers le serveur de OL ne fonctionnait plus. (Fixes https://github.com/PnEcrins/Police/issues/18).
Documentation
- Correction de typos dans la documentation
2.3.1 (2015-10-13)¶
Corrections de bugs
- Ajout des triggers permettant de renseigner automatiquement la date de création et la date de mise à jour d’une intervention.
- Ajout d’un agent présent lors d’une intervention en mode modification
Documentation
- L’installation indique désormais de télécharger une version de l’application et non le master.
2.3.0 (2015-10-13)¶
Note de version
Avant mise à jour :
- Les fonds carto ne sont plus affichés à partir d’un flux WMS mais à partir de l’API Geoportail IGN. Il vous faut donc une clé API Geoportail IGN correspondant à l’URL de votre serveur (https://github.com/PnEcrins/Police/blob/master/docs/installation.rst).
Après mise à jour :
- Un fichier
conf/conf_carto.js
a été ajouté à l’application. Générez le votre à partir du fichierconf/conf_carto.js.sample
et renseignez-y les paramètres de votre clé IGN ainsi que l’emprise de votre territoire en 3857. - Modifiez aussi l’étendue du territoire dans le fichier
conf/parametres.php
pour qu’elle soit aussi en 3857 (projection API Geoportail). - Les fonds provenant de l’API Google Maps ne fonctionnaient plus dans les versions précédentes car l’API n’avait pas été mise à jour dans Police. Les lignes de code qui faisaient référence à cette API Google Maps ont été supprimées pour nettoyer le code.
- Les paramètres correspondants à l’usage de l’API Google Maps ont été supprimés du fichier
conf/parametres.php
. Après avoir récupéré ce fichier de votre version 2.2.0, vous pouvez y retirer la partie correspondant à Google Maps (voirconf/parametre.php.sample
dans https://github.com/PnEcrins/Police/commit/748b8ae079446f3959af54ea13e32dbc5f55e0b3).
Changements
- Passage de la carto sur l’API IGN Geoportail et changement de projection pour les rasters et le champs``the_geom`` dans PostGIS. Cette modification de la BDD peut être réalisée en éxecutant la partie correspondante dans le fichier
data/migration_bdd_police.sql
(https://github.com/PnEcrins/Police/blob/master/data/migration_bdd_police.sql). - Message d’erreur si l’utilisateur essaie d’enregistrer une intervention sans infraction et/ou sans agent présent
- Compléments dans la documentation d’installation (https://github.com/PnEcrins/Police/blob/master/docs/installation.rst)
- Permettre la saisie des coordonnées d’une intervention en modification.
Correction de bugs
- Correction des bugs de la 2.2.0 concernant la recherche carto et l’affichage des agents présents dans les fiches des interventions
2.2.0 (2015-10-06)¶
Note de version
- La gestion des utilisateurs a été externalisée dans l’outil UsersHub (https://github.com/PnEcrins/UsersHub). Ainsi les tables utilisateurs intégrées dans la BDD Police ont été supprimées (
bib_agents
etbib_droits
) et sont remplacées par les tables dans le schémautilisateurs
alimentés par la BDD de UsersHub. Avant de mettre à jour l’application, il faut donc installer UsersHub, y intégrer dans la tablet_roles
la liste des agents présents actuellement dans la tablebib_agents
, y créer l’application Police, donner des droits aux agents dans l’application Police (idéalement en ayant préalablement créé des groupes d’utilisateurs pour ne pas donner des droits dans Police agent par agent mais plutôt en fonction des groupes auxquels ils appartiennent) et y créer une liste des agents (ou groupes) pouvant être associés à une intervention. - Par ailleurs pour les listes déroulantes des agents pouvant être présents sur une intervention, la version 2.1.0 se basait sur les champs booléens
assermenté
etenposte
dans la tablebib_agents
. Désormais cette liste est basée sur une liste dans UsersHub dont l’identifiant doit être indiquée dans le paramètreid_menu
du fichierconf/parametres.php
. - La base de données a subi plusieurs modifications entre la V2.1.0 et cette V2.2.0. L’ensemble des modifications peuvent être réalisées en éxecutant la partie correspondante dans le fichier
data/migration_bdd_police.sql
(https://github.com/PnEcrins/Police/blob/master/data/migration_bdd_police.sql). - Le fonctionnement avec GoogleMaps (au lieu de OpenLayers 2) ne fonctionne plus, car leur API a évolué depuis mais n’a pas été mise à jour dans Police.
- De nouveaux paramètres ont été ajoutés à l’application. Après avoir récupéré le fichier de conf
conf/parametres.php
de votre version 2.1.0, ajoutez les manuellement (id_application
,id_menu
,acces_agents
etacces_documents
).
Changements
- Amélioration du pointage CARTO. Il n’y a plus maintenant un point par défaut au milieu de la carte que l’on doit déplacer mais un fonctionnement plus classique. On se localise sur la zone de l’intervention et on clique pour positionner celle-ci. Si je reclique ailleurs, cela déplace le point à ce nouvel emplacement.

- Saisie des coordonnées. Au lieu de localiser l’intervention sur la carte, on peut directement saisir les coordonnées X et Y (en WGS84). L’application vérifie que les coordonnées saisies sont bien dans l’étendue globale du territoire définie dans les paramètres.
- Les agents ne peuvent désormais modifier QUE les interventions pour lesquelles ils étaient présents.
- Ajout des champs
DATE AUDIENCE
etAPPEL AVOCAT
(dans les formulaire d’ajout/modification, dans les fiches de visualisation d’une intervention et dans les export XLS). - La recherche que l’on pouvait déjà faire dans la liste des interventions est maintenant aussi possible dans l’onglet CARTO (reste quelques ajustements à faire sur cette page).
- Les exports correspondent aux résultats de la recherche et non plus à la liste de toutes les interventions (fixes https://github.com/PnEcrins/Police/issues/2).
- L’application est désormais compatible avec PostGIS 2 (https://github.com/PnEcrins/Police/commit/ca9ecaf511016bb1f11f8e7d63a54c1f82585488).
- Documentation et automatisation de l’installation de l’application et de la BDD (https://github.com/PnEcrins/Police/tree/master/docs).
- La gestion des utilisateurs ayant été externalisée dans l’application UsersHub, il n’est plus possible de gérer ceux-ci dans l’onglet AGENTS de l’application.
- Les onglets DOCUMENTS et AGENTS peuvent être masqués depuis les paramètres.
Correction de bugs
- Les problèmes d’accent et d’apostrophes dans les champs textes ont été réglés
- Les fichiers PHP ont été convertis en UTF8
- Correction de l’affichage de la liste des utilisateurs dans l’export XLS (fixes https://github.com/PnEcrins/Police/issues/1)
2.1.0 (Décembre 2011)¶
Modification de la BDD pour pouvoir gérer les secteurs indépendamment des communes (certaines communes étant sur 2 secteurs dans certains parcs marins)
2.0.0 (Janvier 2010)¶
Versions portable et dépersonnalisée pour le déployer dans d’autres parcs nationaux.
1.0.0 (Février 2009)¶
Application de suivi des infractions.
Réalisée à partir des fichiers Excel gérées dans chaque secteur du Parc nation des Ecrins.