aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Florisson2014-02-17 09:53:30 +0100
committerMarc Florisson2014-02-17 09:53:30 +0100
commita2b88b6612435a4a2883c4a378115068df941e5b (patch)
treed59343b49a1968a10ec61798af9cb7f0659a43f1
parent0547437de59b2d5626f1c2c28a5a14baf4835f24 (diff)
parentc70672cda56b3db7b2b2ec5bfec06755f36534f0 (diff)
downloadchouette-core-a2b88b6612435a4a2883c4a378115068df941e5b.tar.bz2
Merge branch 'master' of github.com:afimb/chouette2
-rw-r--r--README.md113
-rw-r--r--app/views/help/imports.textile10
-rw-r--r--app/views/help/validations.textile67
-rw-r--r--config/locales/compliance_check_results.yml10
-rw-r--r--doc/install/postgresql.md5
-rw-r--r--public/help/notice.pngbin0 -> 1129 bytes
-rw-r--r--public/help/validation.pngbin0 -> 9138 bytes
-rw-r--r--public/help/validation_bulle.pngbin0 -> 22364 bytes
-rw-r--r--public/help/validation_location.pngbin0 -> 26404 bytes
-rw-r--r--public/help/validation_mandatory_detail.pngbin0 -> 38268 bytes
-rw-r--r--public/help/validation_mandatory_result.pngbin0 -> 8091 bytes
-rw-r--r--public/help/validation_optionnal_result.pngbin0 -> 8503 bytes
-rw-r--r--public/help/validation_result.pngbin0 -> 23537 bytes
13 files changed, 136 insertions, 69 deletions
diff --git a/README.md b/README.md
index 784b20a7a..31409c0b5 100644
--- a/README.md
+++ b/README.md
@@ -20,94 +20,113 @@ Requirements
------------
This code has been run and tested on [Travis](http://travis-ci.org/afimb/chouette2?branch=master) with :
-* Ruby 1.8.7
-* JRuby 1.6.8 (oraclejdk7, openjdk7, openjdk6)
+* Ruby 1.9.3
+* Postgres 9.x
+* Proj 4.8.0
External Deps
-------------
-On Debian/Ubuntu/Kubuntu OS :
+
+On Debian/Ubuntu/Kubuntu OS : assume depot contains the correct version
```sh
sudo apt-get install postgresql
sudo apt-get install pgadmin3
sudo apt-get install openjdk-7-jdk
sudo apt-get install git
sudo apt-get install unzip
+sudo apt-get install ruby
+sudo apt-get install proj-bin
+sudo apt-get install libproj-dev
+sudo apt-get install make
```
Installation
------------
-
-Install [Postgres] (./doc/install/postgresql.md)
-Install [JRuby] (./doc/install/jruby.md)
-
-Get git code :
+Get git source code :
```sh
cd workspace
-git clone -b V2_1_0 git://github.com/afimb/chouette2
+git clone -b V2_2 git://github.com/afimb/chouette2
cd chouette2
```
-**JRuby**
-
-Install dependencies
-```sh
-sudo apt-get install tomcat7
-sudo apt-get install proj-bin
-sudo apt-get install libproj-dev
-sudo apt-get install make
-```
+The next step assume default path defined by ```Chouette::Command.command``` in file [production.rb](./config/environments/production.rb) is unchanged
-Install chouette-gui-command to import and export transport offer :
+Install chouette-gui-command to import, export and validate transport offer :
```sh
sudo mkdir -p /usr/local/opt/chouette-command/
cd /usr/local/opt/chouette-command/
-wget http://chouette.dryade.net/chouette-cmd_2.1.0.zip
-unzip chouette-cmd_2.1.0.zip
-cd chouette-cmd_2.1.0
+wget http://maven.chouette.cityway.fr/fr/certu/chouette/chouette-gui-command/2.2.0/chouette-gui-command-2.2.0.zip
+unzip chouette-gui-command-2.2.0.zip
+mv chouette-gui-command-2.2.0.zip chouette-cmd_2.2.0
+cd chouette-cmd_2.2.0
sudo chmod a+w .
```
+
+Create [Postgres database user] (./doc/install/postgresql.md)
-Build War ( Use RAILS_ENV production mode and parameters )
+Download gem libraries and create database
```sh
-jgem install bundler --version 1.2.4
-jgem install jruby-openssl
-bundle install --path vendor/bundle
+setenv RAILS_ENV=production
+bundle install
bundle exec rake db:create
-bundle exec rake war
```
-Install war file ( Use RAILS_ENV production mode and parameters )
+The next step assume default path defined by following settings in file [production.rb](./config/environments/production.rb) are unchanged
+* ```ImportTask.root```
+* ```Export.root```
+
+Create directories
```sh
-sudo cp chouette2.war /var/lib/tomcat7/webapp/.
sudo mkdir -p /var/lib/chouette/imports
sudo mkdir -p /var/lib/chouette/exports
sudo mkdir -p /var/lib/chouette/validations
sudo chmod a+x /var/lib/chouette/imports /var/lib/chouette/exports /var/lib/chouette/validations
```
-**Ruby**
-Install chouette-gui-command to import and export transport offer :
+Configuration
+-------------
+
+Configure for Generating URLs in Action Mailer Views.
+* Edit [production.rb](./config/environments/production.rb) and change ```config.action_mailer.default_url_options```
+* see [Action Mailer Configuration documentation](http://guides.rubyonrails.org/action_mailer_basics.html)
+
+Configure SMTP settings.
+* Edit [production.rb](./config/environments/production.rb) and change ```ActionMailer::Base.smtp_settings```
+* see [Action Mailer Configuration documentation](http://guides.rubyonrails.org/action_mailer_basics.html)
+
+Configure IGN Géoportail Key.
+* Edit [production.rb](./config/environments/production.rb) and uncomment and set```config.geoportail_api_key```
+* see [API Géoportail documentation](http://api.ign.fr/accueil)
+
+Configure Google Analytics Key.
+* Edit [production.rb](./config/environments/production.rb) and change```GA.tracker```
+* see [Google Analytics](https://www.google.fr/intl/fr/analytics/)
+
+
+Run
+---
+
+Launch the task to import and export asynchronously
```sh
-sudo mkdir -p tmp/chouette-command/
-cd tmp/chouette-command/
-wget http://chouette.dryade.net/chouette-cmd_2.1.0.zip
-unzip chouette-cmd_2.1.0.zip
-cd chouette-cmd_2.1.0
-sudo chmod a+w .
+RAILS_ENV=production bundle exec rake jobs:work
```
+This task may be added in system start up configuration
-Install
+Launch rails server with [WEBrick](http://guides.rubyonrails.org/command_line.html#server-with-different-backends) ( default RoR web server, note: running on default port 3000)
```sh
-gem install bundler
-bundle install
-bundle exec rake db:create
+RAILS_ENV=production bundle exec rails server
```
+This task may be added in system start up configuration.
+Instead of using WEBrick, Rails application may be deployed on [Pushion Passenger](https://www.phusionpassenger.com/) with an [Apache](http://httpd.apache.org/) or [NGinx](http://nginx.com/) front-end, to make server faster and more robust.
+
Test
----
```sh
+setenv RAILS_ENV=tests
+bundle exec rake db:create
bundle exec rake spec
```
@@ -124,18 +143,6 @@ The description of the restful API is described in :
* [User manual file](./doc/interfaces/Chouette_API_REST_v1.2.pdf)
* [XSD file](./doc/interfaces/api_rest_v1.xsd)
-Example Usage
--------------
-
-Launch the task to import and export asynchronously
-```sh
-bundle exec rake jobs:work
-```
-
-Launch rails server
-```sh
-bundle exec rails server
-```
License
-------
diff --git a/app/views/help/imports.textile b/app/views/help/imports.textile
index bf9d05b02..7a6a82869 100644
--- a/app/views/help/imports.textile
+++ b/app/views/help/imports.textile
@@ -80,7 +80,7 @@ p. L'import est lancé en différé; son état d'avancement est affiché sous la
- bleu : en cours
- vert : terminé correctement
-- rouge : terminé en échec
+- rouge : terminé en échec (L'import n'a pas pu aboutir, contacter l'administrateur système pour plus de détails)
p. Le résultat est conservé tant que l'import n'est pas supprimé.
@@ -107,15 +107,15 @@ p. _1 - La synthèse des fichiers analysés affiche 3 secteurs_
p(border_image). !import_file_result.png!
-* en vert les fichiers correctements lus
-* en rouge les fichiers comportant des erreurs bloquantes
-* en gris les fichiers non exploités
+* en vert les fichiers correctements traités
+* en rouge les fichiers comportant des erreurs qui empêche leur traitement
+* en gris les fichiers ignorés
p. La sélection d'un des secteurs affiche la liste des fichiers concernés :
p(border_image). !import_file_detail.png!
-p. _2 - La synthèse des lignes lues affiche le compte des objets extraits des fichiers correctement lus_
+p. _2 - La synthèse des lignes lues affiche le compte des objets extraits des fichiers correctement traités_
p(border_image). !import_line_result.png!
diff --git a/app/views/help/validations.textile b/app/views/help/validations.textile
index cff6337f6..35f022417 100644
--- a/app/views/help/validations.textile
+++ b/app/views/help/validations.textile
@@ -1,6 +1,6 @@
---
layout: default
-title: Validations
+title: Validation
---
h3. Rôle
@@ -10,13 +10,20 @@ Elle se décompose en 3 phases (ou niveaux)
- Phase 1 := les données doivent respecter un format d'échange définissant une syntaxe et une sémantique précise (Actuellement seul le format Neptune est implémenté)
- Phase 2 := les données doivent respecter le niveau de complétude et de cohérence du format d'échange (Actuellement seul le format Neptune est implémenté).
-- Phase 3 := l'offre est analysée dans ses fonctionnalités et subit des contrôles de réalisme, cette phase effectuée sur les données une fois mises en base est indépendante du format d'échange.
+- Phase 3 := l'offre est analysée dans ses fonctionnalités et subit des contrôles de réalisme, cette phase est indépendante du format d'échange.
-Les tests de validation sont décrits dans l'aide en ligne de l'application, onglet 'Validation'. Ils sont également disponibles sur le site "chouette.mobi":http://www.chouette.mobi/spip.php?rubrique24
+Les tests de validation sont décrits sur le site "chouette.mobi":http://www.chouette.mobi/spip.php?rubrique24
h3. Formats disponibles
- Neptune := format normalisé des échanges de données de transport en commun pour la France (cf "Normalisation":normalisation)
+- Données internes Chouette := tests sur les objets déjà importés ou créés/modifiés en base (Phase 3 uniquement)
+
+h3. Activation
+
+La validation peut être activée sur un fichier lors de son import en précisant les paramètres nécessaires à la phase 3.
+
+L'onglet validation permet de réaliser un contrôle 'Phase 3' sur tout ou partie des lignes stockées en base.
h3. Consultation des résultats
@@ -24,8 +31,56 @@ p. La validation est lancée en différé; son état d'avancement est affiché s
- bleu : en cours
- vert : terminé correctement
-- rouge : terminé en échec (la validation n'a pas pu aboutir)
-
-p. La consultation du résultat de la validation donnera le bilan des contrôles ou les motifs de l'échec.
+- rouge : terminé en échec (la validation n'a pas pu aboutir, contacter l'administrateur système pour plus de détails)
p. Le résultat est conservé tant que la validation n'est pas supprimée.
+
+p. La consultation du résultat de la validation donnera :
+
+p=. !validation.png!
+
+* le lien 'Validation _n°_' permet de voir la liste des tests de validation effectués sur le jeu de données
+* le lien 'Import' permet de voir le bilan d'import si la validation est faite sur fichiers
+* le lien 'Jeu de paramètres' permet de consulter les paramètres de seuils pour les tests de phase 3
+
+h4. Résultats de validation
+
+p=. !validation_result.png!
+
+p. Le résultat de validation fournit 2 synthèses :
+
+# Synthèse des tests obligatoires
+# Synthèse des tests optionnels
+
+p. _1 - La synthèse des tests obligatoires affiche 3 secteurs_
+
+p(border_image). !validation_mandatory_result.png!
+
+* en vert les tests valides
+* en rouge les tests en échec
+* en gris les tests non réalisables (contexte du test ne permettant pas de l'effectuer)
+
+p(olnext). exemple : tests sur les accès avec aucun accès dans le jeu de données à valider
+
+p. _2 - La synthèse des tests optionnels affiche 3 secteurs_
+
+p(border_image). !validation_optionnal_result.png!
+
+* en vert les tests valides
+* en jaune les tests en échec
+* en gris les tests non réalisables (contexte du test ne permettant pas de l'effectuer)
+
+p. Dans les 2 cas, la sélection d'un des secteurs affiche la liste des tests concernés avec le détail en cas d'erreur
+
+p(border_image). !validation_mandatory_detail.png!
+
+Une bulle d'information s'affiche en sélectionnant une icone bleue !notice.png! :
+
+p(border_image). !validation_bulle.png!
+
+En cas d'erreur, la localisation est fournie dans la colonne 'Détail':
+
+* pour les tests des phases 1 et 2, par l'emplacement (nom du fichier, ligne et colonne) de l'objet en erreur,
+* pour les tests de la phase 3, par un lien vers la page de consultation de l'objet en erreur.
+
+p(border_image). !validation_location.png! \ No newline at end of file
diff --git a/config/locales/compliance_check_results.yml b/config/locales/compliance_check_results.yml
index 073a7d62c..27dfdbc71 100644
--- a/config/locales/compliance_check_results.yml
+++ b/config/locales/compliance_check_results.yml
@@ -97,12 +97,12 @@ fr:
detail_2_neptune_vehiclejourney_3: "La course %{objectId} référence une ligne (lineIdShortcut = %{lineIdShortcut}) inexistante"
detail_2_neptune_vehiclejourney_4: "La course %{objectId} référence un opérateur (operatorId = %{operatorId}) inexistant"
detail_2_neptune_vehiclejourney_5: "La course %{objectId} référence une fréquence horaire (timeSlotId = %{timeSlotId}) inexistante"
- detail_2_neptune_vehiclejourney_6: "La course %(objectId) référence une mission %{journeyPatternId} incompatible de la séquence d'arrêts %{routeId}"
- detail_2_neptune_vehiclejourney_7: "La mission %(objectId) n'est référencée par aucune course"
- detail_2_neptune_vehiclejourneyatstop_1: "La course %(objectId) fournit un horaire sur un point d'arrêt (stopPointId = %{stopPointId}) inexistant"
+ detail_2_neptune_vehiclejourney_6: "La course %{objectId} référence une mission %{journeyPatternId} incompatible de la séquence d'arrêts %{routeId}"
+ detail_2_neptune_vehiclejourney_7: "La mission %{objectId} n'est référencée par aucune course"
+ detail_2_neptune_vehiclejourneyatstop_1: "La course %{objectId} fournit un horaire sur un point d'arrêt (stopPointId = %{stopPointId}) inexistant"
detail_2_neptune_vehiclejourneyatstop_2: "Un horaire de la course %{objectId} référence une autre course : vehicleJourneyId = %{vehicleJourneyId}"
- detail_2_neptune_vehiclejourneyatstop_3: "La course %(objectId) ne fournit pas les horaires des points d'arrêts selon l'ordre de la séquence d'arrêts %{routeId}"
- detail_2_neptune_vehiclejourneyatstop_4: "La course %(objectId) ne fournit pas les horaires des points d'arrêts de sa mission %{journeyPatternId}"
+ detail_2_neptune_vehiclejourneyatstop_3: "La course %{objectId} ne fournit pas les horaires des points d'arrêts selon l'ordre de la séquence d'arrêts %{routeId}"
+ detail_2_neptune_vehiclejourneyatstop_4: "La course %{objectId} ne fournit pas les horaires des points d'arrêts de sa mission %{journeyPatternId}"
detail_2_neptune_facility_1: "L'équipement %{objectId} est situé sur un arrêt inexistant (containedId = %{containedId})"
detail_2_neptune_facility_2: "L'équipement %{objectId} référence un arrêt (stopAreaId = %{stopAreaId}) inexistant"
detail_2_neptune_facility_3: "L'équipement %{objectId} référence une ligne (lineId = %{lineId} inexistante"
diff --git a/doc/install/postgresql.md b/doc/install/postgresql.md
index 204aec33f..45b8fc7e1 100644
--- a/doc/install/postgresql.md
+++ b/doc/install/postgresql.md
@@ -1,5 +1,10 @@
# Install Postgresql
+Requirement
+-----------
+
+Minimal version : 9.1
+
Setup
-----
diff --git a/public/help/notice.png b/public/help/notice.png
new file mode 100644
index 000000000..16510c9c4
--- /dev/null
+++ b/public/help/notice.png
Binary files differ
diff --git a/public/help/validation.png b/public/help/validation.png
new file mode 100644
index 000000000..bb079657e
--- /dev/null
+++ b/public/help/validation.png
Binary files differ
diff --git a/public/help/validation_bulle.png b/public/help/validation_bulle.png
new file mode 100644
index 000000000..efd8d5c36
--- /dev/null
+++ b/public/help/validation_bulle.png
Binary files differ
diff --git a/public/help/validation_location.png b/public/help/validation_location.png
new file mode 100644
index 000000000..e59d1344e
--- /dev/null
+++ b/public/help/validation_location.png
Binary files differ
diff --git a/public/help/validation_mandatory_detail.png b/public/help/validation_mandatory_detail.png
new file mode 100644
index 000000000..10f2f3c18
--- /dev/null
+++ b/public/help/validation_mandatory_detail.png
Binary files differ
diff --git a/public/help/validation_mandatory_result.png b/public/help/validation_mandatory_result.png
new file mode 100644
index 000000000..458203e1f
--- /dev/null
+++ b/public/help/validation_mandatory_result.png
Binary files differ
diff --git a/public/help/validation_optionnal_result.png b/public/help/validation_optionnal_result.png
new file mode 100644
index 000000000..59b9fbd83
--- /dev/null
+++ b/public/help/validation_optionnal_result.png
Binary files differ
diff --git a/public/help/validation_result.png b/public/help/validation_result.png
new file mode 100644
index 000000000..7df500a75
--- /dev/null
+++ b/public/help/validation_result.png
Binary files differ