diff options
| author | Michel Etienne | 2015-08-24 15:03:57 +0200 | 
|---|---|---|
| committer | Michel Etienne | 2015-08-24 15:03:57 +0200 | 
| commit | f310a9e5782bccf9f21129855af0774b256853f9 (patch) | |
| tree | 5632f5dd458574fc46e465052316b34f91b5dc04 | |
| parent | a8eff16982a5e9d87414b6ca908f855371b184ba (diff) | |
| parent | b76cda8e9ce414f666c51799d1665bf4d45f3049 (diff) | |
| download | chouette-core-f310a9e5782bccf9f21129855af0774b256853f9.tar.bz2 | |
merge V3_0
49 files changed, 469 insertions, 313 deletions
| @@ -116,9 +116,8 @@ gem 'squeel'  gem 'enumerize', '~> 0.10.0'  #gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git', :branch => "rails4" -#gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git' -#gem 'ninoxe',:path => '~/Projets/cityway/ninoxe' -gem 'ninoxe', '1.2.0' +gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git' +#gem 'ninoxe', '1.2.0'  gem 'acts_as_list', '~> 0.6.0'  gem "acts_as_tree", '~> 2.1.0', :require => "acts_as_tree" @@ -160,6 +159,7 @@ group :test, :development do    gem 'rb-fsevent', :require => RUBY_PLATFORM.include?('darwin') && 'rb-fsevent'    gem 'transpec'    gem 'database_cleaner' +  gem 'shoulda-matchers'  end  group :production do diff --git a/Gemfile.lock b/Gemfile.lock index f925a3a23..58465495e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,17 @@ +GIT +  remote: https://github.com/afimb/ninoxe.git +  revision: 0c548adb266659e7aacd9a7b055e6eb9e21baf66 +  specs: +    ninoxe (1.2.0) +      activerecord (~> 4.1.1) +      acts-as-taggable-on (>= 3) +      acts_as_list (>= 0.1.6) +      acts_as_tree (>= 1.1.0) +      deep_cloneable (~> 2.0.0) +      enumerize (~> 0.10.0) +      foreigner (= 1.6.0) +      georuby-ext (= 0.0.5) +  GEM    remote: http://rubygems.org/    remote: https://rails-assets.org/ @@ -246,15 +260,6 @@ GEM      net-ssh-gateway (1.2.0)        net-ssh (>= 2.6.5)      newrelic_rpm (3.9.6.257) -    ninoxe (1.2.0) -      activerecord (~> 4.1.1) -      acts-as-taggable-on (>= 3) -      acts_as_list (>= 0.1.6) -      acts_as_tree (>= 1.1.0) -      deep_cloneable (~> 2.0.0) -      enumerize (~> 0.10.0) -      foreigner (= 1.6.0) -      georuby-ext (= 0.0.5)      nokogiri (1.6.6.2)        mini_portile (~> 0.6.0)      nokogiri (1.6.6.2-java) @@ -401,6 +406,8 @@ GEM        json (~> 1.7, >= 1.7.7)        rdoc (~> 4.0)      shellany (0.0.1) +    shoulda-matchers (2.8.0) +      activesupport (>= 3.0.0)      simple_form (3.1.0)        actionpack (~> 4.0)        activemodel (~> 4.0) @@ -527,7 +534,7 @@ DEPENDENCIES    mimemagic    modernizr-rails (~> 2.0.6)    newrelic_rpm -  ninoxe (= 1.2.0) +  ninoxe!    pg    poltergeist    pry-rails @@ -555,6 +562,7 @@ DEPENDENCIES    sass-rails (~> 4.0.3)    sawyer (~> 0.6.0)    sdoc (~> 0.4.0) +  shoulda-matchers    simple_form (~> 3.1.0)    simplecov (~> 0.10.0)    spring @@ -568,6 +576,3 @@ DEPENDENCIES    warbler    will_paginate (~> 3.0.7)    will_paginate-bootstrap (~> 1.0.1) - -BUNDLED WITH -   1.10.3 diff --git a/app/assets/javascripts/export_tasks/new.js.coffee b/app/assets/javascripts/export_tasks/new.js.coffee index 466486df6..f46711b6b 100644 --- a/app/assets/javascripts/export_tasks/new.js.coffee +++ b/app/assets/javascripts/export_tasks/new.js.coffee @@ -1,14 +1,31 @@  $(".export_tasks.new").ready -> +  toggle_input = (li, enabled) -> +    # Hide li block +    li.toggle(enabled) +    # Disable input/select to ignore it in POST data +    li.find("input,select").attr("disabled", !enabled) +    export_references_type_change = (event) -> +    form = $(event.target).parents('form') + +    # Display the reference_ids input for the selected type      references_type = $(event.target).val() +    for li in form.find("li.reference_ids") +      li = $(li) +      enabled = li.data("type") == references_type +      toggle_input li, enabled + +    disabled_inputs = form.find("li.input").not("li.reference_ids").find("input:disabled,select:disabled") +    for disabled_input in disabled_inputs +      li = $(disabled_input).parents('li') +      toggle_input li, true + +    hidden_attributes = $(event.target).find(":selected").data("hidden-attributes") +    return unless hidden_attributes -    toggle_input = (li) -> -      enabled = (li.data("type") == references_type) -      # Hide li block -      li.toggle(enabled) -      # Disable textarea to ignore it in POST data -      li.find(".token-input").attr("disabled", !enabled) -       -    toggle_input($(li)) for li in $(event.target).parents('form').find("li.reference_ids") +    hidden_attributes = hidden_attributes.split(',') +    for attribute in hidden_attributes +      li = form.find("##{form.attr('id')}_export_task_#{attribute}_input") +      toggle_input li, false    $('form select[name="export_task[references_type]"]').change( export_references_type_change ) diff --git a/app/models/export_task.rb b/app/models/export_task.rb index 3dbda0a70..f02cb914e 100644 --- a/app/models/export_task.rb +++ b/app/models/export_task.rb @@ -12,7 +12,7 @@ class ExportTask    enumerize :data_format, in: %w( neptune netex gtfs hub kml )    attr_accessor :referential_id, :user_id, :user_name, :references_type, :data_format, :name, :projection_type, :reference_ids -   +    validates_presence_of :referential_id    validates_presence_of :user_id    validates_presence_of :user_name @@ -22,16 +22,17 @@ class ExportTask    validate :period_validation    after_initialize :init_period -   +    def initialize( params = {} )      run_callbacks :initialize do        params.each {|k,v| send("#{k}=",v)}      end    end -   +    def period_validation -    st_date = Date.parse(start_date) unless start_date.blank?  -    ed_date = Date.parse(end_date) unless end_date.blank?  +    st_date = start_date.is_a?(String) ? Date.parse(start_date) : start_date +    ed_date = end_date.is_a?(String) ? Date.parse(end_date) : end_date +      unless  Chouette::TimeTable.start_validity_period.nil? || st_date.nil?        tt_st_date = Chouette::TimeTable.start_validity_period        errors.add(:start_date, ExportTask.human_attribute_name("start_date_greater_than" , {:tt_st_date => tt_st_date})) unless tt_st_date <= st_date @@ -44,7 +45,7 @@ class ExportTask        errors.add(:end_date, ExportTask.human_attribute_name("end_date_less_than", {:tt_ed_date => tt_ed_date})) unless ed_date <= tt_ed_date      end    end -   +    def init_period      unless Chouette::TimeTable.start_validity_period.nil?        if start_date.nil? @@ -65,14 +66,12 @@ class ExportTask    end    def save -    puts self.errors.inspect -    puts self.errors.size      if self.valid?        # Call Iev Server -      begin  +      begin          Ievkit.create_job( referential.slug, "exporter", data_format, {                               :file1 => params_io, -                           } )      +                           } )        rescue Exception => exception          raise exception        end @@ -95,14 +94,26 @@ class ExportTask        h["parameters"] = action_params      end    end -   +    def action_params      {}    end -   +    def params_io      file = StringIO.new( params.to_json )      Faraday::UploadIO.new(file, "application/json", "parameters.json")    end +  def self.optional_attributes(references_type) +    [] +  end + +  def optional_attributes +    self.class.optional_attributes(references_type.to_s) +  end + +  def optional_attribute?(attribute) +    optional_attributes.include? attribute.to_sym +  end +  end diff --git a/app/models/gtfs_export.rb b/app/models/gtfs_export.rb index bef468c32..d0b9fc4f9 100644 --- a/app/models/gtfs_export.rb +++ b/app/models/gtfs_export.rb @@ -1,12 +1,12 @@  class GtfsExport < ExportTask -  validates_presence_of :time_zone +  validates_presence_of :time_zone, unless: Proc.new { |e| e.optional_attribute? :time_zone }    attr_accessor :object_id_prefix, :time_zone    enumerize :references_type, in: %w( network line company group_of_line stop_area ) -   +    after_initialize :init_params -   +    def init_params      if time_zone.nil?        self.time_zone = "Paris" @@ -34,6 +34,12 @@ class GtfsExport < ExportTask      }    end +  def self.optional_attributes(references_type) +    super.tap do |optional_attributes| +      optional_attributes.push :time_zone, :start_date, :end_date if references_type == "stop_area" +    end +  end +    def data_format      "gtfs"    end diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb index 154ecf1c8..dd3051098 100644 --- a/app/views/devise/registrations/edit.html.erb +++ b/app/views/devise/registrations/edit.html.erb @@ -6,7 +6,7 @@    <div class="form-inputs">      <%= f.input :email, required: true, autofocus: true %>      <%= f.input :name, required: true %> -     +      <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>        <p>Currently waiting confirmation for: <%= resource.unconfirmed_email %></p>      <% end %> @@ -18,7 +18,6 @@    <div class="form-actions">      <%= f.button :submit %> +    <%= link_to t("cancel"), :back %>    </div>  <% end %> - - diff --git a/app/views/export_tasks/new.html.erb b/app/views/export_tasks/new.html.erb index 1cdb4fa79..81180bf3b 100644 --- a/app/views/export_tasks/new.html.erb +++ b/app/views/export_tasks/new.html.erb @@ -1,6 +1,6 @@  <%= title_tag t(".title") %>  <ul class="nav nav-pills"> -  <% ExportTask.data_formats.each do |format| %>   +  <% ExportTask.data_formats.each do |format| %>    <li role="presentation"><a href="#<%= format %>" class='<%= @export_task.data_format == format ? "#{format} active" : "#{format}" %>' title='<%= t(:"enumerize.data_format_detail.#{format}")%>' data-toggle="tab"><%= t(:"enumerize.data_format.#{format}") %></a></li>    <% end %>  </ul> @@ -8,23 +8,22 @@  <div class="tab-content">  <% @available_exports.each do |export_task| %>    <%= semantic_form_for [@referential, export_task], :as => :export_task, :url => referential_export_tasks_path(@referential), :namespace => export_task.data_format ,:html => { :id => "#{export_task.data_format}", :class => "tab-pane highlight"} do |form| %> -        <%= form.inputs do %> +  <%= form.inputs do %>  	  <%= form.input :user_name, :as => :hidden, :input_html => { :value => current_user.name } %>  	  <%= form.input :user_id, :as => :hidden, :input_html => { :value => current_user.id } %>  	  <%= form.input :data_format, :as => :hidden %> -	  <%= form.input :referential_id, :as => :hidden, :input_html => { :value => @referential.id } %>	   -          <%= form.input :name %>   -          <%= form.input :references_type, :as => :select, :include_blank => t(".all") %> +	  <%= form.input :referential_id, :as => :hidden, :input_html => { :value => @referential.id } %> +    <%= form.input :name %> +    <%= form.input :references_type, as: :select, include_blank: t(".all"), collection: export_task.class.references_type.options.map { |o| o << {data:{"hidden-attributes" => export_task.class.optional_attributes(o.second).join(',') }} }  %>  	  <% export_task.class.references_types.each do |type| %> -	      <%= form.input :reference_ids, :as => :reference_ids, :json => references_referential_export_tasks_path(@referential, :format => :json) + "?filter=#{type}", :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :id => "#{export_task.data_format}_#{type}_reference_ids", :input_html => { :id => "#{export_task.data_format}_#{type}_reference_ids" }, :wrapper_html => { :style => "display:none;", :id => "#{export_task.data_format}_#{type}", :"data-type" => "#{type}" } %> -	   <% end %> -          <% end %> +	    <%= form.input :reference_ids, :as => :reference_ids, :json => references_referential_export_tasks_path(@referential, :format => :json) + "?filter=#{type}", :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :id => "#{export_task.data_format}_#{type}_reference_ids", :input_html => { :id => "#{export_task.data_format}_#{type}_reference_ids" }, :wrapper_html => { style: "display:none;", "data-type" => type.to_s } %> +	  <% end %> +  <% end %> -	  <%= form.input :start_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.start_date")} %> -	  <%= form.input :end_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.end_date")} %> +  <%= form.input :start_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.start_date")} %> +  <%= form.input :end_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.end_date")} %> -     -        <%= render partial: "fields_#{export_task.data_format}_export", :locals => { :form => form } %> +  <%= render partial: "fields_#{export_task.data_format}_export", :locals => { :form => form } %>  	<%= form.actions do %>  	  <%= form.action :submit, :as => :button , :label => t( 'formtastic.export' ) %> @@ -36,4 +35,3 @@  </div>  <%= javascript_include_tag new_referential_export_task_path(@referential, :format => :js) %> -  diff --git a/app/views/help/browser.textile b/app/views/help/browser.textile index e0586a702..dbaee5963 100644 --- a/app/views/help/browser.textile +++ b/app/views/help/browser.textile @@ -7,11 +7,12 @@ h3. Navigateur prĂ©requis  Lâutilisation de lâapplication nĂ©cessite de disposer dâun navigateur ayant les caractĂ©ristiques suivantes :
 -* Internet Explorer (Version 11 et +)
 +* Internet Explorer (Version 8 et +)
  * Mozilla FireFox (Version 33 et +)
  * Chrome (Version 38 et +)
  h3. Paramétrage du navigateur
 +
  Le navigateur doit autoriser lâexĂ©cution de Javascript.
  L'application s'affiche de façon lisible sur toutes les tailles d'Ă©cran, mĂȘme si le confort d'utilisation est supĂ©rieur avec un poste de travail ayant une rĂ©solution d'au moins 1280x1024.
\ No newline at end of file diff --git a/app/views/help/connection.textile b/app/views/help/connection.textile index 7f9ecee48..1065efdb8 100644 --- a/app/views/help/connection.textile +++ b/app/views/help/connection.textile @@ -13,9 +13,10 @@ h3. Utilisateurs et organisations  Lorsquâun utilisateur sâenregistre dans lâapplication, une organisation qui lui appartient est créée.
 -Il peut ensuite inviter des personnes Ă  y accĂ©der en les y associant dans lâonglet Organisation.
 +Il peut ensuite inviter des personnes Ă  y accĂ©der en les y associant dans lâonglet Organisation. 
  !2014-10-30_173033.png! 
 +
  AccĂšs au menu organisation
  Inviter d'autres utilisateurs dans son organisation permet de leur accorder un accĂšs Ă  ses espaces de donnĂ©es. Les invitĂ©s ont les mĂȘmes droits sur les Ă©lĂ©ments partagĂ©s que le titulaire de l'organisation. Il peut Ă©galement ĂȘtre invitĂ© par d'autres utilisateurs et accĂ©der ainsi Ă  leurs donnĂ©es.
 @@ -26,15 +27,16 @@ Un invité dans un espace de données peut également éditer la liste des invit  h3. Identification
 -L'accĂšs Ă  CHOUETTE se fait par une identification par identifiant / mot de passe. 
 +L'accĂšs Ă  CHOUETTE se fait par une identification par identifiant / mot de passe. L'identifiant est l'adresse mail de l'utilisateur.
 -Une fois identifiĂ©, lâutilisateur accĂšde Ă  un Ă©cran organisĂ© autour des donnĂ©es qu'il peut gĂ©rer. Ces donnĂ©es sont organisĂ©es sous la forme d'un <<espace de donnĂ©es>>. A l'intĂ©rieur de chaque espace de donnĂ©es, des menus permettent de gĂ©rer (crĂ©er, modifier, supprimer) chaque type de donnĂ©es. 
 +Une fois identifiĂ©, lâutilisateur accĂšde Ă  un Ă©cran organisĂ© autour des donnĂ©es qu'il peut gĂ©rer. Chacune d'entre-elle se prĂ©sente sous la forme d'un espace de donnĂ©es. A l'intĂ©rieur de chaque espace de donnĂ©es, des menus permettent de gĂ©rer (crĂ©er, modifier, supprimer) chaque type de donnĂ©es. 
  Lâapplication est disponible Ă©galement en version anglaise et comprend le glossaire du prĂ©sent manuel en ligne.
  h3. Mot de passe perdu
 -Dans l'hypothĂšse oĂč un utilisateur a perdu son mot de passe, il peut en rĂ©cupĂ©rer un nouveau en cliquant sur le lien _"mot de passe oubliĂ©"_ au niveau de la page d'identification. Un mail de remise Ă  zĂ©ro du mot de passe lui sera envoyĂ© sur l'adresse mail rentrĂ©e sur son profil.
 +Dans l'hypothĂšse oĂč un utilisateur a perdu son mot de passe, il peut en rĂ©cupĂ©rer un nouveau en cliquant sur le lien _"mot de passe oubliĂ©"_ au niveau de la page d'identification. Un mail de remise Ă  zĂ©ro du mot de passe lui sera envoyĂ© sur l'adresse mail rentrĂ©e sur son profil. Il est nĂ©cessaire de cliquer le lien 
  !2014-12-01_151637.png!
 -Réinitialisation du mot de passe
 +
 +Réinitialisation du mot de passe
\ No newline at end of file diff --git a/app/views/help/export_format.textile b/app/views/help/export_format.textile index e21d4fa21..e39bcf3d6 100644 --- a/app/views/help/export_format.textile +++ b/app/views/help/export_format.textile @@ -11,28 +11,28 @@ h3. Formats disponibles  * Neptune : format d'échange de données de transport en commun pour la France (cf ["Normalisation":http://www.normes-donnees-tc.org/format-dechange/donnees-theoriques/])
  * NeTEx : format d'échange de données de transport en commun expérimental sur la future norme européenne ["NeTEx":http://www.normes-donnees-tc.org/format-dechange/donnees-theoriques/] mais limité au sous-ensemble des données définies dans le format Neptune
 -* CSV : format tabulaire spécifique à Chouette (cf "CSV":csv)
  * GTFS : format destiné à ["Google Transit":https://developers.google.com/transit/gtfs/?hl=fr] ; les données exportées en GTFS sont explicités ["ICI":http://www.normes-donnees-tc.org/format-dechange/autres-normes/]
 -* KML : format contenant l'ensemble des donnĂ©es cartographiĂ©es pouvant ainsi ĂȘtre importĂ©es dans un SIG
 -* HUB : format tabulaire interne Transdev
 +* KML : format contenant l'ensemble des donnĂ©es cartographiĂ©es pouvant ainsi ĂȘtre importĂ©e dans un SIG
 +* HUB : format tabulaire interne Transdev dans sa version 1.3
  h3. Options des formats
  Les options des différents formats apparaissent en fonction de celui qui a été choisi.
 +!2015-07-23_162747.png! 
 +
 +p=. Formulaire pour un nouvel export Neptune
 +
  * *tout format* : 
 -** Type de données incluses :sélection des lignes exportées. Le choix porte sur toutes, les lignes d'une sélection de réseaux, de transporteurs ou directement sélectionnées ;
 +** Type de données incluses : sélection des lignes exportées. Le choix porte sur toutes, les lignes d'une sélection de réseaux, de transporteurs ou directement sélectionnées :
  ** Données incluses : liste des données selon le type choisi; ce champs n'apparait pas pour le choix 'toutes' la sélection propose dÚs le premier caractÚre saisi la liste des objets dont le nom contient le texte.
 -* *Neptune* :
  ** Début de période : permet d'exporter uniquement les courses circulant à partir de cette date
  ** Fin de période : permet d'exporter uniquement les courses circulant jusqu'à cette date
 +* *Neptune* : pas d'option particuliĂšre
  * *GTFS* :
 -** Préfixe d'identifiant Neptune à ignorer : lorsque ce préfixe est rencontré dans l'identifiant Neptune, celui-ci n'est pas utilisé pour générer l'identifiant GTFS . La valeur proposée par défaut est celle de l'espace de données.
 +** Préfixe d'identifiant Neptune à ignorer : Lorsque ce préfixe est rencontré dans l'identifiant Neptune, celui-ci n'est pas utilisé pour générer l'identifiant GTFS . La valeur proposée par défaut est celle de l'espace de données.
  ** Fuseau horaire : fixe le fuseau horaire (paramÚtre obligatoire des données GTFS). La valeur proposée par défaut est celle de l'espace de données.
  ** DonnĂ©es incluses (complĂ©ment) : le choix des arrĂȘts permet de n'exporter que les fichiers d'arrĂȘts (stops.txt) et de correspondances (transfers.txt). 3 champs sont alors ajoutĂ©s : l'adresse, la localitĂ© et le code postal; ceux-ci seront exploitĂ©s en retour sur l'import GTFS d'arrĂȘts.
  * *NeTex* : pas d'option particuliĂšre
 -* *CSV* : pas d'option particuliĂšre
  * *HUB* :
 -** Début de période : permet d'exporter uniquement les courses circulant à partir de cette date.
 -** Fin de période : permet d'exporter uniquement les courses circulant jusqu'à cette date.
  ** Fuseau horaire : fixe le fuseau horaire, la valeur proposée par défaut est celle de l'espace de données.
 diff --git a/app/views/help/exports.textile b/app/views/help/exports.textile index 57ceb65c3..4cfeb3bc6 100644 --- a/app/views/help/exports.textile +++ b/app/views/help/exports.textile @@ -3,14 +3,16 @@ layout: default  title: Exports  --- -h3. RĂŽle +h3(#rol). RĂŽle  p. L'export permet d'extraire de la base un ensemble de donnĂ©es selon un format  -h3. Options des formats +h3(#opt). Options des formats  Les options des diffĂ©rents formats apparaissent en fonction de celui qui a Ă©tĂ© choisi. +!2015-07-23_162747.png! Formulaire pour un nouvel export Neptune +  * *tout format* :   - Type de donnĂ©es incluses :=  @@ -19,12 +21,11 @@ le choix porte sur toutes, les lignes d'une sĂ©lection de rĂ©seaux, de transport  - DonnĂ©es incluses :=   liste des donnĂ©es selon le type choisi; ce champs n'apparait pas pour le choix 'toutes'  la sĂ©lection propose dĂšs le premier caractĂšre saisi la liste des objets dont le nom contient le texte =: - -* *Neptune* : -  - DĂ©but de pĂ©riode := permet d'exporter uniquement les courses circulant Ă  partir de cette date  - Fin de pĂ©riode := permet d'exporter uniquement les courses circulant jusqu'Ă  cette date +* *Neptune* : pas d'option particuliĂšre +  * *GTFS* :  - Fuseau horaire :=  @@ -32,31 +33,47 @@ fixe le fuseau horaire (paramĂštre obligatoire des donnĂ©es GTFS)   la valeur proposĂ©e par dĂ©faut est celle de l'espace de donnĂ©es =:  - DonnĂ©es incluses (complĂ©ment) :=   le choix des arrĂȘts permet de n'exporter que les fichiers d'arrĂȘts (stops.txt) et de correspondances (transfers.txt) - 3 champs sont alors ajoutĂ©s : l'adresse, la localitĂ© et le code postal; ceux-ci seront exploitĂ©s en retour sur l'import GTFS d'arrĂȘts =: + 3 champs sont alors ajoutĂ©s : l'adresse, la localitĂ© et le code postal; ceux-ci seront exploitĂ©s en retour sur l'Export GTFS d'arrĂȘts =:  * *NeTex* : pas d'option particuliĂšre -* *CSV* : pas d'option particuliĂšre +* *HUB* : pas d'option particuliĂšre -* *HUB* : +* *KML* : pas d'option particuliĂšre -- DĂ©but de pĂ©riode := permet d'exporter uniquement les courses circulant Ă  partir de cette date -- Fin de pĂ©riode := permet d'exporter uniquement les courses circulant jusqu'Ă  cette date -- Fuseau horaire :=  -fixe le fuseau horaire - la valeur proposĂ©e par dĂ©faut est celle de l'espace de donnĂ©es =: +h3. Consultation des rĂ©sultats +p. LâExport est lancĂ© en diffĂ©rĂ©, son Ă©tat d'avancement est affichĂ© dans la page de rĂ©sultats pendant le dĂ©roulement du processus.  -h3. Consultation des rĂ©sultats +p=. !2015-07-23_162942.png! + +p. Le rĂ©sultat d'Export fournit 2 synthĂšses :  + +*SynthĂšse des lignes (onglet lignes) +*SynthĂšse des fichiers analysĂ©s (onglet fichiers) + +p. Le bouton « Fichier exporté » permet de tĂ©lĂ©charger le fichier sur son poste. + +p. _1 - La synthĂšse des lignes affiche le compte des objets extraits des fichiers correctement traitĂ©s_ + +p(border_image). !2015-07-23_165033.png! + +* lignes +* sĂ©quences d'arrĂȘts +* correspondances +* calendriers +* zones d'arrĂȘt +* accĂšs +* courses +* missions + +p. DĂ©rouler une ligne en cliquant sur le pictogramme "+" permet d'afficher le dĂ©tail des Ă©lĂ©ments ExportĂ©s sur la ligne : + +p(border_image). !2015-07-23_165157.png! -p. L'export est lancĂ© en diffĂ©rĂ©; son Ă©tat d'avancement est affichĂ© sous la forme d'une icĂŽne donc la couleur dĂ©pend de l'Ă©tat: +p. _2 - La synthĂšse des fichiers analysĂ©s affiche la liste des fichiers ExportĂ©s ainsi que les erreurs constatĂ©es_ -* blanc : en attente -* bleu : en cours -* vert : terminĂ© correctement; un lien de tĂ©lĂ©chargement est alors disponible -* rouge : terminĂ© en Ă©chec +p(border_image). !2015-07-23_165644.png! -p. La consultation du rĂ©sultat de l'export donnera la liste des Ă©lĂ©ments exportĂ©s ou les motifs de l'Ă©chec. -p. Le rĂ©sultat est conservĂ© ainsi que le fichier produit tant que l'export n'est pas supprimĂ©. diff --git a/app/views/help/hubexport.textile b/app/views/help/hubexport.textile index 6ddafceab..498233353 100644 --- a/app/views/help/hubexport.textile +++ b/app/views/help/hubexport.textile @@ -1,27 +1,104 @@ ----
 -layout: default
 -title: Contraintes de l'export HUB
 ----
 -
 -CHOUETTE est en mesure d'exporter la base au format HUB qui est un format spĂ©cifique aux outils mĂ©tiers Transdev. Le format HUB comprend des contraintes plus importantes que les formats Neptune, notamment sur la longueur de certains noms. Pour que la base puisse ĂȘtre exportĂ©e sans difficultĂ©, il faut donc se conformer Ă  ces contraintes de longueur de noms, ainsi que utiliser certaines fonctions comme les groupes de lignes qui sont facultatives pour leur seul format Neptune mais qui sont obligatoire dans le format HUB. 
 -
 -h3. Liste des champs contraints
 -
 -[rédaction en cours ...]
 -
 -h3. Correspondances
 -
 -CHOUETTE permet de faire des correspondances entre diffĂ©rents types d'arrĂȘts. Dans le format HUB en revanche, seules les correspondances entre les arrĂȘts physiques sont prises en compte. Il convient donc de vĂ©rifier que les correspondances sont bien paramĂ©trĂ©es entre les arrĂȘts de type _"point d'arrĂȘt"_ et _"quai"_. 
 -
 -h3. Lignes et sĂ©quences d'arrĂȘts
 -
 -Lors de la crĂ©ation de lignes et des sĂ©quences d'arrĂȘts, il est nĂ©cessaire de respecter deux contraintes pour permettre la compatibilitĂ© de l'export HUB :
 -
 -* Ne pas crĂ©er plus de deux sĂ©quences d'arrĂȘts pour une mĂȘme ligne. 
 -* Renseigner impérativement le sens de la ligne :
 -**Dans le cas oĂč il n'existe qu'une sĂ©quence d'arrĂȘts, choisir le sens aller
 -**Dans le cas oĂč il existe deux sĂ©quences d'arrĂȘts, dĂ©finir un sens aller et un sens retour
 -
 -h3. Créer des groupes de lignes
 -
 -Les lignes Ă  exporter doivent impĂ©rativement faire partie d'un groupe de lignes pour pouvoir ĂȘtre exportĂ©es en HUB.
 +--- +layout: default +title: Contraintes de l'export HUB +--- + +CHOUETTE est en mesure d'exporter la base au format HUB qui est un format spĂ©cifique aux outils mĂ©tiers Transdev. Le format HUB comprend des contraintes plus importantes que les formats Neptune, notamment sur la longueur de certains noms. Pour que la base puisse ĂȘtre exportĂ©e sans difficultĂ©, il faut donc se conformer Ă  ces contraintes de longueur de noms, ainsi que utiliser certaines fonctions comme les groupes de lignes qui sont facultatives pour leur seul format Neptune mais qui sont obligatoire dans le format HUB.  + +CHOUETTE contrĂŽle le respect de ces contraintes lors de l'export. Il listera les anomalies dans le log de l'export mais ne les signalera pas lors de la saisie proprement dite. Il est donc nĂ©cessaire de se rĂ©fĂ©rer Ă  ce document avant de commencer la saisie de la base, certaines contraintes ayant des consĂ©quences sur la façon dont les donnĂ©es doivent ĂȘtre structurĂ©es.  + +L'un des points essentiels est la nĂ©cessite de renseigner manuellement l'identifiant Neptune. Pour rappel, celui-ci est composĂ© de trois Ă©lĂ©ments : + +* Le prĂ©fixe qui est toujours identique au sein d'un mĂȘme espace de donnĂ©es. +* Le type d'information qui est dĂ©terminĂ© par le type d'objet (rĂ©seau, arrĂȘt, ligne...) actuellement dĂ©fini.  +* Le suffixe qui est un Ă©lĂ©ment identifiant unique qui peut ĂȘtre contraint en taille et en type de caractĂšres pour l'export au format HUB + +Le type d'information ainsi que la syntaxe Ă  respecter sont rappelĂ©s dans une infobulle contextuelle qui apparaĂźt lorsqu'on place le curseur au-dessus du champ _'''Identifiant Neptune'''_ + +h3. RĂ©seaux +* Nom du rĂ©seau : 75 caractĂšres maximum +* NumĂ©ro dâenregistrement : 8 chiffres maximum  +* Identifiant Neptune : 3 caractĂšres maximum + +h3. Transporteur +* Nom du transporteur : 75 caractĂšres maximum +* NumĂ©ro dâenregistrement : 8 chiffres maximum  +* Identifiant Neptune : 3 caractĂšres maximum + +h3. Calendriers + +* Identifiant Neptune : 6 caractĂšres maximum +* Commentaire : Facultatif, 75 caractĂšres maximum + +h3. ArrĂȘts + +h4. ArrĂȘt commercial et arrĂȘt physique + +Un arrĂȘt physique (quai ou point d'embarquement) doit nĂ©cessairement dĂ©pendre d'un arrĂȘt commercial. Dans le cas oĂč il existe plusieurs arrĂȘts physiques, typiquement dans le cas d'un arrĂȘt dans le sens aller et un arrĂȘt dans le sens retour, les deux arrĂȘts physiques seront regroupĂ©s au sein d'un mĂȘme arrĂȘt commercial.  + +h4. PĂŽle d'Ă©change + +Les arrĂȘts de type pĂŽle d'Ă©change ne sont pas pris en charge par le format HUB.  + +h4. Contraintes sur les champs : + +* TroisiĂšme composante de l'identifiant technique : 6 caractĂšres maximum +* Nom de l'arrĂȘt : 75 arrĂȘts maximum +* Point d'intĂ©rĂȘt le plus proche : ce champs est facultatif. S'il est rempli, il ne doit pas contenir plus de 255 caractĂšres pour les arrĂȘts commerciaux et plus de 60 caractĂšres pour les arrĂȘts physiques. +* GĂ©olocalisation : obligatoire et au format WGS84 +* Commune : 80 caractĂšres maximum +* Code INSEE : obligatoire +* Commentaire : champs facultatif, 255 caractĂšres maximum si rempli +* Identifiant Neptune : 6 caractĂšres maximum +* NumĂ©ro d'enregistrement : 8 chiffres au maximum (obligatoire ?) + +h3. Correspondances + +CHOUETTE permet de faire des correspondances entre diffĂ©rents types d'arrĂȘts. Dans le format HUB en revanche, seules les correspondances entre les arrĂȘts physiques sont prises en compte. Il convient donc de vĂ©rifier que les correspondances sont bien paramĂ©trĂ©es entre les arrĂȘts de type _"point d'arrĂȘt"_ et _"quai"_.  + +h4. Contraintes sur les champs : + +* Distance : 4 chiffres maximum +* Identifiant Neptune : (non exportĂ© ?) +* Temps de parcours : 4 chiffres maximum (minutes et secondes) + +h3. Groupe de lignes + +Les lignes Ă  exporter  en HUB doivent impĂ©rativement faire partie d'un groupe de lignes.  + +h4. Contraintes sur les champs : + +* Nom du groupe de ligne : 75 caractĂšres maximum +* Identifiant Neptune : 6 caractĂšres maximum + +h3. Lignes, sĂ©quences d'arrĂȘts et missions + +Lors de la crĂ©ation de lignes et des sĂ©quences d'arrĂȘts, il est nĂ©cessaire de respecter deux contraintes pour permettre la compatibilitĂ© de l'export HUB : + +* Ne pas crĂ©er plus de deux sĂ©quences d'arrĂȘts pour une mĂȘme ligne.  +* Renseigner impĂ©rativement le sens de la ligne :  +**Dans le cas oĂč il n'existe qu'une sĂ©quence d'arrĂȘts, choisir le sens aller +**Dans le cas oĂč il existe deux sĂ©quences d'arrĂȘts, dĂ©finir un sens aller et un sens retour + +Les champs de crĂ©ation de ligne doivent ĂȘtre créés avec les contraintes suivantes : + +* Indice de la ligne : 6 caractĂšres maximum +* Nom de la ligne : 75 caractĂšres maximum ; pas de doublons possibles +* Groupe de ligne : une ligne ne doit appartenir qu'Ă  un seul groupe de ligne +* Identifiant Neptune : 14 caractĂšres maximum + +h4. Contraintes sur les champs : + +* Identifiant Neptune du schĂ©ma de ligne: 8 caractĂšres maximum +* Identifiant Neptune de la mission : 30 caractĂšres maximum +* Nom d'une mission : 75 caractĂšres maximum  +* NumĂ©ro d'enregistrement d'une mission : 8 chiffres maximum + +h3. Courses + +* TroisiĂšme composante de l'identifiant Neptune : 8 caractĂšres maximum +* Identifiant public : 8 caractĂšres maximum +* Commentaire : Facultatif, 75 caractĂšres maximum + + + diff --git a/app/views/help/import_formats.textile b/app/views/help/import_formats.textile index 2a6c5014e..d846a32f9 100644 --- a/app/views/help/import_formats.textile +++ b/app/views/help/import_formats.textile @@ -7,23 +7,18 @@ h3(#fmt). Formats disponibles  * Neptune : format d'Ă©change de donnĂ©es de transport en commun pour la France (cf ["Normalisation":http://www.normes-donnees-tc.org/format-dechange/donnees-theoriques/])
  * NeTEx : format d'échange de données de transport en commun expérimental sur la future norme européenne ["NeTEx":http://www.normes-donnees-tc.org/format-dechange/donnees-theoriques/] mais limité au sous-ensemble des données définies dans le format Neptune
 -* CSV : format tabulaire spécifique à Chouette  (cf "CSV":csv)
  * GTFS : format originaire de ["Google Transit":https://support.google.com/transitpartners/], à condition que le fichier soit préalablement validé avec l'outil Feed Validator =:
  p(olnext). - les données exportées en GTFS sont explicités ["ICI":http://www.normes-donnees-tc.org/format-dechange/autres-normes/] 
 -p(olnext). - l'import GTFS limitĂ© au sous ensemble des arrĂȘts permet de n'importer que les arrĂȘts et les correspondances
 +p(olnext). - l'import limitĂ© au sous ensemble des arrĂȘts permet de n'importer que les arrĂȘts et les correspondances
  h3(#com). ParamĂštres communs
  * Pas de sauvegarde : permet d'effectuer une simulation de l'import sans enregistrer les données
 -
  p(ddnext). - active donc les tests de validation de niveau 1 et 2
 -
  * Jeu de paramÚtres pour validation := paramÚtres définissant les seuils des tests de niveau 3 (indisponible si l'option 'pas de sauvegarde' est cochée)
 -
  p(ddnext). - les jeux de paramÚtres sont créés via le lien ["Jeux de paramÚtres":parametersets] disponible sur les vues des listes d'imports et de validations
 -
  * Fichier Ă  importer := fichier (plat ou zip selon format)
  h3(#opt). Options des formats
 @@ -34,10 +29,8 @@ Les options des différents formats apparaissent en fonction de celui qui a étà * *NeTex* : pas d'option particuliÚre
  * *GTFS* :  
  ** Préfixe d'identifiants : préfixe à utiliser pour générer les identifiants Neptune des objets importés, initialisé à la valeur définie pour l'espace de données.
 -** Distance max pour crĂ©er les zones : distance maximale entre deux arrĂȘts homonymes pour les regrouper au sein d'un arrĂȘt commercial de mĂȘme nom, ces zones viennent en supplĂ©ment de celles dĂ©finies dans GTFS; une distance de 0 ne gĂ©nĂšre aucune zone.
 +** Distance max pour crĂ©er les zones : distance maximale entre deux arrĂȘts homonymes pour les regrouper au sein d'un arrĂȘt commercial de mĂȘme nom, ces zones viennent en supplĂ©ment de celles dĂ©finies dans GTFS, une distance de 0 ne gĂ©nĂšre aucune zone.
  ** ignorer le dernier mot : lors de la comparaison des noms d'arrĂȘts, cette option permet de ne pas prendre en compte le dernier mot du nom de l'arrĂȘt (sauf si celui-ci n'est composĂ© que d'un seul mot).
  ** ignorer les n derniers caractĂšres : lors de la comparaison des noms d'arrĂȘts, cette option permet de ne pas prendre en compte les derniers caractĂšres du nom de l'arrĂȘt (sauf si celui-ci n'a pas assez de caractĂšres pour cela)
 -** Distance max pour crĂ©er les correspondances : distance maximale entre deux arrĂȘts pour les lier par une correspondance, ces correspondances sont hors zone d'arrĂȘt: elles viennent en supplĂ©ment de celles dĂ©finies dans GTFS (ce mĂ©canisme tient compte des correspondances exclues), une distance de 0 ne gĂ©nĂšre aucune correspondance.
 -** Sous-ensemble : choix permettant de limiter l'import aux seuls fichiers stops.txt et transfers.txt. Lors de l'import, les attributs d'adresse, localité et code postal ajoutés à l'export associé sont exploités :
 -* *CSV* : 
 -** Préfixe d'identifiants : préfixe à utiliser pour générer les identifiants Neptune des objets importés, initialisé à la valeur définie pour l'espace de données.
\ No newline at end of file +** Distance max pour crĂ©er les correspondances : distance maximale entre deux arrĂȘts pour les lier par une correspondance, ces correspondances sont hors zone d'arrĂȘt. Elles viennent en supplĂ©ment de celles dĂ©finies dans GTFS (ce mĂ©canisme tient compte des correspondances exclues), une distance de 0 ne gĂ©nĂšre aucune correspondance.
 +** Sous-ensemble : choix permettant de limiter l'import aux seuls fichiers stops.txt et transfers.txt. Lors de l'import, les attributs d'adresse, localité et code postal ajoutés à l'export associé sont exploités.
\ No newline at end of file diff --git a/app/views/help/imports.textile b/app/views/help/imports.textile index ca085532d..bbd5e18de 100644 --- a/app/views/help/imports.textile +++ b/app/views/help/imports.textile @@ -7,14 +7,14 @@ title: Imports  * "Validation":#val  * "lâonglet IMPORTS":#imp  * "Nouvel Import":#new -* "ParamĂštres de validation":#pvl +* "ParamĂštres de validation":pvl  * "Consultation des rĂ©sultats":#res  * "RĂ©sultats de validation":#rvl  h3(#rol). RĂŽle -p. Lâimport permet dâenregistrer dans la base un jeu de donnĂ©es d'offre TC, selon un format au choix. Des tests de validation des donnĂ©es sont exĂ©cutĂ©s avant l'import en base de donnĂ©es (plus dĂ©taillĂ©es dans le cas du format Neptune). Il est possible d'importer sans sauver en base, uniquement pour jouer les tests de vĂ©rification de conformitĂ©. Dans ce cas, les tests en base de donnĂ©es (auxquels sont associĂ©s les jeux de paramĂštres) ne seront pas exĂ©cutĂ©s (et donc aucun test ne sera exĂ©cutĂ©, pour des donnĂ©es CSV, GTFS, ou Netex). +p. Lâimport permet dâenregistrer dans la base un jeu de donnĂ©es d'offre TC, selon un format au choix. Des tests de validation des donnĂ©es sont exĂ©cutĂ©s avant l'import en base de donnĂ©es (plus dĂ©taillĂ©es dans le cas du format Neptune). Il est possible d'importer sans sauver en base, uniquement pour jouer les tests de vĂ©rification de conformitĂ©.  p=. !2014-10-31_151613.png!   Page des imports @@ -27,66 +27,69 @@ p. Lors de l'import, des tests sont effectuĂ©s :  # sur la complĂ©tude et la cohĂ©rence des relations exprimĂ©es dans le format d'Ă©change  # optionnellement sur la qualitĂ© des donnĂ©es en vue de son exploitation dans une centrale de mobilitĂ© -p(olnext). - la validation nĂ©cessite la fourniture d'un jeu de paramĂštres dĂ©finissant les seuils (cf "Validation":validations)  +p(olnext). - nĂ©cessite la fourniture d'un jeu de paramĂštres dĂ©finissant les seuils (cf "Validation":validations)  -p(note). Les tests de niveau 1 et 2 ne sont actuellement implĂ©mentĂ©s que pour le format Neptune. +p(note). Les tests de niveau 1 et 2 ne sont actuellement implĂ©mentĂ©s que pour le format Neptune  h3(#imp). l'onglet IMPORTS  p. L'onglet IMPORTS contient les objets Import de l'espace de donnĂ©es courant. -p. Chaque objet Import est reprĂ©sentĂ© par une vignette comprenant : sa date, l'utilisateur qui l'a créé, son Ă©tat (blanc: en attente, bleu : en cours ; vert : terminĂ© correctement ; rouge : terminĂ© en Ă©chec), un lien pour tĂ©lĂ©charger le fichier importĂ©, un lien vers le dĂ©tail de l'objet, un lien vers l'objet Validation associĂ©). - -p=. !import.png! +p. Chaque objet Import est reprĂ©sentĂ© par une vignette comprenant : sa date, l'utilisateur qui l'a créé, le type de profil importĂ©, son Ă©tat (blanc: en attente, bleu : en cours ; vert : terminĂ© correctement ; rouge : terminĂ© en Ă©chec), un lien pour tĂ©lĂ©charger le fichier importĂ©, un lien vers le dĂ©tail de l'objet, un lien vers l'objet Validation associĂ©).  p. Comme les fichiers importĂ©s restent stockĂ©s en base, il est opportun que  l'utilisateur supprime pĂ©riodiquement les objets Imports devenus inutiles. La suppression supprimera aussi les objets Validation associĂ©s.  p. Dans la partie droite de l'Ă©cran,  -* CrĂ©er un nouvel Import +* crĂ©er un nouvel Import  * Jeu de paramĂštres  h3(#new). Nouvel Import -p. Il est possible de modifier le jeu de paramĂštres par dĂ©faut ou de crĂ©er un nouveau Jeu de paramĂštres. Il est possible de ne choisir aucun jeu de paramĂštres. +p. La page d'un nouvel import donne le choix entre trois profils d'import : Neptune, Netex et GTFS. Chacun de ces profils est accessible par un onglet dĂ©diĂ©. Les formulaires Neptune et Netex sont identiques.  -p. Lâimport est lancĂ© en diffĂ©rĂ©, son rĂ©sultat n'est pas immĂ©diat. Le rĂ©sultat est conservĂ© tant que lâimport nâest pas supprimĂ©. L'import lance Ă©galement la validation (avec ou sans jeu de paramĂštres associĂ©s), ce qui crĂ©e un objet Validation associĂ©. La suppression dâun import supprime Ă©galement l'objet Validation associĂ© Ă  cet import ; nĂ©anmoins si les donnĂ©es ont Ă©tĂ© sauvegardĂ©es en base, elles seront conservĂ©es. +p=. !2015-07-23_152040.png!  +Page d'un nouvel import -p. Si les donnĂ©es ne sont pas sauvĂ©es en base, il faut relancer un import avec sauvegarde si on souhaite effectivement importer ces donnĂ©es en base aprĂšs une premiĂšre validation « à blanc ». +* La case Ă  cocher "Pas de sauvegarde" permet de tester la base sans l'importer.  +* Il est Ă©galement possible de sĂ©lectionner un autre jeu de validation. Il est possible de ne choisir aucun jeu de paramĂštres. -h3(#pvl). ParamĂštres de validation +p. Le profil GTFS contient des champs spĂ©cifiques.  -p. Il est possible de modifier le jeu de paramĂštres par dĂ©faut, ou de crĂ©er un nouveau Jeu de paramĂštres. Les paramĂštres de vitesses et durĂ©e entre arrĂȘts successifs sont dĂ©finis mode par mode. +p=. !2015-07-23_152615.png!  +Page d'import GTFS -h3(#res). Consultation des rĂ©sultats : dĂ©tail de l'objet Import +* Le choix d'un sous-ensemble permet de n'importer qu'une partie de la base, comme par exemple les arrĂȘts. +* Le prĂ©fixe d'identifiants est renseignĂ© par dĂ©faut et peut-ĂȘtre laissĂ© en l'Ă©tat. +* Distance max pour crĂ©er les zones : Distance maximale en mĂštres de regroupement des points d'arrĂȘts dont le nom est identique au sein d'un mĂȘme arrĂȘt commercial. Si la valeur est Ă  0, aucun regroupement n'est fait.  +* Case Ă  cocher "ignorer le dernier mot" : Permet d'ignorer le dernier mot d'un nom d'arrĂȘt pour faciliter le regroupement de plusieurs arrĂȘts physiques dont le nom serait lĂ©gĂšrement diffĂ©rent au sein d'un mĂȘme arrĂȘt commercial +* Ignorer les n derniers caractĂšres : MĂȘme fonctionnalitĂ© qu'ignorer le dernier mot mais un certain nombre de caractĂšres.  +* Distance max pour crĂ©er les correspondances : la valeur en mĂštres en dessous de laquelle deux arrĂȘts sont automatiquement considĂ©rĂ©s en correspondance. -p=. !import_result.png! +p. Lâimport est lancĂ© en diffĂ©rĂ©, son rĂ©sultat n'est pas immĂ©diat. Le rĂ©sultat est conservĂ© tant que lâimport nâest pas supprimĂ©. L'import lance Ă©galement la validation (avec ou sans jeu de paramĂštres associĂ©s), ce qui crĂ©e un objet Validation associĂ©. La suppression dâun import Ă©galement l'objet Validation associĂ© Ă  cet import ; nĂ©anmoins si les donnĂ©es ont Ă©tĂ© sauvegardĂ©es en base, elles seront conservĂ©es. -p. Le rĂ©sultat d'import fournit 2 synthĂšses :  +p. Si les donnĂ©es ne sont pas sauvĂ©es en base, il faut relancer un import avec sauvegarde si on souhaite effectivement importer ces donnĂ©es en base aprĂšs une premiĂšre validation « à blanc ». -# SynthĂšse des fichiers analysĂ©s (Ă  gauche) -# SynthĂšse des lignes lues (Ă  droite) -p. Le bouton « Fichier Importé » permet de tĂ©lĂ©charger le fichier sur son poste. +h3(#pvl). ParamĂštres de validation -p. Le bouton « Validation » permet de basculer vers la validation des donnĂ©es. +p. Il est possible de modifier le jeu de paramĂštres par dĂ©faut ou de crĂ©er un nouveau Jeu de paramĂštres. Les paramĂštres de vitesses et durĂ©e entre arrĂȘts successifs sont dĂ©finis mode par mode. -p. _1 - La synthĂšse des fichiers analysĂ©s affiche 3 secteurs_ +h3(#res). Consultation des rĂ©sultats : dĂ©tail de l'objet Import -p(border_image). !import_file_result.png! +p=. !import_result.png! -* en vert les fichiers correctement traitĂ©s  -* en rouge les fichiers comportant des erreurs qui empĂȘche leur traitement -* en gris les fichiers ignorĂ©s +p. Le rĂ©sultat d'import fournit 2 synthĂšses :  -p. En passant la souris sur chaque partie, le nombre de fichiers correspondant est affichĂ©. +* SynthĂšse des lignes lues (onglet lignes) +* SynthĂšse des fichiers analysĂ©s (onglet fichiers) -p. La sĂ©lection (clic souris) d'un des secteurs affiche la liste des fichiers concernĂ©s : +p. Le bouton « Fichier source » permet de tĂ©lĂ©charger le fichier sur son poste. -p(border_image). !import_file_detail.png! +p. Le bouton « Rapport de validation » permet de basculer vers la validation des donnĂ©es. -p. _2 - La synthĂšse des lignes lues affiche le compte des objets extraits des fichiers correctement traitĂ©s_ +p. _1 - La synthĂšse des lignes lues affiche le compte des objets extraits des fichiers correctement traitĂ©s_  p(border_image). !import_line_result.png! @@ -99,13 +102,13 @@ p(border_image). !import_line_result.png!  * courses  * missions -p. La sĂ©lection de l'histogramme (clic) affiche le dĂ©tail des lignes lues : +p. DĂ©rouler une ligne en cliquant sur le pictogramme "+" permet d'afficher le dĂ©tail des Ă©lĂ©ments importĂ©s sur la ligne :  p(border_image). !import_line_detail.png! -p. Un survol affiche le nombre de donnĂ©es concernĂ©es par type. +p. _2 - La synthĂšse des fichiers analysĂ©s affiche la liste des fichiers importĂ©s ainsi que les erreurs constatĂ©es_ -p. La sĂ©lection du graphique affiche le dĂ©tail par ligne. +p(border_image). !import_file_detail.png!  h3(#rvl). RĂ©sultats de validation diff --git a/app/views/help/introduction.textile b/app/views/help/introduction.textile index 544edd8aa..f2e8df735 100644 --- a/app/views/help/introduction.textile +++ b/app/views/help/introduction.textile @@ -5,18 +5,17 @@ title: PrĂ©sentation  CHOUETTE est un logiciel libre dĂ©veloppĂ© Ă  l'initiative du ministĂšre français chargĂ© des transports (et du dĂ©veloppement durable), dans le but de faciliter l'Ă©change de donnĂ©es d'offre (thĂ©orique) de transport collectif (TC), en s'appuyant pour cela sur la norme NFP 99506, dite Neptune, qui spĂ©cifie un profil d'Ă©change XML. -!version.png! -CHOUETTE est une application web. Elle permet de saisir, Ă©diter, tester des donnĂ©es thĂ©oriques de transport public depuis un navigateur internet. Afin de faciliter la crĂ©ation de rĂ©seaux complets, elle est dotĂ©e de fonctions d'import, soit depuis d'autres formats d'applications Ă©quivalentes, soit au travers d'un fichier CSV qui permet de mener des imports massifs plutĂŽt que de saisir tous les Ă©lĂ©ments un Ă  un dans les formulaires adhoc. +CHOUETTE est une application web. Elle permet de saisir, Ă©diter, tester des donnĂ©es thĂ©oriques de transport public depuis un navigateur internet. Afin de faciliter la crĂ©ation de rĂ©seaux complets. Elle est dotĂ©e de fonctions d'import, soit depuis d'autres formats d'applications Ă©quivalentes, soit au travers d'un fichier CSV qui permet de mener des imports massifs plutĂŽt que de saisir tous les Ă©lĂ©ments un a un dans les formulaires adhoc.  h3. A qui s'adresse ce manuel ? -Ce manuel sâadresse aux utilisateurs de CHOUETTE. Les utilisateurs visĂ©s sont les collectivitĂ©s locales AutoritĂ©s Organisatrices de Transport (AOT), les exploitants des rĂ©seaux TC et leurs prestataires (bureaux d'Ă©tude ou sociĂ©tĂ© de services). +Ce manuel sâadresse aux utilisateurs de CHOUETTE. Les utilisateurs visĂ©s sont les collectivitĂ©s locales AutoritĂ©s Organisatrices de Transport (AOT), les exploitants des rĂ©seaux TC et leurs prestataires (bureaux d'Ă©tude ou sociĂ©tĂ© de services).   D'autres utilisateurs potentiels sont Ă©galement identifiĂ©s : services de l'Ă©tat, Ă©diteurs de logiciels, opĂ©rateurs de services d'information, chercheurs...  h3. Ce que vous trouverez dans ce manuel -Vous trouverez dans ce document, toutes les informations nĂ©cessaires Ă  la prise en main de lâapplication. +Vous trouverez dans ce document, toutes les informations nĂ©cessaires Ă  la prise en main de lâapplication.   Le manuel couvre la version 3.0.0. diff --git a/app/views/help/journey_patterns.textile b/app/views/help/journey_patterns.textile index 7224d1f6c..77cc4d2e2 100644 --- a/app/views/help/journey_patterns.textile +++ b/app/views/help/journey_patterns.textile @@ -5,7 +5,7 @@ title: Missions  h3. DĂ©finition
 -Une _"Mission"_ est une sĂ©lection ordonnĂ©e d'arrĂȘts issue d'une sĂ©quence d'arrĂȘts de Ă  partir de laquelle il sera possible de crĂ©er des courses, c'est Ă  dire d'associer diffĂ©rents horaires Ă  la mission. Les arrĂȘts de la mission sont tout ou partie des arrĂȘts de la sĂ©quence d'arrĂȘts.
 +Une _"Mission"_ est une sĂ©lection ordonnĂ©e d'arrĂȘts issue d'une sĂ©quence d'arrĂȘts de Ă  partir de laquelle il sera possible de crĂ©er des courses, c'est Ă  dire d'associer diffĂ©rents horaires Ă  la mission. Les arrĂȘts de la mission sont toute ou partie des arrĂȘts de la sĂ©quence d'arrĂȘts.
  Une mission est spĂ©cifique Ă  une _"sĂ©quence d'arrĂȘts"_. Une mĂȘme sĂ©quence d'arrĂȘts peut contenir plusieurs missions diffĂ©rentes. 
 @@ -17,7 +17,7 @@ La crĂ©ation d'une mission se fait depuis la page d'une sĂ©quence d'arrĂȘt. Pour  En bas du formulaire les arrĂȘts sĂ©lectionnĂ©s dans la sĂ©quence d'arrĂȘts sont sĂ©lectionnables par des cases Ă  cocher.
 -!2014-10-31_113803.png! 
 +p=. !2014-10-31_113803.png! 
  SĂ©lection des arrĂȘts d'une mission
  h3. Modifier une mission
 diff --git a/app/views/help/lines.textile b/app/views/help/lines.textile index 44f6f049b..38096e860 100644 --- a/app/views/help/lines.textile +++ b/app/views/help/lines.textile @@ -11,7 +11,7 @@ La ligne dispose d'un identifiant fonctionnel, une sorte de _"numéro d'enregist  h4. Liste des groupes de lignes
 -Sélectionner _"Lignes"_ dans le menu _"Données"_ affiche la liste des lignes existantes dans l'espace de données. 
 +Sélectionner _"Lignes"_ dans le menu _"Données"_ affiche la liste des lignes existants dans l'espace de données. 
  h4. Ajouter une ligne
 @@ -19,7 +19,7 @@ Depuis la liste des groupe de lignes, cliquer sur  _"Ajouter une ligne"_ dans la  Un formulaire s'affiche. Les champs obligatoires sont signalés par des astérisques. 
 -Dans le champ, _"Groupes de lignes associés"_, saisir les premiers caractÚres d'une ligne. L'auto-complétion présentera les groupes de lignes correspondant à la saisie. Taper sur _"Entrée"_ valide la proposition. Il est à noter que ces associations fonctionnent dans les deux sens et qu'il est également possible de rajouter une ligne dans un groupe de lignes depuis la page d'un groupe de lignes. 
 +Dans le champs, _"Groupes de lignes associés"_, saisir les premiers caractÚres d'une ligne. L'auto-complétion présentera les groupes de lignes correspondant à la saisie. Taper sur _"Entrée"_ valide la proposition. Il est à noter que ces associations fonctionnent dans les deux sens et qu'il est également possible de rajouter une ligne dans un groupe de ligne depuis la page d'un groupe de lignes. 
  h4. Afficher une ligne existante
 @@ -37,10 +37,10 @@ En bas de la page, un lien _"Liste des arrĂȘts de la ligne"_ affiche la liste de  Les arrĂȘts des diffĂ©rentes sĂ©quences d'arrĂȘts apparaissent sur la cartographie. Une infobulle permet de connaĂźtre le nom de l'arrĂȘt et rappelle le type d'arrĂȘt.
 -!2014-10-31_112140.png! 
 +p=. !2014-10-31_112140.png! 
  Vue d'une ligne.
 -h4. Modifier une ligne
 +h4. Modifier une lignes
  On peut modifier une ligne en cliquant sur le bouton de modification directement depuis la liste des lignes ou depuis la page d'une ligne particuliĂšre. 
 @@ -58,7 +58,7 @@ h3. Attributs d'une ligne  * Nom public : nom de la ligne connu des usagers
  * Numéro d'enregistrement : code référençant une ligne au sein d'une autorité supérieure
  * Indice : indice ou numéro de la ligne (ce champ n'est pas obligatoirement numérique). Il s'agit de la désignation simple de la ligne comme par exemple un numéro, une lettre etc...
 -* Mode de transport : mode de transport principal de la ligne. Le cas Ă©chĂ©ant, d'autres modes de transport particuliers peuvent ĂȘtre indiquĂ©s au niveau de chaque course. 
 +* Mode de transport : mode de transport principal de la ligne. Le cas Ă©chĂ©ant, d'autres modes de transports particuliers peuvent ĂȘtre indiquĂ©s au niveau de chaque course. 
  * Couleur du tracé	: couleur en rvb hexadécimal du tracé de ligne et du fond de texte
  * Couleur de texte	: couleur en rvb hexadécimal du texte du nom de la ligne
  * Page web associée	: adresse http ou https de la page du site public décrivant la ligne
 diff --git a/app/views/help/metadata.textile b/app/views/help/metadata.textile index a8c1cf405..d7193ef11 100644 --- a/app/views/help/metadata.textile +++ b/app/views/help/metadata.textile @@ -5,7 +5,7 @@ title: MĂ©tadonnĂ©es  Tous les Ă©lĂ©ments dĂ©finis dans CHOUETTE sont identifiĂ©s par des mĂ©tadonnĂ©es Neptune spĂ©cifiques. Ces mĂ©tadonnĂ©es peuvent ĂȘtre gĂ©nĂ©rĂ©es automatiquement Ă  la crĂ©ation de l'objet de telle sorte qu'il n'est pas nĂ©cessaire de les renseigner. Il reste toutefois possible de leur attribuer une valeur manuellement si nĂ©cessaire. 
 -Chaque type est identifiĂ© par une clĂ© qui permet de dĂ©terminer quel est sa nature (arrĂȘt, ligne, transporteur etc...). La norme propose des clĂ©s types qui sont rĂ©sumĂ©es dans le tableau ci-dessous.
 +Chaque type est identifiĂ© par une clĂ© qui permet de dĂ©terminer quel est sa nature (arrĂȘt, ligne, transporteur etc...). La norme suggĂšre des clĂ©s types qui sont rĂ©sumĂ©es dans le tableau ci-dessous.
  h3. Métadonnées d'un transporteur
 @@ -17,8 +17,7 @@ h3. Métadonnées d'un transporteur  * Version : version de l'objet (auto incrémenté à chaque modification)
  * Créé par : compte utilisateur ayant procédé à la derniÚre modification
 -!2014-10-30_175715.png! 
 -Exemple d'identifiant Neptune
 +!2014-10-30_175715.png! Exemple d'identifiant Neptune
  h3. Clés
 diff --git a/app/views/help/navigation.textile b/app/views/help/navigation.textile index 38a6027d2..32d3c2327 100644 --- a/app/views/help/navigation.textile +++ b/app/views/help/navigation.textile @@ -16,18 +16,20 @@ Le bandeau supérieur regroupe l'essentiel des liens de navigation :  * Les préférences utilisateurs, notamment le choix de langue et les paramÚtres du compte.
  !2014-10-30_173410.png!
 -Bandeau supérieur de CHOUETTE
 +
 +p=. Bandeau supérieur de CHOUETTE
  h3. Listes d'éléments
  Les listes prennent la forme de "_boites_" rangĂ©es cĂŽte Ă  cĂŽte. Dans le cas oĂč le titre de l'Ă©lĂ©ment est trop long pour ĂȘtre affichĂ© entiĂšrement, une infobulle complĂšte apparaĂźt au survol du titre. 
 -Les éléments de l'application qui apparaissent sous la forme de liens sont ceux qui peuvent faire l'objet d'un paramétrage détaillé. Ils s'accompagnent dans les listes de pictogrammes de modification et de suppression. 
 +Les éléments de l'application qui apparaissent sous la forme de liens sont ceux qui peuvent faire l'objet d'un paramétrage détaillés. Il s'accompagnent dans les listes de pictogrammes de modification et de suppression. 
  Le pictogramme de modification ne concerne que les propriétés générales de l'élément et non pas les informations spécifiques qu'il regroupe. Il faut cliquer sur le lien proprement dit pour pouvoir consulter et éditer les informations correspondantes. Le pictogramme de suppression permet de supprimer effectivement toutes les informations correspondant à l'élément.
  !2014-10-30_173506.png! 
 -Exemple de liste d'éléments
 +
 +p=. Exemple de liste d'éléments
  Les listes d'Ă©lĂ©ments peuvent dans certains cas ĂȘtre rĂ©duites afin de ne pas surcharger la page. Cliquer sur le titre de la liste permet d'afficher la liste des Ă©lĂ©ments.
 @@ -36,7 +38,8 @@ h3. Fonctions d'édition  Les fonctions d'édition des données proprement dites se situent à droite de l'affichage principal. 
  !2014-10-30_173604.png! 
 -Fonctions d'Ă©dition des arrĂȘts
 +
 +p=. Fonctions d'Ă©dition des arrĂȘts
  h3. Pointage et déplacement d'un objet sur la cartographie
 @@ -48,21 +51,24 @@ CHOUETTE permet de dĂ©placer Ă©lĂ©ment, arrĂȘt ou accĂšs par exemple, sur la car  * de cliquer sur la carte permet de sortir du mode dĂ©placement et de finaliser le dĂ©placement en mettant les coordonnĂ©es Ă  jour dans le formulaire
  !2014-10-30_173740.png! 
 -DĂ©placement d'un arrĂȘt sur la cartographie
 +
 +p=. DĂ©placement d'un arrĂȘt sur la cartographie
  h3. Auto-complétion
 -De nombreux champs de CHOUETTE font appel à des fonctions d'auto-complétion de telle sorte que des caractÚres saisis dans le champ font automatiquement remonter des éléments pertinents déjà connus du systÚme. 
 +De nombreux champs de CHOUETTE font appel à des fonctions d'auto-complétion de telle sorte que des éléments saisis dans le champs font automatiquement remonter des éléments pertinents déjà connus du systÚme. 
  !2014-10-30_173913.png! 
 -Auto-complĂ©tion sur la sĂ©lection d'un arrĂȘt.
 +
 +p=. Auto-complĂ©tion sur la sĂ©lection d'un arrĂȘt.
  h3. Architecture de l'interface de CHOUETTE
 -Un certain nombre d'Ă©lĂ©ments constitutifs de la base de donnĂ©es sont accessibles en tant que sous Ă©lĂ©ments de menus accessibles depuis une page. Il en va ainsi par exemple des horaires, qui sont accessibles au travers des lignes puis des sĂ©quences d'arrĂȘts. Il est conseillĂ© Ă  l'utilisateur dĂ©butant de se reporter au chapitre _"CrĂ©er un rĂ©seau Ă  partir de zĂ©ro"_ situĂ© en annexe pour un rappel de l'ordre dans lequel il faut crĂ©er les Ă©lĂ©ments du rĂ©seau.
 +Un certain nombre d'Ă©lĂ©ments constitutifs de la base de donnĂ©es sont accessibles en tant que sous Ă©lĂ©ments de menus accessibles depuis une page. Il en va ainsi par exemple des horaires qui sont accessibles au travers des lignes puis des sĂ©quences d'arrĂȘts. Il est conseillĂ© Ă  l'utilisateur dĂ©butant de se reporter au chapitre _"CrĂ©er un rĂ©seau Ă  partir de zĂ©ro"_ situĂ© en annexe pour un rappel de l'ordre dans lequel il faut crĂ©er les Ă©lĂ©ments du rĂ©seau.
  !navigation.png! 
 -Navigation au sein de l'application CHOUETTE
 +
 +p=. Navigation au sein de l'application CHOUETTE
 diff --git a/app/views/help/parametersets.textile b/app/views/help/parametersets.textile index 6070d86b1..f3cc61e87 100644 --- a/app/views/help/parametersets.textile +++ b/app/views/help/parametersets.textile @@ -5,18 +5,18 @@ title: Jeux de paramÚtres de validation  h3. Définition
 -CHOUETTE intĂšgre un outil de validation de la base de donnĂ©es qui permet de dĂ©tecter les erreurs les plus grossiĂšres qui auraient pu ĂȘtre laissĂ©es dans la base de donnĂ©es. Un ensemble de tests est disponible mais il n'est pas obligatoire de les passer tous. L'utilisateur peut crĂ©er son propre jeu de tests au travers d'un _"jeu de paramĂštres"_ dans le menu validation. 
 +CHOUETTE intĂšgre un outil de validation de la base de donnĂ©es qui permet de dĂ©tecter les erreurs les plus grossiĂšres qui auraient pu ĂȘtre laissĂ©e dans la base de donnĂ©es. Un ensemble de tests est disponible mais il n'est pas obligatoire de les passer tous. L'utilisateur peut crĂ©er son propre jeu de tests au travers d'un _"jeu de paramĂštres"_ dans le menu validation. 
  Les paramĂštres de tests peuvent donc ĂȘtre choisis afin d'adapter les tests Ă  la rĂ©alitĂ© du terrain.
  Afin de rejouer facilement les tests dans différent contextes, il est possible de définir plusieurs jeux qui sont conservés indépendamment des validations.
 -Un jeu de paramĂštres est proposĂ© par dĂ©faut Ă  la crĂ©ation du rĂ©fĂ©rentiel; celui-ci peut ĂȘtre modifiĂ© ou dĂ©truit; il n'est alors pas possible de le recrĂ©er.
 +Un jeu de paramĂštre est proposĂ© par dĂ©faut Ă  la crĂ©ation du rĂ©fĂ©rentiel; celui-ci peut ĂȘtre modifiĂ© ou dĂ©truit; il n'est alors pas possible de le recrĂ©er.
  h3. ParamÚtres généraux
  * Nom : Nom du jeu de données (nom utilisé pour sa sélection dans les imports et validations)
 -* DĂ©limitation gĂ©ographique des arrĂȘts : Emprise gĂ©ographique du rĂ©seau (tous les arrĂȘts testĂ©s devront ĂȘtre inclus dans cette zone). Le format de ce champs est un ensemble de points formant une polyligne fermĂ©e:[[longitude1,latitude1],[longitude2,latitude2],,,[longitudeN,latitudeN],[longitude1,latitude1]], Les longitudes et latitudes sont exprimĂ©es en degrĂ©s, dĂ©cimaux, positifs Ă  l'est et au nord. Il s'agit du format WGS84 normĂ© Ă©galement utilisĂ© dans GoogleMaps ou Open Street Map.
 +* DĂ©limitation gĂ©ographique des arrĂȘts : Emprise gĂ©ographique du rĂ©seau (tous les arrĂȘts testĂ©s devront ĂȘtre inclus dans cette zone). Le format de ce champs est un ensemble de points formant une polyligne fermĂ©e:[[longitude1,latitude1],[longitude2,latitude2],,,[longitudeN,latitudeN],[longitude1,latitude1]], Les longitudes et latitudes sont exprimĂ©es en degrĂ©, dĂ©cimaux positifs Ă  l'est et au nord. Il s'agit du format WGS84 normĂ© Ă©galement utilisĂ© dans googlemaps ou open street map.
  * DurĂ©e maximum de stationnement Ă  un arrĂȘt (en secondes) := Ă©cart de temps maximal autorisĂ© entre l'heure d'arrivĂ©e et l'heure de dĂ©part Ă  un arrĂȘt
  p. *Distance minimum entre :* (en mĂštres)
 @@ -34,50 +34,22 @@ p. *Distance maximum entre :* (en mĂštres)  p. *Vitesse de marche maximum d'un voyageur :* (en kilomĂštres/heure)
  vitesse maximale admise dans les correspondances et les liaisons arrĂȘt - accĂšs pour : 
 -* un voyageur ordinaire : voyageur qui a une connaissance théorique du réseau
 +* un voyageur ordinaire : voyageur qui a un connaissance théorique du réseau
  * un voyageur occasionnel : voyageur qui ne connaßt pas le réseau
  * un voyageur habituel : voyageur qui connaßt bien le réseau
  * un voyageur à mobilité réduite : voyageur qui a des difficultés de déplacement
 -p. *Activation de contrÎles supplémentaires* (ceux-ci sont alors déclarés bloquants) 
 -
 -* contraite d'appartenance d'une ligne Ă  un unique groupe de lignes.
 -* limitation du nombre de sĂ©quences d'arrĂȘts d'une ligne Ă  au plus 1 A/R) 
 -* appartenance obligatoire des arrĂȘts physiques Ă  un arrĂȘt commercial
 -* limiter les correspondances aux seuls arrĂȘts physiques
 -* limiter les modes de transports à un sous-ensemble des modes gérés par Chouette (si ce contrÎle est activé, une case à cocher est ajouter par mode de transport pour l'autoriser)
  h3. ParamĂštres par mode de transport.
  p. les paramÚtres suivants sont à définir pour chaque mode de transport disponible dans le réseau à tester.
 -* Autoriser ce mode (si le contrĂŽle sur les modes de transports est actif)
  * Distance minimum entre 2 arrĂȘts (en mĂštres) : distance minimale de parcours d'un vĂ©hicule entre 2 arrĂȘts.
  * Distance maximum entre 2 arrĂȘts (en mĂštres) : distance maximale de parcours d'un vĂ©hicule entre 2 arrĂȘts.
  * Vitesse minimum (en kilomĂštres/heure) : vitesse minimale attendue entre 2 arrĂȘts d'une course
  * Vitesse maximum (en kilomĂštres/heure) : vitesse maximale attendue entre 2 arrĂȘts d'une course
  * Ăcart maximum de durĂ©e de trajet entre 2 arrĂȘts successifs pour les diffĂ©rentes courses (en secondes) : la diffĂ©rence de temps de trajet entre 2 arrĂȘts successifs de 2 courses d'une mĂȘme mission ne doit pas dĂ©passer ce seuil =:
 -h3. ContrĂŽles sur les attributs du modĂšle
 -
 -p. les paramÚtres suivants sont disponible pour fixer des limitations sur différents champs du modÚle par rapport à leur spécification dans Chouette; ces contrÎles s'applique sur l'ensemble des données fournies à la validation.
 -
 -p. pour activer un point de contrÎle, il faut cocher le type d'objet, puis renseigner les limitations sur les attributs désirés.
 -
 -p. les limitations sont les suivantes : 
 -
 -* Unicité : contrÎle de l'unicité de la valeur dans le lot de données contrÎlées.
 -* CaractÚres autorisés : restriction possible des valeurs à :
 -** uniquement des chiffres, (restriction imposée pour un champ numérique)
 -** uniquement des lettres (pas d'espace) 
 -** uniquement des lettres majuscules (pas d'espace) 
 -** uniquement des lettres minuscules (pas d'espace) 
 -* obligation d'un nombre minimal de caractÚres ou valeur minimale pour un champ numérique ou contraint à des chiffres
 -** en mettant 1 dans ce champs pour un texte, ceci le rend obligatoire
 -* restriction à une longueur maximale de caractÚres ou valeur maximale pour un champ numérique ou contraint à des chiffres
 -
 -p. L'attribut *Identifiant Neptune* est un cas particulier, les limitations s'appliquent Ă  la troisiĂšme composante de ce champ, soit la partie identifiant technique.
 -
  h3. Remarques
  p. Les distances sont calculées _à vol d'oiseau_ et les vitesses sont déterminées par rapport à ces distances.
 diff --git a/app/views/help/relationship.textile b/app/views/help/relationship.textile index 41bbf756f..334cc6633 100644 --- a/app/views/help/relationship.textile +++ b/app/views/help/relationship.textile @@ -7,7 +7,7 @@ h3. Regroupements des diffĂ©rents niveaux d'arrĂȘts  Les arrĂȘts de diffĂ©rents niveaux hiĂ©rarchiques peuvent ĂȘtre liĂ©s ensemble. 
 -Ainsi, on obtient les possibilités de regroupements suivants:
 +Ainsi on obtient les possibilités de regroupements suivants:
  * un arrĂȘt physique regroupe plusieurs arrĂȘts sur itinĂ©raire (ou sĂ©quence d'arrĂȘts).
  * un arrĂȘt commercial regroupe plusieurs arrĂȘts physiques (quai, embarquement).
 @@ -18,12 +18,11 @@ Pour ne pas aboutir Ă  un systĂšme trop complexe, les rĂšgles suivantes sont pos  * un pĂŽle d'Ă©change peut contenir des arrĂȘts commerciaux et/ou des pĂŽles d'Ă©changes (qui ne peuvent pas en contenir d'autres).
  * un arrĂȘt commercial ne peut contenir que des arrĂȘts physiques.
 -!2014-10-30_180536.png! 
 -Exemple d'arrĂȘt commercial contenant un arrĂȘt physique
 +!2014-10-30_180536.png! Exemple d'arrĂȘt commercial contenant un arrĂȘt physique
  h3. Création et modification des relations de parenté
 -Les liens de parentĂ© entre les arrĂȘts se crĂ©ent depuis un arrĂȘt dĂ©jĂ  existant, qu'il soit parent ou fils. Il peut s'agir de mettre en relation deux arrĂȘts dĂ©jĂ  existants ou bien de crĂ©er un nouvel arrĂȘt en relation Ă  partir de l'arrĂȘt courant. 
 +Les liens de parentalitĂ© entre les arrĂȘts se crĂ©ent depuis un arrĂȘt dĂ©jĂ  existant, qu'il soit parent ou fils. Il peut s'agir de mettre en relation deux arrĂȘts dĂ©jĂ  existants ou bien de crĂ©er un nouvel arrĂȘt en relation Ă  partir de l'arrĂȘt courant. 
  * GĂ©rer le parent : Cette fonction affiche soit un champ de recherche pour rechercher et dĂ©finir le parent si le lien n'existe pas encore, soit le nom du parent pour consultation avec une petite croix pour supprimer le lien de parentĂ© si le lien est dĂ©jĂ  Ă©tabli. Supprimer le lien de parentĂ© ne supprime pas l'arrĂȘt proprement dit. 
  * Cloner pour crĂ©er un pĂšre : Cette fonction crĂ©e un arrĂȘt identique de niveau hiĂ©rarchique supĂ©rieur. 
 @@ -36,14 +35,13 @@ h4. Depuis les niveaux _"point d'embarquement"_ ou _"quai"_  Les niveaux _"point d'embarquement"_ et _"quai"_ Ă©tant les plus bas, ils ne peuvent pas ĂȘtre reliĂ©s Ă  des arrĂȘts fils. En consĂ©quence seul un bouton _"GĂ©rer le parent"_ est systĂ©matiquement disponible. Le bouton _"cloner pour crĂ©er un pĂšre"_ apparaĂźt s'il existe dĂ©jĂ  un arrĂȘt parent. 
 -!2014-10-30_180955.png! 
 -Gestion d'un arrĂȘt parent
 +!2014-10-30_180955.png! Gestion d'un arrĂȘt parent
  h4. Depuis le niveau _"arrĂȘt commercial"_ ou _"PĂŽle d'Ă©change"_
  !commercialstoppoint.png! ou !stopplace.png!
 -Ces deux niveaux permettent Ă  la fois de dĂ©finir de nouveaux fils et de rattacher l'arrĂȘt commercial Ă  un parent de type "pĂŽle d'Ă©change". Ils disposent donc Ă  la fois des fonctions de gestion et de clonage de parents et de fils. A noter que les arrĂȘts de niveaux pĂŽle d'Ă©change (qui sont hiĂ©rarchiquement les plus Ă©levĂ©s) peuvent avoir un et un seul autre pĂŽle d'Ă©change comme parent. Deux pĂŽles d'Ă©change peuvent ĂȘtre parents l'un de l'autre. 
 +Ces deux niveaux permettent Ă  la fois de dĂ©finir de nouveaux fils et de rattacher l'arrĂȘt commercial Ă  un parent de type "pĂŽle d'Ă©change". Ils disposent donc Ă  la fois des fonctions de gestion et de clonage de parents et de fils. A noter que les arrĂȘts de niveaux pĂŽle d'Ă©change qui sont hiĂ©rarchiquement les plus Ă©levĂ©s peuvent avoir un et un seul autre pĂŽle d'Ă©change comme parent. Deux pĂŽles d'Ă©change peuvent ĂȘtre parents l'un de l'autre. 
  !2014-10-30_181044.png! 
  Gestion de relation pĂšre-fils depuis un arrĂȘt commercial
\ No newline at end of file diff --git a/app/views/help/routes.textile b/app/views/help/routes.textile index 0396898ae..7938169a2 100644 --- a/app/views/help/routes.textile +++ b/app/views/help/routes.textile @@ -24,11 +24,11 @@ h3. CrĂ©er une sĂ©quence d'arrĂȘts  La crĂ©ation d'une sĂ©quence d'arrĂȘts se fait depuis la page d'une ligne. Pour crĂ©er une sĂ©quence d'arrĂȘt il convient de cliquer sur _"Ajouter une sĂ©quence d'arrĂȘts"_ dans le menu latĂ©ral Ă  droite. Un formulaire de crĂ©ation s'affiche alors.
 -En bas du formulaire, deux liens permettent soit de rajouter des arrĂȘts Ă  la sĂ©quence, soit de crĂ©er un nouvel arrĂȘt pour le rajouter Ă  la sĂ©quence.
 +En bas du formulaire deux liens permettent soit de rajouter des arrĂȘts Ă  la sĂ©quence, soit de crĂ©er un nouvel arrĂȘt pour le rajouter Ă  la sĂ©quence.
  h4. CrĂ©er un nouvel arrĂȘt pour l'ajouter
 -Cliquer sur crĂ©er un nouvel arrĂȘt renvoie l'utilisateur Ă  la page de crĂ©ation d'arrĂȘt. Il est Ă  noter qu'il devra retourner par lui mĂȘme dans sur l'Ă©cran de crĂ©ation de sĂ©quence d'arrĂȘt pour reprendre son travail. 
 +Cliquer sur crĂ©er un nouvel arrĂȘt renvoie l'utilisateur Ă  la page de crĂ©ation d'arrĂȘt. Il est Ă  noter qu'il devra retourner par lui mĂȘme dans sur l'interface de crĂ©ation de sĂ©quence d'arrĂȘt pour reprendre son travail. 
  h4. Ajouter un arrĂȘt
 @@ -38,7 +38,7 @@ Le pictogramme en forme de poubelle en dĂ©but de ligne permet de supprimer l'Ă©t  Le pictogramme en forme de flĂšches (dans les 4 directions) permet de modifier l'ordre des arrĂȘts dans la sĂ©quence. Il faut bien entendu au moins deux arrĂȘts pour pouvoir modifier l'ordre des arrĂȘts. 
 -Une fois qu'un arrĂȘt est sĂ©lectionnĂ©, une petite croix apparaĂźt au bout de la zone contenant le nom de l'arrĂȘt. Cliquer sur cette croix efface l'arrĂȘt sĂ©lectionnĂ© et permet d'en saisir un nouveau. 
 +Une fois qu'un arrĂȘt est sĂ©lectionnĂ©, une petite croix apparait au bout de la zone contenant le nom de l'arrĂȘt. Cliquer sur cette croix efface l'arrĂȘt sĂ©lectionnĂ© et permet d'en saisir un nouveau. 
  h3. Modifier une sĂ©quence d'arrĂȘts
 @@ -47,25 +47,9 @@ On peut modifier une sĂ©quence d'arrĂȘts en cliquant sur le bouton de modificati  !2014-10-31_112543.png! 
  Modification des arrĂȘts d'une sĂ©quence
 -h3. Contraintes de montée - descente
 -
 -On peut ajouter des rĂšgles de montĂ©e ou de descente aux arrĂȘts de la sĂ©quence d'arrĂȘt (interdit ou Ă  la demande); ces rĂšgles s'appliquent Ă  toutes les courses de la sĂ©quence d'arrĂȘt
 -
 -Les rĂšgles sont : 
 -
 -* Non défini (par défaut)
 -* Montée autorisée
 -* Montée interdite
 -* Montée sur réservation
 -* Montée sur demande au conducteur
 -* Descente autorisée
 -* Descente interdite
 -* Descente sur réservation
 -* Descente sur demande au conducteur
 -
  h3. Supprimer une sĂ©quence d'arrĂȘts
 -Il est possible de supprimer une sĂ©quence d'arrĂȘts depuis la page de la ligne. Chaque Ă©lĂ©ment de la liste des sĂ©quences d'arrĂȘts en bas de la page est dotĂ©e d'un pictogramme de suppression. Il est Ă  noter que la suppression de la sĂ©quence d'arrĂȘts ne supprime par les arrĂȘts qu'elle contient. 
 +Il est possible de supprimer une sĂ©quence d'arrĂȘt depuis la page de la ligne. Chaque Ă©lĂ©ment de la liste des sĂ©quences d'arrĂȘt en bas de la page est dotĂ©e d'un pictogramme de suppression. Il est Ă  noter que la suppression de la sĂ©quence d'arrĂȘts ne supprime par les arrĂȘts qu'elle contient. 
  La suppression de la sĂ©quence est Ă©galement possible depuis la page de la sĂ©quence elle-mĂȘme. Le lien _"Supprimer cette sĂ©quence d'arrĂȘts"_ efface la sĂ©quence courante. 
 diff --git a/app/views/help/startingfromscratch.textile b/app/views/help/startingfromscratch.textile index ef5586eb3..fdc94069b 100644 --- a/app/views/help/startingfromscratch.textile +++ b/app/views/help/startingfromscratch.textile @@ -5,7 +5,7 @@ title: Créer un réseau à partir de zéro  h3. Créer un nouvel espace de données
 -Chaque rĂ©seau est gĂ©nĂ©ralement intĂ©grĂ© dans un espace de donnĂ©es spĂ©cifique. Dans le cas oĂč l'on cherche Ă  crĂ©er une nouvelle ligne par exemple, on devra crĂ©er les Ă©lĂ©ments dans l'espace de donnĂ©es correspondant. 
 +Chaque rĂ©seau est gĂ©nĂ©ralement intĂ©grĂ© dans un espace de donnĂ©e spĂ©cifique. Dans le cas oĂč l'on cherche Ă  crĂ©er une nouvelle ligne par exemple, on devra crĂ©er les Ă©lĂ©ments dans l'espace de donnĂ©es correspondant. 
  h3. Définir les attributs du réseau
 @@ -21,21 +21,21 @@ Navigation au sein de l'application CHOUETTE  h3. Création des calendriers
 -Les calendriers sont associĂ©s aux courses. Ils devront donc ĂȘtre créés avant l'Ă©tape de crĂ©ation des courses. Ils nĂ©cessitent gĂ©nĂ©ralement un travail de mise Ă  plat en fonction des horaires tels qu'ils ont Ă©tĂ© conçus. Un calendrier Ă©tant une sĂ©rie de dates permettant de couvrir Ă  la fois les plages de dates et les jours de la semaine auxquels la course fonctionne, il n'est pas rare que la crĂ©ation d'un nouveau rĂ©seau nĂ©cessite un nombre important de calendriers. Les fonctions d'Ă©tiquettes permettent de mieux les organiser dans CHOUETTE, toutefois, une Ă©tape prĂ©alable de conception des calendriers est gĂ©nĂ©ralement nĂ©cessaire pour saisir un nouveau rĂ©seau avec rigueur. 
 +Les calendriers sont associĂ©s aux courses. Ils devront donc ĂȘtre créés avant l'Ă©tape de crĂ©ation des courses. Ils nĂ©cessitent gĂ©nĂ©ralement un travail de mise Ă  plat en fonction des horaires tels qu'ils ont Ă©tĂ© conçus. Un calendrier Ă©tant une sĂ©rie de date permettant de couvrir Ă  la fois les plages de dates et les jours de la semaine auxquels la course fonctionne, il n'est pas rare que la crĂ©ation d'un nouveau rĂ©seau nĂ©cessite un nombre important de calendriers. Les fonctions d'Ă©tiquettes permettent de mieux les organiser dans CHOUETTE, toutefois, une Ă©tape prĂ©alable de conception des calendriers est gĂ©nĂ©ralement nĂ©cessaire pour saisir un nouveau rĂ©seau avec rigueur. 
  h3. CrĂ©ation des arrĂȘts et des correspondances
 -Les arrĂȘts du rĂ©seaux peuvent ensuite ĂȘtre créés, soit directement par saisie dans le formulaire de CHOUETTE, soit par import. Dans l'hypothĂšse oĂč le nouvel espace de donnĂ©es reprend des arrĂȘts dĂ©jĂ  existants dans un autre espace de donnĂ©es, il est possible de les exporter, de les complĂ©ter pour les rĂ©importer ensuite. 
 +Les arrĂȘts du rĂ©seaux peuvent ensuite ĂȘtre créés, soit directement par saisie dans le formulaire de CHOUETTE,soit par import. Dans l'hypothĂšse oĂč le nouvel espace de donnĂ©e reprend des arrĂȘts dĂ©jĂ  existants dans un autre espace de donnĂ©es, il est possible de les exporter, de les complĂ©ter pour les rĂ©importer ensuite. 
 -Les correspondances Ă©tant des liens entre deux arrĂȘts, il est possible de les dĂ©clarer dĂšs l'Ă©tape de crĂ©ation des arrĂȘts. 
 +Les correspondances Ă©tant des liens entre deux arrĂȘts il est possible de les dĂ©clarer dĂšs l'Ă©tape de crĂ©ation des arrĂȘts. 
  h3. Création des lignes 
 -La crĂ©ation des lignes permet de dĂ©finir les grands paramĂštres gĂ©nĂ©raux de la ligne, notamment son nom. Les arrĂȘts proprement dits sont dĂ©finis dans les sĂ©quences d'arrĂȘts. 
 +La crĂ©ation des lignes permet de dĂ©finir les grands paramĂ©tres gĂ©nĂ©raux de la ligne, notamment son nom. Les arrĂȘts proprement dits sont dĂ©finis dans les sĂ©quences d'arrĂȘts. 
  h4. SĂ©quences d'arrĂȘts
 -A l'intĂ©rieur de l'Ă©cran pour la ligne, l'Ă©tape suivante consiste Ă  dĂ©finir les sĂ©quences d'arrĂȘts . Celles-ci sont constituĂ©es d'un ensemble d'arrĂȘts ordonnĂ©s qui permettront de dĂ©terminer une ou plusieurs missions , c'est Ă  dire un sous-ensemble de la sĂ©quence d'arrĂȘts comportant tout ou partie de ses arrĂȘts.
 +A l'intĂ©rieur de l'interface de ligne, l'Ă©tape suivante consiste Ă  dĂ©finir les sĂ©quences d'arrĂȘts . Celles-ci sont constituĂ©es d'un ensemble d'arrĂȘts ordonnĂ©s qui permettront de dĂ©terminer une ou plusieurs missions , c'est Ă  dire un sous-ensemble de la sĂ©quence d'arrĂȘts comportant tout ou partie de ses arrĂȘts.
  Typiquement, une ligne aura deux sĂ©quences d'arrĂȘts, une par sens de circulation. Il est tout Ă  fait possible d'en crĂ©er d'autres, y compris avec des arrĂȘts totalement diffĂ©rents d'une sĂ©quence Ă  l'autre.  
 @@ -43,17 +43,17 @@ h4. Missions  Les missions dĂ©finissent des trajets effectifs rĂ©alisĂ©s par les vĂ©hicules. Elles se dĂ©finissent Ă  l'intĂ©rieur de l'interface de gestion des sĂ©quences d'arrĂȘts, elle-mĂȘme Ă©tant un sous-Ă©lĂ©ment de l'interface des lignes.
 -On peut crĂ©er autant de missions que nĂ©cessaire au sein d'une sĂ©quence d'arrĂȘts. Chaque mission est nĂ©anmoins contrainte par les arrĂȘts composant la sĂ©quence d'arrĂȘts, Ă  la fois en ce qui concerne les arrĂȘts eux-mĂȘmes que l'ordre dans lequel ils sont agencĂ©s. 
 +On peut crĂ©er autant de mission que nĂ©cessaire au sein d'une sĂ©quence d'arrĂȘts. Chaque mission est nĂ©anmoins contrainte par les arrĂȘts composant la sĂ©quence d'arrĂȘts, Ă  la fois en ce qui concerne les arrĂȘts eux-mĂȘmes que l'ordre dans lequel ils sont agencĂ©s. 
  h3. Horaires
 -Les horaires ne peuvent ĂȘtre dĂ©finis qu'Ă  la condition d'avoir paramĂ©trĂ© les Ă©lĂ©ments prĂ©cĂ©dents. L'interface de consultation et de saisie des horaires se situe au niveau de la mission. Pour retrouver les horaires, il convient donc de sĂ©lectionner Ligne>SĂ©quence d'arrĂȘts>Horaire des courses.
 +Les horaires ne peuvent ĂȘtre dĂ©finis qu'Ă  la condition d'avoir paramĂ©trĂ© les autres critĂšres. L'interface de consultation et de saisie des horaires se situe au niveau de la mission. Pour retrouver les horaires, il convient donc de sĂ©lectionner Ligne>SĂ©quence d'arrĂȘts>horaire des courses.
 -Les horaires des courses peuvent ĂȘtre saisis directement dans l'interface Chouette ou bien encore ĂȘtre Ă©ditĂ©s dans un tableau par le biais d'une fonction "d'import / export" spĂ©cifique. Disponible depuis l'interface des horaires, elle ne concerne que ceux-ci. Il ne faut pas la confondre avec les imports / export de base de donnĂ©es dans le systĂšme. Il s'agit d'une fonction qui permet l'Ă©dition externe et les copier/coller massifs depuis un tableur. 
 +Les horaires des courses peuvent ĂȘtre saisis directement dans l'interface Chouette ou bien encore ĂȘtre Ă©ditĂ© dans un tableau par le biais d'une fonction "d'import / export" spĂ©cifique. Disponible depuis l'interface des horaires, elle ne concerne que ceux-ci. Il ne faut pas la confondre avec les imports / export de base de donnĂ©es dans le systĂšme. Il s'agit d'une fonction qui permet l'Ă©dition externe et les copier/coller massifs depuis un tableur. 
  A noter que l'Ă©dition directement dans CHOUETTE peut se faire au clavier. Le curseur placĂ© dans le premier champ, la saisie sur le pavĂ© numĂ©rique permet de saisir la valeur voulue. La touche tabulation permet passer du champ heure au champ minute puis de renseigner la suite de la fiche en colonne. Les liens _"Copier  arrivĂ©es vers dĂ©parts"_ ou inversement permettent de dupliquer les donnĂ©es saisies dans le cas le plus frĂ©quent oĂč les horaires de dĂ©part et d'arrivĂ© Ă  l'arrĂȘt sont confondus. 
 -L'export se fait au format .zip et comporte des fichiers CSV (.csv) des calendriers et des courses. Les versions modifiĂ©es doivent ĂȘtre uploadĂ©es en retour individuellement au format CSV. Il convient de ne surtout pas changer la structure des fichiers et de s'assurer que le format CSV n'ait pas Ă©tĂ© modifiĂ© par le tableur. Les saisies manuelles augmentant le risque d'erreur de saisie, il est fortement recommandĂ© de valider les donnĂ©es aprĂšs un import CSV dans le menu _"Validations"_. 
 +L'export se fait au format .zip et comporte des fichier .csv des calendriers et des courses. Les versions modifiĂ©es doivent ĂȘtre uploadĂ©es en retour individuellement au format .csv. Il convient de ne surtout pas changer la structure des fichiers et de s'assurer que le format .csv n'ait pas Ă©tĂ© modifiĂ© par le tableur. Les saisies manuelles augmentant le risque d'erreur de saisie, il est fortement recommandĂ© de valider les donnĂ©es aprĂšs un import .csv dans le menu _"Validations"_. 
  h3. Groupe de lignes
 diff --git a/app/views/help/stop_areas.textile b/app/views/help/stop_areas.textile index 77a07f493..fab4421dd 100644 --- a/app/views/help/stop_areas.textile +++ b/app/views/help/stop_areas.textile @@ -9,19 +9,22 @@ Le rĂ©fĂ©rentiel des arrĂȘts constitue un maillon essentiel du rĂ©seau, et se co  On recense tout d'abord les arrĂȘts physiques, qualifiĂ©s de _"point d'embarquement"_ ou de _"quai"_.  
 -Du fait de l'existence de deux concepts dans le schĂ©ma TRIDENT, cet arrĂȘt physique sera considĂ©rĂ© par l'application comme une _"zone d'arrĂȘt de premier niveau"_. Cette notion est nĂ©cessaire pour gĂ©rer les _"points d'arrĂȘt sur itinĂ©raire"_ utilisĂ©s par certains rĂ©seaux. 
 +Du fait de l'existence de deux concepts dans le schĂ©ma TRIDENT, cet arrĂȘt physique sera considĂ©rĂ© par l'application comme une _"zone d'arrĂȘt de premier niveau"_. Cette notion est nĂ©cessaire pour gĂ©rer les _"points d'arrĂȘts sur itinĂ©raire"_ utilisĂ©s par certains rĂ©seaux. 
 -L'application gĂšre ensuite les points d'arrĂȘt sur itinĂ©raire Ă  partir de ces arrĂȘts physiques, en assurant le regroupement des points d'arrĂȘt sur itinĂ©raire dans un arrĂȘt physique. Cela permet notamment de prendre en compte les cas de plusieurs lignes passant par le mĂȘme arrĂȘt physique.
 +L'application gĂšre ensuite les points d'arrĂȘts sur itinĂ©raire Ă  partir de ces arrĂȘts physiques, en assurant le regroupement des points d'arrĂȘt sur itinĂ©raire dans un arrĂȘt physique. Cela permet notamment de prendre en compte les cas de plusieurs lignes passant par le mĂȘme arrĂȘt physique.
 -Par la suite, on peut regrouper deux (ou plus) arrĂȘts physiques au sein d'un _"arrĂȘt commercial"_. Cela permet par exemple de regrouper les points d'arrĂȘt physiques correspondant Ă  deux poteaux d'arrĂȘt de la mĂȘme ligne situĂ©s de part et d'autre d'une chaussĂ©e mais aussi de regrouper l'ensemble des points d'arrĂȘt physiques d'une gare routiĂšre, pour lesquels on considĂšre que le temps de correspondance est nul. Un tel cas correspond Ă  une _"zone d'arrĂȘt"_, avec qualification _"arrĂȘt commercial"_, de deuxiĂšme niveau.
 +Par la suite, on peut regrouper deux (ou plus) arrĂȘts physiques au sein d'un _"arrĂȘt commercial"_. Cela permet par exemple de regrouper les points d'arrĂȘt physiques correspondant Ă  deux poteaux d'arrĂȘt de la mĂȘme ligne situĂ©s de part et d'autre d'une chaussĂ©e mais aussi de regrouper l'ensemble des points d'arrĂȘt physiques d'une gare routiĂšre pour lesquels on considĂšre que le temps de correspondance est nul. Un tel cas correspond Ă  une _"zone d'arrĂȘt"_, avec qualification _"arrĂȘt commercial"_, de deuxiĂšme niveau.
  CHOUETTE offre la possibilitĂ© de regrouper les lieux d'arrĂȘt agglomĂ©rĂ©s ainsi créés au sein d'une _"zone d'arrĂȘt de troisiĂšme niveau_" pour constituer des _"PĂŽles d'Ă©change"_.
 -Un dernier regroupement est *l'ITL*. L'interdiction de trafic local* est l'interdiction faite Ă  un service routier de prendre et de laisser un mĂȘme voyageur Ă  l'intĂ©rieur du pĂ©rimĂštre des transports urbains (cf. DĂ©cret n°49-1473 du 14 novembre 1949).
 +Un dernier regroupement est *l'ITL*. L'interdiction de trafic local* est l'interdiction faite Ă  un service routier de prendre et de laisser un mĂȘme voyageur Ă  l'intĂ©rieur du pĂ©rimĂštre des transports urbains (cf. DĂ©cret n°49-1473 du 14 novembre 1949) .
 -Ainsi dans CHOUETTE, une ITL est un regroupement d'arrĂȘts reprĂ©sentant le pĂ©rimĂštre d'interdiction. Une ITL est associĂ©e Ă  une ou plusieurs lignes. Il ne s'agit pas Ă  proprement parler d'un type d'arrĂȘt mais bien d'un regroupement d'arrĂȘts.
 +Ainsi dans CHOUETTE une ITL est un regroupement d'arrĂȘts reprĂ©sentant le pĂ©rimĂštre d'interdiction. Une ITL est associĂ©e Ă  une ou plusieurs lignes. Il ne s'agit pas Ă  proprement parler d'un type d'arrĂȘt mais bien d'un regroupement d'arrĂȘts. [pourquoi ne pas le traiter dans les groupes d'arrĂȘts du coup ?]
 -Des pictogrammes permettent d'identifier les diffĂ©rents types d'arrĂȘts.
 +!navigation.png!
 +EnchaĂźnement des pages de CHOUETTE
 +
 +Des pictogrammes permettent d'identifier les diffĂ©rents types de d'arrĂȘts.
  * !boardingposition.png! point d'embarquement
  * !quay.png! quai
 @@ -45,7 +48,7 @@ Saisir l'adresse postale de l'arrĂȘt proposera une gĂ©olocalisation qu'il sera t  h3. Consultation et Ă©dition d'un arrĂȘt
 -Le nombre d'arrĂȘts Ă©tant la plupart du temps assez important, il est probable que tous les arrĂȘts ne puissent pas s'afficher sur la page des lignes. Des fonctions de recherche situĂ©es en haut de la page permettent de faire une recherche par le nom. Cliquer sur _"recherche avancĂ©e"_ permet de sĂ©lectionner des critĂšres de recherche spĂ©cifiques par code postal et type d'arrĂȘt.
 +Le nombre d'arrĂȘts Ă©tant la plus part du temps assez important, il est probable que tous les arrĂȘts ne puissent pas s'afficher sur la page des lignes. Des fonctions de recherche situĂ©es en haut de la page permettent de faire une recherche par le nom. Cliquer sur _"recherche avancĂ©e"_ permet de sĂ©lectionner des critĂšres de recherche spĂ©cifiques par code postal et type d'arrĂȘt.
  Pour afficher un arrĂȘt existant, il suffit de cliquer sur le nom de l'arrĂȘt depuis la liste des lignes existantes.
 @@ -57,7 +60,7 @@ Une fois sur la page d'un arrĂȘt, les arrĂȘts de niveau hiĂ©rarchique diffĂ©rent  !2014-10-30_180536.png! 
  HiĂ©rarchie des arrĂȘts
 -On retrouve Ă©galement en bas de la page, un lien _"Liens entre arrĂȘts"_ qui affiche les liens hiĂ©rarchiques entre l'arrĂȘt consultĂ© et les autres arrĂȘts auquel il est liĂ©. Cet affichage permet d'accĂ©der aux autres arrĂȘts liĂ©s en cliquant les arrĂȘts. Dans le cas d'un arrĂȘt physique, il affiche Ă©galement la sĂ©quence d'arrĂȘts Ă  laquelle il est rattachĂ©. 
 +On retrouve Ă©galement en bas de la page, un lien _"Liens entre arrĂȘts"_ qui affiche les liens hiĂ©rarchiques entre l'arrĂȘt consultĂ© et les autres arrĂȘts auquel il est liĂ©. Cet affichage permet d'accĂ©der aux autres arrĂȘts liĂ©s en cliquant les arrĂȘts. Dans le cas d'un arrĂȘt physique, il affiche Ă©galement la sĂ©quence d'arrĂȘt Ă  laquelle il est rattachĂ©. 
  h4. Modifier un arrĂȘt
 @@ -83,7 +86,7 @@ h3. Attributs d'un arrĂȘt  * Position X : coordonnĂ©e horizontale de l'arrĂȘt dans le rĂ©fĂ©rentiel de projection de l'espace de donnĂ©es
  * Position Y : coordonnĂ©e verticale de l'arrĂȘt dans le rĂ©fĂ©rentiel de projection de l'espace de donnĂ©es
  * Longitude : longitude de l'arrĂȘt dans le rĂ©fĂ©rentiel WGS84
 -* Latitude : latitude de l'arrĂȘt dans le rĂ©fĂ©rentiel WGS84
 +* latitude : latitude de l'arrĂȘt dans le rĂ©fĂ©rentiel WGS84
 diff --git a/app/views/help/stopsmanagement.textile b/app/views/help/stopsmanagement.textile index f4022dec8..40b170d4f 100644 --- a/app/views/help/stopsmanagement.textile +++ b/app/views/help/stopsmanagement.textile @@ -5,15 +5,15 @@ title: Modification des arrĂȘts d'une ligne  h3. Nouvel arrĂȘt ou modification d'arrĂȘt existant 
 -Avec le temps, un ou plusieurs arrĂȘts sont susceptibles de changer au sein d'une mĂȘme ligne. Il est conseillĂ© de faire la distinction entre les nouveaux arrĂȘts et les arrĂȘts modifiĂ©s. Si un arrĂȘt est retirĂ© d'une ligne et remplacĂ© par un autre arrĂȘt, il est conseillĂ© de crĂ©er un nouvel arrĂȘt correspondant et de faire la substitution dans la ligne. Il serait certes plus rapide de simplement changer le nom et la gĂ©olocalisation de l'arrĂȘt dĂ©sormais obsolĂšte, mais la modification sera plus difficile Ă  suivre et Ă  comprendre. Il est Ă©galement possible que cet arrĂȘt resserve ultĂ©rieurement ou bien encore qu'il apparaisse dans d'autres bases de donnĂ©es exploitĂ©es par d'autres systĂšmes. Une simple modification de nom gĂ©nĂ©rerait alors une ambiguĂŻtĂ© et des problĂšmes potentiels d'exploitations de ces donnĂ©es.
 +Avec le temps, un ou plusieurs arrĂȘts sont susceptibles de changer au sein d'une mĂȘme ligne. Il est conseillĂ© de faire la distinction entre les nouveaux arrĂȘts et les arrĂȘts modifiĂ©s. Si un arrĂȘt est retirĂ© d'une ligne et remplacĂ© par un autre arrĂȘt, il est conseillĂ© de crĂ©er un nouvel arrĂȘt correspondant et de faire la substitution dans la ligne. Il serait certes plus rapide de simplement changer le nom et la gĂ©olocalisation de l'arrĂȘt dĂ©sormais obsolĂšte, mais la modification sera plus difficile Ă  suivre et Ă  comprendre. Il est Ă©galement possible que cet arrĂȘt resserve ultĂ©rieurement ou bien encore qu'il apparaisse dans d'autres bases de donnĂ©es exploitĂ©es par d'autres systĂšmes. Une simple modification de nom gĂ©nĂ©rerait alors de lâambiguĂŻtĂ© et des problĂšmes potentiels d'exploitations de ces donnĂ©es.
  Dans le cas oĂč il s'agit bien du mĂȘme arrĂȘt mais qui change soit de nom, soit de localisation, la modification est effectivement la marche Ă  suivre. Il est conseillĂ© de noter ces modifications en commentaire. En effet, il n'est pas rare qu'un mĂȘme arrĂȘt partagĂ© par plusieurs rĂ©seaux possĂšde plusieurs noms commerciaux et qu'un changement de nom ne soit pas connu de tous les partenaires transports. Annoter les modifications dans CHOUETTE facilitera la levĂ©e des ambiguĂŻtĂ©s. 
  h3. Vérifier la cohérence des données de géolocalisation
 -Les erreurs les plus frĂ©quentes sont les erreurs de gĂ©olocalisation. DĂšs lors qu'un arrĂȘt fait partie d'une ligne, des vĂ©rifications automatiques seront menĂ©es, notamment pour vĂ©rifier que l'arrĂȘt est effectivement gĂ©olocalisĂ© et qu'il n'y a pas de distance aberrante entre deux arrĂȘts. Une vĂ©rification visuelle permet Ă©galement de vĂ©rifier la cohĂ©rence des donnĂ©es :
 +L'une des erreurs les plus frĂ©quentes sont les erreurs de gĂ©olocalisation. DĂšs lors qu'un arrĂȘt fait partie d'une ligne, des vĂ©rifications automatiques seront menĂ©es, notamment pour vĂ©rifier que l'arrĂȘt est effectivement gĂ©olocalisĂ© et qu'il n'y a pas de distance aberrante entre deux arrĂȘts. Une vĂ©rification visuelle permet Ă©galement de vĂ©rifier la cohĂ©rence des donnĂ©es :
  * L'arrĂȘt est-il bien placĂ© sur une voirie sur le fond cartographique ?
  * Les arrĂȘts sont-ils bien placĂ©s sur la bonne commune ?
 -* La sĂ©quence d'arrĂȘts visible depuis l'interface des lignes dessine-t-elle un trajet cohĂ©rent ? 
 +* La sĂ©quence d'arrĂȘt visible depuis l'interface des lignes dessine-t-elle un trajet cohĂ©rent ? 
 diff --git a/app/views/help/temporaryline.textile b/app/views/help/temporaryline.textile index d14de7033..6b71a0748 100644 --- a/app/views/help/temporaryline.textile +++ b/app/views/help/temporaryline.textile @@ -1,6 +1,6 @@  ---
  layout: default
 -title: Itinéraires valables le temps d'une saison
 +title: Itinéraire valables le temps d'une saison
  ---
  h3. Nouvelle ligne ou nouvelle sĂ©quence d'arrĂȘts
 @@ -10,11 +10,11 @@ Certains rĂ©seaux mettent parfois en Ćuvre des lignes spĂ©cifiques Ă  un Ă©vĂ©n  * Il s'agit d'une ligne Ă  part entiĂšre disposant de son propre nom
  * Il s'agit d'un service rattachĂ© Ă  une ligne commerciale existante, mĂȘme si l'itinĂ©raire est diffĂ©rent.
 -Le traitement de cette nouvelle ligne se fera en accord avec le type de cas rencontrĂ©. Dans le premier cas, une nouvelle ligne devra ĂȘtre créée avec des calendriers adaptĂ©s. Ce faisant, il faudra anticiper l'emploi de la base de donnĂ©e dans les systĂšmes situĂ©s en aval de CHOUETTE. S'il s'agit par exemple d'un site internet, une nouvelle ligne, dotĂ©e d'identifiants Neptune spĂ©cifiques nĂ©cessitera une prise en compte dans le site internet avec probablement un macaron spĂ©cifique. 
 +Le traitement de cette nouvelle ligne se fera en accord avec le type de cas rencontrĂ©. Dans le premier cas, une nouvelle ligne devra ĂȘtre créée avec des calendriers adaptĂ©s. Ce faisant, il faudra anticiper l'emploi de la base de donnĂ©e dans les systĂšmes situĂ©s en aval de CHOUETTE. S'il s'agit par exemple d'un site internet, une nouvelle ligne, dotĂ©e d'identifiants neptune spĂ©cifique nĂ©cessitera une prise en compte dans le site internet avec probablement un macaron spĂ©cifique. 
 -Dans le second cas, la dĂ©finition d'une sĂ©quence d'arrĂȘts spĂ©cifique permettra de traiter le cas particulier au sein d'une mĂȘme ligne, mĂȘme si les itinĂ©raires sont trĂšs diffĂ©rents des trajets commerciaux. CrĂ©er une sĂ©quence d'arrĂȘts spĂ©cifique est prĂ©fĂ©rable Ă  la crĂ©ation d'une nouvelle ligne qui porterait un suffixe "Ă©tĂ©" par exemple, car les identifiants de la ligne seront les mĂȘmes et l'intĂ©gration de ce nouveau parcours au sein de la ligne dans les systĂšmes exploitant la base de donnĂ©es se fera plus facilement.
 +Dans le second cas, la dĂ©finition d'une sĂ©quence d'arrĂȘts spĂ©cifique permettra de traiter le cas particulier au sein d'une mĂȘme ligne, mĂȘme si les itinĂ©raires sont trĂšs diffĂ©rents des trajets commerciaux. CrĂ©er une sĂ©quence d'arrĂȘt spĂ©cifique est prĂ©fĂ©rable Ă  la crĂ©ation d'une nouvelle ligne qui porterait un suffixe "Ă©tĂ©" par exemple car les identifiants de la ligne seront les mĂȘmes et l'intĂ©gration de ce nouveau parcours au sein de la ligne dans les systĂšmes exploitant la base de donnĂ©es se fera plus facilement.
 -L'avantage de pouvoir dĂ©finir autant de sĂ©quences d'arrĂȘts que nĂ©cessaire est de pouvoir traiter tous les cas spĂ©cifiques sans alourdir les donnĂ©es du cas standard. 
 +L'avantage de pouvoir dĂ©finir autant de sĂ©quences d'arrĂȘts que nĂ©cessaire, est de pouvoir traiter tous les cas spĂ©cifiques sans alourdir les donnĂ©es du cas standard. 
  h3. Création de calendriers spécifiques
 diff --git a/app/views/help/terms.textile b/app/views/help/terms.textile index 06192c084..97151a94e 100644 --- a/app/views/help/terms.textile +++ b/app/views/help/terms.textile @@ -6,7 +6,7 @@ title: Glossaire  * ArrĂȘt : Il existe diffĂ©rentes catĂ©gories d'arrĂȘts qui permettent de dĂ©crire le rĂ©seau. Ils s'organisent hiĂ©rarchiquement.
  * ArrĂȘt Physique : Il s'agit d'une catĂ©gorie qui regroupe les points d'arrĂȘt et les quais. Les _"arrĂȘts physiques"_ ne sont pas un type d'arrĂȘt paramĂ©trable dans CHOUETTE. Un arrĂȘt physique est un lieu gĂ©ographique rĂ©el.
  * Point d'arrĂȘt : Les points sont des arrĂȘts physiques sur la voirie ou au sein d'une gare routiĂšre, classiquement signalĂ©s par un poteau.
 -* Quai : Les quais sont des arrĂȘts physiques de transports ferrĂ©s ou en site propre. 
 +* Quai : Les quais sont des arrĂȘts physiques de transports ferrĂ©s. 
  * ArrĂȘt commercial : Un arrĂȘt commercial est un regroupement d'arrĂȘts physiques (au moins un) desservant une mĂȘme zone. Il est dĂ©fini par un nom d'arrĂȘt comme par exemple, "Mairie" ou bien encore "Gare routiĂšre".
  * PĂŽle d'Ă©change : Un pĂŽle d'Ă©change est un regroupement de un ou plusieurs arrĂȘts commerciaux. Un pĂŽle d'Ă©change peut aussi contenir un autre pĂŽle d'Ă©change.
  * AccĂšs : Type d'accĂšs physique (escalier, ascenseur, escalator) d'un arrĂȘt.
 @@ -20,12 +20,12 @@ title: Glossaire  * Indice : Nom raccourci d'un élément. Le numéro d'une ligne par exemple.
  * Réseau : Identité d'un service de transport public.
  * Transporteur : Service d'exploitation de véhicules de transport public au sein d'un réseau ou pour une ligne. 
 -* Calendrier : ensemble de dates associées à une course qui permet de déterminer les jours de fonctionnement des différentes courses. 
 -* GTFS : Format de données Google Transit. Il s'agit d'un format simple composé d'une série de fichiers CSV
 -* Neptune : Format d'échange de données transport XML normalisé (NFP 99-506)
 -* CSV : Type de fichier oĂč l'information est enregistrĂ©e de façon simple, en utilisant des sĂ©parateurs pour distinguer les diffĂ©rentes information. Les fichiers CSV s'Ă©ditent avec un tableur.
 -* Netex : Nouveau format européen d'échange de données transport XML normalisé.
 -* HUB : Format d'échange Transdev composer d'un ensemble de fichiers au format txt mais dont les données sont organisées comme dans un fichier csv. 
 +* Calendrier : ensemble de dates associé à une course qui permet de déterminer les jours de fonctionnement des différentes courses. 
 +* GTFS : Format de données de Google. Il s'agit d'un format simple composé d'une série de fichiers csv
 +* Neptune : Format européen d'échange de données transport xml normalisé
 +* CSV : Type de fichier oĂč l'information est enregistrĂ©e de façon simple, en utilisant des sĂ©parateurs pour distinguer les diffĂ©rentes information. Les fichiers csv s'Ă©ditent avec un tableur.
 +* Netex : Nouveau format européen d'échange de données transport xml normalisé.
 +* HUB : Format d'échange Transdev composer d'un ensemble de fichier au format txt mais dont les données sont organisées comme dans un fichier csv. 
  * Transport à la demande : Dans CHOUETTE, ligne réguliÚre dont les services ne sont déclenchés que sur réservation des utilisateurs. 
 diff --git a/app/views/help/time_tables.textile b/app/views/help/time_tables.textile index a8bff2a6f..783e51f5e 100644 --- a/app/views/help/time_tables.textile +++ b/app/views/help/time_tables.textile @@ -41,7 +41,7 @@ h3. Attributs  * Ătiquettes : Marqueurs caractĂ©risant le calendrier (pour simplifier la recherche). Afin d'ĂȘtre enregistrĂ©es, les Ă©tiquettes doivent ĂȘtre saisies sĂ©parĂ©es par une ',' (virgule) et la touche 'tab' permet d'activer la derniĂšre. Un assistant propose les Ă©tiquettes dĂ©jĂ  saisies sur d'autres calendriers.  * PĂ©riodes d'application : pĂ©riodes calendaires durant lesquelles le calendrier est applicable  * Jours d'application : jours de la semaine effectivement applicables dans le cas oĂč des pĂ©riodes sont dĂ©finies dans le calendrier -* Dates particuliĂšres : dates spĂ©cifiques pour lesquelles le calendrier est applicable ; ces dates peuvent ĂȘtre ajoutĂ©es dans ou en dehors des pĂ©riodes calendaires. Un calendrier peut n'avoir que des dates calendaires, auquel cas les jours d'application n'ont pas de signification. +* Dates particuliĂšres : dates spĂ©cifiques pour lesquelles le calendrier est applicable ; ces dates peuvent ĂȘtre ajoutĂ©es dans ou en dehors des pĂ©riodes calendaires. Un calendrier peut n'avoir que des dates calendaires, auquel cas les jours d'applications n'ont pas de signification.  * Dates exclues : dates spĂ©cifiques Ă  retirer des dates dĂ©finies par les pĂ©riodes et les jours d'application ; une mĂȘme date calendaire ne peut pas ĂȘtre Ă  la fois particuliĂšre et exclue;  une date exclue hors pĂ©riodes et jours d'application n'a aucun effet. diff --git a/app/views/help/toc.textile b/app/views/help/toc.textile index f6cb389e4..ad0c30657 100644 --- a/app/views/help/toc.textile +++ b/app/views/help/toc.textile @@ -28,12 +28,12 @@ h3. Sommaire  ## "Missions":journey_patterns
  ## "Courses et horaires":vehicle_journeys
  ## "Correspondances":connection_links
 -## "Calendriers":time_tables
 +## "Calendrier":time_tables
  # Imports
  ## "Imports":imports
  ## "Formats d'import":import_formats
  # Exports
 -## "Formats d'export normalisé":export_format
 +## "Formats d'export":export_format
  ## "Export de données":exports
  # Validations
  ## "ParamĂštres de validation":parametersets
 @@ -41,7 +41,6 @@ h3. Sommaire  # Annexes
  ## "Créer un réseau à partir de zéro":startingfromscratch
  ## "Modification des arrĂȘts d'une ligne":stopsmanagement
 -## "Itinéraires valables le temps d'une saison":temporaryline
 +## "Itinéraire valables le temps d'une saison":temporaryline
  ## "Contraintes de l'export HUB":hubexport
 -## "Format CSV chouette":csv
  ## "Glossaire":terms
 diff --git a/app/views/help/validations.textile b/app/views/help/validations.textile index 1513ed0e0..c2927cdbf 100644 --- a/app/views/help/validations.textile +++ b/app/views/help/validations.textile @@ -22,7 +22,7 @@ p. Les tests (« points de contrÎle ») de validation Neptune sont décrits sur  h3(#fmt). Formats disponibles  -- Neptune := format normalisé des échanges de données de transport en commun pour la France +- 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(#val). Onglet VALIDATIONS @@ -35,7 +35,7 @@ p=. !validation.png!  p. Dans la partie droite de l'écran : -* Ajouter une Validation +* ajouter une Validation  * Jeu de paramÚtres  h3(#new). Ajouter une Validation @@ -47,7 +47,7 @@ p. A chaque objet Import est associé un objet Validation, mais l'inverse est fa  h3(#res). Consultation des résultats : détail de l'objet Validation -p. La validation est lancée en différé; son état d'avancement est affiché sous la forme d'une icÎne dont la couleur dépend de l'état: +p. La validation est lancée en différé; son état d'avancement est affiché sous la forme d'une icÎne donc la couleur dépend de l'état:  * bleu : en cours  * vert : terminé correctement @@ -97,13 +97,11 @@ Une bulle d'information s'affiche en sélectionnant une icÎne bleue !notice.png  p(border_image). !validation_bulle.png! -p. La spécification du test s'affiche par le lien sur le code. +p. La spécification du test s'affiche par le lien sur le code   p. 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 base qui est 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! - -p. Un bouton à droite permet d'exporter l'ensemble du rapport de validation au format CSV pour usage externe. +p(border_image). !validation_location.png!
\ No newline at end of file diff --git a/app/views/help/vehicle_journeys.textile b/app/views/help/vehicle_journeys.textile index ec8aef8cf..289e2f553 100644 --- a/app/views/help/vehicle_journeys.textile +++ b/app/views/help/vehicle_journeys.textile @@ -28,7 +28,7 @@ Un bouton _"sĂ©quence d'arrĂȘts"_ est positionnĂ© au-dessus de la liste des arrĂ  h4. Consulter le dĂ©tail d'une course
 -Dans le tableau des courses, le lien en en-tĂȘte de colonne permet de sĂ©lectionner une autre sĂ©quence d'arrĂȘt de la ligne ce qui permet de passer d'une sĂ©quence Ă  l'autre directement sans avoir besoin de revenir Ă  la page de la sĂ©quence d'arrĂȘts. Cela permet par exemple d'accĂ©der directement Ă  la sĂ©quence d'arrĂȘts retour.
 +Dans le tableau des courses, le lien en en-tĂȘte de colonne permet de sĂ©lectionner une autre sĂ©quence d'arrĂȘt de la ligne ce qui permet de passer d'une sĂ©quence Ă  l'autre directement sans avoir besoin de revenir Ă  la page de la sĂ©quence d'arrĂȘt. Cela permet par exemple d'accĂ©der directement Ă  la sĂ©quence d'arrĂȘt retour.
  L'en-tĂȘte de chaque course propose un bouton qui permet d'accĂ©der Ă  des fonctions relative Ă  la course :
 @@ -91,13 +91,13 @@ Saisie d'horaire dans un tableur.  L'export fournit un fichier .zip comprenant le fichier des horaires et les calendriers.
 -L'import, en retour, ne concerne que le fichier .csv proprement dit. Importer un fichier .zip identique au fichier exporté générera une erreur. 
 +L'import en retour ne concerne que le fichier .csv proprement dit. Importer un fichier .zip identique au fichier exporté, génÚrera une erreur. 
  h4. Cloner une course
 -Depuis la page d'une course, il est possible de cloner la course en cliquant dans le menu latĂ©ral sur _"Cloner la course"_. Une boite de dialogue s'affiche et permet de choisir les paramĂštres de clonage. Le clonage n'est pas une duplication Ă  l'identique. Il ne permet pas de crĂ©er une deuxiĂšme course en tout point identique mais de crĂ©er une course ayant les mĂȘmes paramĂštres, les mĂȘmes temps de trajet inter-arrĂȘts, *mais Ă  un horaire diffĂ©rent*, comme le fait la fonction de dĂ©calage prĂ©sente au-dessus des horaires de la course.
 +Depuis la page d'une course, il est possible de cloner la course en cliquant dans le menu latĂ©ral sur _"Cloner la course"_. Une boite de dialogue s'affiche et permet de choisir les paramĂštres de clonage. Le clonage n'est pas une duplication Ă  l'identique. Il ne permet pas de crĂ©er une deuxiĂšme course en tout point identique mais de crĂ©er une course ayant les mĂȘmes paramĂštres, les mĂȘmes temps de trajet inter-arrĂȘts mais Ă  un horaire diffĂ©rent comme le fait la fonction de dĂ©calage prĂ©sente au-dessus des horaires de la course.
 -Contrairement au décalage qui modifie les horaires de la course existante, le clonage crée une nouvelle course avec des horaires différents. Le premier paramÚtre permet de choisir si on clone la nouvelle course en fonction de l'horaire de départ ou de l'horaire d'arrivée, puis de choisir l'horaire exact de clonage.
 +Contrairement au décalage qui modifie les horaires de la course existante, le clonage crée une nouvelle course avec des horaires différents. Le premier paramÚtre permet de choisir si on clone la nouvelle course en fonction de l'horaire de départ ou de l'horaire d'arrivée puis de choisir l'horaire exact de clonage.
  Deux autres paramĂštres facultatifs permettent de rĂ©pĂ©ter l'opĂ©ration "en rafale" sur des bases rĂ©guliĂšres en dĂ©finissant lâintervalle entre deux courses et le nombre de copies Ă  effectuer selon cette modalitĂ©.
 @@ -115,8 +115,6 @@ h3. Attributs  * Mode de transport : mode de transport pour la course; par défaut, c'est le mode de transport de la ligne qui est appliqué
  * Accessibilité PMR	: précise si la course est équipée PMR
  * Transport à la demande : précise si la course est en exploitation à la demande ou pas
 -* Ătat de trafic : Ă©tat de trafic
 -* Ăquipement : Ă©quipement
  * Type d'identifiant du véhicule : type d'identifiant du véhicule
 diff --git a/config/deploy/production.rb b/config/deploy/production.rb index c24f29894..f1c464c48 100644 --- a/config/deploy/production.rb +++ b/config/deploy/production.rb @@ -1,3 +1,3 @@  server "chouette.marseille.cityway.fr", :app, :web, :db, :primary => true -set :branch, "V2_5" -set :gui_cmd, "2.5.1" +set :branch, "V3_0" +set :gui_cmd, "3.0.0" diff --git a/config/deploy/staging.rb b/config/deploy/staging.rb index e8f79cac6..d43d2a307 100644 --- a/config/deploy/staging.rb +++ b/config/deploy/staging.rb @@ -3,5 +3,5 @@ set :deploy_via, :copy  set :copy_cache, true  set :copy_via, :scp  set :copy_exclude, ".git/*" -set :branch, "V2_5" -set :gui_cmd, "2.5.1"
\ No newline at end of file +set :branch, "V3_0" +set :gui_cmd, "3.0.0" diff --git a/config/environments/production.rb b/config/environments/production.rb index 892be33da..07604fb82 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -26,10 +26,10 @@ Rails.application.configure do    config.assets.css_compressor = :sass    # Do not fallback to assets pipeline if a precompiled asset is missed. -  config.assets.compile = false +  config.assets.compile = true    # Generate digests for assets URLs. -  config.assets.digest = false +  config.assets.digest = true    # Must add sub uri for assets. Same as config.action_controller.relative_url_root    # config.assets.prefix = "/chouette2" diff --git a/db/migrate/20150703141935_remove_uniqueness_for_registration_number.ninoxe_engine.rb b/db/migrate/20150703141935_remove_uniqueness_for_registration_number.ninoxe_engine.rb new file mode 100644 index 000000000..a9e6d6d84 --- /dev/null +++ b/db/migrate/20150703141935_remove_uniqueness_for_registration_number.ninoxe_engine.rb @@ -0,0 +1,23 @@ +# This migration comes from ninoxe_engine (originally 20150630135517) +class RemoveUniquenessForRegistrationNumber < ActiveRecord::Migration +  def up +    remove_index "lines", name: "lines_registration_number_key" if index_exists?(:lines, :registration_number, name: "lines_registration_number_key") +    add_index "lines", ["registration_number"], :name => "lines_registration_number_key" + +    remove_index "companies", name: "companies_registration_number_key" if index_exists?(:companies, :registration_number, name: "companies_registration_number_key") +    add_index "companies", ["registration_number"], :name => "companies_registration_number_key" + +    remove_index "networks", name: "networks_registration_number_key" if index_exists?(:networks, :registration_number, name: "networks_registration_number_key") +    add_index "networks", ["registration_number"], :name => "networks_registration_number_key" +  end +  def down +    remove_index "lines", name: "lines_registration_number_key" if index_exists?(:lines, :registration_number, name: "lines_registration_number_key") +    add_index "lines", ["registration_number"], :name => "lines_registration_number_key", :unique => true + +    remove_index "companies", name: "companies_registration_number_key" if index_exists?(:companies, :registration_number, name: "companies_registration_number_key") +    add_index "companies", ["registration_number"], :name => "companies_registration_number_key", :unique => true + +    remove_index "networks", name: "networks_registration_number_key" if index_exists?(:networks, :registration_number, name: "networks_registration_number_key") +    add_index "networks", ["registration_number"], :name => "networks_registration_number_key", :unique => true +  end +end diff --git a/lib/tasks/demo.rake b/lib/tasks/demo.rake index d78637c96..fbafa96c1 100644 --- a/lib/tasks/demo.rake +++ b/lib/tasks/demo.rake @@ -13,10 +13,27 @@ namespace :demo do      user.confirm!      referential = organisation.referentials.create( :name => "Tatrobus", :slug => "tatrobus", :prefix => "TAT") -    resource = Rack::Test::UploadedFile.new( Rails.application.config.demo_data, 'application/zip', false) -    import_instance = referential.import_tasks.create( :resources => resource, :referential_id => referential.id, :user_name => user.name, :no_save => false, :user_id => user.id) -    import_instance.import +    #resource = Rack::Test::UploadedFile.new( Rails.application.config.demo_data, 'application/zip', false) +    #import_instance = ImportTask.new( :resources => resource, :referential_id => referential.id, :user_name => user.name, :no_save => false, :user_id => user.id, :name => "initialize demo", :data_format => "neptune") +    #import_instance.save +	  +	 File.open("/tmp/parameters_demo.json", "w")  { |file|  +	                                           file.write('{ +"parameters" :  { +    "neptune-import": { +        "user_name" : "Demo", +        "name" : "Data restauration", +        "organisation_name" : "DemoChouette", +        "referential_name" : "Tatrobus", +        "clean_repository" : true, +        "no_save" : false +        } +	 } +}') } +	  +	 cmd = 'curl -F "file=@'+Rails.application.config.demo_data+';filename=tatrobus.zip" -F "file=@/tmp/parameters_demo.json;filename=parameters.json" http://localhost:8180/chouette_iev/referentials/tatrobus/importer/neptune' +	 system(cmd) +	       puts "Restore demo environment complete"    end  end - diff --git a/public/help/2015-07-23_152040.png b/public/help/2015-07-23_152040.pngBinary files differ new file mode 100644 index 000000000..5cf9bcfd8 --- /dev/null +++ b/public/help/2015-07-23_152040.png diff --git a/public/help/2015-07-23_152615.png b/public/help/2015-07-23_152615.pngBinary files differ new file mode 100644 index 000000000..5bd4e3d25 --- /dev/null +++ b/public/help/2015-07-23_152615.png diff --git a/public/help/2015-07-23_162747.png b/public/help/2015-07-23_162747.pngBinary files differ new file mode 100644 index 000000000..cf0653243 --- /dev/null +++ b/public/help/2015-07-23_162747.png diff --git a/public/help/2015-07-23_162942.png b/public/help/2015-07-23_162942.pngBinary files differ new file mode 100644 index 000000000..6933dc80b --- /dev/null +++ b/public/help/2015-07-23_162942.png diff --git a/public/help/2015-07-23_165033.png b/public/help/2015-07-23_165033.pngBinary files differ new file mode 100644 index 000000000..c354235d1 --- /dev/null +++ b/public/help/2015-07-23_165033.png diff --git a/public/help/2015-07-23_165157.png b/public/help/2015-07-23_165157.pngBinary files differ new file mode 100644 index 000000000..20187f077 --- /dev/null +++ b/public/help/2015-07-23_165157.png diff --git a/public/help/2015-07-23_165644.png b/public/help/2015-07-23_165644.pngBinary files differ new file mode 100644 index 000000000..c62d01b7a --- /dev/null +++ b/public/help/2015-07-23_165644.png diff --git a/public/help/import_file_result.png b/public/help/import_file_result.pngBinary files differ index a98cef26d..a673f1a5e 100644 --- a/public/help/import_file_result.png +++ b/public/help/import_file_result.png diff --git a/public/help/import_line_detail.png b/public/help/import_line_detail.pngBinary files differ index 6adad13c8..f14294d9f 100644 --- a/public/help/import_line_detail.png +++ b/public/help/import_line_detail.png diff --git a/public/help/import_line_result.png b/public/help/import_line_result.pngBinary files differ index 5b178f0b2..d6e3b9a49 100644 --- a/public/help/import_line_result.png +++ b/public/help/import_line_result.png diff --git a/public/help/import_result.png b/public/help/import_result.pngBinary files differ index 1a399c95d..4703f2327 100644 --- a/public/help/import_result.png +++ b/public/help/import_result.png diff --git a/spec/models/export_task_spec.rb b/spec/models/export_task_spec.rb new file mode 100644 index 000000000..1a52a6175 --- /dev/null +++ b/spec/models/export_task_spec.rb @@ -0,0 +1,8 @@ +require 'spec_helper' + +describe ExportTask, :type => :model do + +  it { should_not validate_presence_of(:start_date) } +  it { should_not validate_presence_of(:end_date) } + +end diff --git a/spec/models/gtfs_export_spec.rb b/spec/models/gtfs_export_spec.rb index a5e5d0335..6051497a7 100644 --- a/spec/models/gtfs_export_spec.rb +++ b/spec/models/gtfs_export_spec.rb @@ -1,10 +1,33 @@ -# require 'spec_helper' +require 'spec_helper' -# describe GtfsExport, :type => :model do +describe GtfsExport, :type => :model do -#   describe '#export_options' do -#     subject { super().export_options } -#     it { is_expected.to include(:format => :gtfs) } -#   end -   -# end +  describe "#time_zone" do + +    context "when exported data are not StopAreas" do + +      before do +        subject.references_type = "network" +      end + +      it "should be mandatory" do +        subject.should validate_presence_of(:time_zone) +      end + +    end + +    context "when export data are StopArea" do + +      before do +        subject.references_type = "stop_area" +      end + +      it "should be mandatory" do +        subject.should_not validate_presence_of(:time_zone) +      end + +    end + +  end + +end | 
