<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://doc4-fr.openflyers.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lelhidam</id>
	<title>Documentation de la solution web de gestion OpenFlyers - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://doc4-fr.openflyers.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lelhidam"/>
	<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/Special:Contributions/Lelhidam"/>
	<updated>2026-06-01T03:54:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=14441</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Structure-de-la-base-de-donn%C3%A9es&amp;diff=14441"/>
		<updated>2026-04-28T15:34:38Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Schéma de la structure de la base de données=&lt;br /&gt;
*[[Media:OpenFlyers_database_schema.png|Lien vers schéma fichier .png]]&lt;br /&gt;
&lt;br /&gt;
=Structure=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
create table account&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    creation_date    date                          null,&lt;br /&gt;
    name             text                          null,&lt;br /&gt;
    export_account   varchar(255)                  null,&lt;br /&gt;
    activated        tinyint unsigned    default 1 not null,&lt;br /&gt;
    category         tinyint unsigned    default 0 null,&lt;br /&gt;
    account_type     tinyint unsigned    default 0 null,&lt;br /&gt;
    owner_id         int unsigned        default 0 not null,&lt;br /&gt;
    payment_allowed  tinyint(1)          default 0 null,&lt;br /&gt;
    budget_id        int unsigned                  null,&lt;br /&gt;
    order_num        int                           null,&lt;br /&gt;
    accounting_id    int unsigned                  null,&lt;br /&gt;
    deactivated_date datetime                      null,&lt;br /&gt;
    group_sales      tinyint(1)          default 0 not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of account';&lt;br /&gt;
&lt;br /&gt;
create index idx_owner_id&lt;br /&gt;
    on account (owner_id);&lt;br /&gt;
&lt;br /&gt;
create table account_entry&lt;br /&gt;
(&lt;br /&gt;
    id                    int auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    flow_id               int                          null,&lt;br /&gt;
    account_date          datetime                     null,&lt;br /&gt;
    account_id            int                          null,&lt;br /&gt;
    credit                decimal(15, 5) default 0.00000 not null,&lt;br /&gt;
    debit                 decimal(15, 5) default 0.00000 not null,&lt;br /&gt;
    payment_type          int unsigned                 null,&lt;br /&gt;
    payment_description   text                         null,&lt;br /&gt;
    person_delivery_id    int unsigned                 null,&lt;br /&gt;
    comments              text                         null,&lt;br /&gt;
    validated             int            default 0     null,&lt;br /&gt;
    exported              int            default 0     null,&lt;br /&gt;
    registration_date     datetime                     null,&lt;br /&gt;
    budget_id             int unsigned                 null,&lt;br /&gt;
    product_id            int unsigned                 null,&lt;br /&gt;
    signature             varchar(56)                  null,&lt;br /&gt;
    signature_date        bigint unsigned              null,&lt;br /&gt;
    lettering             int                          null,&lt;br /&gt;
    lettering_date        datetime                     null,&lt;br /&gt;
    flow_reversal_id      int unsigned                 null,&lt;br /&gt;
    transaction_id        text                         null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of account entries';&lt;br /&gt;
&lt;br /&gt;
create table account_link&lt;br /&gt;
(&lt;br /&gt;
    account_id        int unsigned default 0 not null,&lt;br /&gt;
    linked_account_id int unsigned default 0 not null,&lt;br /&gt;
    primary key (account_id, linked_account_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table account_type&lt;br /&gt;
(&lt;br /&gt;
    id                     int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                   varchar(255)                  null,&lt;br /&gt;
    category               tinyint unsigned    default 0 null,&lt;br /&gt;
    activated              tinyint(1)          default 1 null,&lt;br /&gt;
    order_num              int                           null,&lt;br /&gt;
    accounting_id          int unsigned                  null,&lt;br /&gt;
    export_account_pattern varchar(255)                  null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table account_type_profile&lt;br /&gt;
(&lt;br /&gt;
    account_type_id int unsigned    not null,&lt;br /&gt;
    profile_id      bigint unsigned not null,&lt;br /&gt;
    primary key (account_type_id, profile_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'linked account type field and profile';&lt;br /&gt;
&lt;br /&gt;
create table accounting&lt;br /&gt;
(&lt;br /&gt;
    id                int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name              varchar(255)           null,&lt;br /&gt;
    unit_name         varchar(255)           null,&lt;br /&gt;
    symbol            varchar(255)           null,&lt;br /&gt;
    format            tinyint unsigned       null,&lt;br /&gt;
    decimal_precision int unsigned default 2 null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table accounting_profile&lt;br /&gt;
(&lt;br /&gt;
    accounting_id int unsigned    not null,&lt;br /&gt;
    profile_id    bigint unsigned not null,&lt;br /&gt;
    primary key (accounting_id, profile_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table activity_type&lt;br /&gt;
(&lt;br /&gt;
    id                                 bigint unsigned not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                               varchar(255)             null,&lt;br /&gt;
    order_num                          int                      null,&lt;br /&gt;
    activated                          tinyint(1)      default 1 not null,&lt;br /&gt;
    color                              int unsigned             null,&lt;br /&gt;
    training                           tinyint(1)      default 0 not null,&lt;br /&gt;
    previous_activity_type_id          bigint unsigned          null,&lt;br /&gt;
    previous_activity_default_duration int unsigned             null,&lt;br /&gt;
    next_activity_type_id              bigint unsigned          null,&lt;br /&gt;
    next_activity_default_duration     int unsigned             null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of flight type';&lt;br /&gt;
&lt;br /&gt;
create table aircraft&lt;br /&gt;
(&lt;br /&gt;
    id                         int unsigned default 0 not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    ref_date                   datetime               null,&lt;br /&gt;
    ref_hours                  int                    null,&lt;br /&gt;
    ref_engine_hours           int                    null,&lt;br /&gt;
    inspection_date            datetime               null,&lt;br /&gt;
    inspection_time            int                    null,&lt;br /&gt;
    inspection_engine_time     int                    null,&lt;br /&gt;
    tolerance_time             int unsigned default 6000 null,&lt;br /&gt;
    last_counter               int                    null,&lt;br /&gt;
    interval_visit_calendar    varchar(255) default '50 h' null,&lt;br /&gt;
    interval_visit_time        varchar(255) default '50 h' null,&lt;br /&gt;
    interval_visit_engine_time varchar(255) default '50 h' null,&lt;br /&gt;
    time_alert1                int          default 6000 null,&lt;br /&gt;
    time_alert2                int          default 0 null,&lt;br /&gt;
    time_alert3                int          default -3000 null,&lt;br /&gt;
    engine_time_alert1         int          default 6000 null,&lt;br /&gt;
    engine_time_alert2         int          default 0 null,&lt;br /&gt;
    engine_time_alert3         int          default 0 null,&lt;br /&gt;
    day_alert1                 smallint     default 15 null,&lt;br /&gt;
    day_alert2                 smallint     default 0 null,&lt;br /&gt;
    day_alert3                 smallint     default -8 null&lt;br /&gt;
)&lt;br /&gt;
    comment 'all aircrafts of all airclubs';&lt;br /&gt;
&lt;br /&gt;
create table aircraft_maintenance_alert&lt;br /&gt;
(&lt;br /&gt;
    id             int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    aircraft_id    int unsigned          not null,&lt;br /&gt;
    alert_category tinyint unsigned      not null,&lt;br /&gt;
    alert_level    tinyint unsigned      not null,&lt;br /&gt;
    is_enabled     tinyint unsigned default 0 not null,&lt;br /&gt;
    is_sent        tinyint unsigned default 0 not null,&lt;br /&gt;
    unique (aircraft_id, alert_category, alert_level)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table aircraft_type&lt;br /&gt;
(&lt;br /&gt;
    id                      int unsigned                 not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    flight_time_formula     varchar(255) default '%duration' null,&lt;br /&gt;
    counter_state           tinyint      default -1      not null,&lt;br /&gt;
    tolerance               int          default 0       null,&lt;br /&gt;
    autonomy                int          default 5990    null,&lt;br /&gt;
    true_air_speed          int unsigned default 0       not null,&lt;br /&gt;
    digit_counter_number    tinyint unsigned default 4   not null,&lt;br /&gt;
    engine_duration_formula varchar(255)                 null&lt;br /&gt;
)&lt;br /&gt;
    comment 'types of aircraft';&lt;br /&gt;
&lt;br /&gt;
create table aircraft_type_allowed_status&lt;br /&gt;
(&lt;br /&gt;
    aircraft_type_id int unsigned not null,&lt;br /&gt;
    place_num        int unsigned null,&lt;br /&gt;
    status_id        int unsigned not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of allowed functions for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
create table aircraft_type_mandatory_flight_type&lt;br /&gt;
(&lt;br /&gt;
    aircraft_type_id int unsigned    not null,&lt;br /&gt;
    activity_type_id bigint unsigned not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of compulsory flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
create table aircraft_type_uncomp_flight_type&lt;br /&gt;
(&lt;br /&gt;
    aircraft_type_id int unsigned    not null,&lt;br /&gt;
    activity_type_id bigint unsigned not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of uncompatible flight type for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
create table aircraft_type_validity_type&lt;br /&gt;
(&lt;br /&gt;
    aircraft_type_id int unsigned          not null,&lt;br /&gt;
    validity_type_id int unsigned          not null,&lt;br /&gt;
    check_num        int unsigned default 0 not null,&lt;br /&gt;
    primary key (aircraft_type_id, validity_type_id, check_num)&lt;br /&gt;
)&lt;br /&gt;
    comment 'types of qualif required for each aircraft type';&lt;br /&gt;
&lt;br /&gt;
create table allocation_rule&lt;br /&gt;
(&lt;br /&gt;
    id         int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    title      varchar(255)         not null,&lt;br /&gt;
    account_id int                  not null,&lt;br /&gt;
    keyword    varchar(255)         null,&lt;br /&gt;
    order_num  int                  not null,&lt;br /&gt;
    amount     tinyint(1)           not null,&lt;br /&gt;
    mandatory  tinyint(1) default 0 not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table balance&lt;br /&gt;
(&lt;br /&gt;
    account_id      int unsigned                   not null,&lt;br /&gt;
    balance_date_id int unsigned                   not null,&lt;br /&gt;
    debit           decimal(15, 5) default 0.00000 not null,&lt;br /&gt;
    credit          decimal(15, 5) default 0.00000 not null,&lt;br /&gt;
    primary key (account_id, balance_date_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table balance_date&lt;br /&gt;
(&lt;br /&gt;
    id           int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    balance_date datetime null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table booking&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    booking_group_id int unsigned null,&lt;br /&gt;
    start_date       datetime     null,&lt;br /&gt;
    end_date         datetime     null&lt;br /&gt;
)&lt;br /&gt;
    comment 'records all the slots of all aircrafts of all airclubs';&lt;br /&gt;
&lt;br /&gt;
create table booking_account_entry&lt;br /&gt;
(&lt;br /&gt;
    booking_id            int unsigned default 0 not null,&lt;br /&gt;
    account_entry_flow_id int unsigned default 0 not null,&lt;br /&gt;
    primary key (booking_id, account_entry_flow_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table booking_activity_type&lt;br /&gt;
(&lt;br /&gt;
    booking_id       int unsigned    not null,&lt;br /&gt;
    activity_type_id bigint unsigned not null,&lt;br /&gt;
    primary key (booking_id, activity_type_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table booking_person&lt;br /&gt;
(&lt;br /&gt;
    booking_id int unsigned not null,&lt;br /&gt;
    person_id  int unsigned not null,&lt;br /&gt;
    place_num  int unsigned null,&lt;br /&gt;
    status_id  int unsigned null,&lt;br /&gt;
    primary key (booking_id, person_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table booking_resource&lt;br /&gt;
(&lt;br /&gt;
    booking_id  int unsigned default 0 not null,&lt;br /&gt;
    resource_id int unsigned default 0 not null,&lt;br /&gt;
    primary key (booking_id, resource_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table booking_training_program&lt;br /&gt;
(&lt;br /&gt;
    booking_group_id    int unsigned not null,&lt;br /&gt;
    training_program_id int unsigned not null,&lt;br /&gt;
    primary key (booking_group_id, training_program_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table budget&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    group_id    int unsigned not null,&lt;br /&gt;
    name        varchar(255) null,&lt;br /&gt;
    order_num   int          null,&lt;br /&gt;
    export_code varchar(255) null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table budget_group&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name      varchar(255) null,&lt;br /&gt;
    order_num int          null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table business_field&lt;br /&gt;
(&lt;br /&gt;
    id                       int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    variable                 varchar(255)          null,&lt;br /&gt;
    label                    varchar(255)          not null,&lt;br /&gt;
    value_type               varchar(40)           not null,&lt;br /&gt;
    category                 varchar(255)          not null,&lt;br /&gt;
    order_num                int                   not null,&lt;br /&gt;
    dsn                      varchar(20) default 'customer' null,&lt;br /&gt;
    compulsory_fill          tinyint(1)  default 0 null,&lt;br /&gt;
    linked_category          varchar(255)          null,&lt;br /&gt;
    linked_business_field_id int unsigned          null,&lt;br /&gt;
    linked_field_name        varchar(255)          null,&lt;br /&gt;
    max_display              int         default -1 null,&lt;br /&gt;
    formula                  text                  null,&lt;br /&gt;
    default_value            text                  null,&lt;br /&gt;
    placeholder              text                  null,&lt;br /&gt;
    access_level_required    tinyint     default 0 not null,&lt;br /&gt;
    user_access_mode         tinyint(1)  default 0 not null,&lt;br /&gt;
    unique (variable)&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of extra form field';&lt;br /&gt;
&lt;br /&gt;
create table business_field_content&lt;br /&gt;
(&lt;br /&gt;
    category_id       int unsigned           not null,&lt;br /&gt;
    business_field_id int unsigned default 0 not null,&lt;br /&gt;
    person_id         int unsigned default 0 not null,&lt;br /&gt;
    content           text                   null,&lt;br /&gt;
    placeholder       text                   null,&lt;br /&gt;
    primary key (category_id, business_field_id, person_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'content of extra form field';&lt;br /&gt;
&lt;br /&gt;
create table business_field_group&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label     varchar(255) null,&lt;br /&gt;
    order_num int          null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table criteria&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label     varchar(255)                   not null,&lt;br /&gt;
    predicate text                           not null,&lt;br /&gt;
    order_num int                            null,&lt;br /&gt;
    dsn       varchar(20) default 'customer' null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table criteria_profile&lt;br /&gt;
(&lt;br /&gt;
    criteria_id int unsigned    not null,&lt;br /&gt;
    profile_id  bigint unsigned not null,&lt;br /&gt;
    primary key (criteria_id, profile_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table customer_bill_entry&lt;br /&gt;
(&lt;br /&gt;
    id                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    flow_id               int unsigned                   null,&lt;br /&gt;
    account_entry_id      int unsigned                   null,&lt;br /&gt;
    account_entry_flow_id int unsigned                   null,&lt;br /&gt;
    owner_category        int unsigned                   null,&lt;br /&gt;
    owner_id              int unsigned                   null,&lt;br /&gt;
    customer_bill_id      int unsigned                   null,&lt;br /&gt;
    product_id            int unsigned                   null,&lt;br /&gt;
    qty                   decimal(15, 5) default 0.00000 null,&lt;br /&gt;
    unit_price            decimal(15, 5) default 0.00000 null,&lt;br /&gt;
    debit                 decimal(15, 5) default 0.00000 null,&lt;br /&gt;
    credit                decimal(15, 5) default 0.00000 null,&lt;br /&gt;
    bill_date             datetime                       null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_flow_id&lt;br /&gt;
    on customer_bill_entry (account_entry_flow_id);&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_id&lt;br /&gt;
    on customer_bill_entry (account_entry_id);&lt;br /&gt;
&lt;br /&gt;
create table customer_bill_file&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    file_type varchar(255) null,&lt;br /&gt;
    content   longblob     null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table customer_receipt_entry&lt;br /&gt;
(&lt;br /&gt;
    id                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    flow_id               int unsigned                   null,&lt;br /&gt;
    account_entry_id      int unsigned                   null,&lt;br /&gt;
    account_entry_flow_id int unsigned                   null,&lt;br /&gt;
    owner_category        int unsigned                   null,&lt;br /&gt;
    owner_id              int unsigned                   null,&lt;br /&gt;
    payment_type_id       int unsigned                   null,&lt;br /&gt;
    customer_receipt_id   int unsigned                   null,&lt;br /&gt;
    debit                 decimal(15, 5) default 0.00000 null,&lt;br /&gt;
    credit                decimal(15, 5) default 0.00000 null,&lt;br /&gt;
    receipt_date          datetime                       null,&lt;br /&gt;
    owner_email           varchar(255)                   null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_flow_id&lt;br /&gt;
    on customer_receipt_entry (account_entry_flow_id);&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_id&lt;br /&gt;
    on customer_receipt_entry (account_entry_id);&lt;br /&gt;
&lt;br /&gt;
create table customer_receipt_file&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    file_type varchar(255) null,&lt;br /&gt;
    content   longblob     null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table data_retention&lt;br /&gt;
(&lt;br /&gt;
    id                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    data_processing_title varchar(45)           not null,&lt;br /&gt;
    legal_basis_category  int unsigned default 0 not null,&lt;br /&gt;
    data_retention_period int unsigned          not null,&lt;br /&gt;
    controller_person_id  int unsigned          null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table default_display&lt;br /&gt;
(&lt;br /&gt;
    person_id     int unsigned            not null,&lt;br /&gt;
    display_key   varchar(255) default '' not null,&lt;br /&gt;
    display_value text                    null,&lt;br /&gt;
    primary key (person_id, display_key)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table default_multi_display&lt;br /&gt;
(&lt;br /&gt;
    resource_type char(30)     not null,&lt;br /&gt;
    person_id     int unsigned not null,&lt;br /&gt;
    resource_id   varchar(100) not null,&lt;br /&gt;
    display_value text         null,&lt;br /&gt;
    primary key (resource_type, person_id, resource_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table email_sent&lt;br /&gt;
(&lt;br /&gt;
    id          bigint unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    message_id  varchar(150)     not null,&lt;br /&gt;
    sender      varchar(255)     not null,&lt;br /&gt;
    title       varchar(255)     not null,&lt;br /&gt;
    category    tinyint unsigned not null,&lt;br /&gt;
    category_id int unsigned     not null,&lt;br /&gt;
    unique (message_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table email_sent_recipient&lt;br /&gt;
(&lt;br /&gt;
    id                   bigint unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    email_sent_id        bigint unsigned  not null,&lt;br /&gt;
    person_id            int unsigned     not null,&lt;br /&gt;
    email                varchar(255)     null,&lt;br /&gt;
    recipient_type       tinyint unsigned null,&lt;br /&gt;
    smtp_status_category varchar(30)      null,&lt;br /&gt;
    email_status         tinyint unsigned null,&lt;br /&gt;
    update_date          datetime         not null,&lt;br /&gt;
    smtp_additional_detail text             null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index email_sent_id_idx&lt;br /&gt;
    on email_sent_recipient (email_sent_id);&lt;br /&gt;
&lt;br /&gt;
create table exceptionnal_inst_date&lt;br /&gt;
(&lt;br /&gt;
    id         int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    person_id  int unsigned        not null,&lt;br /&gt;
    start_date datetime            null,&lt;br /&gt;
    end_date   datetime            null,&lt;br /&gt;
    presence   tinyint unsigned    null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table extra_field_profile&lt;br /&gt;
(&lt;br /&gt;
    business_field_id                  int unsigned    not null,&lt;br /&gt;
    booking_popup_display_4_profile_id bigint unsigned not null,&lt;br /&gt;
    primary key (business_field_id, booking_popup_display_4_profile_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table facebook&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    category    int unsigned not null,&lt;br /&gt;
    owner_id    int unsigned not null,&lt;br /&gt;
    small       blob         null,&lt;br /&gt;
    original    mediumblob   not null,&lt;br /&gt;
    label       text         null,&lt;br /&gt;
    description text         null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table favorite_icao&lt;br /&gt;
(&lt;br /&gt;
    icao varchar(6) default '' not null&lt;br /&gt;
        primary key&lt;br /&gt;
)&lt;br /&gt;
    comment 'favorite airfield list';&lt;br /&gt;
&lt;br /&gt;
create table favorite_report&lt;br /&gt;
(&lt;br /&gt;
    report_id int unsigned not null&lt;br /&gt;
        primary key&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table favorite_report_business_field&lt;br /&gt;
(&lt;br /&gt;
    report_id         int unsigned not null,&lt;br /&gt;
    business_field_id int unsigned not null,&lt;br /&gt;
    default_value     text         null,&lt;br /&gt;
    primary key (report_id, business_field_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table favorite_report_profile&lt;br /&gt;
(&lt;br /&gt;
    report_id  int unsigned              not null,&lt;br /&gt;
    profile_id bigint unsigned default 0 not null,&lt;br /&gt;
    primary key (report_id, profile_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table fhp_aircraft_type&lt;br /&gt;
(&lt;br /&gt;
    fhp_id           int default 0 not null,&lt;br /&gt;
    aircraft_type_id int default 0 not null,&lt;br /&gt;
    primary key (fhp_id, aircraft_type_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'flight hour pricing aircraft type list';&lt;br /&gt;
&lt;br /&gt;
create table fhp_flight_type&lt;br /&gt;
(&lt;br /&gt;
    fhp_id           int                 default 0 not null,&lt;br /&gt;
    activity_type_id bigint unsigned     default 0 not null,&lt;br /&gt;
    excluded         tinyint unsigned    default 0 null,&lt;br /&gt;
    primary key (fhp_id, activity_type_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'flight hour pricing flight type list';&lt;br /&gt;
&lt;br /&gt;
create table fhp_profile&lt;br /&gt;
(&lt;br /&gt;
    fhp_id     int unsigned               not null,&lt;br /&gt;
    profile_id bigint unsigned default 0  not null,&lt;br /&gt;
    place_num  tinyint unsigned default 0 not null,&lt;br /&gt;
    primary key (fhp_id, profile_id, place_num)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table file&lt;br /&gt;
(&lt;br /&gt;
    id            int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name          varchar(255)        null,&lt;br /&gt;
    content       longblob            null,&lt;br /&gt;
    file_type     varchar(255)        null,&lt;br /&gt;
    category      tinyint unsigned    null,&lt;br /&gt;
    owner_id      int                 null,&lt;br /&gt;
    file_group_id int                 null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table file_group&lt;br /&gt;
(&lt;br /&gt;
    id    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label varchar(255) null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table flight&lt;br /&gt;
(&lt;br /&gt;
    id                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    aircraft_id           int unsigned               null,&lt;br /&gt;
    start_date            datetime                   null,&lt;br /&gt;
    duration              int                        null,&lt;br /&gt;
    activity_type_id      bigint unsigned            null,&lt;br /&gt;
    people_onboard        int unsigned               null,&lt;br /&gt;
    departure_location_id int unsigned               null,&lt;br /&gt;
    arrival_location_id   int unsigned               null,&lt;br /&gt;
    counter_departure     int unsigned               null,&lt;br /&gt;
    counter_arrival       int unsigned               null,&lt;br /&gt;
    landing_number        int                        null,&lt;br /&gt;
    airborne              tinyint unsigned           null,&lt;br /&gt;
    validated             tinyint unsigned default 0 null,&lt;br /&gt;
    departure_icao_id     varchar(6)                 null,&lt;br /&gt;
    arrival_icao_id       varchar(6)                 null,&lt;br /&gt;
    engine_duration       int                        null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of flight';&lt;br /&gt;
&lt;br /&gt;
create table flight_account_entry&lt;br /&gt;
(&lt;br /&gt;
    flight_id        int unsigned default 0 not null,&lt;br /&gt;
    account_entry_id int unsigned default 0 not null,&lt;br /&gt;
    primary key (flight_id, account_entry_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'flight account entry join';&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_id&lt;br /&gt;
    on flight_account_entry (account_entry_id);&lt;br /&gt;
&lt;br /&gt;
create table flight_hours_pricing&lt;br /&gt;
(&lt;br /&gt;
    id                 int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name               text                          null,&lt;br /&gt;
    price_formula      text                          null,&lt;br /&gt;
    left_account_id    int unsigned                  null,&lt;br /&gt;
    right_account_id   int unsigned                  null,&lt;br /&gt;
    left_account_type  tinyint unsigned    default 0 null,&lt;br /&gt;
    right_account_type tinyint unsigned    default 0 null,&lt;br /&gt;
    credit_budget_id   int unsigned                  null,&lt;br /&gt;
    debit_budget_id    int unsigned                  null,&lt;br /&gt;
    order_num          int                           null,&lt;br /&gt;
    product_id         int unsigned                  null,&lt;br /&gt;
    sale_trigger_id    int unsigned        default 0 null,&lt;br /&gt;
    query              text                          null,&lt;br /&gt;
    variable_formula   varchar(255)                  null,&lt;br /&gt;
    business_field_id  int unsigned                  null,&lt;br /&gt;
    debit_bill_num     int unsigned                  null,&lt;br /&gt;
    credit_bill_num    int unsigned                  null,&lt;br /&gt;
    qty_formula        text                          null,&lt;br /&gt;
    unit_price_formula text                          null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of flight hours pricing formula';&lt;br /&gt;
&lt;br /&gt;
create table flight_pilot&lt;br /&gt;
(&lt;br /&gt;
    flight_id int unsigned           not null,&lt;br /&gt;
    pilot_id  int unsigned           not null,&lt;br /&gt;
    status_id int unsigned           null,&lt;br /&gt;
    num       int unsigned default 0 not null,&lt;br /&gt;
    primary key (flight_id, pilot_id, num)&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of crew for each flight';&lt;br /&gt;
&lt;br /&gt;
create table flight_tank_qty&lt;br /&gt;
(&lt;br /&gt;
    id           int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    flight_id    int unsigned                not null,&lt;br /&gt;
    tank_id      int unsigned                not null,&lt;br /&gt;
    quantity     varchar(255) default '0.00' not null,&lt;br /&gt;
    after_flight tinyint(1)   default 0      not null,&lt;br /&gt;
    account_id   int unsigned                null,&lt;br /&gt;
    pay_type     tinyint unsigned            null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table flight_track&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    flight_id int                     not null,&lt;br /&gt;
    track     mediumblob              not null,&lt;br /&gt;
    file_type varchar(255) default 'kml' null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table flight_type_mandatory_validity_type&lt;br /&gt;
(&lt;br /&gt;
    activity_type_id bigint unsigned           not null,&lt;br /&gt;
    validity_type_id int unsigned    default 0 not null,&lt;br /&gt;
    primary key (activity_type_id, validity_type_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of mandatory qualification for each flight type';&lt;br /&gt;
&lt;br /&gt;
create table import&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label               varchar(255)                          not null,&lt;br /&gt;
    order_num           int                                   null,&lt;br /&gt;
    import_file_type    varchar(255) default 'csv-comma-CRLF' not null,&lt;br /&gt;
    match_query         text                                  null,&lt;br /&gt;
    uptodate_test_query text                                  null,&lt;br /&gt;
    update_query        text                                  null,&lt;br /&gt;
    update_activated    tinyint(1)   default 0                not null,&lt;br /&gt;
    login               varchar(255)                          null,&lt;br /&gt;
    hash_password       varchar(255)                          null,&lt;br /&gt;
    sync_task_name      varchar(255)                          null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table ip_stopped&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    ip          varchar(255)        not null,&lt;br /&gt;
    counter     tinyint unsigned    not null,&lt;br /&gt;
    expire_date datetime            not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'blacklisted ip';&lt;br /&gt;
&lt;br /&gt;
create table journal&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    login     varchar(255)           null,&lt;br /&gt;
    date_log  datetime               null,&lt;br /&gt;
    rights    text                   null,&lt;br /&gt;
    rights2   text                   null,&lt;br /&gt;
    action    varchar(255)           null,&lt;br /&gt;
    person_id int unsigned default 0 null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of logs';&lt;br /&gt;
&lt;br /&gt;
create index idx_action&lt;br /&gt;
    on journal (action);&lt;br /&gt;
&lt;br /&gt;
create index idx_date_log&lt;br /&gt;
    on journal (date_log);&lt;br /&gt;
&lt;br /&gt;
create table key_alert&lt;br /&gt;
(&lt;br /&gt;
    id         int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    alert_date datetime               null,&lt;br /&gt;
    status     int unsigned default 0 not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'key alerts';&lt;br /&gt;
&lt;br /&gt;
create table key_assignment&lt;br /&gt;
(&lt;br /&gt;
    key_id      tinyint unsigned    default 0 not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    key_name    tinytext                      null,&lt;br /&gt;
    aircraft_id int unsigned        default 0 null,&lt;br /&gt;
    key_state   tinyint unsigned    default 0 null,&lt;br /&gt;
    key_word    bigint unsigned     default 0 null&lt;br /&gt;
)&lt;br /&gt;
    comment 'key assignment description';&lt;br /&gt;
&lt;br /&gt;
create table key_host&lt;br /&gt;
(&lt;br /&gt;
    id       tinyint auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    timeout  tinyint             default 10          not null,&lt;br /&gt;
    num_key  tinyint unsigned    default 8           not null,&lt;br /&gt;
    ipkey    varchar(50)         default '127.0.0.1' not null,&lt;br /&gt;
    httpport int                 default 4080        not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'key host configuration';&lt;br /&gt;
&lt;br /&gt;
create table key_log&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    log_date  datetime     null,&lt;br /&gt;
    action    varchar(255) null,&lt;br /&gt;
    message   varchar(255) null,&lt;br /&gt;
    key_id    int unsigned null,&lt;br /&gt;
    person_id int unsigned null,&lt;br /&gt;
    xmlrpc    int unsigned null,&lt;br /&gt;
    error     varchar(255) null&lt;br /&gt;
)&lt;br /&gt;
    comment 'key logs';&lt;br /&gt;
&lt;br /&gt;
create table location&lt;br /&gt;
(&lt;br /&gt;
    icao_name       varchar(6)       not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    name            varchar(64)      not null,&lt;br /&gt;
    latitude        double           null,&lt;br /&gt;
    longitude       double           null,&lt;br /&gt;
    altitude        int              null,&lt;br /&gt;
    weather_station int unsigned     null,&lt;br /&gt;
    asked_counter   bigint default 0 not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'airfields coord';&lt;br /&gt;
&lt;br /&gt;
create table log&lt;br /&gt;
(&lt;br /&gt;
    journal_id  int unsigned not null,&lt;br /&gt;
    action      varchar(255) null,&lt;br /&gt;
    table_name  varchar(255) null,&lt;br /&gt;
    field_name  varchar(255) null,&lt;br /&gt;
    field_value varchar(255) null&lt;br /&gt;
)&lt;br /&gt;
    comment 'part of logs';&lt;br /&gt;
&lt;br /&gt;
create index idx_field_value&lt;br /&gt;
    on log (field_value);&lt;br /&gt;
&lt;br /&gt;
create index idx_journal_id&lt;br /&gt;
    on log (journal_id);&lt;br /&gt;
&lt;br /&gt;
create index journal_id&lt;br /&gt;
    on log (journal_id);&lt;br /&gt;
&lt;br /&gt;
create table logger&lt;br /&gt;
(&lt;br /&gt;
    id            int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    serial_number int unsigned                      null,&lt;br /&gt;
    color         varchar(20)         default 'red' not null,&lt;br /&gt;
    activated     tinyint unsigned    default 1     not null,&lt;br /&gt;
    order_num     int unsigned                      not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'logger parameters';&lt;br /&gt;
&lt;br /&gt;
create table login_stopped&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    login       varchar(255)     not null,&lt;br /&gt;
    counter     tinyint unsigned not null,&lt;br /&gt;
    expire_date datetime         not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'blacklisted login';&lt;br /&gt;
&lt;br /&gt;
create table m_component&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    parent_id           int unsigned        default 0 not null,&lt;br /&gt;
    m_component_type_id int unsigned                  null,&lt;br /&gt;
    resource_id         int unsigned                  null,&lt;br /&gt;
    order_num           int                           not null,&lt;br /&gt;
    serial_number       varchar(255)                  null,&lt;br /&gt;
    brandnew_date       datetime                      null,&lt;br /&gt;
    activated           tinyint unsigned    default 1 not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table m_component_type&lt;br /&gt;
(&lt;br /&gt;
    id                     int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    parent_id              int unsigned        default 0 not null,&lt;br /&gt;
    resource_type_id       int                           null,&lt;br /&gt;
    m_classification_id    int                           null,&lt;br /&gt;
    is_maintenance_check   tinyint unsigned    default 1 not null,&lt;br /&gt;
    order_num              int                           not null,&lt;br /&gt;
    label                  varchar(255)                  null,&lt;br /&gt;
    description            varchar(255)                  null,&lt;br /&gt;
    manufacturer           varchar(255)                  null,&lt;br /&gt;
    manufacturer_reference varchar(255)                  null,&lt;br /&gt;
    part_number            varchar(255)                  null,&lt;br /&gt;
    periodicity            int unsigned                  null,&lt;br /&gt;
    tolerance              int unsigned        default 0 not null,&lt;br /&gt;
    calendar_periodicity   int unsigned                  null,&lt;br /&gt;
    calendar_tolerance     int unsigned        default 0 not null,&lt;br /&gt;
    activated              tinyint unsigned    default 1 not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table m_component_type_parentality&lt;br /&gt;
(&lt;br /&gt;
    m_component_type_id        int unsigned not null,&lt;br /&gt;
    m_component_type_parent_id int unsigned not null,&lt;br /&gt;
    primary key (m_component_type_id, m_component_type_parent_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table m_history&lt;br /&gt;
(&lt;br /&gt;
    id                     int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    m_component_id         int unsigned                  not null,&lt;br /&gt;
    install_date           datetime                      null,&lt;br /&gt;
    remove_date            datetime                      null,&lt;br /&gt;
    total_hours_on_install int unsigned        default 0 not null,&lt;br /&gt;
    threshold_hours        int unsigned        default 0 not null,&lt;br /&gt;
    threshold_date         datetime                      null,&lt;br /&gt;
    threshold_date_locked  tinyint unsigned    default 0 not null,&lt;br /&gt;
    threshold_hours_locked tinyint unsigned    default 0 not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table m_operation&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    content             text         not null,&lt;br /&gt;
    m_component_type_id int          null,&lt;br /&gt;
    order_num           int          not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table maintenance_history&lt;br /&gt;
(&lt;br /&gt;
    id                                   int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    resource_id                          int unsigned                  null,&lt;br /&gt;
    maintenance_program_id               int unsigned                  null,&lt;br /&gt;
    frame_hours_at_work_start            int                           null,&lt;br /&gt;
    date_work_end                        date                          null,&lt;br /&gt;
    min_overhaul_counter                 int                           null,&lt;br /&gt;
    max_overhaul_counter                 int                           null,&lt;br /&gt;
    min_overhaul_date                    date                          null,&lt;br /&gt;
    max_overhaul_date                    date                          null,&lt;br /&gt;
    min_next_overhaul_counter            int                           null,&lt;br /&gt;
    max_next_overhaul_counter            int                           null,&lt;br /&gt;
    min_next_overhaul_date               date                          null,&lt;br /&gt;
    max_next_overhaul_date               date                          null,&lt;br /&gt;
    first_reference_visit                tinyint unsigned default 0    not null,&lt;br /&gt;
    is_visit                             tinyint unsigned default 0    not null,&lt;br /&gt;
    action_type                          tinyint unsigned              null,&lt;br /&gt;
    previous_line_linked_time_action     int                           null,&lt;br /&gt;
    previous_line_linked_calendar_action int                           null,&lt;br /&gt;
    next_line_linked_time_action         int                           null,&lt;br /&gt;
    next_line_linked_calendar_action     int                           null,&lt;br /&gt;
    time_tolerance                       int                           null,&lt;br /&gt;
    calendar_tolerance                   int                           null,&lt;br /&gt;
    time_periodicity_component           int                           null,&lt;br /&gt;
    calendar_periodicity_component       int                           null,&lt;br /&gt;
    time_periodicity                     int                           null,&lt;br /&gt;
    calendar_periodicity                 int                           null,&lt;br /&gt;
    reference_overhaul_counter           int                           null,&lt;br /&gt;
    reference_overhaul_date              date                          null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table maintenance_program&lt;br /&gt;
(&lt;br /&gt;
    id                                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    resource_id                           int unsigned                  null,&lt;br /&gt;
    component_type_id                     int unsigned                  null,&lt;br /&gt;
    description                           varchar(255)                  null,&lt;br /&gt;
    time_periodicity                      int                           null,&lt;br /&gt;
    calendar_periodicity                  int                           null,&lt;br /&gt;
    time_first_reference                  int                           null,&lt;br /&gt;
    calendar_first_reference              date                          null,&lt;br /&gt;
    time_tolerance                        int                           null,&lt;br /&gt;
    calendar_tolerance                    int                           null,&lt;br /&gt;
    frame_hours_at_work_start             int                           null,&lt;br /&gt;
    date_work_end                         date                          null,&lt;br /&gt;
    time_elapsed                          int                           null,&lt;br /&gt;
    calendar_elapsed                      int                           null,&lt;br /&gt;
    time_remaining                        int                           null,&lt;br /&gt;
    calendar_remaining                    int                           null,&lt;br /&gt;
    min_next_overhaul_counter             int                           null,&lt;br /&gt;
    max_next_overhaul_counter             int                           null,&lt;br /&gt;
    min_next_overhaul_date                date                          null,&lt;br /&gt;
    max_next_overhaul_date                date                          null,&lt;br /&gt;
    effective_hours_at_work_start         int                           null,&lt;br /&gt;
    theoretical_overhaul_counter          int                           null,&lt;br /&gt;
    intelligent_overhaul_counter          int                           null,&lt;br /&gt;
    intelligent_min_next_overhaul_counter int                           null,&lt;br /&gt;
    intelligent_max_next_overhaul_counter int                           null,&lt;br /&gt;
    effective_date_at_work_end            date                          null,&lt;br /&gt;
    theoretical_overhaul_date             date                          null,&lt;br /&gt;
    intelligent_overhaul_date             date                          null,&lt;br /&gt;
    intelligent_min_next_overhaul_date    date                          null,&lt;br /&gt;
    intelligent_max_next_overhaul_date    date                          null,&lt;br /&gt;
    overlapping_group_id                  int unsigned                  null,&lt;br /&gt;
    is_visit_rg                           tinyint unsigned default 0    not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table maintenance_view&lt;br /&gt;
(&lt;br /&gt;
    id                                                int unsigned default 0 not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    frame_total_time                                  int                    null,&lt;br /&gt;
    frame_time_since_rg                               int                    null,&lt;br /&gt;
    engine_time_since_rg                              int                    null,&lt;br /&gt;
    propeller_time_since_rg                           int                    null,&lt;br /&gt;
    potential_remaining_next_time_action              int                    null,&lt;br /&gt;
    potential_remaining_next_time_visit               int                    null,&lt;br /&gt;
    potential_remaining_next_priority_time_action     int                    null,&lt;br /&gt;
    potential_remaining_next_calendar_action          int                    null,&lt;br /&gt;
    potential_remaining_next_calendar_visit           int                    null,&lt;br /&gt;
    potential_remaining_next_priority_calendar_action int                    null,&lt;br /&gt;
    next_time_action_id                               int unsigned           null,&lt;br /&gt;
    next_time_visit_id                                int unsigned           null,&lt;br /&gt;
    next_priority_time_action_id                      int unsigned           null,&lt;br /&gt;
    next_calendar_action_id                           int unsigned           null,&lt;br /&gt;
    next_calendar_visit_id                            int unsigned           null,&lt;br /&gt;
    next_priority_calendar_action_id                  int unsigned           null,&lt;br /&gt;
    overhaul_counter_action                           int                    null,&lt;br /&gt;
    overhaul_counter_visit                            int                    null,&lt;br /&gt;
    overhaul_date_action                              date                   null,&lt;br /&gt;
    overhaul_date_visit                               date                   null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table map_logger_monitoring&lt;br /&gt;
(&lt;br /&gt;
    record_id  int unsigned not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    count_data int unsigned not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'link between flight and track';&lt;br /&gt;
&lt;br /&gt;
create table map_track&lt;br /&gt;
(&lt;br /&gt;
    id            int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    record_id     int unsigned                  null,&lt;br /&gt;
    start_data    int unsigned                  null,&lt;br /&gt;
    number        int unsigned                  null,&lt;br /&gt;
    start_time    datetime                      null,&lt;br /&gt;
    latitude_max  double                        null,&lt;br /&gt;
    longitude_max double                        null,&lt;br /&gt;
    latitude_min  double                        null,&lt;br /&gt;
    longitude_min double                        null,&lt;br /&gt;
    visible       tinyint unsigned default 1    not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'tracks split from gdr';&lt;br /&gt;
&lt;br /&gt;
create table nationality&lt;br /&gt;
(&lt;br /&gt;
    code  char(2) default '' not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    label varchar(255)       not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table oauth_access_token&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    uid              varchar(255)    not null,&lt;br /&gt;
    expiry_date_time datetime        not null,&lt;br /&gt;
    scopes           varchar(2048)   not null,&lt;br /&gt;
    oauth_client_id  int unsigned    not null,&lt;br /&gt;
    person_id        int unsigned    null,&lt;br /&gt;
    unique (id),&lt;br /&gt;
    unique (uid)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table oauth_auth_code&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    uid              varchar(255)    not null,&lt;br /&gt;
    expiry_date_time datetime        not null,&lt;br /&gt;
    redirect_uri     varchar(2048)   not null,&lt;br /&gt;
    scopes           varchar(2048)   not null,&lt;br /&gt;
    oauth_client_id  int unsigned    not null,&lt;br /&gt;
    person_id        int unsigned    not null,&lt;br /&gt;
    unique (id),&lt;br /&gt;
    unique (uid)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table oauth_client&lt;br /&gt;
(&lt;br /&gt;
    id                       int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    uid                      varchar(255)    not null,&lt;br /&gt;
    hashed_passphrase        varchar(255)    null,&lt;br /&gt;
    name                     text            not null,&lt;br /&gt;
    authorization_grant_type varchar(255)    not null,&lt;br /&gt;
    redirect_uri             varchar(2048)   not null,&lt;br /&gt;
    owner_person_id          int unsigned    not null,&lt;br /&gt;
    auth_cert                text            null,&lt;br /&gt;
    sign_cert                text            null,&lt;br /&gt;
    unique (id),&lt;br /&gt;
    unique (uid)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table oauth_dpop_token&lt;br /&gt;
(&lt;br /&gt;
    id              int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    jti             varchar(255) not null,&lt;br /&gt;
    expiration_date datetime     not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table oauth_refresh_token&lt;br /&gt;
(&lt;br /&gt;
    id                     int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    uid                    varchar(255)    not null,&lt;br /&gt;
    expiry_date_time       datetime        not null,&lt;br /&gt;
    oauth_access_token_uid varchar(255)    not null,&lt;br /&gt;
    scopes                 varchar(2048)   not null,&lt;br /&gt;
    oauth_client_id        int unsigned    not null,&lt;br /&gt;
    person_id              int unsigned    not null,&lt;br /&gt;
    dpop_jkt               varchar(128)    null,&lt;br /&gt;
    unique (id),&lt;br /&gt;
    unique (uid)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table parameter&lt;br /&gt;
(&lt;br /&gt;
    code       varchar(255)                  not null,&lt;br /&gt;
    key_id     int unsigned     default 0    not null,&lt;br /&gt;
    enabled    tinyint unsigned default 0    null,&lt;br /&gt;
    int_value  bigint unsigned  default 0    not null,&lt;br /&gt;
    char_value mediumtext                    null,&lt;br /&gt;
    primary key (code, key_id)&lt;br /&gt;
)&lt;br /&gt;
    comment 'application parameters';&lt;br /&gt;
&lt;br /&gt;
create table payment_summary_file&lt;br /&gt;
(&lt;br /&gt;
    id              int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    file_type       varchar(255)            null,&lt;br /&gt;
    content         longblob                null,&lt;br /&gt;
    record_date     datetime                null,&lt;br /&gt;
    total_entry     int unsigned            null,&lt;br /&gt;
    total_amount    decimal(15, 5) unsigned null,&lt;br /&gt;
    payment_type_id int unsigned            null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table payment_type&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                text                          null,&lt;br /&gt;
    text_field_label    text                          null,&lt;br /&gt;
    only_admin          tinyint unsigned default 0    not null,&lt;br /&gt;
    pos_key_id          int unsigned                  null,&lt;br /&gt;
    treasury_account_id int unsigned                  null,&lt;br /&gt;
    person_delivery     tinyint unsigned default 0    null,&lt;br /&gt;
    person_budget_id    int unsigned                  null,&lt;br /&gt;
    treasury_budget_id  int unsigned                  null,&lt;br /&gt;
    minimum_amount      decimal(10, 0)                null,&lt;br /&gt;
    maximum_amount      decimal(10, 0)                null&lt;br /&gt;
)&lt;br /&gt;
    comment 'type of payment description';&lt;br /&gt;
&lt;br /&gt;
create table person&lt;br /&gt;
(&lt;br /&gt;
    id                     int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                   varchar(255)                                      not null,&lt;br /&gt;
    hash_password          varchar(255)                                      not null,&lt;br /&gt;
    first_name             varchar(255)                                      null,&lt;br /&gt;
    last_name              varchar(255)                                      null,&lt;br /&gt;
    profile                bigint unsigned                                   null,&lt;br /&gt;
    view_type              int unsigned                                      null,&lt;br /&gt;
    view_width             tinyint unsigned    default 12                    not null,&lt;br /&gt;
    view_height            tinyint unsigned    default 30                    not null,&lt;br /&gt;
    email                  varchar(255)                                      null,&lt;br /&gt;
    timezone               varchar(255)                                      null,&lt;br /&gt;
    address                varchar(255)                                      null,&lt;br /&gt;
    zipcode                varchar(255)                                      null,&lt;br /&gt;
    city                   varchar(255)                                      null,&lt;br /&gt;
    state                  varchar(255)                                      null,&lt;br /&gt;
    country                varchar(255)                                      null,&lt;br /&gt;
    home_phone             varchar(255)                                      null,&lt;br /&gt;
    work_phone             varchar(255)                                      null,&lt;br /&gt;
    cell_phone             varchar(255)                                      null,&lt;br /&gt;
    lang                   varchar(255)                                      null,&lt;br /&gt;
    notification           bigint unsigned                                   null,&lt;br /&gt;
    activated              tinyint unsigned    default 1                     null,&lt;br /&gt;
    birthdate              datetime            default '0000-00-00 00:00:00' null,&lt;br /&gt;
    sex                    tinyint unsigned    default 0                     not null,&lt;br /&gt;
    nationality            char(2)                                           null,&lt;br /&gt;
    total_flight_time      int unsigned        default 0                     null,&lt;br /&gt;
    date_total_flight_time datetime                                          null,&lt;br /&gt;
    guid                   varchar(255)                                      null,&lt;br /&gt;
    activity_notification  bigint unsigned                                   null,&lt;br /&gt;
    unique (name)&lt;br /&gt;
)&lt;br /&gt;
    comment 'used for authentication';&lt;br /&gt;
&lt;br /&gt;
create table person_awaiting_activation&lt;br /&gt;
(&lt;br /&gt;
    id              int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    login           varchar(255)        not null,&lt;br /&gt;
    ip              varchar(255)        not null,&lt;br /&gt;
    code            varchar(255)        not null,&lt;br /&gt;
    category        varchar(255)        not null,&lt;br /&gt;
    expiration_date datetime            null,&lt;br /&gt;
    used            tinyint unsigned    null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table product&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label               varchar(255)                  not null,&lt;br /&gt;
    unit                varchar(255)                  not null,&lt;br /&gt;
    free_sale           tinyint(1)          default 0 not null,&lt;br /&gt;
    locked              tinyint unsigned    default 0 null,&lt;br /&gt;
    variable_id         int                           null,&lt;br /&gt;
    sale_type           tinyint unsigned              null,&lt;br /&gt;
    is_external_product tinyint(1)                    null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile&lt;br /&gt;
(&lt;br /&gt;
    id                bigint unsigned not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    name              varchar(255)              null,&lt;br /&gt;
    permits           int unsigned              null,&lt;br /&gt;
    permits2          int unsigned    default 0 not null,&lt;br /&gt;
    permits3          int unsigned    default 0 not null,&lt;br /&gt;
    pictogram         int unsigned              null,&lt;br /&gt;
    default_status_id int unsigned              null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_accounting_notification&lt;br /&gt;
(&lt;br /&gt;
    profile_id    bigint unsigned not null,&lt;br /&gt;
    accounting_id int unsigned    not null,&lt;br /&gt;
    primary key (profile_id, accounting_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_extra_field_join&lt;br /&gt;
(&lt;br /&gt;
    profile_id        bigint unsigned not null,&lt;br /&gt;
    business_field_id int unsigned    not null,&lt;br /&gt;
    primary key (profile_id, business_field_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_profile_view&lt;br /&gt;
(&lt;br /&gt;
    profile_id          bigint unsigned not null,&lt;br /&gt;
    viewable_profile_id bigint unsigned not null,&lt;br /&gt;
    primary key (profile_id, viewable_profile_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_required_account_type&lt;br /&gt;
(&lt;br /&gt;
    profile_id      bigint unsigned not null,&lt;br /&gt;
    account_type_id int unsigned    not null,&lt;br /&gt;
    primary key (profile_id, account_type_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_resource_type_place&lt;br /&gt;
(&lt;br /&gt;
    profile_id       bigint unsigned not null,&lt;br /&gt;
    resource_type_id int unsigned    not null,&lt;br /&gt;
    place_num        int unsigned    not null,&lt;br /&gt;
    primary key (profile_id, resource_type_id, place_num)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_resource_type_view&lt;br /&gt;
(&lt;br /&gt;
    profile_id                bigint unsigned not null,&lt;br /&gt;
    viewable_resource_type_id int unsigned    not null,&lt;br /&gt;
    primary key (profile_id, viewable_resource_type_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_validity_type_join&lt;br /&gt;
(&lt;br /&gt;
    profile_id        bigint unsigned           not null,&lt;br /&gt;
    validity_type_id  int unsigned              not null,&lt;br /&gt;
    manage4oneself    int             default 0 not null,&lt;br /&gt;
    certify           int             default 0 not null,&lt;br /&gt;
    optional_contract tinyint(1)      default 0 not null,&lt;br /&gt;
    primary key (profile_id, validity_type_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table profile_validity_type_notification&lt;br /&gt;
(&lt;br /&gt;
    profile_id       bigint unsigned not null,&lt;br /&gt;
    validity_type_id int unsigned    not null,&lt;br /&gt;
    primary key (profile_id, validity_type_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table psp_return&lt;br /&gt;
(&lt;br /&gt;
    id                 int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    psp_transaction_id int unsigned null,&lt;br /&gt;
    bank_answer        text         null,&lt;br /&gt;
    bank_misc          text         null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table psp_transaction&lt;br /&gt;
(&lt;br /&gt;
    id                int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    credit_account_id int unsigned           not null,&lt;br /&gt;
    debit_account_id  int unsigned           not null,&lt;br /&gt;
    transaction_date  datetime               not null,&lt;br /&gt;
    amount            float                  not null,&lt;br /&gt;
    description       varchar(255)           null,&lt;br /&gt;
    payment_type_id   int unsigned           not null,&lt;br /&gt;
    state             int unsigned default 0 not null,&lt;br /&gt;
    token             text                   null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table psp_transaction_account_entry&lt;br /&gt;
(&lt;br /&gt;
    psp_transaction_id    int unsigned default 0 not null,&lt;br /&gt;
    account_entry_flow_id int unsigned default 0 not null,&lt;br /&gt;
    primary key (psp_transaction_id, account_entry_flow_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table record_changelog&lt;br /&gt;
(&lt;br /&gt;
    id             int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    record_id      int unsigned not null,&lt;br /&gt;
    record_type    varchar(255) null,&lt;br /&gt;
    person_id      int unsigned null,&lt;br /&gt;
    changelog_date datetime     not null,&lt;br /&gt;
    record_state   text         null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table regular_presence_inst_date&lt;br /&gt;
(&lt;br /&gt;
    id         int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    person_id  int unsigned     null,&lt;br /&gt;
    start_day  tinyint unsigned null,&lt;br /&gt;
    end_day    tinyint unsigned null,&lt;br /&gt;
    start_hour time             null,&lt;br /&gt;
    end_hour   time             null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table resource&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name             varchar(255)                  null,&lt;br /&gt;
    resource_type_id int unsigned                  null,&lt;br /&gt;
    comments         varchar(255)                  null,&lt;br /&gt;
    order_num        int                           null,&lt;br /&gt;
    activated        tinyint unsigned    default 1 not null,&lt;br /&gt;
    bookable         int unsigned        default 1 null,&lt;br /&gt;
    physical         int unsigned        default 1 null,&lt;br /&gt;
    color            int unsigned                  null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table resource_exceptional_availability&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    resource_id int unsigned        null,&lt;br /&gt;
    start_date  datetime            null,&lt;br /&gt;
    end_date    datetime            null,&lt;br /&gt;
    presence    tinyint unsigned    null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table resource_regular_availability&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    resource_id int unsigned        null,&lt;br /&gt;
    start_day   tinyint unsigned    null,&lt;br /&gt;
    end_day     tinyint unsigned    null,&lt;br /&gt;
    start_hour  time                null,&lt;br /&gt;
    end_hour    time                null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table resource_type&lt;br /&gt;
(&lt;br /&gt;
    id                   int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                 varchar(255)                   null,&lt;br /&gt;
    category             int unsigned                   null,&lt;br /&gt;
    seats_available      int                 default -1 null,&lt;br /&gt;
    comments             varchar(255)                   null,&lt;br /&gt;
    activated            tinyint unsigned    default 1  not null,&lt;br /&gt;
    max_booking_duration int                 default -1 null,&lt;br /&gt;
    pictogram            int unsigned                   null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table resource_type_place_tag&lt;br /&gt;
(&lt;br /&gt;
    resource_type_id int unsigned        not null,&lt;br /&gt;
    place_num        tinyint unsigned    not null,&lt;br /&gt;
    place_tag        varchar(255)        null,&lt;br /&gt;
    place_quantity   int      default -1 null,&lt;br /&gt;
    primary key (resource_type_id, place_num)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table sale_2_stock&lt;br /&gt;
(&lt;br /&gt;
    id                           int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    product_id                   int unsigned    not null,&lt;br /&gt;
    stock_id                     int unsigned    not null,&lt;br /&gt;
    stock_variation_qty_per_sale float default 0 not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table sale_2_validity_type&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    validity_type_id int unsigned not null,&lt;br /&gt;
    new_formula      varchar(255) null,&lt;br /&gt;
    update_formula   varchar(255) null,&lt;br /&gt;
    product_id       int unsigned not null,&lt;br /&gt;
    unique (validity_type_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index idx_product&lt;br /&gt;
    on sale_2_validity_type (product_id);&lt;br /&gt;
&lt;br /&gt;
create table sale_pricing&lt;br /&gt;
(&lt;br /&gt;
    id                      int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label                   varchar(255)                  null,&lt;br /&gt;
    price_formula           text                          null,&lt;br /&gt;
    debit_account_id        int unsigned                  null,&lt;br /&gt;
    credit_account_id       int unsigned                  null,&lt;br /&gt;
    debit_account_type      tinyint unsigned    default 0 null,&lt;br /&gt;
    credit_account_type     tinyint unsigned    default 0 null,&lt;br /&gt;
    credit_budget_id        int unsigned                  null,&lt;br /&gt;
    debit_budget_id         int unsigned                  null,&lt;br /&gt;
    order_num               int                           null,&lt;br /&gt;
    variable_formula        varchar(255)                  null,&lt;br /&gt;
    debit_bill_num          int unsigned                  null,&lt;br /&gt;
    credit_bill_num         int unsigned                  null,&lt;br /&gt;
    qty_formula             text                          null,&lt;br /&gt;
    unit_price_formula      text                          null,&lt;br /&gt;
    added_product_id        int unsigned                  null,&lt;br /&gt;
    is_for_external_product tinyint(1)          default 1 null,&lt;br /&gt;
    is_for_internal_product tinyint(1)          default 1 null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table sale_pricing_product&lt;br /&gt;
(&lt;br /&gt;
    sale_pricing_id int unsigned default 0 not null,&lt;br /&gt;
    product_id      int unsigned default 0 not null,&lt;br /&gt;
    primary key (sale_pricing_id, product_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table sale_pricing_profile&lt;br /&gt;
(&lt;br /&gt;
    sale_pricing_id int unsigned              not null,&lt;br /&gt;
    profile_id      bigint unsigned default 0 not null,&lt;br /&gt;
    primary key (sale_pricing_id, profile_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table sale_trigger&lt;br /&gt;
(&lt;br /&gt;
    id             int                 default 0 not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    name           varchar(255)                  null,&lt;br /&gt;
    event          varchar(255)                  null,&lt;br /&gt;
    locked         tinyint unsigned    default 0 not null,&lt;br /&gt;
    query          text                          null,&lt;br /&gt;
    validate_entry tinyint(1)          default 0 null,&lt;br /&gt;
    group_sales    tinyint(1)          default 0 null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table spreadsheet_parameter&lt;br /&gt;
(&lt;br /&gt;
    file_number       int          not null,&lt;br /&gt;
    spreadsheet_key   varchar(255) not null,&lt;br /&gt;
    spreadsheet_value varchar(255) not null,&lt;br /&gt;
    file_name         varchar(255) null,&lt;br /&gt;
    google_url        varchar(255) not null,&lt;br /&gt;
    file_type         int unsigned null,&lt;br /&gt;
    primary key (file_number, spreadsheet_key, spreadsheet_value)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table statistic&lt;br /&gt;
(&lt;br /&gt;
    name       varchar(255)                not null,&lt;br /&gt;
    of_version tinyint        default 0    not null,&lt;br /&gt;
    value      decimal(15, 2) default 0.00 null,&lt;br /&gt;
    primary key (name, of_version)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table status&lt;br /&gt;
(&lt;br /&gt;
    id                      int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    abbrev                  varchar(255) null,&lt;br /&gt;
    name                    varchar(255) null,&lt;br /&gt;
    pictogram               int unsigned null,&lt;br /&gt;
    carnet_aero_function_id int unsigned null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of functions for pilot';&lt;br /&gt;
&lt;br /&gt;
create table stock&lt;br /&gt;
(&lt;br /&gt;
    id            int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label         varchar(255) not null,&lt;br /&gt;
    stock_type_id int unsigned not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table stock_level&lt;br /&gt;
(&lt;br /&gt;
    id         int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    stock_id   int unsigned    not null,&lt;br /&gt;
    qty        float default 0 not null,&lt;br /&gt;
    stock_date datetime        null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table stock_type&lt;br /&gt;
(&lt;br /&gt;
    id    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label varchar(255) not null,&lt;br /&gt;
    unit  varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table stock_variation&lt;br /&gt;
(&lt;br /&gt;
    id             int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    stock_id       int unsigned               not null,&lt;br /&gt;
    qty            float             default 0 not null,&lt;br /&gt;
    variation_date datetime                   null,&lt;br /&gt;
    validated      tinyint unsigned  default 0 null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table stock_variation_account_entry&lt;br /&gt;
(&lt;br /&gt;
    product_id            int unsigned default 0 not null,&lt;br /&gt;
    stock_variation_id    int unsigned           not null,&lt;br /&gt;
    account_entry_flow_id int unsigned           not null,&lt;br /&gt;
    person_id             int unsigned           not null,&lt;br /&gt;
    primary key (product_id, stock_variation_id, account_entry_flow_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_flow_id&lt;br /&gt;
    on stock_variation_account_entry (account_entry_flow_id);&lt;br /&gt;
&lt;br /&gt;
create table structure&lt;br /&gt;
(&lt;br /&gt;
    id                            int              default 0 not null&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                          varchar(255)               null,&lt;br /&gt;
    info_cell                     text                       null,&lt;br /&gt;
    logo                          longblob                   null,&lt;br /&gt;
    logo_name                     varchar(255)               null,&lt;br /&gt;
    logo_ext                      varchar(25)                null,&lt;br /&gt;
    logo_size                     int                        null,&lt;br /&gt;
    first_hour_displayed          time                       null,&lt;br /&gt;
    last_hour_displayed           time                       null,&lt;br /&gt;
    usual_profiles                bigint unsigned            null,&lt;br /&gt;
    icao                          varchar(6)                 null,&lt;br /&gt;
    default_slot_range            int unsigned               null,&lt;br /&gt;
    min_slot_range                tinyint unsigned           null,&lt;br /&gt;
    twilight_range                tinyint unsigned           null,&lt;br /&gt;
    mailing_list_name             varchar(255)               null,&lt;br /&gt;
    mailing_list_type             varchar(255)               null,&lt;br /&gt;
    structure_site_url            varchar(255)               null,&lt;br /&gt;
    default_timezone              varchar(255)               not null,&lt;br /&gt;
    lang                          varchar(255)               not null,&lt;br /&gt;
    admin_num                     int unsigned               not null,&lt;br /&gt;
    default_view_type             int unsigned               null,&lt;br /&gt;
    address                       varchar(255)               null,&lt;br /&gt;
    zipcode                       varchar(255)               null,&lt;br /&gt;
    city                          varchar(255)               null,&lt;br /&gt;
    state                         varchar(255)               null,&lt;br /&gt;
    country                       varchar(255)               null,&lt;br /&gt;
    phone                         varchar(255)               null,&lt;br /&gt;
    fax                           varchar(255)               null,&lt;br /&gt;
    email                         varchar(255)               null,&lt;br /&gt;
    default_notification          int unsigned               null,&lt;br /&gt;
    welcome_cell                  text                       null,&lt;br /&gt;
    business                      text                       null,&lt;br /&gt;
    default_activity_notification bigint unsigned            null,&lt;br /&gt;
    siren                         int                        null&lt;br /&gt;
)&lt;br /&gt;
    comment 'description of all airclubs';&lt;br /&gt;
&lt;br /&gt;
create table supplier_bill&lt;br /&gt;
(&lt;br /&gt;
    id                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    supplier_bill_type_id int unsigned         not null,&lt;br /&gt;
    bill_date             datetime             null,&lt;br /&gt;
    description           varchar(255)         null,&lt;br /&gt;
    ordinal               int unsigned         not null,&lt;br /&gt;
    validated             tinyint(1) default 0 null,&lt;br /&gt;
    supplier_bill_file_id int                  null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table supplier_bill_account_entry&lt;br /&gt;
(&lt;br /&gt;
    supplier_bill_id      int unsigned not null,&lt;br /&gt;
    account_entry_flow_id int unsigned not null,&lt;br /&gt;
    primary key (supplier_bill_id, account_entry_flow_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index idx_account_entry_flow_id&lt;br /&gt;
    on supplier_bill_account_entry (account_entry_flow_id);&lt;br /&gt;
&lt;br /&gt;
create table supplier_bill_email_parsed&lt;br /&gt;
(&lt;br /&gt;
    id                    int auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    uid                   int          null,&lt;br /&gt;
    email_address         varchar(255) null,&lt;br /&gt;
    supplier_bill_file_id int unsigned not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table supplier_bill_file&lt;br /&gt;
(&lt;br /&gt;
    id        int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    file_type varchar(255) null,&lt;br /&gt;
    content   longblob     null,&lt;br /&gt;
    name      varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table supplier_bill_type&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    supplier_account_id int unsigned not null,&lt;br /&gt;
    name                varchar(255) null,&lt;br /&gt;
    account_id          int unsigned not null,&lt;br /&gt;
    vat_account_id      int unsigned null,&lt;br /&gt;
    supplier_budget_id  int unsigned null,&lt;br /&gt;
    account_budget_id   int unsigned null,&lt;br /&gt;
    vat_budget_id       int unsigned null,&lt;br /&gt;
    rule                text         null,&lt;br /&gt;
    sender_email        varchar(255) null,&lt;br /&gt;
    subject             varchar(255) null,&lt;br /&gt;
    supplier_name       varchar(255) default null,&lt;br /&gt;
    search_keyword      varchar(255) default null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table table_trigger&lt;br /&gt;
(&lt;br /&gt;
    id              int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    monitored_table varchar(255) not null,&lt;br /&gt;
    trigger_formula varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table tank&lt;br /&gt;
(&lt;br /&gt;
    id                 int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    aircraft_type_id   int unsigned                 not null,&lt;br /&gt;
    tank_type_id       int unsigned                 not null,&lt;br /&gt;
    unit_id            int unsigned                 not null,&lt;br /&gt;
    label              varchar(255)                 not null,&lt;br /&gt;
    max_quantity       decimal(15, 2) default -1.00 not null,&lt;br /&gt;
    unlimited_quantity int unsigned   default 1     null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table track_record&lt;br /&gt;
(&lt;br /&gt;
    id                     int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    in_progress            tinyint unsigned                       null,&lt;br /&gt;
    start_date             datetime default '0000-00-00 00:00:00' null,&lt;br /&gt;
    activated              tinyint unsigned                       null,&lt;br /&gt;
    datechsys_track_id     int unsigned                           null,&lt;br /&gt;
    resource_cat           int unsigned                           not null,&lt;br /&gt;
    resource_id            int unsigned                           not null,&lt;br /&gt;
    additional_information int unsigned                           null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table track_record_data&lt;br /&gt;
(&lt;br /&gt;
    id            int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    record_id     int unsigned        not null,&lt;br /&gt;
    record_date   datetime            null,&lt;br /&gt;
    longitude     double              null,&lt;br /&gt;
    latitude      double              null,&lt;br /&gt;
    altitude      int                 null,&lt;br /&gt;
    speed         double              null,&lt;br /&gt;
    track         int unsigned        null,&lt;br /&gt;
    acc_x         int                 null,&lt;br /&gt;
    acc_y         int                 null,&lt;br /&gt;
    acc_z         int                 null,&lt;br /&gt;
    pressure      int unsigned        null,&lt;br /&gt;
    battery_level int unsigned        null,&lt;br /&gt;
    gps_fix       tinyint unsigned    null,&lt;br /&gt;
    receive_date  datetime            null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create index idx_record_id&lt;br /&gt;
    on track_record_data (record_id);&lt;br /&gt;
&lt;br /&gt;
create table track_resource&lt;br /&gt;
(&lt;br /&gt;
    id   int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training&lt;br /&gt;
(&lt;br /&gt;
    id   int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_activity&lt;br /&gt;
(&lt;br /&gt;
    activity_id            int unsigned             not null,&lt;br /&gt;
    training_item_label_id int unsigned   default 0 not null,&lt;br /&gt;
    training_id            int unsigned   default 1 not null,&lt;br /&gt;
    level_reached          int unsigned             null,&lt;br /&gt;
    comment                varchar(255)             null,&lt;br /&gt;
    validated              tinyint(1)     default 0 not null,&lt;br /&gt;
    primary key (activity_id, training_item_label_id, training_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_activity_next_item&lt;br /&gt;
(&lt;br /&gt;
    student_id             int unsigned              not null,&lt;br /&gt;
    training_id            int unsigned              not null,&lt;br /&gt;
    training_item_label_id int unsigned              not null,&lt;br /&gt;
    reporting_offset       tinyint unsigned default 0 not null,&lt;br /&gt;
    item_preselected       tinyint unsigned default 0 not null,&lt;br /&gt;
    primary key (student_id, training_id, training_item_label_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_activity_person&lt;br /&gt;
(&lt;br /&gt;
    activity_id                int unsigned           not null,&lt;br /&gt;
    person_id                  int unsigned           not null,&lt;br /&gt;
    num                        int unsigned default 0 not null,&lt;br /&gt;
    training_checking_date     datetime               null,&lt;br /&gt;
    training_checking_sentence varchar(255)           null,&lt;br /&gt;
    primary key (activity_id, person_id, num)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_item&lt;br /&gt;
(&lt;br /&gt;
    training_id            int unsigned not null,&lt;br /&gt;
    training_item_label_id int unsigned not null,&lt;br /&gt;
    number_of_sessions     int          not null,&lt;br /&gt;
    order_num              int          not null,&lt;br /&gt;
    custom_label           varchar(255) null,&lt;br /&gt;
    primary key (training_id, training_item_label_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_phase&lt;br /&gt;
(&lt;br /&gt;
    training_item_order_num int unsigned not null,&lt;br /&gt;
    training_id             int unsigned not null,&lt;br /&gt;
    name                    varchar(255) null,&lt;br /&gt;
    primary key (training_item_order_num, training_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_program&lt;br /&gt;
(&lt;br /&gt;
    id          int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    training_id int unsigned null,&lt;br /&gt;
    name        varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table training_program_activity&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    training_program_id int unsigned    not null,&lt;br /&gt;
    activity_type_id    bigint unsigned not null,&lt;br /&gt;
    duration            int unsigned    null,&lt;br /&gt;
    breaktime           int unsigned    null,&lt;br /&gt;
    order_num           int unsigned    not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table uncomp_flight_type&lt;br /&gt;
(&lt;br /&gt;
    id1 bigint unsigned not null,&lt;br /&gt;
    id2 bigint unsigned not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'list of sales';&lt;br /&gt;
&lt;br /&gt;
create table user_reauth_token&lt;br /&gt;
(&lt;br /&gt;
    id                 int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    user_id            int unsigned         not null,&lt;br /&gt;
    verification_token varchar(255)         not null,&lt;br /&gt;
    ip_address         varchar(45)          not null,&lt;br /&gt;
    expiration_date    datetime             not null,&lt;br /&gt;
    activated          tinyint(1) default 1 not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table validity&lt;br /&gt;
(&lt;br /&gt;
    id                  int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    person_id           int unsigned         not null,&lt;br /&gt;
    validity_type_id    int unsigned         not null,&lt;br /&gt;
    registration_date   datetime(3)          null,&lt;br /&gt;
    expire_date         date                 null,&lt;br /&gt;
    no_alert            tinyint(1) default 0 not null,&lt;br /&gt;
    ident_value         varchar(255)         null,&lt;br /&gt;
    grant_date          date                 null,&lt;br /&gt;
    checker_person_id   int                  null,&lt;br /&gt;
    checking_date       date                 not null,&lt;br /&gt;
    checking_sentence   varchar(255)         not null,&lt;br /&gt;
    is_current_validity tinyint(1) default 0 not null,&lt;br /&gt;
    action_ip_address   varchar(255)         null,&lt;br /&gt;
    action_login        varchar(255)         null,&lt;br /&gt;
    unique (person_id, validity_type_id, registration_date)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table validity_type&lt;br /&gt;
(&lt;br /&gt;
    id                       int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    name                     varchar(255)                   not null,&lt;br /&gt;
    time_limitation          tinyint(1)          default 0  not null,&lt;br /&gt;
    ident_value_enable       tinyint(1)          default 0  not null,&lt;br /&gt;
    grant_date_enable        tinyint(1)          default 0  not null,&lt;br /&gt;
    mandatory                tinyint(1)          default 0  not null,&lt;br /&gt;
    experience_formula       text                           null,&lt;br /&gt;
    alert_on_login           int                 default -2 null,&lt;br /&gt;
    mandatory_access_control tinyint unsigned    default 0  null,&lt;br /&gt;
    first_reminder_alert     int unsigned        default 0  null,&lt;br /&gt;
    reminder_frequency_alert int unsigned        default 0  null,&lt;br /&gt;
    associate_attachment     tinyint unsigned    default 0  not null,&lt;br /&gt;
    certification_process    tinyint(1)          default 0  not null,&lt;br /&gt;
    is_contract              tinyint(1)          default 0  not null,&lt;br /&gt;
    contract_filename        varchar(255)                   not null,&lt;br /&gt;
    contract_file            mediumblob                     not null,&lt;br /&gt;
    contract_file_extension  varchar(4)                     not null,&lt;br /&gt;
    is_OF_contract           tinyint(1)          default 0  not null,&lt;br /&gt;
    activated                tinyint unsigned    default 1  not null&lt;br /&gt;
)&lt;br /&gt;
    comment 'qualifications list';&lt;br /&gt;
&lt;br /&gt;
create table validity_type_page&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    validity_type_id int unsigned        not null,&lt;br /&gt;
    page_index       int unsigned        not null,&lt;br /&gt;
    label            varchar(40)         not null,&lt;br /&gt;
    is_mandatory     tinyint unsigned    not null,&lt;br /&gt;
    unique (validity_type_id, page_index)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table validity_page&lt;br /&gt;
(&lt;br /&gt;
    id                    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    validity_type_page_id int unsigned not null,&lt;br /&gt;
    filename              varchar(255) not null,&lt;br /&gt;
    file                  mediumblob   not null,&lt;br /&gt;
    file_extension        varchar(4)   not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table validity_2_validity_page&lt;br /&gt;
(&lt;br /&gt;
    validity_id      int unsigned not null,&lt;br /&gt;
    validity_page_id int unsigned not null,&lt;br /&gt;
    primary key (validity_id, validity_page_id)&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table variable&lt;br /&gt;
(&lt;br /&gt;
    id         int auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    variable   varchar(255) not null,&lt;br /&gt;
    label      varchar(255) not null,&lt;br /&gt;
    category   tinyint(1)   null,&lt;br /&gt;
    value_type varchar(255) null,&lt;br /&gt;
    order_num  int          not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table variable_value&lt;br /&gt;
(&lt;br /&gt;
    id           int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    variable_id  int            not null,&lt;br /&gt;
    assign_value decimal(15, 2) not null,&lt;br /&gt;
    start_date   datetime       not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table web_feed&lt;br /&gt;
(&lt;br /&gt;
    id               int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    channel_id       int unsigned not null,&lt;br /&gt;
    publication_date datetime     not null,&lt;br /&gt;
    title            varchar(255) null,&lt;br /&gt;
    content          text         null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create table web_feed_channel&lt;br /&gt;
(&lt;br /&gt;
    id    int unsigned auto_increment&lt;br /&gt;
        primary key,&lt;br /&gt;
    label varchar(255) not null&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
create definer = overallCustomer@localhost view eligible_pilot_for_first_flight as&lt;br /&gt;
select `of40_aeroclublys`.`person`.`id` AS `person_id`&lt;br /&gt;
from `of40_aeroclublys`.`person`&lt;br /&gt;
where ((`of40_aeroclublys`.`person`.`activated` = 1) and&lt;br /&gt;
       ((`of40_aeroclublys`.`person`.`profile` &amp;amp; (select `of40_aeroclublys`.`parameter`.`int_value`&lt;br /&gt;
                                                  from `of40_aeroclublys`.`parameter`&lt;br /&gt;
                                                  where (`of40_aeroclublys`.`parameter`.`code` =&lt;br /&gt;
                                                         'EXTERNAL_BOOKING_PILOT_PROFILE'))) &amp;gt; 0) and&lt;br /&gt;
       `of40_aeroclublys`.`person`.`id` in (select `of40_aeroclublys`.`regular_presence_inst_date`.`person_id`&lt;br /&gt;
                                            from `of40_aeroclublys`.`regular_presence_inst_date`&lt;br /&gt;
                                            union&lt;br /&gt;
                                            select `of40_aeroclublys`.`exceptionnal_inst_date`.`person_id`&lt;br /&gt;
                                            from `of40_aeroclublys`.`exceptionnal_inst_date`&lt;br /&gt;
                                            where ((`of40_aeroclublys`.`exceptionnal_inst_date`.`end_date` &amp;gt; now()) and&lt;br /&gt;
                                                   (`of40_aeroclublys`.`exceptionnal_inst_date`.`presence` = 1))));&lt;br /&gt;
&lt;br /&gt;
create definer = overallCustomer@localhost view eligible_resource_for_first_flight as&lt;br /&gt;
select `of40_aeroclublys`.`resource`.`id` AS `resource_id`&lt;br /&gt;
from ((`of40_aeroclublys`.`resource` join `of40_aeroclublys`.`business_field_content` on ((&lt;br /&gt;
        `of40_aeroclublys`.`business_field_content`.`category_id` = `of40_aeroclublys`.`resource`.`id`)))&lt;br /&gt;
         join `of40_aeroclublys`.`business_field` on ((`of40_aeroclublys`.`business_field`.`id` =&lt;br /&gt;
                                                       `of40_aeroclublys`.`business_field_content`.`business_field_id`)))&lt;br /&gt;
where ((`of40_aeroclublys`.`resource`.`activated` = 1) and&lt;br /&gt;
       (`of40_aeroclublys`.`business_field`.`variable` = 'canResourcePerformFirstFlights') and&lt;br /&gt;
       (`of40_aeroclublys`.`business_field_content`.`content` = '1') and&lt;br /&gt;
       (`of40_aeroclublys`.`resource`.`bookable` = 1) and ((select count(0)&lt;br /&gt;
                                                            from `of40_aeroclublys`.`resource_type_place_tag` `seat`&lt;br /&gt;
                                                            where (`seat`.`resource_type_id` =&lt;br /&gt;
                                                                   `of40_aeroclublys`.`resource`.`resource_type_id`)) &amp;gt;=&lt;br /&gt;
                                                           2) and&lt;br /&gt;
       `of40_aeroclublys`.`resource`.`id` in (select `of40_aeroclublys`.`resource_regular_availability`.`resource_id`&lt;br /&gt;
                                              from `of40_aeroclublys`.`resource_regular_availability`&lt;br /&gt;
                                              union&lt;br /&gt;
                                              select `of40_aeroclublys`.`resource_exceptional_availability`.`resource_id`&lt;br /&gt;
                                              from `of40_aeroclublys`.`resource_exceptional_availability`&lt;br /&gt;
                                              where ((`of40_aeroclublys`.`resource_exceptional_availability`.`end_date` &amp;gt;&lt;br /&gt;
                                                      now()) and&lt;br /&gt;
                                                     (`of40_aeroclublys`.`resource_exceptional_availability`.`presence` = 1))));&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = root@localhost function distanceBetween2Point(latitude1 double, longitude1 double, latitude2 double,&lt;br /&gt;
                                                            longitude2 double) returns double&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE rlongitude1 DOUBLE;&lt;br /&gt;
    DECLARE rlatitude1 DOUBLE;&lt;br /&gt;
    DECLARE rlongitude2 DOUBLE;&lt;br /&gt;
    DECLARE rlatitude2 DOUBLE;&lt;br /&gt;
    DECLARE dlongitude DOUBLE;&lt;br /&gt;
    DECLARE dlatitude DOUBLE;&lt;br /&gt;
    DECLARE a DOUBLE;&lt;br /&gt;
&lt;br /&gt;
    SET rlongitude1 = RADIANS(longitude1);&lt;br /&gt;
    SET rlatitude1 = RADIANS(latitude1);&lt;br /&gt;
    SET rlongitude2 = RADIANS(longitude2);&lt;br /&gt;
    SET rlatitude2 = RADIANS(latitude2);&lt;br /&gt;
    SET dlongitude = (rlongitude2 - rlongitude1) / 2;&lt;br /&gt;
    SET dlatitude = (rlatitude2 - rlatitude1) / 2;&lt;br /&gt;
    SET a = SIN(dlatitude) * SIN(dlatitude) + COS(rlatitude1) * COS(rlatitude2) * SIN(dlongitude) * SIN(dlongitude);&lt;br /&gt;
    RETURN (6378137 * 2 * ATAN2(SQRT(a), SQRT(1 - a)));&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = overallCustomer@localhost function formatDecimal(string varchar(255)) returns varchar(255)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE replacedString VARCHAR(255);&lt;br /&gt;
    SET replacedString = string;&lt;br /&gt;
    SET @decimalSeparator = (SELECT char_value FROM parameter WHERE code = 'DECIMAL_SEPARATOR' AND key_id = 0 LIMIT 1);&lt;br /&gt;
&lt;br /&gt;
    SELECT IF(replacedString &amp;lt;&amp;gt; '0.00' AND replacedString &amp;lt;&amp;gt; '0', TRIM(TRAILING '0' FROM replacedString),&lt;br /&gt;
              replacedString)&lt;br /&gt;
    INTO replacedString;&lt;br /&gt;
    SELECT TRIM(TRAILING '.' FROM replacedString) INTO replacedString;&lt;br /&gt;
    SELECT REPLACE(replacedString, '.', IFNULL(@decimalSeparator, '.')) INTO replacedString;&lt;br /&gt;
    RETURN replacedString;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = root@localhost function isBalancedAccountEntryFlow(flowId int) returns int&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE isBalanced INT;&lt;br /&gt;
&lt;br /&gt;
    SELECT IF(SUM(debit) &amp;lt;&amp;gt; SUM(credit), 0, 1)&lt;br /&gt;
    into isBalanced&lt;br /&gt;
    FROM account_entry&lt;br /&gt;
    WHERE flow_id = flowId&lt;br /&gt;
    GROUP BY flow_id;&lt;br /&gt;
&lt;br /&gt;
    RETURN isBalanced;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = root@localhost function nearestPoint(latRef double, longRef double, distanceMax int) returns varchar(6)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE rlongitude1 DOUBLE;&lt;br /&gt;
    DECLARE rlatitude1 DOUBLE;&lt;br /&gt;
    DECLARE rlongitude2 DOUBLE;&lt;br /&gt;
    DECLARE rlatitude2 DOUBLE;&lt;br /&gt;
    DECLARE a DOUBLE;&lt;br /&gt;
    DECLARE icao_name VARCHAR(6);&lt;br /&gt;
    DECLARE lenght DOUBLE;&lt;br /&gt;
&lt;br /&gt;
    SET a = 2 * 6378137 * pi() * distanceMax / (1852 * 60 * 360);&lt;br /&gt;
    SET rlongitude1 = longRef + a / cos(latRef);&lt;br /&gt;
    SET rlongitude2 = longRef - a / cos(latRef);&lt;br /&gt;
    SET rlatitude1 = latRef + a;&lt;br /&gt;
    SET rlatitude2 = latRef - a;&lt;br /&gt;
&lt;br /&gt;
    SELECT loc1.icao_name,&lt;br /&gt;
           distanceBetween2Point(&lt;br /&gt;
                   (SELECT loc2.latitude FROM location AS loc2 WHERE loc2.icao_name = loc1.icao_name),&lt;br /&gt;
                   (SELECT loc3.longitude FROM location AS loc3 WHERE loc3.icao_name = loc1.icao_name),&lt;br /&gt;
                   latRef,&lt;br /&gt;
                   longRef) AS distance&lt;br /&gt;
    FROM location AS loc1&lt;br /&gt;
    WHERE IF(rlongitude2 &amp;lt; rlongitude1,&lt;br /&gt;
             loc1.longitude BETWEEN rlongitude2 AND rlongitude1,&lt;br /&gt;
             loc1.longitude BETWEEN rlongitude1 AND rlongitude2)&lt;br /&gt;
      AND IF(rlatitude2 &amp;lt; rlatitude1,&lt;br /&gt;
             loc1.latitude BETWEEN rlatitude2 AND rlatitude1,&lt;br /&gt;
             loc1.latitude BETWEEN rlatitude1 AND rlatitude2)&lt;br /&gt;
    HAVING distance &amp;lt; distanceMax&lt;br /&gt;
    ORDER BY distance&lt;br /&gt;
    LIMIT 1&lt;br /&gt;
    INTO icao_name, lenght;&lt;br /&gt;
&lt;br /&gt;
    RETURN icao_name;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = overallCustomer@localhost function sexa2HoursHundredths(sexacentimal int) returns varchar(255)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE convertedValue VARCHAR(255);&lt;br /&gt;
    DECLARE hours VARCHAR(255);&lt;br /&gt;
    DECLARE roundedHours VARCHAR(255);&lt;br /&gt;
    DECLARE remainingTime VARCHAR(255);&lt;br /&gt;
    DECLARE decimalSeparator VARCHAR(1);&lt;br /&gt;
    SET hours = sexacentimal / 600;&lt;br /&gt;
    SET roundedHours = IF(sexacentimal &amp;gt; 0, FLOOR(hours), CEIL(hours));&lt;br /&gt;
    SET remainingTime = ABS(sexacentimal - roundedHours * 600);&lt;br /&gt;
    SET decimalSeparator =&lt;br /&gt;
            (SELECT IFNULL(char_value, '.') FROM parameter WHERE code = 'DECIMAL_SEPARATOR' AND key_id = 0 LIMIT 1);&lt;br /&gt;
&lt;br /&gt;
    SELECT CONCAT(&lt;br /&gt;
                   roundedHours, decimalSeparator, LPAD(FLOOR(remainingTime / 6), 2, '0')&lt;br /&gt;
               )&lt;br /&gt;
    INTO convertedValue;&lt;br /&gt;
&lt;br /&gt;
    RETURN convertedValue;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = overallCustomer@localhost function sexa2HoursMinute(sexacentimal int) returns varchar(255)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE convertedValue VARCHAR(255);&lt;br /&gt;
    DECLARE hours VARCHAR(255); # We separate hours computation from roundHours in order to keep the minus sign if hours is 0 but sexacentimal negative&lt;br /&gt;
    DECLARE roundedHours VARCHAR(255);&lt;br /&gt;
    DECLARE remainingTime VARCHAR(255);&lt;br /&gt;
    SET hours = sexacentimal / 600;&lt;br /&gt;
    SET roundedHours = IF(sexacentimal &amp;gt; 0, FLOOR(hours), CEIL(hours));&lt;br /&gt;
    SET remainingTime = ABS(sexacentimal - roundedHours * 600);&lt;br /&gt;
&lt;br /&gt;
    SELECT CONCAT(&lt;br /&gt;
                   roundedHours, ':', LPAD(FLOOR(remainingTime / 10), 2, '0')&lt;br /&gt;
               )&lt;br /&gt;
    INTO convertedValue;&lt;br /&gt;
&lt;br /&gt;
    RETURN convertedValue;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = root@localhost function stripChars(word varchar(255)) returns varchar(255)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE stripWord VARCHAR(255);&lt;br /&gt;
    SET stripWord = word;&lt;br /&gt;
    SELECT IF(stripWord REGEXP '[-]', REPLACE(stripWord, '-', ''), stripWord) INTO stripWord;&lt;br /&gt;
    SELECT IF(stripWord REGEXP '[ ]', REPLACE(stripWord, ' ', ''), stripWord) INTO stripWord;&lt;br /&gt;
    RETURN stripWord;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = overallCustomer@localhost function sumAccountEntry(accountId int, endDate datetime) returns decimal(15, 2)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE balanceDate DATETIME;&lt;br /&gt;
    DECLARE balanceDebit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE balanceCredit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalDebit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalCredit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalBalance DECIMAL(15, 2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    SELECT balance_date, IFNULL(debit, 0.00), IFNULL(credit, 0.00)&lt;br /&gt;
    INTO balanceDate, balanceDebit, balanceCredit&lt;br /&gt;
    FROM balance_date&lt;br /&gt;
             LEFT JOIN balance ON (balance_date.id = balance.balance_date_id AND balance.account_id = accountId)&lt;br /&gt;
    WHERE balance_date.balance_date &amp;lt; endDate&lt;br /&gt;
    ORDER BY balance_date DESC&lt;br /&gt;
    LIMIT 1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    IF (SELECT FOUND_ROWS()) = 0 THEN&lt;br /&gt;
        SELECT '0000-00-00 00:00:00', 0.00, 0.00 INTO balanceDate, balanceDebit, balanceCredit;&lt;br /&gt;
    END IF;&lt;br /&gt;
&lt;br /&gt;
    SELECT IFNULL(SUM(debit), 0.00) + balanceDebit, IFNULL(SUM(credit), 0.00) + balanceCredit&lt;br /&gt;
    INTO totalDebit, totalCredit&lt;br /&gt;
    FROM account_entry&lt;br /&gt;
    WHERE account_id = accountId&lt;br /&gt;
      AND account_date &amp;gt;= CAST(balanceDate AS DATETIME)&lt;br /&gt;
      AND account_date &amp;lt; CAST(endDate AS DATETIME);&lt;br /&gt;
&lt;br /&gt;
    SELECT (totalCredit - totalDebit) INTO totalBalance;&lt;br /&gt;
&lt;br /&gt;
    RETURN totalBalance;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = overallCustomer@localhost function sumAccountEntryCredit(accountId int, endDate datetime) returns decimal(15, 2)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE balanceDate DATETIME;&lt;br /&gt;
    DECLARE balanceCredit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalCredit DECIMAL(15, 2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    SELECT balance_date, IFNULL(credit, 0.00)&lt;br /&gt;
    INTO balanceDate, balanceCredit&lt;br /&gt;
    FROM balance_date&lt;br /&gt;
             LEFT JOIN balance ON (balance_date.id = balance.balance_date_id AND balance.account_id = accountId)&lt;br /&gt;
    WHERE balance_date.balance_date &amp;lt; endDate&lt;br /&gt;
    ORDER BY balance_date DESC&lt;br /&gt;
    LIMIT 1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    IF (SELECT FOUND_ROWS()) = 0 THEN&lt;br /&gt;
        SELECT '0000-00-00 00:00:00', 0.00, 0.00 INTO balanceDate, balanceCredit;&lt;br /&gt;
    END IF;&lt;br /&gt;
&lt;br /&gt;
    SELECT IFNULL(SUM(credit), 0.00) + balanceCredit&lt;br /&gt;
    INTO totalCredit&lt;br /&gt;
    FROM account_entry&lt;br /&gt;
    WHERE account_id = accountId&lt;br /&gt;
      AND account_date &amp;gt;= CAST(balanceDate AS DATETIME)&lt;br /&gt;
      AND account_date &amp;lt; CAST(endDate AS DATETIME);&lt;br /&gt;
&lt;br /&gt;
    RETURN totalCredit;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = overallCustomer@localhost function sumAccountEntryDebit(accountId int, endDate datetime) returns decimal(15, 2)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE balanceDate DATETIME;&lt;br /&gt;
    DECLARE balanceDebit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalDebit DECIMAL(15, 2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    SELECT balance_date, IFNULL(debit, 0.00)&lt;br /&gt;
    INTO balanceDate, balanceDebit&lt;br /&gt;
    FROM balance_date&lt;br /&gt;
             LEFT JOIN balance ON (balance_date.id = balance.balance_date_id AND balance.account_id = accountId)&lt;br /&gt;
    WHERE balance_date.balance_date &amp;lt; endDate&lt;br /&gt;
    ORDER BY balance_date DESC&lt;br /&gt;
    LIMIT 1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    IF (SELECT FOUND_ROWS()) = 0 THEN&lt;br /&gt;
        SELECT '0000-00-00 00:00:00', 0.00, 0.00 INTO balanceDate, balanceDebit;&lt;br /&gt;
    END IF;&lt;br /&gt;
&lt;br /&gt;
    SELECT IFNULL(SUM(debit), 0.00) + balanceDebit&lt;br /&gt;
    INTO totalDebit&lt;br /&gt;
    FROM account_entry&lt;br /&gt;
    WHERE account_id = accountId&lt;br /&gt;
      AND account_date &amp;gt;= CAST(balanceDate AS DATETIME)&lt;br /&gt;
      AND account_date &amp;lt; CAST(endDate AS DATETIME);&lt;br /&gt;
&lt;br /&gt;
    RETURN totalDebit;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = root@localhost function sumValidatedAccountEntry(accountId int, endDate datetime) returns decimal(15, 2)&lt;br /&gt;
BEGIN&lt;br /&gt;
    DECLARE balanceDate DATETIME;&lt;br /&gt;
    DECLARE balanceDebit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE balanceCredit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalDebit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalCredit DECIMAL(15, 2);&lt;br /&gt;
    DECLARE totalBalance DECIMAL(15, 2);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    SELECT balance_date, IFNULL(debit, 0.00), IFNULL(credit, 0.00)&lt;br /&gt;
    INTO balanceDate, balanceDebit, balanceCredit&lt;br /&gt;
    FROM balance_date&lt;br /&gt;
             LEFT JOIN balance ON (balance_date.id = balance.balance_date_id AND balance.account_id = accountId)&lt;br /&gt;
    WHERE balance_date.balance_date &amp;lt; endDate&lt;br /&gt;
    ORDER BY balance_date DESC&lt;br /&gt;
    LIMIT 1;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    IF (SELECT FOUND_ROWS()) = 0 THEN&lt;br /&gt;
        SELECT '0000-00-00 00:00:00', 0.00, 0.00 INTO balanceDate, balanceDebit, balanceCredit;&lt;br /&gt;
    END IF;&lt;br /&gt;
&lt;br /&gt;
    SELECT IFNULL(SUM(debit), 0.00) + balanceDebit, IFNULL(SUM(credit), 0.00) + balanceCredit&lt;br /&gt;
    INTO totalDebit, totalCredit&lt;br /&gt;
    FROM account_entry&lt;br /&gt;
    WHERE account_id = accountId&lt;br /&gt;
      AND account_date &amp;gt;= CAST(balanceDate AS DATETIME)&lt;br /&gt;
      AND account_date &amp;lt; CAST(endDate AS DATETIME)&lt;br /&gt;
      AND validated = 1;&lt;br /&gt;
&lt;br /&gt;
    SELECT (totalCredit - totalDebit) INTO totalBalance;&lt;br /&gt;
&lt;br /&gt;
    RETURN totalBalance;&lt;br /&gt;
END;&lt;br /&gt;
&lt;br /&gt;
create&lt;br /&gt;
    definer = root@localhost procedure addGapToDate(in gap int)&lt;br /&gt;
    modifies sql data&lt;br /&gt;
BEGIN&lt;br /&gt;
    &lt;br /&gt;
    DECLARE done TINYINT DEFAULT 0;&lt;br /&gt;
    DECLARE tmpTableName VARCHAR(255);&lt;br /&gt;
    DECLARE tmpColumnName VARCHAR(255);&lt;br /&gt;
    &lt;br /&gt;
    DECLARE cursor1 CURSOR FOR&lt;br /&gt;
        SELECT TABLE_NAME, COLUMN_NAME&lt;br /&gt;
        FROM information_schema.COLUMNS&lt;br /&gt;
        WHERE TABLE_SCHEMA = ( SELECT DATABASE() )&lt;br /&gt;
          AND DATA_TYPE IN ('date', 'datetime');&lt;br /&gt;
    &lt;br /&gt;
    DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;&lt;br /&gt;
&lt;br /&gt;
    OPEN cursor1;&lt;br /&gt;
    REPEAT&lt;br /&gt;
        FETCH cursor1 INTO tmpTableName, tmpColumnName;&lt;br /&gt;
        IF NOT done THEN&lt;br /&gt;
            BEGIN&lt;br /&gt;
                SET @dynamicQuery = CONCAT('UPDATE ', tmpTableName, ' SET ', tmpColumnName, '= DATE_ADD(', tmpColumnName, ', INTERVAL ', gap, ' DAY)');&lt;br /&gt;
                PREPARE pQuery FROM @dynamicQuery;&lt;br /&gt;
                EXECUTE pQuery;&lt;br /&gt;
                DEALLOCATE PREPARE pQuery;&lt;br /&gt;
            END;&lt;br /&gt;
        END IF;&lt;br /&gt;
    UNTIL done END REPEAT;&lt;br /&gt;
    CLOSE cursor1;&lt;br /&gt;
&lt;br /&gt;
    TRUNCATE TABLE customer_bill_file;&lt;br /&gt;
END;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
==Table booking==&lt;br /&gt;
&lt;br /&gt;
Le contenu du champ ''aircraft_id'' de la table ''booking'' peut être nul. Dans ce cas, c'est une ancienne réservation effectuée sur une ressource non-existante ou qui n'existe plus; aussi nommé réservation orpheline.&lt;br /&gt;
&lt;br /&gt;
==Table flight==&lt;br /&gt;
&lt;br /&gt;
*airborne :&lt;br /&gt;
**0: Pas en l'air ou fermeture de vol : Le pilote a terminé le vol.&lt;br /&gt;
**1: En l'air ou ouverture de vol : Le pilote remplit le vol avant de voler.&lt;br /&gt;
&lt;br /&gt;
==Champs cachés==&lt;br /&gt;
Les champs suivants ne peuvent être exportés et ne doivent pas être inclus dans une requête SELECT. De plus, un &amp;quot;SELECT *&amp;quot; est interdit quand une des tables contient un champ caché :&lt;br /&gt;
*Table journal : Tous les champs&lt;br /&gt;
*Table log : Tous les champs&lt;br /&gt;
*Table parameter : Tous les champs&lt;br /&gt;
*Table person :&lt;br /&gt;
**hash_password&lt;br /&gt;
*Table structure :&lt;br /&gt;
**address&lt;br /&gt;
**admin_num&lt;br /&gt;
**city&lt;br /&gt;
**country&lt;br /&gt;
**default_notification&lt;br /&gt;
**default_slot_range&lt;br /&gt;
**default_timezone&lt;br /&gt;
**default_view_type&lt;br /&gt;
**email&lt;br /&gt;
**fax&lt;br /&gt;
**first_hour_displayed&lt;br /&gt;
**info_cell&lt;br /&gt;
**lang&lt;br /&gt;
**last_hour_displayed&lt;br /&gt;
**logo&lt;br /&gt;
**logo_name&lt;br /&gt;
**logo_ext&lt;br /&gt;
**logo_size&lt;br /&gt;
**mail_from_address&lt;br /&gt;
**mailing_list_name&lt;br /&gt;
**mailing_list_type&lt;br /&gt;
**min_slot_range&lt;br /&gt;
**name&lt;br /&gt;
**phone&lt;br /&gt;
**state&lt;br /&gt;
**twilight_range&lt;br /&gt;
**usual_profiles&lt;br /&gt;
**welcome_cell&lt;br /&gt;
**zipcode&lt;br /&gt;
*Table oauth_client : Tous les champs&lt;br /&gt;
*Table oauth_access_token : Tous les champs&lt;br /&gt;
*Table oauth_auth_code : Tous les champs&lt;br /&gt;
*Table oauth_refresh_token : Tous les champs&lt;br /&gt;
&lt;br /&gt;
Exemple de requêtes non autorisées :&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT * FROM structure;&lt;br /&gt;
&lt;br /&gt;
SELECT hash_password FROM person;&lt;br /&gt;
&lt;br /&gt;
SELECT person.id, validity.*&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (person.id=validity.person_id);&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14366</id>
		<title>Configuration des réservations internes</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14366"/>
		<updated>2026-03-17T13:01:56Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Limitations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page présente le paramétrage du module de réservations interne.&lt;br /&gt;
&lt;br /&gt;
=Général=&lt;br /&gt;
La gestion du planning se fait en allant dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''' :&lt;br /&gt;
[[File:015 parametrage gestion reservation.png|center|1500x1500px|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
==Mode de réservation==&lt;br /&gt;
===Réservations standards===&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée en mode standard est immobilisée, les réservations existantes sur cette ressource sont supprimées.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur est averti avant la confirmation de l'opération.&lt;br /&gt;
&lt;br /&gt;
===Réservation par type de ressource===&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée par type est immobilisée, les réservations ne sont pas supprimées. Elles sont automatiquement déplacées vers la prochaine ressource disponible du même type, selon l'ordre de priorité défini.&lt;br /&gt;
Si aucune autre ressource du même type n'est disponible, la réservation concernée est supprimée.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit [[Gestion-des-profils#Surpasser-la-réservation-par-type|Surpasser la réservation par type]], il est possible de forcer une réservation sur une ressource donnée en cochant la case '''Ne pas changer de ressource'''.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
==Code couleur==&lt;br /&gt;
Permet de définir quelle code couleur doit être utilisée pour l'affichage des réservations :&lt;br /&gt;
*Par utilisateur&lt;br /&gt;
:deux champs de sélection s'affichent :&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui ne concernent pas l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui ne concernent pas l'utilisateur connecté.&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui concernent l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui concernent l'utilisateur connecté.&lt;br /&gt;
:Il est possible de configurer [[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|une paire de couleurs par utilisateur]].&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-couleur-à-un-type-d'activité|Par type d'activité]]&lt;br /&gt;
&lt;br /&gt;
==Affichage possible des activités réalisées dans le planning==&lt;br /&gt;
Permet aux utilisateurs disposant du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]] d'activer le module d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|Affichage des activités réalisées]] sur la page de réservation.&lt;br /&gt;
&lt;br /&gt;
==Réservation multi-ressources==&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
==Affichage du nom des ressources dans le planning==&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
==Afficher les alertes non bloquantes lors des glisser-déposer==&lt;br /&gt;
Ce paramétrage permet d'afficher les alertes non bloquantes lors des [[Utilisation-des-réservations-internes-sur-l%27interface-web#Glisser-déposer-des-réservations|glisser-déposer des réservations]] sur le planning.&lt;br /&gt;
&lt;br /&gt;
==Autoriser la suppression partielle d'éléments de réservations== &lt;br /&gt;
Ce paramétrage permet d'afficher l'action '''Annuler cet élément du groupe de réservations''' lorsqu'un groupe de réservations est lié. Il autorise ainsi la suppression individuelle d'un élément au sein d'un groupe de réservations, sans devoir annuler l'ensemble du groupe.&lt;br /&gt;
&lt;br /&gt;
==Amplitude du planning==&lt;br /&gt;
===Heure de début et fin (fuseau X)===&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire de la structure.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' les minutes proposées doivent être des multiples de 15 (00, 15, 30, 45).&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
&lt;br /&gt;
==Durée minimale d'une réservation==&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Durée par défaut d'une réservation==&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
==Interdire d'effectuer une réservation débutant dans moins de==&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
== Interdire la modification ou la suppression d'une réservation débutant dans moins de ==&lt;br /&gt;
Permet d'empêcher la modification ou la suppression d'une réservation lorsque son heure de début est moins de X temps.&lt;br /&gt;
&lt;br /&gt;
==Limitation dans le temps des réservations==&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
==Limitation du nombre de réservations==&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Champs visibles=&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
Les lieux cochés sont ainsi définis avec une valeur par défaut lorsqu'un vol est entré à partir d'une réservation.&lt;br /&gt;
&lt;br /&gt;
;Saisie de la destination&lt;br /&gt;
Ce champ n'est disponible que si le champ '''Lieu d'arrivée''' est activé.&lt;br /&gt;
&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
Lorsque le champ '''Lieu d'arrivée''' est désactivé, la valeur enregistrée pour '''Saisie de la destination''' est vidée.&lt;br /&gt;
&lt;br /&gt;
=Alerte sur le potentiel=&lt;br /&gt;
&lt;br /&gt;
Cette section ne s'affiche que lorsque la [[Paramétrage-des-activités#Gestion-des-potentiels|gestion des potentiels]] est activée.&lt;br /&gt;
&lt;br /&gt;
;Alerter sur le potentiel estimé restant&lt;br /&gt;
Lorsqu'il est activé, permet de vérifier le potentiel restant et [[Utilisation-des-réservations-internes-sur-l'interface-web#Potentiel-estimé-restant-insuffisant|déclencher une alerte]] si celui-ci est inférieur au seuil défini lors d'une réservation.&lt;br /&gt;
&lt;br /&gt;
;Réservations débutant dans moins de&lt;br /&gt;
Indique le délai (en jours ou semaines) avant le début des réservations pour laquelle l'alerte sur le potentiel estimé restant doit être déclenchée. Par exemple, '''7 jours''' déclenche l'alerte pour les réservations commençant dans moins d'une semaine.&lt;br /&gt;
&lt;br /&gt;
;Seuil d'alerte&lt;br /&gt;
Définit le niveau minimal de potentiel estimé restant pour lequel l'alerte sera envoyée. Si le potentiel estimé tombe en dessous de ce seuil, une alerte est générée.&lt;br /&gt;
&lt;br /&gt;
==[[Paramétrage-des-validités#Paramétrer-le-contrôle-des-validités-pour-les-activités-ou-les-réservations|Paramétrage général du contrôle des validités pour les réservations]]==&lt;br /&gt;
&lt;br /&gt;
=Sélections par défaut=&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut :&lt;br /&gt;
* lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]]&lt;br /&gt;
* lors d'une nouvelle réservation sur le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Tutoriel-vidéo|planning de la nouvelle interface]]&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut pour la seconde place (ancienne interface)==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut lorsqu'on sélectionne une personne en seconde place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut pour la seconde place (ancienne interface)''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Règles de saisies XML=&lt;br /&gt;
Les règles de saisie sont utilisées, pour le moment, uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.&lt;br /&gt;
&lt;br /&gt;
Elles sont écrites en [[Wikipedia-fr:Extensible_Markup_Language|XML]]. cf. l'exemple de règles de saisie ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Le moteur de vérification des règles s'enclenche dès qu'une réservation n'est plus &amp;quot;nue&amp;quot;, c'est à dire lorsqu'au moins un élément est renseigné (activité, ressource, etc.). Alors il vérifie quelles sont les règles compatibles et en déduit les contenus possibles dans les champs de saisie de l'interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
La compatibilité d'une règle se détermine '''par restriction''' en vérifiant dans cet ordre les informations suivantes :&lt;br /&gt;
#Activités&lt;br /&gt;
#Ressources&lt;br /&gt;
#Profils&lt;br /&gt;
#Places&lt;br /&gt;
&lt;br /&gt;
Pour chaque information, le moteur regarde si elle est renseignée. Si ce n'est pas le cas alors il passe à l'information suivante. Par exemple s'il n'y a pas encore d'activité de saisie alors il ne vérifie pas ce point-là dans la règle.&lt;br /&gt;
&lt;br /&gt;
Pour les activités et les ressources, il regarde les règles qui acceptent celles renseignées. S'il y a des règles qui pose problème alors elles sont rejetées.&lt;br /&gt;
&lt;br /&gt;
Pour les profils ce sont les personnes qui sont étudiées et ce de deux manières différentes selon si sur la saisie il y a une ressource de renseignée ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource de renseignée, le fonctionnement est similaire aux autres informations. le moteur regarde pour toutes les personnes renseignées si sur la place où elles sont, elles ont au moins un profil valide. Si une personne n'a aucun profil pour la place où il est alors la règle est rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource le fonctionnement est différent. Au lieu de faire par restriction, le moteur va faire '''par ajout'''. C'est-à-dire qu'au lieu de dire &amp;quot;il ne faut que des pilotes&amp;quot;, il va dire &amp;quot;je veux au moins un pilote&amp;quot;. Pour ce faire il va regarder les profils de chaque personne. S'il trouve une personne avec un profil valide, il accepte la règle. Si aucune des personnes ne correspond, il va faire une seconde vérification au niveau des places. Si pour cette règle l'une des places n'est pas définie, il considère que les personnes présentes vont potentiellement aller sur cette place et il ne rejette pas la règle. Par contre, si toutes les places sont définies et qu'aucune des personnes ne correspond alors la règle est rejetée.&lt;br /&gt;
&lt;br /&gt;
Pour les places, il vérifie qu'il n'y a pas trop de monde. Comme pour les profils il y a deux manières de les étudier en fonction de s'il y a une ressource ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource, il va regarder pour chaque place si le nombre de personnes autorisées n'est pas dépassé. Si sur l'une des places le nombre est dépassé alors la règle est rejetée. Cependant, si le nombre est atteint mais pas dépassé alors la règle n'est pas rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource, il va parcourir chaque place pour compter le nombre total de personnes autorisées pour cette règle. Si le nombre est dépassé alors la règle est rejetée. Comme précédemment si le nombre est simplement atteint alors la règle n'est pas rejetée.&lt;br /&gt;
&lt;br /&gt;
Si pour chaque information saisie, la règle est compatible alors elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Pour qu'une saisie soit valide, il faut qu'il existe au moins une règle de conservée, c'est à dire de compatible.&lt;br /&gt;
&lt;br /&gt;
;Exemple de règles de saisie&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ruleList&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;*(bookAlone)(bookWithInstr)&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;2&amp;lt;/activityType&amp;gt; &amp;lt;!-- Instruction --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001, F-002, F-00X --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot;&amp;gt; &amp;lt;!-- Pilote--&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;1&amp;lt;/profile&amp;gt; &amp;lt;!-- Elève --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;1&amp;quot; minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;2&amp;quot;&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;4&amp;lt;/profile&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;...&amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/ruleList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==attribut needs==&lt;br /&gt;
L'attribut needs peut être utilisé pour les éléments :&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*place&lt;br /&gt;
&lt;br /&gt;
Il contient un ou plusieurs droits qui sont requis par l'utilisateur effectuant la saisie pour que la règle puisse s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il n'y a qu'un droit de requis, il faut écrire ''needs=&amp;quot;nomDuDroit&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il y a plusieurs droits possibles, un seul étant requis, il faut commencer par le signe * puis lister chaque droit en l'entourant de parenthèses : ''needs=&amp;quot;*(bookAlone)(bookWithInstr)''.&lt;br /&gt;
&lt;br /&gt;
==Capacité maximale autorisée==&lt;br /&gt;
La taille maximale autorisée pour les règles de saisie XML est de '''16 Mo'''.  &lt;br /&gt;
Lors de la création d'un type d'activité ou lors de la modification manuelle depuis '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''',  si la taille des règles de saisie XML dépasse cette limite, un message d'alerte s'affiche indiquant que les règles de saisie XML sont saturées.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il est conseillé de vérifier le contenu XML et d'identifier d'éventuelles données obsolètes afin de les supprimer et d'alléger le fichier.  &lt;br /&gt;
Si cela ne suffit pas, il est recommandé de contacter OpenFlyers pour discuter de la possibilité d'augmenter la taille du champ.&lt;br /&gt;
&lt;br /&gt;
==ruleList==&lt;br /&gt;
Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments &amp;quot;rule&amp;quot; qui correspondent, chacun, à une règle.&lt;br /&gt;
&lt;br /&gt;
Il n'y pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
===rule===&lt;br /&gt;
Définit une règle.&lt;br /&gt;
&lt;br /&gt;
Les éléments possibles sont :&lt;br /&gt;
*formulaList&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*resourceList&lt;br /&gt;
*placeList&lt;br /&gt;
&lt;br /&gt;
Il n'y a pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
Chaque règle définit les types d'activités, types de ressources et places qui la rendent compatible.&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant définit une règle qui autorise une saisie pour le type d'activité ''Local'', les types de ressources ''F-001'' ou ''F-002'' et pour laquelle il faut exactement 1 utilisateur avec le profil ''Pilote'' à la place 0. Le statut attribué sera celui de numéro 1. De plus, La personne qui fait la réservation doit avoir le droit &amp;quot;bookAlone&amp;quot; et si elle dispose du droit &amp;quot;bookAnyone&amp;quot; alors elle verra en plus la liste des utilisateurs compatibles avec cette règle pour lui permettre d'en choisir une : &lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
         &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                 &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====formulaList====&lt;br /&gt;
Contient la liste des formules que la règle doit respecter au travers des éléments ''formula''.&lt;br /&gt;
&lt;br /&gt;
=====formula=====&lt;br /&gt;
Doit contenir les attributs :&lt;br /&gt;
*''action'' : indique l'action concernée pour la vérification de la formule. Si l'action effectuée par l'utilisateur n'est pas celle de la formule, alors la formule n'est pas vérifiée. Par contre, la règle peut quand être compatible. Il est possible de remplacer le nom d'une action par * pour indiquer que la formule doit être vérifiée quelque soit l'action.&lt;br /&gt;
*''title'' : pour indiquer le message d'alerte devant s'afficher lorsque la formule n'est pas respectée&lt;br /&gt;
&lt;br /&gt;
Le contenu de l'élément ''formula'' est une formule qui est testée lors de la saisie.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans la formule, pour les signes de comparaison supérieur ou inférieur, il faut saisir leur équivalent HTML :&lt;br /&gt;
* &amp;gt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;gt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;!-- Durée maximum : 30min --&amp;gt;&lt;br /&gt;
&amp;lt;formula action=&amp;quot;update&amp;quot; title=&amp;quot;Vous ne pouvez pas faire de réservation ayant une durée supérieure à 30 minutes.&amp;quot;&amp;gt;(%DURATION &amp;amp;lt;= 300)&amp;lt;/formula&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====activityTypeList====&lt;br /&gt;
Contient la liste des types d'activités qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir l'attribut [[#attribut-needs|needs]].&lt;br /&gt;
=====activityType=====&lt;br /&gt;
Contient l'identifiant d'un type d'activité.&lt;br /&gt;
&lt;br /&gt;
====resourceList====&lt;br /&gt;
Contient la liste des types de ressources qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'' et ''minQty'' pour définir le nombre de ressources maximum et minimum.&lt;br /&gt;
&lt;br /&gt;
====placeList====&lt;br /&gt;
Contient la liste définissant les places.&lt;br /&gt;
&lt;br /&gt;
=====place=====&lt;br /&gt;
Contient la définition de chaque place.&lt;br /&gt;
&lt;br /&gt;
Peut contenir des éléments ''profile'' pour indiquer un profil requis parmi plusieurs pour qu'un utilisateur puisse occuper la place.&lt;br /&gt;
&lt;br /&gt;
Doit contenir l'attribut index pour numéroter la place définie.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'', ''minQty'', ''needs'' et ''status''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''needs'' permet de définir le droit requis pour l'utilisateur effectuant la saisie afin qu'il puisse choisir l'utilisateur dans la liste des utilisateurs compatibles. typiquement, cet attribut est utilisé ainsi : ''needs=&amp;quot;bookAnyone&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''status'' permet de définir le statut de la personne à laquelle on attribut la place. Cette définition se fait en utilisant l'identifiant du statut. Exemple : ''status=&amp;quot;1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
======profile======&lt;br /&gt;
Contient l'identifiant du profile requis.&lt;br /&gt;
&lt;br /&gt;
==Wildcard==&lt;br /&gt;
Le caractère * peut être utilisé dans les éléments '''resourceType'''. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.&lt;br /&gt;
&lt;br /&gt;
Exemple avec wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple sans wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;3&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14363</id>
		<title>Configuration des réservations internes</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14363"/>
		<updated>2026-03-11T15:41:37Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Réservation par type de ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page présente le paramétrage du module de réservations interne.&lt;br /&gt;
&lt;br /&gt;
=Général=&lt;br /&gt;
La gestion du planning se fait en allant dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|1500px|center|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
==Mode de réservation==&lt;br /&gt;
===Réservations standards===&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée en mode standard est immobilisée, les réservations existantes sur cette ressource sont supprimées.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur est averti avant la confirmation de l'opération.&lt;br /&gt;
&lt;br /&gt;
===Réservation par type de ressource===&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée par type est immobilisée, les réservations ne sont pas supprimées. Elles sont automatiquement déplacées vers la prochaine ressource disponible du même type, selon l'ordre de priorité défini.&lt;br /&gt;
Si aucune autre ressource du même type n'est disponible, la réservation concernée est supprimée.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit [[Gestion-des-profils#Surpasser-la-réservation-par-type|Surpasser la réservation par type]], il est possible de forcer une réservation sur une ressource donnée en cochant la case '''Ne pas changer de ressource'''.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
==Code couleur==&lt;br /&gt;
Permet de définir quelle code couleur doit être utilisée pour l'affichage des réservations :&lt;br /&gt;
*Par utilisateur&lt;br /&gt;
:deux champs de sélection s'affichent :&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui ne concernent pas l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui ne concernent pas l'utilisateur connecté.&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui concernent l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui concernent l'utilisateur connecté.&lt;br /&gt;
:Il est possible de configurer [[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|une paire de couleurs par utilisateur]].&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-couleur-à-un-type-d'activité|Par type d'activité]]&lt;br /&gt;
&lt;br /&gt;
==Affichage possible des activités réalisées dans le planning==&lt;br /&gt;
Permet aux utilisateurs disposant du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]] d'activer le module d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|Affichage des activités réalisées]] sur la page de réservation.&lt;br /&gt;
&lt;br /&gt;
==Réservation multi-ressources==&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
==Affichage du nom des ressources dans le planning==&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
==Afficher les alertes non bloquantes lors des glisser-déposer==&lt;br /&gt;
Ce paramétrage permet d'afficher les alertes non bloquantes lors des [[Utilisation-des-réservations-internes-sur-l%27interface-web#Glisser-déposer-des-réservations|glisser-déposer des réservations]] sur le planning.&lt;br /&gt;
&lt;br /&gt;
==Autoriser la suppression partielle d'éléments de réservations== &lt;br /&gt;
Ce paramétrage permet d'afficher l'action '''Annuler cet élément du groupe de réservations''' lorsqu'un groupe de réservations est lié. Il autorise ainsi la suppression individuelle d'un élément au sein d'un groupe de réservations, sans devoir annuler l'ensemble du groupe.&lt;br /&gt;
&lt;br /&gt;
==Amplitude du planning==&lt;br /&gt;
===Heure de début et fin (fuseau X)===&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire de la structure.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' les minutes proposées doivent être des multiples de 15 (00, 15, 30, 45).&lt;br /&gt;
&lt;br /&gt;
=Limitations=&lt;br /&gt;
==Interdire d'effectuer une réservation débutant dans moins de==&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
==Limitation dans le temps des réservations==&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
==Limitation du nombre de réservations==&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Durée minimale d'une réservation==&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Durée par défaut d'une réservation==&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
=Champs visibles=&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
Les lieux cochés sont ainsi définis avec une valeur par défaut lorsqu'un vol est entré à partir d'une réservation.&lt;br /&gt;
&lt;br /&gt;
;Saisie de la destination&lt;br /&gt;
Ce champ n'est disponible que si le champ '''Lieu d'arrivée''' est activé.&lt;br /&gt;
&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
Lorsque le champ '''Lieu d'arrivée''' est désactivé, la valeur enregistrée pour '''Saisie de la destination''' est vidée.&lt;br /&gt;
&lt;br /&gt;
=Alerte sur le potentiel=&lt;br /&gt;
&lt;br /&gt;
Cette section ne s'affiche que lorsque la [[Paramétrage-des-activités#Gestion-des-potentiels|gestion des potentiels]] est activée.&lt;br /&gt;
&lt;br /&gt;
;Alerter sur le potentiel estimé restant&lt;br /&gt;
Lorsqu'il est activé, permet de vérifier le potentiel restant et [[Utilisation-des-réservations-internes-sur-l'interface-web#Potentiel-estimé-restant-insuffisant|déclencher une alerte]] si celui-ci est inférieur au seuil défini lors d'une réservation.&lt;br /&gt;
&lt;br /&gt;
;Réservations débutant dans moins de&lt;br /&gt;
Indique le délai (en jours ou semaines) avant le début des réservations pour laquelle l'alerte sur le potentiel estimé restant doit être déclenchée. Par exemple, '''7 jours''' déclenche l'alerte pour les réservations commençant dans moins d'une semaine.&lt;br /&gt;
&lt;br /&gt;
;Seuil d'alerte&lt;br /&gt;
Définit le niveau minimal de potentiel estimé restant pour lequel l'alerte sera envoyée. Si le potentiel estimé tombe en dessous de ce seuil, une alerte est générée.&lt;br /&gt;
&lt;br /&gt;
==[[Paramétrage-des-validités#Paramétrer-le-contrôle-des-validités-pour-les-activités-ou-les-réservations|Paramétrage général du contrôle des validités pour les réservations]]==&lt;br /&gt;
&lt;br /&gt;
=Sélections par défaut=&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut :&lt;br /&gt;
* lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]]&lt;br /&gt;
* lors d'une nouvelle réservation sur le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Tutoriel-vidéo|planning de la nouvelle interface]]&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut pour la seconde place (ancienne interface)==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut lorsqu'on sélectionne une personne en seconde place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut pour la seconde place (ancienne interface)''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Règles de saisies XML=&lt;br /&gt;
Les règles de saisie sont utilisées, pour le moment, uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.&lt;br /&gt;
&lt;br /&gt;
Elles sont écrites en [[Wikipedia-fr:Extensible_Markup_Language|XML]]. cf. l'exemple de règles de saisie ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Le moteur de vérification des règles s'enclenche dès qu'une réservation n'est plus &amp;quot;nue&amp;quot;, c'est à dire lorsqu'au moins un élément est renseigné (activité, ressource, etc.). Alors il vérifie quelles sont les règles compatibles et en déduit les contenus possibles dans les champs de saisie de l'interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
La compatibilité d'une règle se détermine '''par restriction''' en vérifiant dans cet ordre les informations suivantes :&lt;br /&gt;
#Activités&lt;br /&gt;
#Ressources&lt;br /&gt;
#Profils&lt;br /&gt;
#Places&lt;br /&gt;
&lt;br /&gt;
Pour chaque information, le moteur regarde si elle est renseignée. Si ce n'est pas le cas alors il passe à l'information suivante. Par exemple s'il n'y a pas encore d'activité de saisie alors il ne vérifie pas ce point-là dans la règle.&lt;br /&gt;
&lt;br /&gt;
Pour les activités et les ressources, il regarde les règles qui acceptent celles renseignées. S'il y a des règles qui pose problème alors elles sont rejetées.&lt;br /&gt;
&lt;br /&gt;
Pour les profils ce sont les personnes qui sont étudiées et ce de deux manières différentes selon si sur la saisie il y a une ressource de renseignée ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource de renseignée, le fonctionnement est similaire aux autres informations. le moteur regarde pour toutes les personnes renseignées si sur la place où elles sont, elles ont au moins un profil valide. Si une personne n'a aucun profil pour la place où il est alors la règle est rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource le fonctionnement est différent. Au lieu de faire par restriction, le moteur va faire '''par ajout'''. C'est-à-dire qu'au lieu de dire &amp;quot;il ne faut que des pilotes&amp;quot;, il va dire &amp;quot;je veux au moins un pilote&amp;quot;. Pour ce faire il va regarder les profils de chaque personne. S'il trouve une personne avec un profil valide, il accepte la règle. Si aucune des personnes ne correspond, il va faire une seconde vérification au niveau des places. Si pour cette règle l'une des places n'est pas définie, il considère que les personnes présentes vont potentiellement aller sur cette place et il ne rejette pas la règle. Par contre, si toutes les places sont définies et qu'aucune des personnes ne correspond alors la règle est rejetée.&lt;br /&gt;
&lt;br /&gt;
Pour les places, il vérifie qu'il n'y a pas trop de monde. Comme pour les profils il y a deux manières de les étudier en fonction de s'il y a une ressource ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource, il va regarder pour chaque place si le nombre de personnes autorisées n'est pas dépassé. Si sur l'une des places le nombre est dépassé alors la règle est rejetée. Cependant, si le nombre est atteint mais pas dépassé alors la règle n'est pas rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource, il va parcourir chaque place pour compter le nombre total de personnes autorisées pour cette règle. Si le nombre est dépassé alors la règle est rejetée. Comme précédemment si le nombre est simplement atteint alors la règle n'est pas rejetée.&lt;br /&gt;
&lt;br /&gt;
Si pour chaque information saisie, la règle est compatible alors elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Pour qu'une saisie soit valide, il faut qu'il existe au moins une règle de conservée, c'est à dire de compatible.&lt;br /&gt;
&lt;br /&gt;
;Exemple de règles de saisie&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ruleList&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;*(bookAlone)(bookWithInstr)&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;2&amp;lt;/activityType&amp;gt; &amp;lt;!-- Instruction --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001, F-002, F-00X --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot;&amp;gt; &amp;lt;!-- Pilote--&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;1&amp;lt;/profile&amp;gt; &amp;lt;!-- Elève --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;1&amp;quot; minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;2&amp;quot;&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;4&amp;lt;/profile&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;...&amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/ruleList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==attribut needs==&lt;br /&gt;
L'attribut needs peut être utilisé pour les éléments :&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*place&lt;br /&gt;
&lt;br /&gt;
Il contient un ou plusieurs droits qui sont requis par l'utilisateur effectuant la saisie pour que la règle puisse s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il n'y a qu'un droit de requis, il faut écrire ''needs=&amp;quot;nomDuDroit&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il y a plusieurs droits possibles, un seul étant requis, il faut commencer par le signe * puis lister chaque droit en l'entourant de parenthèses : ''needs=&amp;quot;*(bookAlone)(bookWithInstr)''.&lt;br /&gt;
&lt;br /&gt;
==Capacité maximale autorisée==&lt;br /&gt;
La taille maximale autorisée pour les règles de saisie XML est de '''16 Mo'''.  &lt;br /&gt;
Lors de la création d'un type d'activité ou lors de la modification manuelle depuis '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''',  si la taille des règles de saisie XML dépasse cette limite, un message d'alerte s'affiche indiquant que les règles de saisie XML sont saturées.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il est conseillé de vérifier le contenu XML et d'identifier d'éventuelles données obsolètes afin de les supprimer et d'alléger le fichier.  &lt;br /&gt;
Si cela ne suffit pas, il est recommandé de contacter OpenFlyers pour discuter de la possibilité d'augmenter la taille du champ.&lt;br /&gt;
&lt;br /&gt;
==ruleList==&lt;br /&gt;
Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments &amp;quot;rule&amp;quot; qui correspondent, chacun, à une règle.&lt;br /&gt;
&lt;br /&gt;
Il n'y pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
===rule===&lt;br /&gt;
Définit une règle.&lt;br /&gt;
&lt;br /&gt;
Les éléments possibles sont :&lt;br /&gt;
*formulaList&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*resourceList&lt;br /&gt;
*placeList&lt;br /&gt;
&lt;br /&gt;
Il n'y a pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
Chaque règle définit les types d'activités, types de ressources et places qui la rendent compatible.&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant définit une règle qui autorise une saisie pour le type d'activité ''Local'', les types de ressources ''F-001'' ou ''F-002'' et pour laquelle il faut exactement 1 utilisateur avec le profil ''Pilote'' à la place 0. Le statut attribué sera celui de numéro 1. De plus, La personne qui fait la réservation doit avoir le droit &amp;quot;bookAlone&amp;quot; et si elle dispose du droit &amp;quot;bookAnyone&amp;quot; alors elle verra en plus la liste des utilisateurs compatibles avec cette règle pour lui permettre d'en choisir une : &lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====formulaList====&lt;br /&gt;
Contient la liste des formules que la règle doit respecter au travers des éléments ''formula''.&lt;br /&gt;
&lt;br /&gt;
=====formula=====&lt;br /&gt;
Doit contenir les attributs :&lt;br /&gt;
*''action'' : indique l'action concernée pour la vérification de la formule. Si l'action effectuée par l'utilisateur n'est pas celle de la formule, alors la formule n'est pas vérifiée. Par contre, la règle peut quand être compatible. Il est possible de remplacer le nom d'une action par * pour indiquer que la formule doit être vérifiée quelque soit l'action.&lt;br /&gt;
*''title'' : pour indiquer le message d'alerte devant s'afficher lorsque la formule n'est pas respectée&lt;br /&gt;
&lt;br /&gt;
Le contenu de l'élément ''formula'' est une formule qui est testée lors de la saisie.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans la formule, pour les signes de comparaison supérieur ou inférieur, il faut saisir leur équivalent HTML :&lt;br /&gt;
* &amp;gt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;gt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;!-- Durée maximum : 30min --&amp;gt;&lt;br /&gt;
&amp;lt;formula action=&amp;quot;update&amp;quot; title=&amp;quot;Vous ne pouvez pas faire de réservation ayant une durée supérieure à 30 minutes.&amp;quot;&amp;gt;(%DURATION &amp;amp;lt;= 300)&amp;lt;/formula&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====activityTypeList====&lt;br /&gt;
Contient la liste des types d'activités qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir l'attribut [[#attribut-needs|needs]].&lt;br /&gt;
=====activityType=====&lt;br /&gt;
Contient l'identifiant d'un type d'activité.&lt;br /&gt;
&lt;br /&gt;
====resourceList====&lt;br /&gt;
Contient la liste des types de ressources qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'' et ''minQty'' pour définir le nombre de ressources maximum et minimum.&lt;br /&gt;
&lt;br /&gt;
====placeList====&lt;br /&gt;
Contient la liste définissant les places.&lt;br /&gt;
&lt;br /&gt;
=====place=====&lt;br /&gt;
Contient la définition de chaque place.&lt;br /&gt;
&lt;br /&gt;
Peut contenir des éléments ''profile'' pour indiquer un profil requis parmi plusieurs pour qu'un utilisateur puisse occuper la place.&lt;br /&gt;
&lt;br /&gt;
Doit contenir l'attribut index pour numéroter la place définie.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'', ''minQty'', ''needs'' et ''status''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''needs'' permet de définir le droit requis pour l'utilisateur effectuant la saisie afin qu'il puisse choisir l'utilisateur dans la liste des utilisateurs compatibles. typiquement, cet attribut est utilisé ainsi : ''needs=&amp;quot;bookAnyone&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''status'' permet de définir le statut de la personne à laquelle on attribut la place. Cette définition se fait en utilisant l'identifiant du statut. Exemple : ''status=&amp;quot;1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
======profile======&lt;br /&gt;
Contient l'identifiant du profile requis.&lt;br /&gt;
&lt;br /&gt;
==Wildcard==&lt;br /&gt;
Le caractère * peut être utilisé dans les éléments '''resourceType'''. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.&lt;br /&gt;
&lt;br /&gt;
Exemple avec wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple sans wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;3&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14334</id>
		<title>Utilisation des réservations internes sur l'interface web</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14334"/>
		<updated>2026-03-10T16:57:52Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Potentiel estimé restant insuffisant */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter l'interface web du planning de réservation d'OpenFlyers et le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
Le cartouche des éphémérides est décrit sur la page [[Éphémérides]].&lt;br /&gt;
&lt;br /&gt;
=Aspect du planning de réservation=&lt;br /&gt;
==Activité ouverte==&lt;br /&gt;
Lorsqu'une activité et en cours :&lt;br /&gt;
*Le créneau horaire correspondant est coloré en bleu vif.&lt;br /&gt;
*L'en-tête contenant le nom de la ressource sera coloré du même bleu.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-int-leg-activite-1.png]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des activités réalisées==&lt;br /&gt;
Si le paramètre [[Configuration-des-réservations-internes#Affichage-possible-des-activités-réalisées-dans-le-planning|Affichage possible des activités réalisées dans le planning]] est activé et que l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]], un interrupteur apparaît pour afficher/masquer les lignes et les créneaux des activités réalisées :&lt;br /&gt;
&lt;br /&gt;
[[File:Toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Chaque ligne de ressource et d'instructeur comporte alors deux sous-lignes :  &lt;br /&gt;
*La sous-ligne supérieure affiche les réservations.  &lt;br /&gt;
*La sous-ligne inférieure affiche les activités réalisées.&lt;br /&gt;
&lt;br /&gt;
[[File:Enabled toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Les informations des activités visibles pour les utilisateurs sont les mêmes que pour les réservations.&lt;br /&gt;
&lt;br /&gt;
La visibilité des informations dépend des droits [[Gestion-des-profils#Voir-les-noms-sur-les-réservations,-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations, les activités réalisées et la liste des utilisateurs]] et [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Affichage des images des pilotes sur le menu contextuel==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les images des personnes associées à une réservation sur le menu contextuel lorsqu'on survole ou effectue un clic droit sur une réservation dans le planning.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-images-des-pilotes-sur-le-menu-contextuel|Voir les images des pilotes sur le menu contextuel]].&lt;br /&gt;
&lt;br /&gt;
[[File:images-des-pilots-sur-la-réservation.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des noms d'activités sur les réservations et les activités réalisées==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les types d'activités associés à une réservation directement sur l'affichage de la réservation ou de l'activité réalisée dans le planning sans avoir besoin de la survoler.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Couleur d'un créneau de réservation==&lt;br /&gt;
===[[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|Couleur Par utilisateur]]===&lt;br /&gt;
===[[Gestion-des-types-d%27activités#Affecter-une-couleur-à-un-type-d'activité|Couleur par type d'activité]]===&lt;br /&gt;
La couleur reflète le niveau de spécificité des activités : les activités plus spécifiques sont priorisées dans le choix de la couleur.&lt;br /&gt;
&lt;br /&gt;
;Principe&lt;br /&gt;
*Les activités les plus courantes sont positionnées dans les premiers rangs&lt;br /&gt;
*Les activités les plus spécifiques sont positionnées dans les derniers rangs&lt;br /&gt;
*Lorsqu'une couleur spécifique doit être appliquée, elle doit provenir des activités les plus spécifiques&lt;br /&gt;
&lt;br /&gt;
;Règles&lt;br /&gt;
*Ordonnancement : du commun vers le spécifique&lt;br /&gt;
*Couleur : la couleur finale d'un créneau reflète la spécificité des activités qui le composent&lt;br /&gt;
&lt;br /&gt;
==Créneaux horaires==&lt;br /&gt;
Lorsqu'une réservation ne comporte pas de nom, les intitulés des activités apparaissent sur le créneau de la réservation.&lt;br /&gt;
&lt;br /&gt;
==Places disponibles==&lt;br /&gt;
Lorsqu'une ou plusieurs places sont indiquées comme disponibles pour une réservation, alors un pictogramme représentant un siège apparaît dans le créneau correspond à cette réservation. &lt;br /&gt;
&lt;br /&gt;
Le nombre de places disponibles y est précisé : +1, +2, ou +3.&lt;br /&gt;
&lt;br /&gt;
[[File:places-disponibles.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Planning par type d'activité==&lt;br /&gt;
Lorsqu'un type d'activité est sélectionné, seuls les créneaux horaires réservés avec le type d'activité sélectionné sont affichés. En revanche, les autres plages horaires réservées sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
[[File:planning_By_Activity_Type.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Positionner automatiquement les activités d’un programme de formation==&lt;br /&gt;
Si la plateforme dispose du droit [[Gestion-des-profils#Réservation-de-programmes|réservation de programmes]] et des programmes de formation définis, lorsqu'on survole un créneau horaire dans le planning, un menu contextuel s'affiche, proposant les actions suivantes :&lt;br /&gt;
*'''Ajouter une réservation...''': Cette option permet de réaliser une réservation simple en affichant le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
*'''Ajouter un programme...''': En choisissant cette option, un pop-up s'affiche, permettant de sélectionner un programme de formation à ajouter au planning pour un utilisateur/client spécifique. En cliquant sur &amp;quot;Ajouter&amp;quot;, des créneaux de réservation sont automatiquement générés si des ressources compatibles avec le type d'activité sont disponibles. Dans le cas contraire, ces créneaux sont placés dans une nouvelle ligne appelée &amp;quot;Activité non placée&amp;quot;. Cette ligne est positionnée au début du planning, juste après la barre des heures, et reste fixe en haut de la page lorsque l'on fait défiler la page.&lt;br /&gt;
&lt;br /&gt;
En survolant l'un des créneaux créés, tous les créneaux des réservations et des activités non placées du même programme s'affichent avec un effet de mise en surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer tous les créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un créneau parmi ceux déjà créés, il est nécessaire d'activer l'interrupteur [[Configuration-des-réservations-internes#Autoriser-la-suppression-partielle-d'éléments-de-réservations|Autoriser la suppression partielle d'éléments de réservations]].&lt;br /&gt;
&lt;br /&gt;
Une fois ce paramètre activé, l'action '''Annuler cet élément du groupe de réservations''' devient disponible. En cliquant sur cette action, le créneau sélectionné sera supprimé du groupe de réservations.&lt;br /&gt;
&lt;br /&gt;
Pour positionner une activité non placée, il est possible de soit la [[#Glisser-déposer-des-réservations|glisser-déposer]]  à l'emplacement souhaité dans le planning, soit de cliquer sur le créneau pour afficher le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
&lt;br /&gt;
==Potentiel estimé restant insuffisant==&lt;br /&gt;
;prérequis&lt;br /&gt;
*Configurer [[Configuration-des-réservations-internes#Alerte-sur-le-potentiel|l'alerte sur le potentiel]]&lt;br /&gt;
&lt;br /&gt;
;Fonctionnement&lt;br /&gt;
Lorsque le potentiel estimé restant d4une ressource risque de tomber sous le seuil critique à cause d4une réservation, un avertissement orange apparaît : &amp;lt;code&amp;gt;Le potentiel estimé restant à l'issue de cette réservation (XX:xx) est inférieur au seuil minimum requis (YY:yy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ressource n'est pas disponible==&lt;br /&gt;
Si la resource n'est pas disponible sur des plages horaires, ils sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
Si la ressource n'est pas disponible à certains créneaux horaires qui ne sont pas affichés sur le planning, et qu'une réservation est saisie sur plusieurs jours, alors un message d'alerte s'affiche pour indiquer à partir de quelle date et heure la ressource devient indisponible.&lt;br /&gt;
&lt;br /&gt;
Le message d’erreur affiché n’est pas bloquant si l’utilisateur possède le droit [[Gestion-des-profils#Surpasser-l'indisponibilité-des-ressources|Surpasser l'indisponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
Pour modifier la disponibilité de la ressource, il convient de suivre la procédure [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-ressources|Gérer la disponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
=Créer une réservation avec une activité antérieure/postérieure sans ressource matérielle=&lt;br /&gt;
;prérequis&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
&lt;br /&gt;
;Fonctionnement&lt;br /&gt;
Dans le formulaire de réservation, lorsque le type d'activité sélectionné possède une activité antérieure/postérieure configurée, des champs supplémentaires apparaissent.&lt;br /&gt;
Ces champs reprennent le nom des types d'activité configurés et permettent de définir une durée spécifique pour chacune d'elles.&lt;br /&gt;
&lt;br /&gt;
[[File:Booking-Form-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Lors de la création de la réservation, le système génère automatiquement trois blocs distincts :&lt;br /&gt;
*Bloc central : la réservation principale (activité normale), affichée seule sur la ligne de la ressource et au centre sur la ligne de l'utilisateur.&lt;br /&gt;
*Bloc antérieur : une réservation pour l'instructeur et l'élève uniquement, sans ressource, positionnée avant l'activité principale (exp: briefing).&lt;br /&gt;
*Bloc postérieur : une réservation pour l’instructeur et l'élève uniquement, sans ressource, positionnée après l'activité principale (exp: débriefing).&lt;br /&gt;
&lt;br /&gt;
Le moteur d'affichage met en évidence les liens entre les trois blocs de réservation (activité antérieure, activité principale, activité postérieure) à l'aide d'un effet de surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer l'ensemble des créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Il est impossible de réserver l'instructeur ou l'élève pendant qu'ils participent à une activité antérieure ou postérieure. En revanche, la ressource matérielle peut être réservée pendant ces périodes.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran tactile=&lt;br /&gt;
==Appui court==&lt;br /&gt;
L'appui court au-dessus d'une réservation affiche le menu contextuel.&lt;br /&gt;
&lt;br /&gt;
==Appui suivi d'un déplacement==&lt;br /&gt;
L'appui sui d'un déplacement peu de temps après l'appui fait déplacer tout le planning.&lt;br /&gt;
&lt;br /&gt;
==Appui long==&lt;br /&gt;
L'appui long au-dessus d'une réservation sans bouger le doigt permet de [[#Glisser-déposer-des-réservations|glisser-déposer]] un créneau de réservation.&lt;br /&gt;
&lt;br /&gt;
==Double-clic==&lt;br /&gt;
Double-clic au-dessus d'une réservation permet d'afficher le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran non tactile=&lt;br /&gt;
==Clic==&lt;br /&gt;
Un clic sur un créneau vide du planning pour effectuer '''une nouvelle réservation''', ou un clic sur un créneau réservé pour '''modifier une réservation'''.&lt;br /&gt;
&lt;br /&gt;
==Survol et Clic droit==&lt;br /&gt;
Un '''Survol'''/'''Clic droit''' sur une réservation affiche le menu contextuel avec les options suivantes :&lt;br /&gt;
&lt;br /&gt;
[[File:Contextual menu.png|400px]]&lt;br /&gt;
&lt;br /&gt;
;- Annuler/Modifier la réservation&lt;br /&gt;
&lt;br /&gt;
;- Saisir le vol&lt;br /&gt;
&lt;br /&gt;
;- Préparer un vol&lt;br /&gt;
*OpenFlyers est couplé avec [[Airmate]] pour aider les pilotes à préparer leur vol. Ainsi, depuis OpenFlyers il est possible de :&lt;br /&gt;
**coupler une réservation avec une préparation de vol Airmate en survolant la réservation concernée pour faire apparaitre le menu contextuel, puis de sélectionner l'item de menu '''Préparer le vol...'''&lt;br /&gt;
**créer un nouveau vol dans Airmate en cliquant sur l'item de menu '''Préparation vol &amp;gt; Préparer un vol'''&lt;br /&gt;
*Voir la page [[Airmate]] pour les détails concernant l'inscription à Airmate et la synchronisation réservation/vol.&lt;br /&gt;
&lt;br /&gt;
=Glisser-déposer des réservations=&lt;br /&gt;
La fonction de glisser-déposer est active pour tout utilisateur qui dispose du droit de réservation pour lui-même. Dans ce cas, il ne peut effectuer cette opération que pour les réservations qui le concerne.&lt;br /&gt;
&lt;br /&gt;
;Écran non tactile&lt;br /&gt;
*Survoler la réservation qui a besoin d'être déplacée&lt;br /&gt;
Le pointeur de la souris se transforme en &amp;quot;4 flèches&amp;quot;.&lt;br /&gt;
*Appuyer sur le bouton gauche de la souris pour sélectionner la réservation&lt;br /&gt;
*Déplacer la souris tout en maintenant le bouton gauche appuyé afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le bouton gauche afin que la réservation soit mise à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
;Écran tactile&lt;br /&gt;
*Maintenir un appui prolongé avec le doigt sur une réservation qui a besoin d'être déplacée&lt;br /&gt;
Un pictogramme &amp;quot;4 flèches&amp;quot; s'affiche en haut à gauche du rectangle symbolisant la réservation&lt;br /&gt;
*Déplacer son doigt afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le doigt afin que la réservation se mette à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un utilisateur disposant du droit d'effectuer des réservations pour des tiers peut procéder de la même façon pour toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
;Le déplacement est soumis aux règles suivantes :  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;utlisateur&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;utlisateur&amp;quot;.  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;ressource&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;ressource&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
;Lors du déplacement d'une réservation :&lt;br /&gt;
* si une alerte bloquante est générée elle est affichée et empêche le déplacement de la réservation&lt;br /&gt;
* si une alerte non bloquante est générée, elle n'est affichée que si le paramètre [[Configuration#Afficher-les-alertes-non-bloquantes-lors-des-glisser-déposer|Afficher les alertes non bloquantes lors des glisser-déposer]] est activé.&lt;br /&gt;
&lt;br /&gt;
=Formulaire de réservation=&lt;br /&gt;
Ce formulaire est accessible via plusieurs actions :  &lt;br /&gt;
* Un clic sur un créneau vide du planning pour effectuer une nouvelle réservation, ou un clic sur un créneau réservé pour modifier une réservation.  &lt;br /&gt;
* Via l'action '''&amp;quot;Planning &amp;gt; Planning &amp;gt; Réserver&amp;quot;'''.  &lt;br /&gt;
* En survolant un créneau réservé et en cliquant sur '''&amp;quot;Modifier la réservation&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Formulaire_reservation_ancienne_interface.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
&lt;br /&gt;
Il est possible de cocher automatiquement un type d'activité sur le formulaire de réservation :&lt;br /&gt;
* Pour définir le type par défaut lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place, [[Configuration#Type-d'activité-par-défaut|suivre cette procédure de paramétrage]]&lt;br /&gt;
* Pour définir le type par défaut lorsqu'on sélectionne une personne en seconde place, [[Configuration#Type-d'activité-par-défaut-pour-la-seconde-place-(ancienne-interface)|suivre cette procédure de paramétrage]]&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14328</id>
		<title>Utilisation des réservations internes sur l'interface web</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14328"/>
		<updated>2026-02-28T14:24:42Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Potentiel estimé restant insuffisant */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter l'interface web du planning de réservation d'OpenFlyers et le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
Le cartouche des éphémérides est décrit sur la page [[Éphémérides]].&lt;br /&gt;
&lt;br /&gt;
=Aspect du planning de réservation=&lt;br /&gt;
==Activité ouverte==&lt;br /&gt;
Lorsqu'une activité et en cours :&lt;br /&gt;
*Le créneau horaire correspondant est coloré en bleu vif.&lt;br /&gt;
*L'en-tête contenant le nom de la ressource sera coloré du même bleu.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-int-leg-activite-1.png]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des activités réalisées==&lt;br /&gt;
Si le paramètre [[Configuration-des-réservations-internes#Affichage-possible-des-activités-réalisées-dans-le-planning|Affichage possible des activités réalisées dans le planning]] est activé et que l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]], un interrupteur apparaît pour afficher/masquer les lignes et les créneaux des activités réalisées :&lt;br /&gt;
&lt;br /&gt;
[[File:Toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Chaque ligne de ressource et d'instructeur comporte alors deux sous-lignes :  &lt;br /&gt;
*La sous-ligne supérieure affiche les réservations.  &lt;br /&gt;
*La sous-ligne inférieure affiche les activités réalisées.&lt;br /&gt;
&lt;br /&gt;
[[File:Enabled toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Les informations des activités visibles pour les utilisateurs sont les mêmes que pour les réservations.&lt;br /&gt;
&lt;br /&gt;
La visibilité des informations dépend des droits [[Gestion-des-profils#Voir-les-noms-sur-les-réservations,-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations, les activités réalisées et la liste des utilisateurs]] et [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Affichage des images des pilotes sur le menu contextuel==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les images des personnes associées à une réservation sur le menu contextuel lorsqu'on survole ou effectue un clic droit sur une réservation dans le planning.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-images-des-pilotes-sur-le-menu-contextuel|Voir les images des pilotes sur le menu contextuel]].&lt;br /&gt;
&lt;br /&gt;
[[File:images-des-pilots-sur-la-réservation.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des noms d'activités sur les réservations et les activités réalisées==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les types d'activités associés à une réservation directement sur l'affichage de la réservation ou de l'activité réalisée dans le planning sans avoir besoin de la survoler.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Couleur d'un créneau de réservation==&lt;br /&gt;
===[[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|Couleur Par utilisateur]]===&lt;br /&gt;
===[[Gestion-des-types-d%27activités#Affecter-une-couleur-à-un-type-d'activité|Couleur par type d'activité]]===&lt;br /&gt;
La couleur reflète le niveau de spécificité des activités : les activités plus spécifiques sont priorisées dans le choix de la couleur.&lt;br /&gt;
&lt;br /&gt;
;Principe&lt;br /&gt;
*Les activités les plus courantes sont positionnées dans les premiers rangs&lt;br /&gt;
*Les activités les plus spécifiques sont positionnées dans les derniers rangs&lt;br /&gt;
*Lorsqu'une couleur spécifique doit être appliquée, elle doit provenir des activités les plus spécifiques&lt;br /&gt;
&lt;br /&gt;
;Règles&lt;br /&gt;
*Ordonnancement : du commun vers le spécifique&lt;br /&gt;
*Couleur : la couleur finale d'un créneau reflète la spécificité des activités qui le composent&lt;br /&gt;
&lt;br /&gt;
==Créneaux horaires==&lt;br /&gt;
Lorsqu'une réservation ne comporte pas de nom, les intitulés des activités apparaissent sur le créneau de la réservation.&lt;br /&gt;
&lt;br /&gt;
==Places disponibles==&lt;br /&gt;
Lorsqu'une ou plusieurs places sont indiquées comme disponibles pour une réservation, alors un pictogramme représentant un siège apparaît dans le créneau correspond à cette réservation. &lt;br /&gt;
&lt;br /&gt;
Le nombre de places disponibles y est précisé : +1, +2, ou +3.&lt;br /&gt;
&lt;br /&gt;
[[File:places-disponibles.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Planning par type d'activité==&lt;br /&gt;
Lorsqu'un type d'activité est sélectionné, seuls les créneaux horaires réservés avec le type d'activité sélectionné sont affichés. En revanche, les autres plages horaires réservées sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
[[File:planning_By_Activity_Type.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Positionner automatiquement les activités d’un programme de formation==&lt;br /&gt;
Si la plateforme dispose du droit [[Gestion-des-profils#Réservation-de-programmes|réservation de programmes]] et des programmes de formation définis, lorsqu'on survole un créneau horaire dans le planning, un menu contextuel s'affiche, proposant les actions suivantes :&lt;br /&gt;
*'''Ajouter une réservation...''': Cette option permet de réaliser une réservation simple en affichant le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
*'''Ajouter un programme...''': En choisissant cette option, un pop-up s'affiche, permettant de sélectionner un programme de formation à ajouter au planning pour un utilisateur/client spécifique. En cliquant sur &amp;quot;Ajouter&amp;quot;, des créneaux de réservation sont automatiquement générés si des ressources compatibles avec le type d'activité sont disponibles. Dans le cas contraire, ces créneaux sont placés dans une nouvelle ligne appelée &amp;quot;Activité non placée&amp;quot;. Cette ligne est positionnée au début du planning, juste après la barre des heures, et reste fixe en haut de la page lorsque l'on fait défiler la page.&lt;br /&gt;
&lt;br /&gt;
En survolant l'un des créneaux créés, tous les créneaux des réservations et des activités non placées du même programme s'affichent avec un effet de mise en surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer tous les créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un créneau parmi ceux déjà créés, il est nécessaire d'activer l'interrupteur [[Configuration-des-réservations-internes#Autoriser-la-suppression-partielle-d'éléments-de-réservations|Autoriser la suppression partielle d'éléments de réservations]].&lt;br /&gt;
&lt;br /&gt;
Une fois ce paramètre activé, l'action '''Annuler cet élément du groupe de réservations''' devient disponible. En cliquant sur cette action, le créneau sélectionné sera supprimé du groupe de réservations.&lt;br /&gt;
&lt;br /&gt;
Pour positionner une activité non placée, il est possible de soit la [[#Glisser-déposer-des-réservations|glisser-déposer]]  à l'emplacement souhaité dans le planning, soit de cliquer sur le créneau pour afficher le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
&lt;br /&gt;
==Potentiel estimé restant insuffisant==&lt;br /&gt;
;prérequis&lt;br /&gt;
*Configurer [[Configuration-des-réservations-internes#Alerte-sur-le-potentiel|l'alerte sur le potentiel]]&lt;br /&gt;
&lt;br /&gt;
;Fonctionnement&lt;br /&gt;
Lorsque le potentiel estimé restant d4une ressource risque de tomber sous le seuil critique à cause d4une réservation, un avertissement orange apparaît : &amp;lt;code&amp;gt;Le potentiel estimé restant à l4issue de cette réservation (XX:xx) est inférieur au seuil minimum requis (YY:yy)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ressource n'est pas disponible==&lt;br /&gt;
Si la resource n'est pas disponible sur des plages horaires, ils sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
Si la ressource n'est pas disponible à certains créneaux horaires qui ne sont pas affichés sur le planning, et qu'une réservation est saisie sur plusieurs jours, alors un message d'alerte s'affiche pour indiquer à partir de quelle date et heure la ressource devient indisponible.&lt;br /&gt;
&lt;br /&gt;
Le message d’erreur affiché n’est pas bloquant si l’utilisateur possède le droit [[Gestion-des-profils#Surpasser-l'indisponibilité-des-ressources|Surpasser l'indisponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
Pour modifier la disponibilité de la ressource, il convient de suivre la procédure [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-ressources|Gérer la disponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
=Créer une réservation avec une activité antérieure/postérieure sans ressource matérielle=&lt;br /&gt;
;prérequis&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
&lt;br /&gt;
;Fonctionnement&lt;br /&gt;
Dans le formulaire de réservation, lorsque le type d'activité sélectionné possède une activité antérieure/postérieure configurée, des champs supplémentaires apparaissent.&lt;br /&gt;
Ces champs reprennent le nom des types d'activité configurés et permettent de définir une durée spécifique pour chacune d'elles.&lt;br /&gt;
&lt;br /&gt;
[[File:Booking-Form-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Lors de la création de la réservation, le système génère automatiquement trois blocs distincts :&lt;br /&gt;
*Bloc central : la réservation principale (activité normale), affichée seule sur la ligne de la ressource et au centre sur la ligne de l'utilisateur.&lt;br /&gt;
*Bloc antérieur : une réservation pour l'instructeur et l'élève uniquement, sans ressource, positionnée avant l'activité principale (exp: briefing).&lt;br /&gt;
*Bloc postérieur : une réservation pour l’instructeur et l'élève uniquement, sans ressource, positionnée après l'activité principale (exp: débriefing).&lt;br /&gt;
&lt;br /&gt;
Le moteur d'affichage met en évidence les liens entre les trois blocs de réservation (activité antérieure, activité principale, activité postérieure) à l'aide d'un effet de surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer l'ensemble des créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Il est impossible de réserver l'instructeur ou l'élève pendant qu'ils participent à une activité antérieure ou postérieure. En revanche, la ressource matérielle peut être réservée pendant ces périodes.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran tactile=&lt;br /&gt;
==Appui court==&lt;br /&gt;
L'appui court au-dessus d'une réservation affiche le menu contextuel.&lt;br /&gt;
&lt;br /&gt;
==Appui suivi d'un déplacement==&lt;br /&gt;
L'appui sui d'un déplacement peu de temps après l'appui fait déplacer tout le planning.&lt;br /&gt;
&lt;br /&gt;
==Appui long==&lt;br /&gt;
L'appui long au-dessus d'une réservation sans bouger le doigt permet de [[#Glisser-déposer-des-réservations|glisser-déposer]] un créneau de réservation.&lt;br /&gt;
&lt;br /&gt;
==Double-clic==&lt;br /&gt;
Double-clic au-dessus d'une réservation permet d'afficher le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran non tactile=&lt;br /&gt;
==Clic==&lt;br /&gt;
Un clic sur un créneau vide du planning pour effectuer '''une nouvelle réservation''', ou un clic sur un créneau réservé pour '''modifier une réservation'''.&lt;br /&gt;
&lt;br /&gt;
==Survol et Clic droit==&lt;br /&gt;
Un '''Survol'''/'''Clic droit''' sur une réservation affiche le menu contextuel avec les options suivantes :&lt;br /&gt;
&lt;br /&gt;
[[File:Contextual menu.png|400px]]&lt;br /&gt;
&lt;br /&gt;
;- Annuler/Modifier la réservation&lt;br /&gt;
&lt;br /&gt;
;- Saisir le vol&lt;br /&gt;
&lt;br /&gt;
;- Préparer un vol&lt;br /&gt;
*OpenFlyers est couplé avec [[Airmate]] pour aider les pilotes à préparer leur vol. Ainsi, depuis OpenFlyers il est possible de :&lt;br /&gt;
**coupler une réservation avec une préparation de vol Airmate en survolant la réservation concernée pour faire apparaitre le menu contextuel, puis de sélectionner l'item de menu '''Préparer le vol...'''&lt;br /&gt;
**créer un nouveau vol dans Airmate en cliquant sur l'item de menu '''Préparation vol &amp;gt; Préparer un vol'''&lt;br /&gt;
*Voir la page [[Airmate]] pour les détails concernant l'inscription à Airmate et la synchronisation réservation/vol.&lt;br /&gt;
&lt;br /&gt;
=Glisser-déposer des réservations=&lt;br /&gt;
La fonction de glisser-déposer est active pour tout utilisateur qui dispose du droit de réservation pour lui-même. Dans ce cas, il ne peut effectuer cette opération que pour les réservations qui le concerne.&lt;br /&gt;
&lt;br /&gt;
;Écran non tactile&lt;br /&gt;
*Survoler la réservation qui a besoin d'être déplacée&lt;br /&gt;
Le pointeur de la souris se transforme en &amp;quot;4 flèches&amp;quot;.&lt;br /&gt;
*Appuyer sur le bouton gauche de la souris pour sélectionner la réservation&lt;br /&gt;
*Déplacer la souris tout en maintenant le bouton gauche appuyé afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le bouton gauche afin que la réservation soit mise à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
;Écran tactile&lt;br /&gt;
*Maintenir un appui prolongé avec le doigt sur une réservation qui a besoin d'être déplacée&lt;br /&gt;
Un pictogramme &amp;quot;4 flèches&amp;quot; s'affiche en haut à gauche du rectangle symbolisant la réservation&lt;br /&gt;
*Déplacer son doigt afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le doigt afin que la réservation se mette à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un utilisateur disposant du droit d'effectuer des réservations pour des tiers peut procéder de la même façon pour toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
;Le déplacement est soumis aux règles suivantes :  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;utlisateur&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;utlisateur&amp;quot;.  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;ressource&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;ressource&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
;Lors du déplacement d'une réservation :&lt;br /&gt;
* si une alerte bloquante est générée elle est affichée et empêche le déplacement de la réservation&lt;br /&gt;
* si une alerte non bloquante est générée, elle n'est affichée que si le paramètre [[Configuration#Afficher-les-alertes-non-bloquantes-lors-des-glisser-déposer|Afficher les alertes non bloquantes lors des glisser-déposer]] est activé.&lt;br /&gt;
&lt;br /&gt;
=Formulaire de réservation=&lt;br /&gt;
Ce formulaire est accessible via plusieurs actions :  &lt;br /&gt;
* Un clic sur un créneau vide du planning pour effectuer une nouvelle réservation, ou un clic sur un créneau réservé pour modifier une réservation.  &lt;br /&gt;
* Via l'action '''&amp;quot;Planning &amp;gt; Planning &amp;gt; Réserver&amp;quot;'''.  &lt;br /&gt;
* En survolant un créneau réservé et en cliquant sur '''&amp;quot;Modifier la réservation&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Formulaire_reservation_ancienne_interface.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
&lt;br /&gt;
Il est possible de cocher automatiquement un type d'activité sur le formulaire de réservation :&lt;br /&gt;
* Pour définir le type par défaut lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place, [[Configuration#Type-d'activité-par-défaut|suivre cette procédure de paramétrage]]&lt;br /&gt;
* Pour définir le type par défaut lorsqu'on sélectionne une personne en seconde place, [[Configuration#Type-d'activité-par-défaut-pour-la-seconde-place-(ancienne-interface)|suivre cette procédure de paramétrage]]&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14327</id>
		<title>Utilisation des réservations internes sur l'interface web</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14327"/>
		<updated>2026-02-28T14:15:04Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Positionner automatiquement les activités d’un programme de formation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter l'interface web du planning de réservation d'OpenFlyers et le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
Le cartouche des éphémérides est décrit sur la page [[Éphémérides]].&lt;br /&gt;
&lt;br /&gt;
=Aspect du planning de réservation=&lt;br /&gt;
==Activité ouverte==&lt;br /&gt;
Lorsqu'une activité et en cours :&lt;br /&gt;
*Le créneau horaire correspondant est coloré en bleu vif.&lt;br /&gt;
*L'en-tête contenant le nom de la ressource sera coloré du même bleu.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-int-leg-activite-1.png]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des activités réalisées==&lt;br /&gt;
Si le paramètre [[Configuration-des-réservations-internes#Affichage-possible-des-activités-réalisées-dans-le-planning|Affichage possible des activités réalisées dans le planning]] est activé et que l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]], un interrupteur apparaît pour afficher/masquer les lignes et les créneaux des activités réalisées :&lt;br /&gt;
&lt;br /&gt;
[[File:Toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Chaque ligne de ressource et d'instructeur comporte alors deux sous-lignes :  &lt;br /&gt;
*La sous-ligne supérieure affiche les réservations.  &lt;br /&gt;
*La sous-ligne inférieure affiche les activités réalisées.&lt;br /&gt;
&lt;br /&gt;
[[File:Enabled toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Les informations des activités visibles pour les utilisateurs sont les mêmes que pour les réservations.&lt;br /&gt;
&lt;br /&gt;
La visibilité des informations dépend des droits [[Gestion-des-profils#Voir-les-noms-sur-les-réservations,-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations, les activités réalisées et la liste des utilisateurs]] et [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Affichage des images des pilotes sur le menu contextuel==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les images des personnes associées à une réservation sur le menu contextuel lorsqu'on survole ou effectue un clic droit sur une réservation dans le planning.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-images-des-pilotes-sur-le-menu-contextuel|Voir les images des pilotes sur le menu contextuel]].&lt;br /&gt;
&lt;br /&gt;
[[File:images-des-pilots-sur-la-réservation.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des noms d'activités sur les réservations et les activités réalisées==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les types d'activités associés à une réservation directement sur l'affichage de la réservation ou de l'activité réalisée dans le planning sans avoir besoin de la survoler.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Couleur d'un créneau de réservation==&lt;br /&gt;
===[[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|Couleur Par utilisateur]]===&lt;br /&gt;
===[[Gestion-des-types-d%27activités#Affecter-une-couleur-à-un-type-d'activité|Couleur par type d'activité]]===&lt;br /&gt;
La couleur reflète le niveau de spécificité des activités : les activités plus spécifiques sont priorisées dans le choix de la couleur.&lt;br /&gt;
&lt;br /&gt;
;Principe&lt;br /&gt;
*Les activités les plus courantes sont positionnées dans les premiers rangs&lt;br /&gt;
*Les activités les plus spécifiques sont positionnées dans les derniers rangs&lt;br /&gt;
*Lorsqu'une couleur spécifique doit être appliquée, elle doit provenir des activités les plus spécifiques&lt;br /&gt;
&lt;br /&gt;
;Règles&lt;br /&gt;
*Ordonnancement : du commun vers le spécifique&lt;br /&gt;
*Couleur : la couleur finale d'un créneau reflète la spécificité des activités qui le composent&lt;br /&gt;
&lt;br /&gt;
==Créneaux horaires==&lt;br /&gt;
Lorsqu'une réservation ne comporte pas de nom, les intitulés des activités apparaissent sur le créneau de la réservation.&lt;br /&gt;
&lt;br /&gt;
==Places disponibles==&lt;br /&gt;
Lorsqu'une ou plusieurs places sont indiquées comme disponibles pour une réservation, alors un pictogramme représentant un siège apparaît dans le créneau correspond à cette réservation. &lt;br /&gt;
&lt;br /&gt;
Le nombre de places disponibles y est précisé : +1, +2, ou +3.&lt;br /&gt;
&lt;br /&gt;
[[File:places-disponibles.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Planning par type d'activité==&lt;br /&gt;
Lorsqu'un type d'activité est sélectionné, seuls les créneaux horaires réservés avec le type d'activité sélectionné sont affichés. En revanche, les autres plages horaires réservées sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
[[File:planning_By_Activity_Type.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Positionner automatiquement les activités d’un programme de formation==&lt;br /&gt;
Si la plateforme dispose du droit [[Gestion-des-profils#Réservation-de-programmes|réservation de programmes]] et des programmes de formation définis, lorsqu'on survole un créneau horaire dans le planning, un menu contextuel s'affiche, proposant les actions suivantes :&lt;br /&gt;
*'''Ajouter une réservation...''': Cette option permet de réaliser une réservation simple en affichant le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
*'''Ajouter un programme...''': En choisissant cette option, un pop-up s'affiche, permettant de sélectionner un programme de formation à ajouter au planning pour un utilisateur/client spécifique. En cliquant sur &amp;quot;Ajouter&amp;quot;, des créneaux de réservation sont automatiquement générés si des ressources compatibles avec le type d'activité sont disponibles. Dans le cas contraire, ces créneaux sont placés dans une nouvelle ligne appelée &amp;quot;Activité non placée&amp;quot;. Cette ligne est positionnée au début du planning, juste après la barre des heures, et reste fixe en haut de la page lorsque l'on fait défiler la page.&lt;br /&gt;
&lt;br /&gt;
En survolant l'un des créneaux créés, tous les créneaux des réservations et des activités non placées du même programme s'affichent avec un effet de mise en surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer tous les créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un créneau parmi ceux déjà créés, il est nécessaire d'activer l'interrupteur [[Configuration-des-réservations-internes#Autoriser-la-suppression-partielle-d'éléments-de-réservations|Autoriser la suppression partielle d'éléments de réservations]].&lt;br /&gt;
&lt;br /&gt;
Une fois ce paramètre activé, l'action '''Annuler cet élément du groupe de réservations''' devient disponible. En cliquant sur cette action, le créneau sélectionné sera supprimé du groupe de réservations.&lt;br /&gt;
&lt;br /&gt;
Pour positionner une activité non placée, il est possible de soit la [[#Glisser-déposer-des-réservations|glisser-déposer]]  à l'emplacement souhaité dans le planning, soit de cliquer sur le créneau pour afficher le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
&lt;br /&gt;
==Potentiel estimé restant insuffisant==&lt;br /&gt;
&lt;br /&gt;
==Ressource n'est pas disponible==&lt;br /&gt;
Si la resource n'est pas disponible sur des plages horaires, ils sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
Si la ressource n'est pas disponible à certains créneaux horaires qui ne sont pas affichés sur le planning, et qu'une réservation est saisie sur plusieurs jours, alors un message d'alerte s'affiche pour indiquer à partir de quelle date et heure la ressource devient indisponible.&lt;br /&gt;
&lt;br /&gt;
Le message d’erreur affiché n’est pas bloquant si l’utilisateur possède le droit [[Gestion-des-profils#Surpasser-l'indisponibilité-des-ressources|Surpasser l'indisponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
Pour modifier la disponibilité de la ressource, il convient de suivre la procédure [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-ressources|Gérer la disponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
=Créer une réservation avec une activité antérieure/postérieure sans ressource matérielle=&lt;br /&gt;
;prérequis&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
&lt;br /&gt;
;Fonctionnement&lt;br /&gt;
Dans le formulaire de réservation, lorsque le type d'activité sélectionné possède une activité antérieure/postérieure configurée, des champs supplémentaires apparaissent.&lt;br /&gt;
Ces champs reprennent le nom des types d'activité configurés et permettent de définir une durée spécifique pour chacune d'elles.&lt;br /&gt;
&lt;br /&gt;
[[File:Booking-Form-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Lors de la création de la réservation, le système génère automatiquement trois blocs distincts :&lt;br /&gt;
*Bloc central : la réservation principale (activité normale), affichée seule sur la ligne de la ressource et au centre sur la ligne de l'utilisateur.&lt;br /&gt;
*Bloc antérieur : une réservation pour l'instructeur et l'élève uniquement, sans ressource, positionnée avant l'activité principale (exp: briefing).&lt;br /&gt;
*Bloc postérieur : une réservation pour l’instructeur et l'élève uniquement, sans ressource, positionnée après l'activité principale (exp: débriefing).&lt;br /&gt;
&lt;br /&gt;
Le moteur d'affichage met en évidence les liens entre les trois blocs de réservation (activité antérieure, activité principale, activité postérieure) à l'aide d'un effet de surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer l'ensemble des créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Il est impossible de réserver l'instructeur ou l'élève pendant qu'ils participent à une activité antérieure ou postérieure. En revanche, la ressource matérielle peut être réservée pendant ces périodes.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran tactile=&lt;br /&gt;
==Appui court==&lt;br /&gt;
L'appui court au-dessus d'une réservation affiche le menu contextuel.&lt;br /&gt;
&lt;br /&gt;
==Appui suivi d'un déplacement==&lt;br /&gt;
L'appui sui d'un déplacement peu de temps après l'appui fait déplacer tout le planning.&lt;br /&gt;
&lt;br /&gt;
==Appui long==&lt;br /&gt;
L'appui long au-dessus d'une réservation sans bouger le doigt permet de [[#Glisser-déposer-des-réservations|glisser-déposer]] un créneau de réservation.&lt;br /&gt;
&lt;br /&gt;
==Double-clic==&lt;br /&gt;
Double-clic au-dessus d'une réservation permet d'afficher le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran non tactile=&lt;br /&gt;
==Clic==&lt;br /&gt;
Un clic sur un créneau vide du planning pour effectuer '''une nouvelle réservation''', ou un clic sur un créneau réservé pour '''modifier une réservation'''.&lt;br /&gt;
&lt;br /&gt;
==Survol et Clic droit==&lt;br /&gt;
Un '''Survol'''/'''Clic droit''' sur une réservation affiche le menu contextuel avec les options suivantes :&lt;br /&gt;
&lt;br /&gt;
[[File:Contextual menu.png|400px]]&lt;br /&gt;
&lt;br /&gt;
;- Annuler/Modifier la réservation&lt;br /&gt;
&lt;br /&gt;
;- Saisir le vol&lt;br /&gt;
&lt;br /&gt;
;- Préparer un vol&lt;br /&gt;
*OpenFlyers est couplé avec [[Airmate]] pour aider les pilotes à préparer leur vol. Ainsi, depuis OpenFlyers il est possible de :&lt;br /&gt;
**coupler une réservation avec une préparation de vol Airmate en survolant la réservation concernée pour faire apparaitre le menu contextuel, puis de sélectionner l'item de menu '''Préparer le vol...'''&lt;br /&gt;
**créer un nouveau vol dans Airmate en cliquant sur l'item de menu '''Préparation vol &amp;gt; Préparer un vol'''&lt;br /&gt;
*Voir la page [[Airmate]] pour les détails concernant l'inscription à Airmate et la synchronisation réservation/vol.&lt;br /&gt;
&lt;br /&gt;
=Glisser-déposer des réservations=&lt;br /&gt;
La fonction de glisser-déposer est active pour tout utilisateur qui dispose du droit de réservation pour lui-même. Dans ce cas, il ne peut effectuer cette opération que pour les réservations qui le concerne.&lt;br /&gt;
&lt;br /&gt;
;Écran non tactile&lt;br /&gt;
*Survoler la réservation qui a besoin d'être déplacée&lt;br /&gt;
Le pointeur de la souris se transforme en &amp;quot;4 flèches&amp;quot;.&lt;br /&gt;
*Appuyer sur le bouton gauche de la souris pour sélectionner la réservation&lt;br /&gt;
*Déplacer la souris tout en maintenant le bouton gauche appuyé afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le bouton gauche afin que la réservation soit mise à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
;Écran tactile&lt;br /&gt;
*Maintenir un appui prolongé avec le doigt sur une réservation qui a besoin d'être déplacée&lt;br /&gt;
Un pictogramme &amp;quot;4 flèches&amp;quot; s'affiche en haut à gauche du rectangle symbolisant la réservation&lt;br /&gt;
*Déplacer son doigt afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le doigt afin que la réservation se mette à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un utilisateur disposant du droit d'effectuer des réservations pour des tiers peut procéder de la même façon pour toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
;Le déplacement est soumis aux règles suivantes :  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;utlisateur&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;utlisateur&amp;quot;.  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;ressource&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;ressource&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
;Lors du déplacement d'une réservation :&lt;br /&gt;
* si une alerte bloquante est générée elle est affichée et empêche le déplacement de la réservation&lt;br /&gt;
* si une alerte non bloquante est générée, elle n'est affichée que si le paramètre [[Configuration#Afficher-les-alertes-non-bloquantes-lors-des-glisser-déposer|Afficher les alertes non bloquantes lors des glisser-déposer]] est activé.&lt;br /&gt;
&lt;br /&gt;
=Formulaire de réservation=&lt;br /&gt;
Ce formulaire est accessible via plusieurs actions :  &lt;br /&gt;
* Un clic sur un créneau vide du planning pour effectuer une nouvelle réservation, ou un clic sur un créneau réservé pour modifier une réservation.  &lt;br /&gt;
* Via l'action '''&amp;quot;Planning &amp;gt; Planning &amp;gt; Réserver&amp;quot;'''.  &lt;br /&gt;
* En survolant un créneau réservé et en cliquant sur '''&amp;quot;Modifier la réservation&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Formulaire_reservation_ancienne_interface.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
&lt;br /&gt;
Il est possible de cocher automatiquement un type d'activité sur le formulaire de réservation :&lt;br /&gt;
* Pour définir le type par défaut lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place, [[Configuration#Type-d'activité-par-défaut|suivre cette procédure de paramétrage]]&lt;br /&gt;
* Pour définir le type par défaut lorsqu'on sélectionne une personne en seconde place, [[Configuration#Type-d'activité-par-défaut-pour-la-seconde-place-(ancienne-interface)|suivre cette procédure de paramétrage]]&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14326</id>
		<title>Configuration des réservations internes</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14326"/>
		<updated>2026-02-28T14:09:50Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Alerte sur le potentiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page présente le paramétrage du module de réservations interne.&lt;br /&gt;
&lt;br /&gt;
=Gestion du planning (réservations internes)=&lt;br /&gt;
La gestion du planning se fait en allant dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|1500px|center|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
==Mode de réservation==&lt;br /&gt;
===Réservations standards===&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée en mode standard est immobilisée, les réservations existantes sur cette ressource sont supprimées.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur est averti avant la confirmation de l'opération.&lt;br /&gt;
&lt;br /&gt;
===Réservation par type de ressource===&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée par type est immobilisée, les réservations ne sont pas supprimées. Elles sont automatiquement déplacées vers la prochaine ressource disponible du même type, selon l'ordre de priorité défini.&lt;br /&gt;
Si aucune autre ressource du même type n'est disponible, la réservation concernée est supprimée.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit &amp;quot;Surpasser la réservation par type&amp;quot;, il est possible de forcer une réservation sur une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
==Code couleur==&lt;br /&gt;
Permet de définir quelle code couleur doit être utilisée pour l'affichage des réservations :&lt;br /&gt;
*Par utilisateur&lt;br /&gt;
:deux champs de sélection s'affichent :&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui ne concernent pas l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui ne concernent pas l'utilisateur connecté.&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui concernent l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui concernent l'utilisateur connecté.&lt;br /&gt;
:Il est possible de configurer [[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|une paire de couleurs par utilisateur]].&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-couleur-à-un-type-d'activité|Par type d'activité]]&lt;br /&gt;
&lt;br /&gt;
==Affichage possible des activités réalisées dans le planning==&lt;br /&gt;
Permet aux utilisateurs disposant du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]] d'activer le module d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|Affichage des activités réalisées]] sur la page de réservation.&lt;br /&gt;
&lt;br /&gt;
==Réservation multi-ressources==&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
==Affichage du nom des ressources dans le planning==&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
==Afficher les alertes non bloquantes lors des glisser-déposer==&lt;br /&gt;
Ce paramétrage permet d'afficher les alertes non bloquantes lors des [[Utilisation-des-réservations-internes-sur-l%27interface-web#Glisser-déposer-des-réservations|glisser-déposer des réservations]] sur le planning.&lt;br /&gt;
&lt;br /&gt;
==Autoriser la suppression partielle d'éléments de réservations== &lt;br /&gt;
Ce paramétrage permet d'afficher l'action '''Annuler cet élément du groupe de réservations''' lorsqu'un groupe de réservations est lié. Il autorise ainsi la suppression individuelle d'un élément au sein d'un groupe de réservations, sans devoir annuler l'ensemble du groupe.&lt;br /&gt;
&lt;br /&gt;
==Amplitude du planning==&lt;br /&gt;
===Heure de début et fin (fuseau X)===&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire de la structure.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' les minutes proposées doivent être des multiples de 15 (00, 15, 30, 45).&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
===Interdire d'effectuer une réservation débutant dans moins de===&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
===Limitation dans le temps des réservations===&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
===Limitation du nombre de réservations===&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
===Durée minimale d'une réservation===&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
===Durée par défaut d'une réservation===&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
==Champs visibles==&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
Les lieux cochés sont ainsi définis avec une valeur par défaut lorsqu'un vol est entré à partir d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Saisie de la destination===&lt;br /&gt;
&lt;br /&gt;
Ce champ n'est disponible que si le champ '''Lieu d'arrivée''' est activé.&lt;br /&gt;
&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
Lorsque le champ '''Lieu d'arrivée''' est désactivé, la valeur enregistrée pour '''Saisie de la destination''' est vidée.&lt;br /&gt;
&lt;br /&gt;
==Alerte sur le potentiel==&lt;br /&gt;
Cette section ne s'affiche que lorsque la [[Paramétrage-des-activités#Gestion-des-potentiels|gestion des potentiels]] est activée.&lt;br /&gt;
&lt;br /&gt;
;Alerter sur le potentiel estimé restant&lt;br /&gt;
:Lorsqu'il est activé, permet de vérifier le potentiel restant et déclencher une alerte si celui-ci est inférieur au seuil défini lors d'une réservation.&lt;br /&gt;
&lt;br /&gt;
;Réservations débutant dans moins de&lt;br /&gt;
:Indique le délai (en jours ou semaines) avant le début des réservations pour laquelle l'alerte sur le potentiel estimé restant doit être déclenchée. Par exemple, '''7 jours''' déclenche l'alerte pour les réservations commençant dans moins d'une semaine.&lt;br /&gt;
&lt;br /&gt;
;Seuil d'alerte&lt;br /&gt;
:Définit le niveau minimal de potentiel estimé restant pour lequel l'alerte sera envoyée. Si le potentiel estimé tombe en dessous de ce seuil, une alerte est générée.&lt;br /&gt;
&lt;br /&gt;
==[[Paramétrage-des-validités#Paramétrer-le-contrôle-des-validités-pour-les-activités-ou-les-réservations|Paramétrage général du contrôle des validités pour les réservations]]==&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut :&lt;br /&gt;
* lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]]&lt;br /&gt;
* lors d'une nouvelle réservation sur le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Tutoriel-vidéo|planning de la nouvelle interface]]&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut pour la seconde place (ancienne interface)==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut lorsqu'on sélectionne une personne en seconde place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut pour la seconde place (ancienne interface)''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Règles de saisies XML==&lt;br /&gt;
Permet d'éditer les [[#Règles-de-saisies|Règles de saisie]] qui s'appliquent, pour le moment, uniquement pour le planning.&lt;br /&gt;
&lt;br /&gt;
=Règles de saisies=&lt;br /&gt;
Les règles de saisie sont utilisées uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.&lt;br /&gt;
&lt;br /&gt;
Elles sont écrites en [[Wikipedia-fr:Extensible_Markup_Language|XML]]. cf. l'exemple de règles de saisie ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Le moteur de vérification des règles s'enclenche dès qu'une réservation n'est plus &amp;quot;nue&amp;quot;, c'est à dire lorsqu'au moins un élément est renseigné (activité, ressource, etc.). Alors il vérifie quelles sont les règles compatibles et en déduit les contenus possibles dans les champs de saisie de l'interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
La compatibilité d'une règle se détermine '''par restriction''' en vérifiant dans cet ordre les informations suivantes :&lt;br /&gt;
#Activités&lt;br /&gt;
#Ressources&lt;br /&gt;
#Profils&lt;br /&gt;
#Places&lt;br /&gt;
&lt;br /&gt;
Pour chaque information, le moteur regarde si elle est renseignée. Si ce n'est pas le cas alors il passe à l'information suivante. Par exemple s'il n'y a pas encore d'activité de saisie alors il ne vérifie pas ce point-là dans la règle.&lt;br /&gt;
&lt;br /&gt;
Pour les activités et les ressources, il regarde les règles qui acceptent celles renseignées. S'il y a des règles qui pose problème alors elles sont rejetées.&lt;br /&gt;
&lt;br /&gt;
Pour les profils ce sont les personnes qui sont étudiées et ce de deux manières différentes selon si sur la saisie il y a une ressource de renseignée ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource de renseignée, le fonctionnement est similaire aux autres informations. le moteur regarde pour toutes les personnes renseignées si sur la place où elles sont, elles ont au moins un profil valide. Si une personne n'a aucun profil pour la place où il est alors la règle est rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource le fonctionnement est différent. Au lieu de faire par restriction, le moteur va faire '''par ajout'''. C'est-à-dire qu'au lieu de dire &amp;quot;il ne faut que des pilotes&amp;quot;, il va dire &amp;quot;je veux au moins un pilote&amp;quot;. Pour ce faire il va regarder les profils de chaque personne. S'il trouve une personne avec un profil valide, il accepte la règle. Si aucune des personnes ne correspond, il va faire une seconde vérification au niveau des places. Si pour cette règle l'une des places n'est pas définie, il considère que les personnes présentes vont potentiellement aller sur cette place et il ne rejette pas la règle. Par contre, si toutes les places sont définies et qu'aucune des personnes ne correspond alors la règle est rejetée.&lt;br /&gt;
&lt;br /&gt;
Pour les places, il vérifie qu'il n'y a pas trop de monde. Comme pour les profils il y a deux manières de les étudier en fonction de s'il y a une ressource ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource, il va regarder pour chaque place si le nombre de personnes autorisées n'est pas dépassé. Si sur l'une des places le nombre est dépassé alors la règle est rejetée. Cependant, si le nombre est atteint mais pas dépassé alors la règle n'est pas rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource, il va parcourir chaque place pour compter le nombre total de personnes autorisées pour cette règle. Si le nombre est dépassé alors la règle est rejetée. Comme précédemment si le nombre est simplement atteint alors la règle n'est pas rejetée.&lt;br /&gt;
&lt;br /&gt;
Si pour chaque information saisie, la règle est compatible alors elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Pour qu'une saisie soit valide, il faut qu'il existe au moins une règle de conservée, c'est à dire de compatible.&lt;br /&gt;
&lt;br /&gt;
;Exemple de règles de saisie&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ruleList&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;*(bookAlone)(bookWithInstr)&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;2&amp;lt;/activityType&amp;gt; &amp;lt;!-- Instruction --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001, F-002, F-00X --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot;&amp;gt; &amp;lt;!-- Pilote--&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;1&amp;lt;/profile&amp;gt; &amp;lt;!-- Elève --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;1&amp;quot; minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;2&amp;quot;&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;4&amp;lt;/profile&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;...&amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/ruleList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==attribut needs==&lt;br /&gt;
L'attribut needs peut être utilisé pour les éléments :&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*place&lt;br /&gt;
&lt;br /&gt;
Il contient un ou plusieurs droits qui sont requis par l'utilisateur effectuant la saisie pour que la règle puisse s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il n'y a qu'un droit de requis, il faut écrire ''needs=&amp;quot;nomDuDroit&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il y a plusieurs droits possibles, un seul étant requis, il faut commencer par le signe * puis lister chaque droit en l'entourant de parenthèses : ''needs=&amp;quot;*(bookAlone)(bookWithInstr)''.&lt;br /&gt;
&lt;br /&gt;
==Capacité maximale autorisée==&lt;br /&gt;
La taille maximale autorisée pour les règles de saisie XML est de '''16 Mo'''.  &lt;br /&gt;
Lors de la création d'un type d'activité ou lors de la modification manuelle depuis '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''',  si la taille des règles de saisie XML dépasse cette limite, un message d'alerte s'affiche indiquant que les règles de saisie XML sont saturées.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il est conseillé de vérifier le contenu XML et d'identifier d'éventuelles données obsolètes afin de les supprimer et d'alléger le fichier.  &lt;br /&gt;
Si cela ne suffit pas, il est recommandé de contacter OpenFlyers pour discuter de la possibilité d'augmenter la taille du champ.&lt;br /&gt;
&lt;br /&gt;
==ruleList==&lt;br /&gt;
Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments &amp;quot;rule&amp;quot; qui correspondent, chacun, à une règle.&lt;br /&gt;
&lt;br /&gt;
Il n'y pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
===rule===&lt;br /&gt;
Définit une règle.&lt;br /&gt;
&lt;br /&gt;
Les éléments possibles sont :&lt;br /&gt;
*formulaList&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*resourceList&lt;br /&gt;
*placeList&lt;br /&gt;
&lt;br /&gt;
Il n'y a pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
Chaque règle définit les types d'activités, types de ressources et places qui la rendent compatible.&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant définit une règle qui autorise une saisie pour le type d'activité ''Local'', les types de ressources ''F-001'' ou ''F-002'' et pour laquelle il faut exactement 1 utilisateur avec le profil ''Pilote'' à la place 0. Le statut attribué sera celui de numéro 1. De plus, La personne qui fait la réservation doit avoir le droit &amp;quot;bookAlone&amp;quot; et si elle dispose du droit &amp;quot;bookAnyone&amp;quot; alors elle verra en plus la liste des utilisateurs compatibles avec cette règle pour lui permettre d'en choisir une : &lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====formulaList====&lt;br /&gt;
Contient la liste des formules que la règle doit respecter au travers des éléments ''formula''.&lt;br /&gt;
&lt;br /&gt;
=====formula=====&lt;br /&gt;
Doit contenir les attributs :&lt;br /&gt;
*''action'' : indique l'action concernée pour la vérification de la formule. Si l'action effectuée par l'utilisateur n'est pas celle de la formule, alors la formule n'est pas vérifiée. Par contre, la règle peut quand être compatible. Il est possible de remplacer le nom d'une action par * pour indiquer que la formule doit être vérifiée quelque soit l'action.&lt;br /&gt;
*''title'' : pour indiquer le message d'alerte devant s'afficher lorsque la formule n'est pas respectée&lt;br /&gt;
&lt;br /&gt;
Le contenu de l'élément ''formula'' est une formule qui est testée lors de la saisie.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans la formule, pour les signes de comparaison supérieur ou inférieur, il faut saisir leur équivalent HTML :&lt;br /&gt;
* &amp;gt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;gt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;!-- Durée maximum : 30min --&amp;gt;&lt;br /&gt;
&amp;lt;formula action=&amp;quot;update&amp;quot; title=&amp;quot;Vous ne pouvez pas faire de réservation ayant une durée supérieure à 30 minutes.&amp;quot;&amp;gt;(%DURATION &amp;amp;lt;= 300)&amp;lt;/formula&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====activityTypeList====&lt;br /&gt;
Contient la liste des types d'activités qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir l'attribut [[#attribut-needs|needs]].&lt;br /&gt;
=====activityType=====&lt;br /&gt;
Contient l'identifiant d'un type d'activité.&lt;br /&gt;
&lt;br /&gt;
====resourceList====&lt;br /&gt;
Contient la liste des types de ressources qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'' et ''minQty'' pour définir le nombre de ressources maximum et minimum.&lt;br /&gt;
&lt;br /&gt;
====placeList====&lt;br /&gt;
Contient la liste définissant les places.&lt;br /&gt;
&lt;br /&gt;
=====place=====&lt;br /&gt;
Contient la définition de chaque place.&lt;br /&gt;
&lt;br /&gt;
Peut contenir des éléments ''profile'' pour indiquer un profil requis parmi plusieurs pour qu'un utilisateur puisse occuper la place.&lt;br /&gt;
&lt;br /&gt;
Doit contenir l'attribut index pour numéroter la place définie.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'', ''minQty'', ''needs'' et ''status''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''needs'' permet de définir le droit requis pour l'utilisateur effectuant la saisie afin qu'il puisse choisir l'utilisateur dans la liste des utilisateurs compatibles. typiquement, cet attribut est utilisé ainsi : ''needs=&amp;quot;bookAnyone&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''status'' permet de définir le statut de la personne à laquelle on attribut la place. Cette définition se fait en utilisant l'identifiant du statut. Exemple : ''status=&amp;quot;1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
======profile======&lt;br /&gt;
Contient l'identifiant du profile requis.&lt;br /&gt;
&lt;br /&gt;
==Wildcard==&lt;br /&gt;
Le caractère * peut être utilisé dans les éléments '''resourceType'''. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.&lt;br /&gt;
&lt;br /&gt;
Exemple avec wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple sans wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;3&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14325</id>
		<title>Configuration des réservations internes</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14325"/>
		<updated>2026-02-28T13:45:39Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Champs visibles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page présente le paramétrage du module de réservations interne.&lt;br /&gt;
&lt;br /&gt;
=Gestion du planning (réservations internes)=&lt;br /&gt;
La gestion du planning se fait en allant dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|1500px|center|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
==Mode de réservation==&lt;br /&gt;
===Réservations standards===&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée en mode standard est immobilisée, les réservations existantes sur cette ressource sont supprimées.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur est averti avant la confirmation de l'opération.&lt;br /&gt;
&lt;br /&gt;
===Réservation par type de ressource===&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée par type est immobilisée, les réservations ne sont pas supprimées. Elles sont automatiquement déplacées vers la prochaine ressource disponible du même type, selon l'ordre de priorité défini.&lt;br /&gt;
Si aucune autre ressource du même type n'est disponible, la réservation concernée est supprimée.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit &amp;quot;Surpasser la réservation par type&amp;quot;, il est possible de forcer une réservation sur une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
==Code couleur==&lt;br /&gt;
Permet de définir quelle code couleur doit être utilisée pour l'affichage des réservations :&lt;br /&gt;
*Par utilisateur&lt;br /&gt;
:deux champs de sélection s'affichent :&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui ne concernent pas l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui ne concernent pas l'utilisateur connecté.&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui concernent l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui concernent l'utilisateur connecté.&lt;br /&gt;
:Il est possible de configurer [[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|une paire de couleurs par utilisateur]].&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-couleur-à-un-type-d'activité|Par type d'activité]]&lt;br /&gt;
&lt;br /&gt;
==Affichage possible des activités réalisées dans le planning==&lt;br /&gt;
Permet aux utilisateurs disposant du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]] d'activer le module d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|Affichage des activités réalisées]] sur la page de réservation.&lt;br /&gt;
&lt;br /&gt;
==Réservation multi-ressources==&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
==Affichage du nom des ressources dans le planning==&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
==Afficher les alertes non bloquantes lors des glisser-déposer==&lt;br /&gt;
Ce paramétrage permet d'afficher les alertes non bloquantes lors des [[Utilisation-des-réservations-internes-sur-l%27interface-web#Glisser-déposer-des-réservations|glisser-déposer des réservations]] sur le planning.&lt;br /&gt;
&lt;br /&gt;
==Autoriser la suppression partielle d'éléments de réservations== &lt;br /&gt;
Ce paramétrage permet d'afficher l'action '''Annuler cet élément du groupe de réservations''' lorsqu'un groupe de réservations est lié. Il autorise ainsi la suppression individuelle d'un élément au sein d'un groupe de réservations, sans devoir annuler l'ensemble du groupe.&lt;br /&gt;
&lt;br /&gt;
==Amplitude du planning==&lt;br /&gt;
===Heure de début et fin (fuseau X)===&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire de la structure.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' les minutes proposées doivent être des multiples de 15 (00, 15, 30, 45).&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
===Interdire d'effectuer une réservation débutant dans moins de===&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
===Limitation dans le temps des réservations===&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
===Limitation du nombre de réservations===&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
===Durée minimale d'une réservation===&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
===Durée par défaut d'une réservation===&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
==Champs visibles==&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
Les lieux cochés sont ainsi définis avec une valeur par défaut lorsqu'un vol est entré à partir d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Saisie de la destination===&lt;br /&gt;
&lt;br /&gt;
Ce champ n'est disponible que si le champ '''Lieu d'arrivée''' est activé.&lt;br /&gt;
&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
Lorsque le champ '''Lieu d'arrivée''' est désactivé, la valeur enregistrée pour '''Saisie de la destination''' est vidée.&lt;br /&gt;
&lt;br /&gt;
==Alerte sur le potentiel==&lt;br /&gt;
&lt;br /&gt;
==[[Paramétrage-des-validités#Paramétrer-le-contrôle-des-validités-pour-les-activités-ou-les-réservations|Paramétrage général du contrôle des validités pour les réservations]]==&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut :&lt;br /&gt;
* lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]]&lt;br /&gt;
* lors d'une nouvelle réservation sur le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Tutoriel-vidéo|planning de la nouvelle interface]]&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut pour la seconde place (ancienne interface)==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut lorsqu'on sélectionne une personne en seconde place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut pour la seconde place (ancienne interface)''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Règles de saisies XML==&lt;br /&gt;
Permet d'éditer les [[#Règles-de-saisies|Règles de saisie]] qui s'appliquent, pour le moment, uniquement pour le planning.&lt;br /&gt;
&lt;br /&gt;
=Règles de saisies=&lt;br /&gt;
Les règles de saisie sont utilisées uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.&lt;br /&gt;
&lt;br /&gt;
Elles sont écrites en [[Wikipedia-fr:Extensible_Markup_Language|XML]]. cf. l'exemple de règles de saisie ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Le moteur de vérification des règles s'enclenche dès qu'une réservation n'est plus &amp;quot;nue&amp;quot;, c'est à dire lorsqu'au moins un élément est renseigné (activité, ressource, etc.). Alors il vérifie quelles sont les règles compatibles et en déduit les contenus possibles dans les champs de saisie de l'interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
La compatibilité d'une règle se détermine '''par restriction''' en vérifiant dans cet ordre les informations suivantes :&lt;br /&gt;
#Activités&lt;br /&gt;
#Ressources&lt;br /&gt;
#Profils&lt;br /&gt;
#Places&lt;br /&gt;
&lt;br /&gt;
Pour chaque information, le moteur regarde si elle est renseignée. Si ce n'est pas le cas alors il passe à l'information suivante. Par exemple s'il n'y a pas encore d'activité de saisie alors il ne vérifie pas ce point-là dans la règle.&lt;br /&gt;
&lt;br /&gt;
Pour les activités et les ressources, il regarde les règles qui acceptent celles renseignées. S'il y a des règles qui pose problème alors elles sont rejetées.&lt;br /&gt;
&lt;br /&gt;
Pour les profils ce sont les personnes qui sont étudiées et ce de deux manières différentes selon si sur la saisie il y a une ressource de renseignée ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource de renseignée, le fonctionnement est similaire aux autres informations. le moteur regarde pour toutes les personnes renseignées si sur la place où elles sont, elles ont au moins un profil valide. Si une personne n'a aucun profil pour la place où il est alors la règle est rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource le fonctionnement est différent. Au lieu de faire par restriction, le moteur va faire '''par ajout'''. C'est-à-dire qu'au lieu de dire &amp;quot;il ne faut que des pilotes&amp;quot;, il va dire &amp;quot;je veux au moins un pilote&amp;quot;. Pour ce faire il va regarder les profils de chaque personne. S'il trouve une personne avec un profil valide, il accepte la règle. Si aucune des personnes ne correspond, il va faire une seconde vérification au niveau des places. Si pour cette règle l'une des places n'est pas définie, il considère que les personnes présentes vont potentiellement aller sur cette place et il ne rejette pas la règle. Par contre, si toutes les places sont définies et qu'aucune des personnes ne correspond alors la règle est rejetée.&lt;br /&gt;
&lt;br /&gt;
Pour les places, il vérifie qu'il n'y a pas trop de monde. Comme pour les profils il y a deux manières de les étudier en fonction de s'il y a une ressource ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource, il va regarder pour chaque place si le nombre de personnes autorisées n'est pas dépassé. Si sur l'une des places le nombre est dépassé alors la règle est rejetée. Cependant, si le nombre est atteint mais pas dépassé alors la règle n'est pas rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource, il va parcourir chaque place pour compter le nombre total de personnes autorisées pour cette règle. Si le nombre est dépassé alors la règle est rejetée. Comme précédemment si le nombre est simplement atteint alors la règle n'est pas rejetée.&lt;br /&gt;
&lt;br /&gt;
Si pour chaque information saisie, la règle est compatible alors elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Pour qu'une saisie soit valide, il faut qu'il existe au moins une règle de conservée, c'est à dire de compatible.&lt;br /&gt;
&lt;br /&gt;
;Exemple de règles de saisie&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ruleList&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;*(bookAlone)(bookWithInstr)&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;2&amp;lt;/activityType&amp;gt; &amp;lt;!-- Instruction --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001, F-002, F-00X --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot;&amp;gt; &amp;lt;!-- Pilote--&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;1&amp;lt;/profile&amp;gt; &amp;lt;!-- Elève --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;1&amp;quot; minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;2&amp;quot;&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;4&amp;lt;/profile&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;...&amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/ruleList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==attribut needs==&lt;br /&gt;
L'attribut needs peut être utilisé pour les éléments :&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*place&lt;br /&gt;
&lt;br /&gt;
Il contient un ou plusieurs droits qui sont requis par l'utilisateur effectuant la saisie pour que la règle puisse s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il n'y a qu'un droit de requis, il faut écrire ''needs=&amp;quot;nomDuDroit&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il y a plusieurs droits possibles, un seul étant requis, il faut commencer par le signe * puis lister chaque droit en l'entourant de parenthèses : ''needs=&amp;quot;*(bookAlone)(bookWithInstr)''.&lt;br /&gt;
&lt;br /&gt;
==Capacité maximale autorisée==&lt;br /&gt;
La taille maximale autorisée pour les règles de saisie XML est de '''16 Mo'''.  &lt;br /&gt;
Lors de la création d'un type d'activité ou lors de la modification manuelle depuis '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''',  si la taille des règles de saisie XML dépasse cette limite, un message d'alerte s'affiche indiquant que les règles de saisie XML sont saturées.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il est conseillé de vérifier le contenu XML et d'identifier d'éventuelles données obsolètes afin de les supprimer et d'alléger le fichier.  &lt;br /&gt;
Si cela ne suffit pas, il est recommandé de contacter OpenFlyers pour discuter de la possibilité d'augmenter la taille du champ.&lt;br /&gt;
&lt;br /&gt;
==ruleList==&lt;br /&gt;
Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments &amp;quot;rule&amp;quot; qui correspondent, chacun, à une règle.&lt;br /&gt;
&lt;br /&gt;
Il n'y pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
===rule===&lt;br /&gt;
Définit une règle.&lt;br /&gt;
&lt;br /&gt;
Les éléments possibles sont :&lt;br /&gt;
*formulaList&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*resourceList&lt;br /&gt;
*placeList&lt;br /&gt;
&lt;br /&gt;
Il n'y a pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
Chaque règle définit les types d'activités, types de ressources et places qui la rendent compatible.&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant définit une règle qui autorise une saisie pour le type d'activité ''Local'', les types de ressources ''F-001'' ou ''F-002'' et pour laquelle il faut exactement 1 utilisateur avec le profil ''Pilote'' à la place 0. Le statut attribué sera celui de numéro 1. De plus, La personne qui fait la réservation doit avoir le droit &amp;quot;bookAlone&amp;quot; et si elle dispose du droit &amp;quot;bookAnyone&amp;quot; alors elle verra en plus la liste des utilisateurs compatibles avec cette règle pour lui permettre d'en choisir une : &lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====formulaList====&lt;br /&gt;
Contient la liste des formules que la règle doit respecter au travers des éléments ''formula''.&lt;br /&gt;
&lt;br /&gt;
=====formula=====&lt;br /&gt;
Doit contenir les attributs :&lt;br /&gt;
*''action'' : indique l'action concernée pour la vérification de la formule. Si l'action effectuée par l'utilisateur n'est pas celle de la formule, alors la formule n'est pas vérifiée. Par contre, la règle peut quand être compatible. Il est possible de remplacer le nom d'une action par * pour indiquer que la formule doit être vérifiée quelque soit l'action.&lt;br /&gt;
*''title'' : pour indiquer le message d'alerte devant s'afficher lorsque la formule n'est pas respectée&lt;br /&gt;
&lt;br /&gt;
Le contenu de l'élément ''formula'' est une formule qui est testée lors de la saisie.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans la formule, pour les signes de comparaison supérieur ou inférieur, il faut saisir leur équivalent HTML :&lt;br /&gt;
* &amp;gt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;gt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;!-- Durée maximum : 30min --&amp;gt;&lt;br /&gt;
&amp;lt;formula action=&amp;quot;update&amp;quot; title=&amp;quot;Vous ne pouvez pas faire de réservation ayant une durée supérieure à 30 minutes.&amp;quot;&amp;gt;(%DURATION &amp;amp;lt;= 300)&amp;lt;/formula&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====activityTypeList====&lt;br /&gt;
Contient la liste des types d'activités qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir l'attribut [[#attribut-needs|needs]].&lt;br /&gt;
=====activityType=====&lt;br /&gt;
Contient l'identifiant d'un type d'activité.&lt;br /&gt;
&lt;br /&gt;
====resourceList====&lt;br /&gt;
Contient la liste des types de ressources qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'' et ''minQty'' pour définir le nombre de ressources maximum et minimum.&lt;br /&gt;
&lt;br /&gt;
====placeList====&lt;br /&gt;
Contient la liste définissant les places.&lt;br /&gt;
&lt;br /&gt;
=====place=====&lt;br /&gt;
Contient la définition de chaque place.&lt;br /&gt;
&lt;br /&gt;
Peut contenir des éléments ''profile'' pour indiquer un profil requis parmi plusieurs pour qu'un utilisateur puisse occuper la place.&lt;br /&gt;
&lt;br /&gt;
Doit contenir l'attribut index pour numéroter la place définie.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'', ''minQty'', ''needs'' et ''status''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''needs'' permet de définir le droit requis pour l'utilisateur effectuant la saisie afin qu'il puisse choisir l'utilisateur dans la liste des utilisateurs compatibles. typiquement, cet attribut est utilisé ainsi : ''needs=&amp;quot;bookAnyone&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''status'' permet de définir le statut de la personne à laquelle on attribut la place. Cette définition se fait en utilisant l'identifiant du statut. Exemple : ''status=&amp;quot;1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
======profile======&lt;br /&gt;
Contient l'identifiant du profile requis.&lt;br /&gt;
&lt;br /&gt;
==Wildcard==&lt;br /&gt;
Le caractère * peut être utilisé dans les éléments '''resourceType'''. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.&lt;br /&gt;
&lt;br /&gt;
Exemple avec wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple sans wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;3&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14318</id>
		<title>Gestion des types d'activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14318"/>
		<updated>2026-02-25T15:24:51Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Ajouter un type d'activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des types d'activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-du-paramétrage|Gestion du paramétrage]] est nécessaire pour accéder à cette fonctionnalité.&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité antérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing avant une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité antérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité postérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité postérieure sans ressource matérielle, par exemple de définir un temps de débriefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité postérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une couleur à un type d'activité=&lt;br /&gt;
;Prérequis&lt;br /&gt;
*La [[Configuration des réservations internes]] doit être paramétrée avec le [[Configuration-des-réservations-internes#Code-couleur|Code couleur]] défini par type d'activité.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Aller sur la ligne concernée et cliquer dans la colonne '''Couleur''' où apparait l'icône modifier.&lt;br /&gt;
*Sélectionner une couleur.&lt;br /&gt;
*La validation se fait automatiquement.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur chaque cellule contenant le symbole '''+''' pour&lt;br /&gt;
**Saisir le nom du type d'activité&lt;br /&gt;
**[[#Affecter-une-couleur-à-un-type-d'activité|Affecter une couleur]]&lt;br /&gt;
**L'interrupteur '''Formation''' permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
La règle associée sera ajoutée automatiquement dans les [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]], il suffit simplement de l'adapter aux besoins.&lt;br /&gt;
&lt;br /&gt;
=Activer un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Désactivés'''&lt;br /&gt;
*Cliquer sur le bouton '''Activer'''&lt;br /&gt;
&lt;br /&gt;
La règle associée sera ajoutée automatiquement dans les [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]], il suffit simplement de l'adapter aux besoins.&lt;br /&gt;
&lt;br /&gt;
=Désactiver un type d'activité=&lt;br /&gt;
Lorsqu'un type d'activité n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type d'activité à désactiver&lt;br /&gt;
&lt;br /&gt;
En cas de suppression d'un type d'activité, la règle associée sera également supprimée des [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]] sauf si la règle possède l'attribut needs=&amp;quot;freezeResource&amp;quot;, ce qui indique que ce type d'activité est réservé à l'immobilisation des ressources. &lt;br /&gt;
&lt;br /&gt;
=Modifier un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le champ dont le contenu est à modifier de l'activité concernée et qui correspond à l'une des colonnes suivantes :&lt;br /&gt;
**'''Nom''' : nom de l'activité&lt;br /&gt;
**'''[[#Affecter-une-couleur-à-un-type-d'activité|Couleur]]'''&lt;br /&gt;
**'''Formation''' : permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Supprimer des activités antérieures/postérieures à un type d'activité=&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Editer le type d'activité où vous avez rajouté les temps de briefing/débriefing&lt;br /&gt;
*Dans les champs '''Type d'activité''' (antérieure et/ou postérieure), sélectionner ''Aucune activité''&lt;br /&gt;
*Dans les champs '''Durée par défaut''', renseigner : 0&lt;br /&gt;
Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
Désactiver les types d'activités précédemment créés et devenus inutiles :&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la poubelle pour chaque type d'activité qui n'a plus lieu d'être: ⚠️ Si le type d'activité est toujours lié à une activité antérieure ou postérieure, une alerte s'affiche indiquant qu'il est impossible de le supprimer.&lt;br /&gt;
&lt;br /&gt;
=Typer formation un type d'activité=&lt;br /&gt;
Permet de définir un type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la cellule de la colonne '''Formation''' de la ligne du type d'activité concerné&lt;br /&gt;
*Cocher la case à cocher&lt;br /&gt;
Une fois la modification effectuée, il faut cliquer en dehors du tableau pour que la modification soit enregistrée en base de données.&lt;br /&gt;
Attendre que la page se rafraichisse et qu'un 1 apparaisse&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14317</id>
		<title>Gestion des types d'activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14317"/>
		<updated>2026-02-25T15:22:59Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Ajouter un type d'activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des types d'activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-du-paramétrage|Gestion du paramétrage]] est nécessaire pour accéder à cette fonctionnalité.&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité antérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing avant une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité antérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité postérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité postérieure sans ressource matérielle, par exemple de définir un temps de débriefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité postérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une couleur à un type d'activité=&lt;br /&gt;
;Prérequis&lt;br /&gt;
*La [[Configuration des réservations internes]] doit être paramétrée avec le [[Configuration-des-réservations-internes#Code-couleur|Code couleur]] défini par type d'activité.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Aller sur la ligne concernée et cliquer dans la colonne '''Couleur''' où apparait l'icône modifier.&lt;br /&gt;
*Sélectionner une couleur.&lt;br /&gt;
*La validation se fait automatiquement.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur chaque cellule contenant le symbole '''+''' pour&lt;br /&gt;
**Saisir le nom du type d'activité&lt;br /&gt;
**[[#Affecter-une-couleur-à-un-type-d'activité|Affecter une couleur]]&lt;br /&gt;
**L'interrupteur '''Formation''' permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
La règle associée sera ajoutée automatiquement dans les [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]], il suffit simplement de l'adapter aux besoins.&lt;br /&gt;
&lt;br /&gt;
=Désactiver un type d'activité=&lt;br /&gt;
Lorsqu'un type d'activité n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type d'activité à désactiver&lt;br /&gt;
&lt;br /&gt;
En cas de suppression d'un type d'activité, la règle associée sera également supprimée des [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]] sauf si la règle possède l'attribut needs=&amp;quot;freezeResource&amp;quot;, ce qui indique que ce type d'activité est réservé à l'immobilisation des ressources. &lt;br /&gt;
&lt;br /&gt;
=Modifier un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le champ dont le contenu est à modifier de l'activité concernée et qui correspond à l'une des colonnes suivantes :&lt;br /&gt;
**'''Nom''' : nom de l'activité&lt;br /&gt;
**'''[[#Affecter-une-couleur-à-un-type-d'activité|Couleur]]'''&lt;br /&gt;
**'''Formation''' : permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Supprimer des activités antérieures/postérieures à un type d'activité=&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Editer le type d'activité où vous avez rajouté les temps de briefing/débriefing&lt;br /&gt;
*Dans les champs '''Type d'activité''' (antérieure et/ou postérieure), sélectionner ''Aucune activité''&lt;br /&gt;
*Dans les champs '''Durée par défaut''', renseigner : 0&lt;br /&gt;
Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
Désactiver les types d'activités précédemment créés et devenus inutiles :&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la poubelle pour chaque type d'activité qui n'a plus lieu d'être: ⚠️ Si le type d'activité est toujours lié à une activité antérieure ou postérieure, une alerte s'affiche indiquant qu'il est impossible de le supprimer.&lt;br /&gt;
&lt;br /&gt;
=Typer formation un type d'activité=&lt;br /&gt;
Permet de définir un type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la cellule de la colonne '''Formation''' de la ligne du type d'activité concerné&lt;br /&gt;
*Cocher la case à cocher&lt;br /&gt;
Une fois la modification effectuée, il faut cliquer en dehors du tableau pour que la modification soit enregistrée en base de données.&lt;br /&gt;
Attendre que la page se rafraichisse et qu'un 1 apparaisse&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14316</id>
		<title>Gestion des types d'activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14316"/>
		<updated>2026-02-25T15:19:35Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Désactiver un type d'activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des types d'activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-du-paramétrage|Gestion du paramétrage]] est nécessaire pour accéder à cette fonctionnalité.&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité antérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing avant une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité antérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité postérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité postérieure sans ressource matérielle, par exemple de définir un temps de débriefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité postérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une couleur à un type d'activité=&lt;br /&gt;
;Prérequis&lt;br /&gt;
*La [[Configuration des réservations internes]] doit être paramétrée avec le [[Configuration-des-réservations-internes#Code-couleur|Code couleur]] défini par type d'activité.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Aller sur la ligne concernée et cliquer dans la colonne '''Couleur''' où apparait l'icône modifier.&lt;br /&gt;
*Sélectionner une couleur.&lt;br /&gt;
*La validation se fait automatiquement.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur chaque cellule contenant le symbole '''+''' pour&lt;br /&gt;
**Saisir le nom du type d'activité&lt;br /&gt;
**[[#Affecter-une-couleur-à-un-type-d'activité|Affecter une couleur]]&lt;br /&gt;
**L'interrupteur '''Formation''' permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Désactiver un type d'activité=&lt;br /&gt;
Lorsqu'un type d'activité n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type d'activité à désactiver&lt;br /&gt;
&lt;br /&gt;
En cas de suppression d'un type d'activité, la règle associée sera également supprimée des [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]] sauf si la règle possède l'attribut needs=&amp;quot;freezeResource&amp;quot;, ce qui indique que ce type d'activité est réservé à l'immobilisation des ressources. &lt;br /&gt;
&lt;br /&gt;
=Modifier un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le champ dont le contenu est à modifier de l'activité concernée et qui correspond à l'une des colonnes suivantes :&lt;br /&gt;
**'''Nom''' : nom de l'activité&lt;br /&gt;
**'''[[#Affecter-une-couleur-à-un-type-d'activité|Couleur]]'''&lt;br /&gt;
**'''Formation''' : permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Supprimer des activités antérieures/postérieures à un type d'activité=&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Editer le type d'activité où vous avez rajouté les temps de briefing/débriefing&lt;br /&gt;
*Dans les champs '''Type d'activité''' (antérieure et/ou postérieure), sélectionner ''Aucune activité''&lt;br /&gt;
*Dans les champs '''Durée par défaut''', renseigner : 0&lt;br /&gt;
Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
Désactiver les types d'activités précédemment créés et devenus inutiles :&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la poubelle pour chaque type d'activité qui n'a plus lieu d'être: ⚠️ Si le type d'activité est toujours lié à une activité antérieure ou postérieure, une alerte s'affiche indiquant qu'il est impossible de le supprimer.&lt;br /&gt;
&lt;br /&gt;
=Typer formation un type d'activité=&lt;br /&gt;
Permet de définir un type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la cellule de la colonne '''Formation''' de la ligne du type d'activité concerné&lt;br /&gt;
*Cocher la case à cocher&lt;br /&gt;
Une fois la modification effectuée, il faut cliquer en dehors du tableau pour que la modification soit enregistrée en base de données.&lt;br /&gt;
Attendre que la page se rafraichisse et qu'un 1 apparaisse&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14315</id>
		<title>Gestion des ressources</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14315"/>
		<updated>2026-02-23T14:19:12Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Saisie d'activité et comptes ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des ressources''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Type de ressource=&lt;br /&gt;
==Ajouter un type de ressource==&lt;br /&gt;
''L'ensemble de cette procédure étant complexe et peu fréquente au sein d'une structure, il est recommandé de solliciter le support OpenFlyers.''&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*'''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire :&lt;br /&gt;
**'''Nom''' : Indiquer le nom du type de ressource.&lt;br /&gt;
**'''Catégorie''' : Sélectionner la [[#Catégorie de type de ressource|catégorie de type de ressource]] (ex: Avion).&lt;br /&gt;
**'''Places disponibles''' : Indiquer le nombre de places disponibles. Mettre -1 pour un nombre illimité de place.&lt;br /&gt;
**'''Vitesse propre''' : Indiquer la vitesse propre du type de ressource.&lt;br /&gt;
**'''Commentaires''' : Ajouter des commentaires supplémentaires si nécessaire.&lt;br /&gt;
**'''Seuil de déclenchement du facteur de charge''' : La valeur ajoutée sera utilisée dans Teltonika pour définir les seuils d'avertissement.&lt;br /&gt;
**'''Durée maximum de réservation''' : Indiquer la durée maximale de réservation pour ce type de ressource.&lt;br /&gt;
**'''Faire apparaître le champ &amp;quot;Moyen de mise en l'air&amp;quot;''' : Afficher le champ pour sélectionner le moyen de mise en l'air (principalement utilisé pour les planeurs).&lt;br /&gt;
**'''Unité de temps des compteurs du type de ressource''' : Choisir l'unité de temps des compteurs (En heures minutes, En heures centièmes, En heures dixièmes, Pas de compteur).&lt;br /&gt;
**'''Autonomie du type de ressource''' : Indiquer l'autonomie du type de ressource en heures et minutes. Il faut indiquer une valeur supérieure à 0 afin de ne pas avoir le [[Alertes de configuration#La_gestion_des_vols_est_activée_mais_l'autonomie_n'est_pas_défini_pour_le_type_de_ressource_X|message d'alerte correspondant]].&lt;br /&gt;
**'''Formule de calcul du temps de vol''' : &lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
***Lorsque l'option '''--Autre--''' est sélectionnée, un champ texte '''Formule de calcul du temps d'activité''' apparaît afin de permettre la saisie d'une formule personnalisée non présente dans la liste.&lt;br /&gt;
***'''Simulateur de temps de vol''': un bouton permet d'ouvrir une interface de simulation de la formule de vol, où l'utilisateur peut saisir les différentes valeurs requises et visualiser le résultat obtenu.&lt;br /&gt;
**'''Calcul du temps moteur différent du temps de vol''': &lt;br /&gt;
***Un interrupteur permet d'activer ou de désactiver l'utilisation d'une formule spécifique pour calculer le temps moteur, différente de celle utilisée pour le temps de vol. ***Lorsque l'interrupteur est activé, l'utilisateur peut saisir une formule personnalisée dans le champ texte '''Formule de calcul du temps moteur'''.&lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
**'''Profils pouvant voir ce type de ressource''' : Sélectionner les profils qui peuvent voir ce type de ressource, utiliser les boutons '''tout cocher''' et '''tout décocher''' pour faciliter la sélection&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Configurer les réservoirs pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Réservoirs'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne du tableau :&lt;br /&gt;
***'''Réservoir''' : Remplir l'intitulé approprié (ex : Central, Moteur).&lt;br /&gt;
***'''Type de réservoir''' : Choisir la catégorie du réservoir (ex : Carburant 100LL, Huile).&lt;br /&gt;
***'''Unité''' : Sélectionner l'unité de mesure (ex : L pour litres).&lt;br /&gt;
***'''Quantité maximum''' : Indiquer la quantité maximum pour ce type de réservoir. Mettre -1 pour une quantité maximum sans limite.&lt;br /&gt;
**Cliquer sur l'icône d'ajout pour ajouter le réservoir à la liste.&lt;br /&gt;
**Répéter l'opération pour chaque type de réservoir nécessaire au type de ressource.&lt;br /&gt;
*Configurer les statuts pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Statuts autorisés'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
***Sélectionner l'intitulé adéquat dans le champ '''Statut''' et le numéro de siège sur lequel il doit être ajouté&lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Répéter l'opération pour l'ensemble des statuts devant être attribués aux différentes places du type de ressource.&lt;br /&gt;
*Configurer les places pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Places'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Pour chaque type de ressource, il faut définir au moins l'intitulé de la 1ère place (c'est à dire la place 0).&lt;br /&gt;
**Dans la colonne '''Profils''', affecter les profils configurés aux emplacements souhaités.&lt;br /&gt;
Exemple :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Numéro de place!!Intitulé!!Profils&lt;br /&gt;
|-&lt;br /&gt;
|0||Place Gauche||''tous les profils''&lt;br /&gt;
|-&lt;br /&gt;
|1||Place droite||Instructeur&lt;br /&gt;
|}&lt;br /&gt;
Types de validité :&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] le cas échéant un type de validité pour habiliter à réserver/utiliser le type de ressource&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] ou mettre à jour un type validité à [[Paramétrage-des-validités#Formule-d'expérience|expériences]]&lt;br /&gt;
*[[Paramétrage-des-validités#Paramétrer-pour-chaque-type-de-ressource-les-validités-requises|Paramétrer pour le type de ressource les validités requises]]&lt;br /&gt;
Dans le cas où la [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] est en place, il faut :&lt;br /&gt;
*Soit rajouter le nouveau type de ressource au domaine d'application d'une ou de règles de facturation existantes&lt;br /&gt;
*Soit rajouter une ou des règles de facturation nécessaires à la facturation de ce type de ressource ainsi que les tarifs associés. Voici la procédure pour rajouter la règle de facturation &amp;quot;solo&amp;quot; :&lt;br /&gt;
**[[Utilisation-de-la-comptabilité#Créer-un-tarif-pour-la-facturation-des-activités|Créer un tarif pour la facturation des activités]]&lt;br /&gt;
**[[Gestion-de-la-facturation-des-activités#Créer-une-règle-de-facturation-&amp;quot;solo&amp;quot;-pour-un-type-de-ressource|Créer une règle de facturation &amp;quot;solo&amp;quot; pour un type de ressource]]&lt;br /&gt;
**'''/!\ Il ne faut pas oublier de remonter la règle de facturation &amp;quot;Solo&amp;quot; juste en-dessous des autres règles de facturation &amp;quot;Solo&amp;quot; propres aux ressources''' afin de respecter la [[Facturation-des-clients#Cascade-d'écritures-comptables|facturation en cascade]].&lt;br /&gt;
**Il faut vérifier les autres règles pour :&lt;br /&gt;
***Voir s'il ne faut pas étendre le domaine d'application des règles existantes au nouveau type de ressource.&lt;br /&gt;
***Voir s'il ne faut pas, par mimétisme, recopier une règle de facturation existante pour avoir un comportement similaire pour ce nouveau type de ressource. Cela peut être le cas, par exemple, lorsqu'il faut mettre en place un système de gestion de packs d'heures de vol pour le nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Catégorie de type de ressource==&lt;br /&gt;
&lt;br /&gt;
Le changement de catégorie d'un type de ressource du groupe aéronef vers non-aéronef n'est pas autorisé.&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe aéronef sont :&lt;br /&gt;
* Avion&lt;br /&gt;
* Drône&lt;br /&gt;
* Hélicoptère&lt;br /&gt;
* Planeur&lt;br /&gt;
* Ultra-léger motorisé&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe non-aéronef sont :&lt;br /&gt;
* Bateau&lt;br /&gt;
* Bateau (ski nautique)&lt;br /&gt;
* Camion&lt;br /&gt;
* Engin de levage&lt;br /&gt;
* Enseignant&lt;br /&gt;
* Gilet de sauvetage&lt;br /&gt;
* Kayak&lt;br /&gt;
* Mise à l'eau&lt;br /&gt;
* Moto&lt;br /&gt;
* Planche de surf&lt;br /&gt;
* Planche à voile&lt;br /&gt;
* Pédalo&lt;br /&gt;
* Salle&lt;br /&gt;
* Salle de classe&lt;br /&gt;
* Simulateur&lt;br /&gt;
* Véhicule terrestre&lt;br /&gt;
&lt;br /&gt;
==Désactiver un type de ressource==&lt;br /&gt;
Lorsqu'un type de ressource n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un type de ressource, il faut au préalable que toutes les ressources associées soient désactivées.&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types de ressource &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Un type ressource est supprimé au lieu d'être désactivé si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune ressource n'est associée&lt;br /&gt;
* Aucune règle de tarification n'est associée&lt;br /&gt;
&lt;br /&gt;
==Dupliquer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Dupliquer un type de ressource permet de créer une copie du type de ressource existant ainsi que de ses entrées associées dans diverses tables. Cette fonction est utile pour configurer rapidement un nouveau type de ressource basé sur un type existant avec des modifications minimales.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône de duplication située à côté de l'icône de crayon pour le type de ressource à dupliquer&lt;br /&gt;
* Le nouveau type de ressource sera créé avec un nom similaire, suivi de &amp;quot;2&amp;quot; pour indiquer qu'il s'agit d'une duplication&lt;br /&gt;
&lt;br /&gt;
Les éléments dupliqués comprennent :&lt;br /&gt;
* Le type de ressource lui-même avec un nom modifié&lt;br /&gt;
* Les statuts autorisés pour ce type de ressource&lt;br /&gt;
* Les places de ce type de ressource&lt;br /&gt;
* Les profils affectés aux places de ce type de ressource&lt;br /&gt;
* Les règles de validité associées à ce type de ressource&lt;br /&gt;
* Les types d'activités requis par ce type de ressource&lt;br /&gt;
* Toute autre entrée liée à ce type de ressource dans les tables pertinentes&lt;br /&gt;
&lt;br /&gt;
Vérifier et modifier les paramètres du nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un type de ressource, suivez les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône symbolisant une poubelle intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à supprimer&lt;br /&gt;
&lt;br /&gt;
Les conditions de suppression sont les suivantes :&lt;br /&gt;
&lt;br /&gt;
* Si le type de ressource n'a aucune ressource active ou règle de tarification associée, il sera complètement supprimé de la base de données.&lt;br /&gt;
* Si le type de ressource a des ressources actives ou des règles de facturation associées, la suppression sera interrompue.&lt;br /&gt;
* Si le type de ressource a des ressources désactivées associées, il sera seulement désactivé. Un message de confirmation apparaîtra pour confirmer la désactivation et la raison.&lt;br /&gt;
&lt;br /&gt;
=Ressource=&lt;br /&gt;
==Accès à une ressource désactivée==&lt;br /&gt;
Pour pouvoir accéder à une ressource désactivée, il faut [[#Réactiver_une_ressource|la réactiver]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A noter qu'il est possible d'accéder aux informations liées à une ressource désactivée par le biais de [[Gestion des rapports|rapports]] affichant les informations sur toutes les ressources (activées ou désactivées).&lt;br /&gt;
&lt;br /&gt;
==Ajouter une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
Lorsque la plateforme est en réservation par type, par exemple pour le surbooking, il faut d'abord avoir créé un type de ressource en suivant la procédure [[#Ajouter_un_type_de_ressource|ajouter un type de ressource]] à associer à la nouvelle ressource à créer&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Actives''' puis cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire et valider&lt;br /&gt;
*Si la ressource est compatible avec la Saisie d'activité, les comptes comptables associés sont générés '''automatiquement''', soit à la '''création de la ressource''', soit lors de l'activation de la '''saisie d'activité'''.&lt;br /&gt;
*Sinon, [[Utilisation de la comptabilité#Créer_un_compte_ressource|créer les comptes associés à la ressource manuellement]].&lt;br /&gt;
&lt;br /&gt;
==Changer la couleur de la ligne du planing de la ressource==&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la resource à modifier&lt;br /&gt;
*Champ '''Couleur de la ligne''',  choisir la couleur à attribuer à la ressource&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Changer la valeur du compteur en cours==&lt;br /&gt;
OpenFlyers enregistre la valeur du compteur en cours en considérant qu'il doit correspondre au compteur arrivé du vol le plus récent enregistré.&lt;br /&gt;
&lt;br /&gt;
Cette valeur est visible et modifiable en suivant cette procédure:&lt;br /&gt;
* Aller au menu '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
* Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la ressource à Modifier&lt;br /&gt;
* Dans le formulaire de la modification dans la colonne '''Données pour la gestion des activités'''&lt;br /&gt;
* Modifier la valeur du champ '''Dernier compteur enregistré'''&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
En modifiant cette valeur enregistrée, on force le compteur ou l'horamètre à prendre une nouvelle valeur qui sera affichée comme compteur départ du prochain vol saisi.&lt;br /&gt;
&lt;br /&gt;
C'est notamment utile lorsqu'il est nécessaire de recaler un compteur pour cause, par exemple, de changement d'horamètre.&lt;br /&gt;
&lt;br /&gt;
Ne pas oublier de cliquer sur le bouton '''Valider''' du formulaire pour enregistrer la nouvelle valeur.&lt;br /&gt;
&lt;br /&gt;
==Changer le total des heures==&lt;br /&gt;
'''Attention :''' si la correction du total des heures est nécessaire du fait d'une activité validée mal saisie, il ne faut pas utiliser la procédure décrite ci-après, mais utiliser la fonction d'[[Gestion-des-activités#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Il peut être parfois nécessaire de corriger le total des heures d'une ressource, notamment lors de sa création sur la plateforme OpenFlyers ou encore s'il y a une remise à 0 de son total d'heures.&lt;br /&gt;
&lt;br /&gt;
Pour ce faire :&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer l'icône &amp;quot;crayon&amp;quot; pour modifier la ressource souhaitée&lt;br /&gt;
*Dans le formulaire '''Données pour la gestion des vols''' :&lt;br /&gt;
**modifier le champ '''Date de début de comptabilisation des heures''' en le mettant à une date supérieure au vol mal saisi&lt;br /&gt;
**modifier la champ '''Total des heures à la date de début''' pour y inscrire la bonne valeur&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
==Désactiver une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Toutes les activités associées à la ressource concernée doivent avoir été validées. Si besoin suivre la procédure [[Gestion-des-activités#Valider-les-activités-d'une-ressource-désactivée-ou-n'ayant-plus-la-saisie-des-activités|Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Lorsqu'une ressource n'est plus présente, on peut la supprimer sans pour autant perdre l'historique en la désactivant. La procédure suivante décrit comment désactiver complètement une ressource.&lt;br /&gt;
&lt;br /&gt;
Cependant, au cours d'un exercice comptable, il est plus simple de ne pas désactiver une ressource et d'attendre la clôture de l'exercice comptable qui induira une remise à 0 des comptes de toutes les ressources et ensuite une simplification de l'opération de désactivation. Par contre, afin de permettre de réutiliser l'abonnement lié à la ressource devenue obsolète, il faut :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
Pour la ressource concernée :&lt;br /&gt;
*Décocher '''Réservable'''&lt;br /&gt;
*Décocher '''Saisie d'activité'''&lt;br /&gt;
Ainsi, la ressource n'est plus retenue dans le quota de l'abonnement.&lt;br /&gt;
&lt;br /&gt;
'''Voici la procédure permettant de désactiver complètement une ressource''' :&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver une ressource il faut que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]. Cela nécessite de [[Utilisation-de-la-comptabilité#Solder-un-compte|Solder les comptes]] de la ressource en saisissant un flux entre le(s) compte(s) de la ressource et d'autres comptes de charges ou de produits qui seront créés pour l'occasion et qui auront vocation à recevoir le solde créditeur ou débiteur des comptes de la ressource ramenés à 0.&lt;br /&gt;
&lt;br /&gt;
La liste des comptes associés à une ressource se trouve dans '''Gestion &amp;gt; Comptes &amp;gt; Comptes &amp;gt; Ressource'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Gestion &amp;gt; Ressources &amp;gt; Active'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante à la ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Une ressource est supprimée au lieu d'être désactivée si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune réservation n'est associée à la ressource&lt;br /&gt;
* Aucune activité (vol) n'est associée à la ressource&lt;br /&gt;
* Aucun compte n'est associé, c'est à dire que les comptes qui avaient été éventuellement créés avec la ressource ont été complètement supprimé lors de leur désactivation.&lt;br /&gt;
&lt;br /&gt;
==Réactiver une ressource==&lt;br /&gt;
Une ressource désactivée n'apparait plus dans la liste des ressources actives, mais on peut le réactiver en allant dans '''Gestion &amp;gt; Ressources &amp;gt; Désactivées''', et en cliquant dessus.&lt;br /&gt;
&lt;br /&gt;
Cette opération est nécessaire si vous souhaitez refaire apparaitre des données sur une ressource précédemment déactivée.&lt;br /&gt;
&lt;br /&gt;
Si votre abonnement ne comporte plus assez de ressource disponible, il faut momentanément [[#Désactiver_une_ressource|désactiver une autre ressource]], puis réactiver la ressource souhaitée. Ne pas oublier de revenir à l'état précédent lorsque vous avez effectué vos opérations de consultation.&lt;br /&gt;
&lt;br /&gt;
==Saisir le numéro de ressource pour l'API de geolocalisation==&lt;br /&gt;
'''''NB''': le numéro de ressource [[Interfaçage-OpenFlyers-et-Charterware|Charterware]] et [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] correspond généralement à l'immatriculation de l'appareil. Attention, l'immatriculation peut être avec ou sans tiret côté Charterware.''&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''.&lt;br /&gt;
* Pour chaque ressource pour laquelle les vols seront enregistrés :&lt;br /&gt;
* Cliquer sur le bouton symbolisant un crayon.&lt;br /&gt;
** Renseigner le champ '''Numéro de ressource API géolocalisation''' :&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Teltonika|Teltonika]]: avec l'IMEI de la boîte Teltonika utilisée avec cette ressource.&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Charterware|Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot Aviation|Foxtrot Aviation]]: avec l'immatriculation de cette ressource.&lt;br /&gt;
** Cliquer sur le bouton '''Enregistrer'''.&lt;br /&gt;
*Le système vérifie le nombre de ressources autorisées par l'abonnement d'interconnexion avec boitier GPS/GSM . Si la ressource en cours de configuration dépasse ce nombre, un message d'alerte s'affiche.&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14314</id>
		<title>Gestion des ressources</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14314"/>
		<updated>2026-02-23T14:18:51Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Ajouter une ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des ressources''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Type de ressource=&lt;br /&gt;
==Ajouter un type de ressource==&lt;br /&gt;
''L'ensemble de cette procédure étant complexe et peu fréquente au sein d'une structure, il est recommandé de solliciter le support OpenFlyers.''&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*'''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire :&lt;br /&gt;
**'''Nom''' : Indiquer le nom du type de ressource.&lt;br /&gt;
**'''Catégorie''' : Sélectionner la [[#Catégorie de type de ressource|catégorie de type de ressource]] (ex: Avion).&lt;br /&gt;
**'''Places disponibles''' : Indiquer le nombre de places disponibles. Mettre -1 pour un nombre illimité de place.&lt;br /&gt;
**'''Vitesse propre''' : Indiquer la vitesse propre du type de ressource.&lt;br /&gt;
**'''Commentaires''' : Ajouter des commentaires supplémentaires si nécessaire.&lt;br /&gt;
**'''Seuil de déclenchement du facteur de charge''' : La valeur ajoutée sera utilisée dans Teltonika pour définir les seuils d'avertissement.&lt;br /&gt;
**'''Durée maximum de réservation''' : Indiquer la durée maximale de réservation pour ce type de ressource.&lt;br /&gt;
**'''Faire apparaître le champ &amp;quot;Moyen de mise en l'air&amp;quot;''' : Afficher le champ pour sélectionner le moyen de mise en l'air (principalement utilisé pour les planeurs).&lt;br /&gt;
**'''Unité de temps des compteurs du type de ressource''' : Choisir l'unité de temps des compteurs (En heures minutes, En heures centièmes, En heures dixièmes, Pas de compteur).&lt;br /&gt;
**'''Autonomie du type de ressource''' : Indiquer l'autonomie du type de ressource en heures et minutes. Il faut indiquer une valeur supérieure à 0 afin de ne pas avoir le [[Alertes de configuration#La_gestion_des_vols_est_activée_mais_l'autonomie_n'est_pas_défini_pour_le_type_de_ressource_X|message d'alerte correspondant]].&lt;br /&gt;
**'''Formule de calcul du temps de vol''' : &lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
***Lorsque l'option '''--Autre--''' est sélectionnée, un champ texte '''Formule de calcul du temps d'activité''' apparaît afin de permettre la saisie d'une formule personnalisée non présente dans la liste.&lt;br /&gt;
***'''Simulateur de temps de vol''': un bouton permet d'ouvrir une interface de simulation de la formule de vol, où l'utilisateur peut saisir les différentes valeurs requises et visualiser le résultat obtenu.&lt;br /&gt;
**'''Calcul du temps moteur différent du temps de vol''': &lt;br /&gt;
***Un interrupteur permet d'activer ou de désactiver l'utilisation d'une formule spécifique pour calculer le temps moteur, différente de celle utilisée pour le temps de vol. ***Lorsque l'interrupteur est activé, l'utilisateur peut saisir une formule personnalisée dans le champ texte '''Formule de calcul du temps moteur'''.&lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
**'''Profils pouvant voir ce type de ressource''' : Sélectionner les profils qui peuvent voir ce type de ressource, utiliser les boutons '''tout cocher''' et '''tout décocher''' pour faciliter la sélection&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Configurer les réservoirs pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Réservoirs'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne du tableau :&lt;br /&gt;
***'''Réservoir''' : Remplir l'intitulé approprié (ex : Central, Moteur).&lt;br /&gt;
***'''Type de réservoir''' : Choisir la catégorie du réservoir (ex : Carburant 100LL, Huile).&lt;br /&gt;
***'''Unité''' : Sélectionner l'unité de mesure (ex : L pour litres).&lt;br /&gt;
***'''Quantité maximum''' : Indiquer la quantité maximum pour ce type de réservoir. Mettre -1 pour une quantité maximum sans limite.&lt;br /&gt;
**Cliquer sur l'icône d'ajout pour ajouter le réservoir à la liste.&lt;br /&gt;
**Répéter l'opération pour chaque type de réservoir nécessaire au type de ressource.&lt;br /&gt;
*Configurer les statuts pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Statuts autorisés'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
***Sélectionner l'intitulé adéquat dans le champ '''Statut''' et le numéro de siège sur lequel il doit être ajouté&lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Répéter l'opération pour l'ensemble des statuts devant être attribués aux différentes places du type de ressource.&lt;br /&gt;
*Configurer les places pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Places'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Pour chaque type de ressource, il faut définir au moins l'intitulé de la 1ère place (c'est à dire la place 0).&lt;br /&gt;
**Dans la colonne '''Profils''', affecter les profils configurés aux emplacements souhaités.&lt;br /&gt;
Exemple :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Numéro de place!!Intitulé!!Profils&lt;br /&gt;
|-&lt;br /&gt;
|0||Place Gauche||''tous les profils''&lt;br /&gt;
|-&lt;br /&gt;
|1||Place droite||Instructeur&lt;br /&gt;
|}&lt;br /&gt;
Types de validité :&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] le cas échéant un type de validité pour habiliter à réserver/utiliser le type de ressource&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] ou mettre à jour un type validité à [[Paramétrage-des-validités#Formule-d'expérience|expériences]]&lt;br /&gt;
*[[Paramétrage-des-validités#Paramétrer-pour-chaque-type-de-ressource-les-validités-requises|Paramétrer pour le type de ressource les validités requises]]&lt;br /&gt;
Dans le cas où la [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] est en place, il faut :&lt;br /&gt;
*Soit rajouter le nouveau type de ressource au domaine d'application d'une ou de règles de facturation existantes&lt;br /&gt;
*Soit rajouter une ou des règles de facturation nécessaires à la facturation de ce type de ressource ainsi que les tarifs associés. Voici la procédure pour rajouter la règle de facturation &amp;quot;solo&amp;quot; :&lt;br /&gt;
**[[Utilisation-de-la-comptabilité#Créer-un-tarif-pour-la-facturation-des-activités|Créer un tarif pour la facturation des activités]]&lt;br /&gt;
**[[Gestion-de-la-facturation-des-activités#Créer-une-règle-de-facturation-&amp;quot;solo&amp;quot;-pour-un-type-de-ressource|Créer une règle de facturation &amp;quot;solo&amp;quot; pour un type de ressource]]&lt;br /&gt;
**'''/!\ Il ne faut pas oublier de remonter la règle de facturation &amp;quot;Solo&amp;quot; juste en-dessous des autres règles de facturation &amp;quot;Solo&amp;quot; propres aux ressources''' afin de respecter la [[Facturation-des-clients#Cascade-d'écritures-comptables|facturation en cascade]].&lt;br /&gt;
**Il faut vérifier les autres règles pour :&lt;br /&gt;
***Voir s'il ne faut pas étendre le domaine d'application des règles existantes au nouveau type de ressource.&lt;br /&gt;
***Voir s'il ne faut pas, par mimétisme, recopier une règle de facturation existante pour avoir un comportement similaire pour ce nouveau type de ressource. Cela peut être le cas, par exemple, lorsqu'il faut mettre en place un système de gestion de packs d'heures de vol pour le nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Catégorie de type de ressource==&lt;br /&gt;
&lt;br /&gt;
Le changement de catégorie d'un type de ressource du groupe aéronef vers non-aéronef n'est pas autorisé.&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe aéronef sont :&lt;br /&gt;
* Avion&lt;br /&gt;
* Drône&lt;br /&gt;
* Hélicoptère&lt;br /&gt;
* Planeur&lt;br /&gt;
* Ultra-léger motorisé&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe non-aéronef sont :&lt;br /&gt;
* Bateau&lt;br /&gt;
* Bateau (ski nautique)&lt;br /&gt;
* Camion&lt;br /&gt;
* Engin de levage&lt;br /&gt;
* Enseignant&lt;br /&gt;
* Gilet de sauvetage&lt;br /&gt;
* Kayak&lt;br /&gt;
* Mise à l'eau&lt;br /&gt;
* Moto&lt;br /&gt;
* Planche de surf&lt;br /&gt;
* Planche à voile&lt;br /&gt;
* Pédalo&lt;br /&gt;
* Salle&lt;br /&gt;
* Salle de classe&lt;br /&gt;
* Simulateur&lt;br /&gt;
* Véhicule terrestre&lt;br /&gt;
&lt;br /&gt;
==Désactiver un type de ressource==&lt;br /&gt;
Lorsqu'un type de ressource n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un type de ressource, il faut au préalable que toutes les ressources associées soient désactivées.&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types de ressource &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Un type ressource est supprimé au lieu d'être désactivé si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune ressource n'est associée&lt;br /&gt;
* Aucune règle de tarification n'est associée&lt;br /&gt;
&lt;br /&gt;
==Dupliquer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Dupliquer un type de ressource permet de créer une copie du type de ressource existant ainsi que de ses entrées associées dans diverses tables. Cette fonction est utile pour configurer rapidement un nouveau type de ressource basé sur un type existant avec des modifications minimales.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône de duplication située à côté de l'icône de crayon pour le type de ressource à dupliquer&lt;br /&gt;
* Le nouveau type de ressource sera créé avec un nom similaire, suivi de &amp;quot;2&amp;quot; pour indiquer qu'il s'agit d'une duplication&lt;br /&gt;
&lt;br /&gt;
Les éléments dupliqués comprennent :&lt;br /&gt;
* Le type de ressource lui-même avec un nom modifié&lt;br /&gt;
* Les statuts autorisés pour ce type de ressource&lt;br /&gt;
* Les places de ce type de ressource&lt;br /&gt;
* Les profils affectés aux places de ce type de ressource&lt;br /&gt;
* Les règles de validité associées à ce type de ressource&lt;br /&gt;
* Les types d'activités requis par ce type de ressource&lt;br /&gt;
* Toute autre entrée liée à ce type de ressource dans les tables pertinentes&lt;br /&gt;
&lt;br /&gt;
Vérifier et modifier les paramètres du nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un type de ressource, suivez les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône symbolisant une poubelle intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à supprimer&lt;br /&gt;
&lt;br /&gt;
Les conditions de suppression sont les suivantes :&lt;br /&gt;
&lt;br /&gt;
* Si le type de ressource n'a aucune ressource active ou règle de tarification associée, il sera complètement supprimé de la base de données.&lt;br /&gt;
* Si le type de ressource a des ressources actives ou des règles de facturation associées, la suppression sera interrompue.&lt;br /&gt;
* Si le type de ressource a des ressources désactivées associées, il sera seulement désactivé. Un message de confirmation apparaîtra pour confirmer la désactivation et la raison.&lt;br /&gt;
&lt;br /&gt;
=Ressource=&lt;br /&gt;
==Accès à une ressource désactivée==&lt;br /&gt;
Pour pouvoir accéder à une ressource désactivée, il faut [[#Réactiver_une_ressource|la réactiver]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A noter qu'il est possible d'accéder aux informations liées à une ressource désactivée par le biais de [[Gestion des rapports|rapports]] affichant les informations sur toutes les ressources (activées ou désactivées).&lt;br /&gt;
&lt;br /&gt;
==Ajouter une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
Lorsque la plateforme est en réservation par type, par exemple pour le surbooking, il faut d'abord avoir créé un type de ressource en suivant la procédure [[#Ajouter_un_type_de_ressource|ajouter un type de ressource]] à associer à la nouvelle ressource à créer&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Actives''' puis cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire et valider&lt;br /&gt;
*Si la ressource est compatible avec la Saisie d'activité, les comptes comptables associés sont générés '''automatiquement''', soit à la '''création de la ressource''', soit lors de l'activation de la '''saisie d'activité'''.&lt;br /&gt;
*Sinon, [[Utilisation de la comptabilité#Créer_un_compte_ressource|créer les comptes associés à la ressource manuellement]].&lt;br /&gt;
&lt;br /&gt;
==Changer la couleur de la ligne du planing de la ressource==&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la resource à modifier&lt;br /&gt;
*Champ '''Couleur de la ligne''',  choisir la couleur à attribuer à la ressource&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Changer la valeur du compteur en cours==&lt;br /&gt;
OpenFlyers enregistre la valeur du compteur en cours en considérant qu'il doit correspondre au compteur arrivé du vol le plus récent enregistré.&lt;br /&gt;
&lt;br /&gt;
Cette valeur est visible et modifiable en suivant cette procédure:&lt;br /&gt;
* Aller au menu '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
* Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la ressource à Modifier&lt;br /&gt;
* Dans le formulaire de la modification dans la colonne '''Données pour la gestion des activités'''&lt;br /&gt;
* Modifier la valeur du champ '''Dernier compteur enregistré'''&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
En modifiant cette valeur enregistrée, on force le compteur ou l'horamètre à prendre une nouvelle valeur qui sera affichée comme compteur départ du prochain vol saisi.&lt;br /&gt;
&lt;br /&gt;
C'est notamment utile lorsqu'il est nécessaire de recaler un compteur pour cause, par exemple, de changement d'horamètre.&lt;br /&gt;
&lt;br /&gt;
Ne pas oublier de cliquer sur le bouton '''Valider''' du formulaire pour enregistrer la nouvelle valeur.&lt;br /&gt;
&lt;br /&gt;
==Changer le total des heures==&lt;br /&gt;
'''Attention :''' si la correction du total des heures est nécessaire du fait d'une activité validée mal saisie, il ne faut pas utiliser la procédure décrite ci-après, mais utiliser la fonction d'[[Gestion-des-activités#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Il peut être parfois nécessaire de corriger le total des heures d'une ressource, notamment lors de sa création sur la plateforme OpenFlyers ou encore s'il y a une remise à 0 de son total d'heures.&lt;br /&gt;
&lt;br /&gt;
Pour ce faire :&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer l'icône &amp;quot;crayon&amp;quot; pour modifier la ressource souhaitée&lt;br /&gt;
*Dans le formulaire '''Données pour la gestion des vols''' :&lt;br /&gt;
**modifier le champ '''Date de début de comptabilisation des heures''' en le mettant à une date supérieure au vol mal saisi&lt;br /&gt;
**modifier la champ '''Total des heures à la date de début''' pour y inscrire la bonne valeur&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
==Désactiver une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Toutes les activités associées à la ressource concernée doivent avoir été validées. Si besoin suivre la procédure [[Gestion-des-activités#Valider-les-activités-d'une-ressource-désactivée-ou-n'ayant-plus-la-saisie-des-activités|Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Lorsqu'une ressource n'est plus présente, on peut la supprimer sans pour autant perdre l'historique en la désactivant. La procédure suivante décrit comment désactiver complètement une ressource.&lt;br /&gt;
&lt;br /&gt;
Cependant, au cours d'un exercice comptable, il est plus simple de ne pas désactiver une ressource et d'attendre la clôture de l'exercice comptable qui induira une remise à 0 des comptes de toutes les ressources et ensuite une simplification de l'opération de désactivation. Par contre, afin de permettre de réutiliser l'abonnement lié à la ressource devenue obsolète, il faut :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
Pour la ressource concernée :&lt;br /&gt;
*Décocher '''Réservable'''&lt;br /&gt;
*Décocher '''Saisie d'activité'''&lt;br /&gt;
Ainsi, la ressource n'est plus retenue dans le quota de l'abonnement.&lt;br /&gt;
&lt;br /&gt;
'''Voici la procédure permettant de désactiver complètement une ressource''' :&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver une ressource il faut que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]. Cela nécessite de [[Utilisation-de-la-comptabilité#Solder-un-compte|Solder les comptes]] de la ressource en saisissant un flux entre le(s) compte(s) de la ressource et d'autres comptes de charges ou de produits qui seront créés pour l'occasion et qui auront vocation à recevoir le solde créditeur ou débiteur des comptes de la ressource ramenés à 0.&lt;br /&gt;
&lt;br /&gt;
La liste des comptes associés à une ressource se trouve dans '''Gestion &amp;gt; Comptes &amp;gt; Comptes &amp;gt; Ressource'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Gestion &amp;gt; Ressources &amp;gt; Active'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante à la ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Une ressource est supprimée au lieu d'être désactivée si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune réservation n'est associée à la ressource&lt;br /&gt;
* Aucune activité (vol) n'est associée à la ressource&lt;br /&gt;
* Aucun compte n'est associé, c'est à dire que les comptes qui avaient été éventuellement créés avec la ressource ont été complètement supprimé lors de leur désactivation.&lt;br /&gt;
&lt;br /&gt;
==Réactiver une ressource==&lt;br /&gt;
Une ressource désactivée n'apparait plus dans la liste des ressources actives, mais on peut le réactiver en allant dans '''Gestion &amp;gt; Ressources &amp;gt; Désactivées''', et en cliquant dessus.&lt;br /&gt;
&lt;br /&gt;
Cette opération est nécessaire si vous souhaitez refaire apparaitre des données sur une ressource précédemment déactivée.&lt;br /&gt;
&lt;br /&gt;
Si votre abonnement ne comporte plus assez de ressource disponible, il faut momentanément [[#Désactiver_une_ressource|désactiver une autre ressource]], puis réactiver la ressource souhaitée. Ne pas oublier de revenir à l'état précédent lorsque vous avez effectué vos opérations de consultation.&lt;br /&gt;
&lt;br /&gt;
==Saisir le numéro de ressource pour l'API de geolocalisation==&lt;br /&gt;
'''''NB''': le numéro de ressource [[Interfaçage-OpenFlyers-et-Charterware|Charterware]] et [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] correspond généralement à l'immatriculation de l'appareil. Attention, l'immatriculation peut être avec ou sans tiret côté Charterware.''&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''.&lt;br /&gt;
* Pour chaque ressource pour laquelle les vols seront enregistrés :&lt;br /&gt;
* Cliquer sur le bouton symbolisant un crayon.&lt;br /&gt;
** Renseigner le champ '''Numéro de ressource API géolocalisation''' :&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Teltonika|Teltonika]]: avec l'IMEI de la boîte Teltonika utilisée avec cette ressource.&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Charterware|Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot Aviation|Foxtrot Aviation]]: avec l'immatriculation de cette ressource.&lt;br /&gt;
** Cliquer sur le bouton '''Enregistrer'''.&lt;br /&gt;
*Le système vérifie le nombre de ressources autorisées par l'abonnement d'interconnexion avec boitier GPS/GSM . Si la ressource en cours de configuration dépasse ce nombre, un message d'alerte s'affiche.&lt;br /&gt;
==Saisie d'activité et comptes ressource==&lt;br /&gt;
*Lorsque '''Saisie d'activité''' est activée pour une ressource compatible, les comptes ressource associés sont créés automatiquement&lt;br /&gt;
*Le symbole '''-''' dans la colonne '''Saisie d'activité''' signifie que l'option n'est pas applicable au type de ressource (elle ne peut donc pas être activée pour cette ressource)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14313</id>
		<title>Gestion des ressources</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14313"/>
		<updated>2026-02-23T14:18:28Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Ajouter une ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des ressources''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Type de ressource=&lt;br /&gt;
==Ajouter un type de ressource==&lt;br /&gt;
''L'ensemble de cette procédure étant complexe et peu fréquente au sein d'une structure, il est recommandé de solliciter le support OpenFlyers.''&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*'''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire :&lt;br /&gt;
**'''Nom''' : Indiquer le nom du type de ressource.&lt;br /&gt;
**'''Catégorie''' : Sélectionner la [[#Catégorie de type de ressource|catégorie de type de ressource]] (ex: Avion).&lt;br /&gt;
**'''Places disponibles''' : Indiquer le nombre de places disponibles. Mettre -1 pour un nombre illimité de place.&lt;br /&gt;
**'''Vitesse propre''' : Indiquer la vitesse propre du type de ressource.&lt;br /&gt;
**'''Commentaires''' : Ajouter des commentaires supplémentaires si nécessaire.&lt;br /&gt;
**'''Seuil de déclenchement du facteur de charge''' : La valeur ajoutée sera utilisée dans Teltonika pour définir les seuils d'avertissement.&lt;br /&gt;
**'''Durée maximum de réservation''' : Indiquer la durée maximale de réservation pour ce type de ressource.&lt;br /&gt;
**'''Faire apparaître le champ &amp;quot;Moyen de mise en l'air&amp;quot;''' : Afficher le champ pour sélectionner le moyen de mise en l'air (principalement utilisé pour les planeurs).&lt;br /&gt;
**'''Unité de temps des compteurs du type de ressource''' : Choisir l'unité de temps des compteurs (En heures minutes, En heures centièmes, En heures dixièmes, Pas de compteur).&lt;br /&gt;
**'''Autonomie du type de ressource''' : Indiquer l'autonomie du type de ressource en heures et minutes. Il faut indiquer une valeur supérieure à 0 afin de ne pas avoir le [[Alertes de configuration#La_gestion_des_vols_est_activée_mais_l'autonomie_n'est_pas_défini_pour_le_type_de_ressource_X|message d'alerte correspondant]].&lt;br /&gt;
**'''Formule de calcul du temps de vol''' : &lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
***Lorsque l'option '''--Autre--''' est sélectionnée, un champ texte '''Formule de calcul du temps d'activité''' apparaît afin de permettre la saisie d'une formule personnalisée non présente dans la liste.&lt;br /&gt;
***'''Simulateur de temps de vol''': un bouton permet d'ouvrir une interface de simulation de la formule de vol, où l'utilisateur peut saisir les différentes valeurs requises et visualiser le résultat obtenu.&lt;br /&gt;
**'''Calcul du temps moteur différent du temps de vol''': &lt;br /&gt;
***Un interrupteur permet d'activer ou de désactiver l'utilisation d'une formule spécifique pour calculer le temps moteur, différente de celle utilisée pour le temps de vol. ***Lorsque l'interrupteur est activé, l'utilisateur peut saisir une formule personnalisée dans le champ texte '''Formule de calcul du temps moteur'''.&lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
**'''Profils pouvant voir ce type de ressource''' : Sélectionner les profils qui peuvent voir ce type de ressource, utiliser les boutons '''tout cocher''' et '''tout décocher''' pour faciliter la sélection&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Configurer les réservoirs pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Réservoirs'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne du tableau :&lt;br /&gt;
***'''Réservoir''' : Remplir l'intitulé approprié (ex : Central, Moteur).&lt;br /&gt;
***'''Type de réservoir''' : Choisir la catégorie du réservoir (ex : Carburant 100LL, Huile).&lt;br /&gt;
***'''Unité''' : Sélectionner l'unité de mesure (ex : L pour litres).&lt;br /&gt;
***'''Quantité maximum''' : Indiquer la quantité maximum pour ce type de réservoir. Mettre -1 pour une quantité maximum sans limite.&lt;br /&gt;
**Cliquer sur l'icône d'ajout pour ajouter le réservoir à la liste.&lt;br /&gt;
**Répéter l'opération pour chaque type de réservoir nécessaire au type de ressource.&lt;br /&gt;
*Configurer les statuts pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Statuts autorisés'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
***Sélectionner l'intitulé adéquat dans le champ '''Statut''' et le numéro de siège sur lequel il doit être ajouté&lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Répéter l'opération pour l'ensemble des statuts devant être attribués aux différentes places du type de ressource.&lt;br /&gt;
*Configurer les places pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Places'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Pour chaque type de ressource, il faut définir au moins l'intitulé de la 1ère place (c'est à dire la place 0).&lt;br /&gt;
**Dans la colonne '''Profils''', affecter les profils configurés aux emplacements souhaités.&lt;br /&gt;
Exemple :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Numéro de place!!Intitulé!!Profils&lt;br /&gt;
|-&lt;br /&gt;
|0||Place Gauche||''tous les profils''&lt;br /&gt;
|-&lt;br /&gt;
|1||Place droite||Instructeur&lt;br /&gt;
|}&lt;br /&gt;
Types de validité :&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] le cas échéant un type de validité pour habiliter à réserver/utiliser le type de ressource&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] ou mettre à jour un type validité à [[Paramétrage-des-validités#Formule-d'expérience|expériences]]&lt;br /&gt;
*[[Paramétrage-des-validités#Paramétrer-pour-chaque-type-de-ressource-les-validités-requises|Paramétrer pour le type de ressource les validités requises]]&lt;br /&gt;
Dans le cas où la [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] est en place, il faut :&lt;br /&gt;
*Soit rajouter le nouveau type de ressource au domaine d'application d'une ou de règles de facturation existantes&lt;br /&gt;
*Soit rajouter une ou des règles de facturation nécessaires à la facturation de ce type de ressource ainsi que les tarifs associés. Voici la procédure pour rajouter la règle de facturation &amp;quot;solo&amp;quot; :&lt;br /&gt;
**[[Utilisation-de-la-comptabilité#Créer-un-tarif-pour-la-facturation-des-activités|Créer un tarif pour la facturation des activités]]&lt;br /&gt;
**[[Gestion-de-la-facturation-des-activités#Créer-une-règle-de-facturation-&amp;quot;solo&amp;quot;-pour-un-type-de-ressource|Créer une règle de facturation &amp;quot;solo&amp;quot; pour un type de ressource]]&lt;br /&gt;
**'''/!\ Il ne faut pas oublier de remonter la règle de facturation &amp;quot;Solo&amp;quot; juste en-dessous des autres règles de facturation &amp;quot;Solo&amp;quot; propres aux ressources''' afin de respecter la [[Facturation-des-clients#Cascade-d'écritures-comptables|facturation en cascade]].&lt;br /&gt;
**Il faut vérifier les autres règles pour :&lt;br /&gt;
***Voir s'il ne faut pas étendre le domaine d'application des règles existantes au nouveau type de ressource.&lt;br /&gt;
***Voir s'il ne faut pas, par mimétisme, recopier une règle de facturation existante pour avoir un comportement similaire pour ce nouveau type de ressource. Cela peut être le cas, par exemple, lorsqu'il faut mettre en place un système de gestion de packs d'heures de vol pour le nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Catégorie de type de ressource==&lt;br /&gt;
&lt;br /&gt;
Le changement de catégorie d'un type de ressource du groupe aéronef vers non-aéronef n'est pas autorisé.&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe aéronef sont :&lt;br /&gt;
* Avion&lt;br /&gt;
* Drône&lt;br /&gt;
* Hélicoptère&lt;br /&gt;
* Planeur&lt;br /&gt;
* Ultra-léger motorisé&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe non-aéronef sont :&lt;br /&gt;
* Bateau&lt;br /&gt;
* Bateau (ski nautique)&lt;br /&gt;
* Camion&lt;br /&gt;
* Engin de levage&lt;br /&gt;
* Enseignant&lt;br /&gt;
* Gilet de sauvetage&lt;br /&gt;
* Kayak&lt;br /&gt;
* Mise à l'eau&lt;br /&gt;
* Moto&lt;br /&gt;
* Planche de surf&lt;br /&gt;
* Planche à voile&lt;br /&gt;
* Pédalo&lt;br /&gt;
* Salle&lt;br /&gt;
* Salle de classe&lt;br /&gt;
* Simulateur&lt;br /&gt;
* Véhicule terrestre&lt;br /&gt;
&lt;br /&gt;
==Désactiver un type de ressource==&lt;br /&gt;
Lorsqu'un type de ressource n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un type de ressource, il faut au préalable que toutes les ressources associées soient désactivées.&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types de ressource &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Un type ressource est supprimé au lieu d'être désactivé si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune ressource n'est associée&lt;br /&gt;
* Aucune règle de tarification n'est associée&lt;br /&gt;
&lt;br /&gt;
==Dupliquer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Dupliquer un type de ressource permet de créer une copie du type de ressource existant ainsi que de ses entrées associées dans diverses tables. Cette fonction est utile pour configurer rapidement un nouveau type de ressource basé sur un type existant avec des modifications minimales.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône de duplication située à côté de l'icône de crayon pour le type de ressource à dupliquer&lt;br /&gt;
* Le nouveau type de ressource sera créé avec un nom similaire, suivi de &amp;quot;2&amp;quot; pour indiquer qu'il s'agit d'une duplication&lt;br /&gt;
&lt;br /&gt;
Les éléments dupliqués comprennent :&lt;br /&gt;
* Le type de ressource lui-même avec un nom modifié&lt;br /&gt;
* Les statuts autorisés pour ce type de ressource&lt;br /&gt;
* Les places de ce type de ressource&lt;br /&gt;
* Les profils affectés aux places de ce type de ressource&lt;br /&gt;
* Les règles de validité associées à ce type de ressource&lt;br /&gt;
* Les types d'activités requis par ce type de ressource&lt;br /&gt;
* Toute autre entrée liée à ce type de ressource dans les tables pertinentes&lt;br /&gt;
&lt;br /&gt;
Vérifier et modifier les paramètres du nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un type de ressource, suivez les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône symbolisant une poubelle intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à supprimer&lt;br /&gt;
&lt;br /&gt;
Les conditions de suppression sont les suivantes :&lt;br /&gt;
&lt;br /&gt;
* Si le type de ressource n'a aucune ressource active ou règle de tarification associée, il sera complètement supprimé de la base de données.&lt;br /&gt;
* Si le type de ressource a des ressources actives ou des règles de facturation associées, la suppression sera interrompue.&lt;br /&gt;
* Si le type de ressource a des ressources désactivées associées, il sera seulement désactivé. Un message de confirmation apparaîtra pour confirmer la désactivation et la raison.&lt;br /&gt;
&lt;br /&gt;
=Ressource=&lt;br /&gt;
==Accès à une ressource désactivée==&lt;br /&gt;
Pour pouvoir accéder à une ressource désactivée, il faut [[#Réactiver_une_ressource|la réactiver]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A noter qu'il est possible d'accéder aux informations liées à une ressource désactivée par le biais de [[Gestion des rapports|rapports]] affichant les informations sur toutes les ressources (activées ou désactivées).&lt;br /&gt;
&lt;br /&gt;
==Ajouter une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
Lorsque la plateforme est en réservation par type, par exemple pour le surbooking, il faut d'abord avoir créé un type de ressource en suivant la procédure [[#Ajouter_un_type_de_ressource|ajouter un type de ressource]] à associer à la nouvelle ressource à créer&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Actives''' puis cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire et valider&lt;br /&gt;
*Si la ressource est compatible avec la Saisie d'activité, les comptes comptables associés sont générés automatiquement, soit à la création de la ressource, soit lors de l'activation de la '''saisie d'activité'''.&lt;br /&gt;
*Sinon, [[Utilisation de la comptabilité#Créer_un_compte_ressource|créer les comptes associés à la ressource manuellement]].&lt;br /&gt;
&lt;br /&gt;
==Changer la couleur de la ligne du planing de la ressource==&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la resource à modifier&lt;br /&gt;
*Champ '''Couleur de la ligne''',  choisir la couleur à attribuer à la ressource&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Changer la valeur du compteur en cours==&lt;br /&gt;
OpenFlyers enregistre la valeur du compteur en cours en considérant qu'il doit correspondre au compteur arrivé du vol le plus récent enregistré.&lt;br /&gt;
&lt;br /&gt;
Cette valeur est visible et modifiable en suivant cette procédure:&lt;br /&gt;
* Aller au menu '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
* Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la ressource à Modifier&lt;br /&gt;
* Dans le formulaire de la modification dans la colonne '''Données pour la gestion des activités'''&lt;br /&gt;
* Modifier la valeur du champ '''Dernier compteur enregistré'''&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
En modifiant cette valeur enregistrée, on force le compteur ou l'horamètre à prendre une nouvelle valeur qui sera affichée comme compteur départ du prochain vol saisi.&lt;br /&gt;
&lt;br /&gt;
C'est notamment utile lorsqu'il est nécessaire de recaler un compteur pour cause, par exemple, de changement d'horamètre.&lt;br /&gt;
&lt;br /&gt;
Ne pas oublier de cliquer sur le bouton '''Valider''' du formulaire pour enregistrer la nouvelle valeur.&lt;br /&gt;
&lt;br /&gt;
==Changer le total des heures==&lt;br /&gt;
'''Attention :''' si la correction du total des heures est nécessaire du fait d'une activité validée mal saisie, il ne faut pas utiliser la procédure décrite ci-après, mais utiliser la fonction d'[[Gestion-des-activités#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Il peut être parfois nécessaire de corriger le total des heures d'une ressource, notamment lors de sa création sur la plateforme OpenFlyers ou encore s'il y a une remise à 0 de son total d'heures.&lt;br /&gt;
&lt;br /&gt;
Pour ce faire :&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer l'icône &amp;quot;crayon&amp;quot; pour modifier la ressource souhaitée&lt;br /&gt;
*Dans le formulaire '''Données pour la gestion des vols''' :&lt;br /&gt;
**modifier le champ '''Date de début de comptabilisation des heures''' en le mettant à une date supérieure au vol mal saisi&lt;br /&gt;
**modifier la champ '''Total des heures à la date de début''' pour y inscrire la bonne valeur&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
==Désactiver une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Toutes les activités associées à la ressource concernée doivent avoir été validées. Si besoin suivre la procédure [[Gestion-des-activités#Valider-les-activités-d'une-ressource-désactivée-ou-n'ayant-plus-la-saisie-des-activités|Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Lorsqu'une ressource n'est plus présente, on peut la supprimer sans pour autant perdre l'historique en la désactivant. La procédure suivante décrit comment désactiver complètement une ressource.&lt;br /&gt;
&lt;br /&gt;
Cependant, au cours d'un exercice comptable, il est plus simple de ne pas désactiver une ressource et d'attendre la clôture de l'exercice comptable qui induira une remise à 0 des comptes de toutes les ressources et ensuite une simplification de l'opération de désactivation. Par contre, afin de permettre de réutiliser l'abonnement lié à la ressource devenue obsolète, il faut :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
Pour la ressource concernée :&lt;br /&gt;
*Décocher '''Réservable'''&lt;br /&gt;
*Décocher '''Saisie d'activité'''&lt;br /&gt;
Ainsi, la ressource n'est plus retenue dans le quota de l'abonnement.&lt;br /&gt;
&lt;br /&gt;
'''Voici la procédure permettant de désactiver complètement une ressource''' :&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver une ressource il faut que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]. Cela nécessite de [[Utilisation-de-la-comptabilité#Solder-un-compte|Solder les comptes]] de la ressource en saisissant un flux entre le(s) compte(s) de la ressource et d'autres comptes de charges ou de produits qui seront créés pour l'occasion et qui auront vocation à recevoir le solde créditeur ou débiteur des comptes de la ressource ramenés à 0.&lt;br /&gt;
&lt;br /&gt;
La liste des comptes associés à une ressource se trouve dans '''Gestion &amp;gt; Comptes &amp;gt; Comptes &amp;gt; Ressource'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Gestion &amp;gt; Ressources &amp;gt; Active'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante à la ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Une ressource est supprimée au lieu d'être désactivée si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune réservation n'est associée à la ressource&lt;br /&gt;
* Aucune activité (vol) n'est associée à la ressource&lt;br /&gt;
* Aucun compte n'est associé, c'est à dire que les comptes qui avaient été éventuellement créés avec la ressource ont été complètement supprimé lors de leur désactivation.&lt;br /&gt;
&lt;br /&gt;
==Réactiver une ressource==&lt;br /&gt;
Une ressource désactivée n'apparait plus dans la liste des ressources actives, mais on peut le réactiver en allant dans '''Gestion &amp;gt; Ressources &amp;gt; Désactivées''', et en cliquant dessus.&lt;br /&gt;
&lt;br /&gt;
Cette opération est nécessaire si vous souhaitez refaire apparaitre des données sur une ressource précédemment déactivée.&lt;br /&gt;
&lt;br /&gt;
Si votre abonnement ne comporte plus assez de ressource disponible, il faut momentanément [[#Désactiver_une_ressource|désactiver une autre ressource]], puis réactiver la ressource souhaitée. Ne pas oublier de revenir à l'état précédent lorsque vous avez effectué vos opérations de consultation.&lt;br /&gt;
&lt;br /&gt;
==Saisir le numéro de ressource pour l'API de geolocalisation==&lt;br /&gt;
'''''NB''': le numéro de ressource [[Interfaçage-OpenFlyers-et-Charterware|Charterware]] et [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] correspond généralement à l'immatriculation de l'appareil. Attention, l'immatriculation peut être avec ou sans tiret côté Charterware.''&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''.&lt;br /&gt;
* Pour chaque ressource pour laquelle les vols seront enregistrés :&lt;br /&gt;
* Cliquer sur le bouton symbolisant un crayon.&lt;br /&gt;
** Renseigner le champ '''Numéro de ressource API géolocalisation''' :&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Teltonika|Teltonika]]: avec l'IMEI de la boîte Teltonika utilisée avec cette ressource.&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Charterware|Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot Aviation|Foxtrot Aviation]]: avec l'immatriculation de cette ressource.&lt;br /&gt;
** Cliquer sur le bouton '''Enregistrer'''.&lt;br /&gt;
*Le système vérifie le nombre de ressources autorisées par l'abonnement d'interconnexion avec boitier GPS/GSM . Si la ressource en cours de configuration dépasse ce nombre, un message d'alerte s'affiche.&lt;br /&gt;
==Saisie d'activité et comptes ressource==&lt;br /&gt;
*Lorsque '''Saisie d'activité''' est activée pour une ressource compatible, les comptes ressource associés sont créés automatiquement&lt;br /&gt;
*Le symbole '''-''' dans la colonne '''Saisie d'activité''' signifie que l'option n'est pas applicable au type de ressource (elle ne peut donc pas être activée pour cette ressource)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14312</id>
		<title>Gestion des ressources</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=14312"/>
		<updated>2026-02-23T14:18:03Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Ajouter une ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des ressources''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Type de ressource=&lt;br /&gt;
==Ajouter un type de ressource==&lt;br /&gt;
''L'ensemble de cette procédure étant complexe et peu fréquente au sein d'une structure, il est recommandé de solliciter le support OpenFlyers.''&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*'''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire :&lt;br /&gt;
**'''Nom''' : Indiquer le nom du type de ressource.&lt;br /&gt;
**'''Catégorie''' : Sélectionner la [[#Catégorie de type de ressource|catégorie de type de ressource]] (ex: Avion).&lt;br /&gt;
**'''Places disponibles''' : Indiquer le nombre de places disponibles. Mettre -1 pour un nombre illimité de place.&lt;br /&gt;
**'''Vitesse propre''' : Indiquer la vitesse propre du type de ressource.&lt;br /&gt;
**'''Commentaires''' : Ajouter des commentaires supplémentaires si nécessaire.&lt;br /&gt;
**'''Seuil de déclenchement du facteur de charge''' : La valeur ajoutée sera utilisée dans Teltonika pour définir les seuils d'avertissement.&lt;br /&gt;
**'''Durée maximum de réservation''' : Indiquer la durée maximale de réservation pour ce type de ressource.&lt;br /&gt;
**'''Faire apparaître le champ &amp;quot;Moyen de mise en l'air&amp;quot;''' : Afficher le champ pour sélectionner le moyen de mise en l'air (principalement utilisé pour les planeurs).&lt;br /&gt;
**'''Unité de temps des compteurs du type de ressource''' : Choisir l'unité de temps des compteurs (En heures minutes, En heures centièmes, En heures dixièmes, Pas de compteur).&lt;br /&gt;
**'''Autonomie du type de ressource''' : Indiquer l'autonomie du type de ressource en heures et minutes. Il faut indiquer une valeur supérieure à 0 afin de ne pas avoir le [[Alertes de configuration#La_gestion_des_vols_est_activée_mais_l'autonomie_n'est_pas_défini_pour_le_type_de_ressource_X|message d'alerte correspondant]].&lt;br /&gt;
**'''Formule de calcul du temps de vol''' : &lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
***Lorsque l'option '''--Autre--''' est sélectionnée, un champ texte '''Formule de calcul du temps d'activité''' apparaît afin de permettre la saisie d'une formule personnalisée non présente dans la liste.&lt;br /&gt;
***'''Simulateur de temps de vol''': un bouton permet d'ouvrir une interface de simulation de la formule de vol, où l'utilisateur peut saisir les différentes valeurs requises et visualiser le résultat obtenu.&lt;br /&gt;
**'''Calcul du temps moteur différent du temps de vol''': &lt;br /&gt;
***Un interrupteur permet d'activer ou de désactiver l'utilisation d'une formule spécifique pour calculer le temps moteur, différente de celle utilisée pour le temps de vol. ***Lorsque l'interrupteur est activé, l'utilisateur peut saisir une formule personnalisée dans le champ texte '''Formule de calcul du temps moteur'''.&lt;br /&gt;
***Voir les [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|formules de calcul de temps d'activité et temps moteur]]&lt;br /&gt;
**'''Profils pouvant voir ce type de ressource''' : Sélectionner les profils qui peuvent voir ce type de ressource, utiliser les boutons '''tout cocher''' et '''tout décocher''' pour faciliter la sélection&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Configurer les réservoirs pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Réservoirs'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne du tableau :&lt;br /&gt;
***'''Réservoir''' : Remplir l'intitulé approprié (ex : Central, Moteur).&lt;br /&gt;
***'''Type de réservoir''' : Choisir la catégorie du réservoir (ex : Carburant 100LL, Huile).&lt;br /&gt;
***'''Unité''' : Sélectionner l'unité de mesure (ex : L pour litres).&lt;br /&gt;
***'''Quantité maximum''' : Indiquer la quantité maximum pour ce type de réservoir. Mettre -1 pour une quantité maximum sans limite.&lt;br /&gt;
**Cliquer sur l'icône d'ajout pour ajouter le réservoir à la liste.&lt;br /&gt;
**Répéter l'opération pour chaque type de réservoir nécessaire au type de ressource.&lt;br /&gt;
*Configurer les statuts pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Statuts autorisés'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
***Sélectionner l'intitulé adéquat dans le champ '''Statut''' et le numéro de siège sur lequel il doit être ajouté&lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Répéter l'opération pour l'ensemble des statuts devant être attribués aux différentes places du type de ressource.&lt;br /&gt;
*Configurer les places pour le type de ressource :&lt;br /&gt;
**En bas de la page, dans le tableau '''Places'''.&lt;br /&gt;
**Remplir les champs de la dernière ligne &lt;br /&gt;
**Cliquer sur l'icône d'ajout&lt;br /&gt;
**Pour chaque type de ressource, il faut définir au moins l'intitulé de la 1ère place (c'est à dire la place 0).&lt;br /&gt;
**Dans la colonne '''Profils''', affecter les profils configurés aux emplacements souhaités.&lt;br /&gt;
Exemple :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Numéro de place!!Intitulé!!Profils&lt;br /&gt;
|-&lt;br /&gt;
|0||Place Gauche||''tous les profils''&lt;br /&gt;
|-&lt;br /&gt;
|1||Place droite||Instructeur&lt;br /&gt;
|}&lt;br /&gt;
Types de validité :&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] le cas échéant un type de validité pour habiliter à réserver/utiliser le type de ressource&lt;br /&gt;
*[[Paramétrage-des-validités#Ajouter-un-type-de-validités|Créer]] ou mettre à jour un type validité à [[Paramétrage-des-validités#Formule-d'expérience|expériences]]&lt;br /&gt;
*[[Paramétrage-des-validités#Paramétrer-pour-chaque-type-de-ressource-les-validités-requises|Paramétrer pour le type de ressource les validités requises]]&lt;br /&gt;
Dans le cas où la [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] est en place, il faut :&lt;br /&gt;
*Soit rajouter le nouveau type de ressource au domaine d'application d'une ou de règles de facturation existantes&lt;br /&gt;
*Soit rajouter une ou des règles de facturation nécessaires à la facturation de ce type de ressource ainsi que les tarifs associés. Voici la procédure pour rajouter la règle de facturation &amp;quot;solo&amp;quot; :&lt;br /&gt;
**[[Utilisation-de-la-comptabilité#Créer-un-tarif-pour-la-facturation-des-activités|Créer un tarif pour la facturation des activités]]&lt;br /&gt;
**[[Gestion-de-la-facturation-des-activités#Créer-une-règle-de-facturation-&amp;quot;solo&amp;quot;-pour-un-type-de-ressource|Créer une règle de facturation &amp;quot;solo&amp;quot; pour un type de ressource]]&lt;br /&gt;
**'''/!\ Il ne faut pas oublier de remonter la règle de facturation &amp;quot;Solo&amp;quot; juste en-dessous des autres règles de facturation &amp;quot;Solo&amp;quot; propres aux ressources''' afin de respecter la [[Facturation-des-clients#Cascade-d'écritures-comptables|facturation en cascade]].&lt;br /&gt;
**Il faut vérifier les autres règles pour :&lt;br /&gt;
***Voir s'il ne faut pas étendre le domaine d'application des règles existantes au nouveau type de ressource.&lt;br /&gt;
***Voir s'il ne faut pas, par mimétisme, recopier une règle de facturation existante pour avoir un comportement similaire pour ce nouveau type de ressource. Cela peut être le cas, par exemple, lorsqu'il faut mettre en place un système de gestion de packs d'heures de vol pour le nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Catégorie de type de ressource==&lt;br /&gt;
&lt;br /&gt;
Le changement de catégorie d'un type de ressource du groupe aéronef vers non-aéronef n'est pas autorisé.&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe aéronef sont :&lt;br /&gt;
* Avion&lt;br /&gt;
* Drône&lt;br /&gt;
* Hélicoptère&lt;br /&gt;
* Planeur&lt;br /&gt;
* Ultra-léger motorisé&lt;br /&gt;
&lt;br /&gt;
Les catégories du groupe non-aéronef sont :&lt;br /&gt;
* Bateau&lt;br /&gt;
* Bateau (ski nautique)&lt;br /&gt;
* Camion&lt;br /&gt;
* Engin de levage&lt;br /&gt;
* Enseignant&lt;br /&gt;
* Gilet de sauvetage&lt;br /&gt;
* Kayak&lt;br /&gt;
* Mise à l'eau&lt;br /&gt;
* Moto&lt;br /&gt;
* Planche de surf&lt;br /&gt;
* Planche à voile&lt;br /&gt;
* Pédalo&lt;br /&gt;
* Salle&lt;br /&gt;
* Salle de classe&lt;br /&gt;
* Simulateur&lt;br /&gt;
* Véhicule terrestre&lt;br /&gt;
&lt;br /&gt;
==Désactiver un type de ressource==&lt;br /&gt;
Lorsqu'un type de ressource n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver un type de ressource, il faut au préalable que toutes les ressources associées soient désactivées.&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types de ressource &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Un type ressource est supprimé au lieu d'être désactivé si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune ressource n'est associée&lt;br /&gt;
* Aucune règle de tarification n'est associée&lt;br /&gt;
&lt;br /&gt;
==Dupliquer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Dupliquer un type de ressource permet de créer une copie du type de ressource existant ainsi que de ses entrées associées dans diverses tables. Cette fonction est utile pour configurer rapidement un nouveau type de ressource basé sur un type existant avec des modifications minimales.&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône de duplication située à côté de l'icône de crayon pour le type de ressource à dupliquer&lt;br /&gt;
* Le nouveau type de ressource sera créé avec un nom similaire, suivi de &amp;quot;2&amp;quot; pour indiquer qu'il s'agit d'une duplication&lt;br /&gt;
&lt;br /&gt;
Les éléments dupliqués comprennent :&lt;br /&gt;
* Le type de ressource lui-même avec un nom modifié&lt;br /&gt;
* Les statuts autorisés pour ce type de ressource&lt;br /&gt;
* Les places de ce type de ressource&lt;br /&gt;
* Les profils affectés aux places de ce type de ressource&lt;br /&gt;
* Les règles de validité associées à ce type de ressource&lt;br /&gt;
* Les types d'activités requis par ce type de ressource&lt;br /&gt;
* Toute autre entrée liée à ce type de ressource dans les tables pertinentes&lt;br /&gt;
&lt;br /&gt;
Vérifier et modifier les paramètres du nouveau type de ressource.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un type de ressource==&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un type de ressource, suivez les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
* Cliquer sur l'icône symbolisant une poubelle intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type de ressource à supprimer&lt;br /&gt;
&lt;br /&gt;
Les conditions de suppression sont les suivantes :&lt;br /&gt;
&lt;br /&gt;
* Si le type de ressource n'a aucune ressource active ou règle de tarification associée, il sera complètement supprimé de la base de données.&lt;br /&gt;
* Si le type de ressource a des ressources actives ou des règles de facturation associées, la suppression sera interrompue.&lt;br /&gt;
* Si le type de ressource a des ressources désactivées associées, il sera seulement désactivé. Un message de confirmation apparaîtra pour confirmer la désactivation et la raison.&lt;br /&gt;
&lt;br /&gt;
=Ressource=&lt;br /&gt;
==Accès à une ressource désactivée==&lt;br /&gt;
Pour pouvoir accéder à une ressource désactivée, il faut [[#Réactiver_une_ressource|la réactiver]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A noter qu'il est possible d'accéder aux informations liées à une ressource désactivée par le biais de [[Gestion des rapports|rapports]] affichant les informations sur toutes les ressources (activées ou désactivées).&lt;br /&gt;
&lt;br /&gt;
==Ajouter une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
Lorsque la plateforme est en réservation par type, par exemple pour le surbooking, il faut d'abord avoir créé un type de ressource en suivant la procédure [[#Ajouter_un_type_de_ressource|ajouter un type de ressource]] à associer à la nouvelle ressource à créer&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Actives''' puis cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Saisir les champs du formulaire et valider&lt;br /&gt;
*Si la ressource est compatible avec la Saisie d'activité, les comptes comptables associés sont générés automatiquement, soit à la création de la ressource, soit lors de l'activation de la Saisie d’activité.&lt;br /&gt;
*Sinon, [[Utilisation de la comptabilité#Créer_un_compte_ressource|créer les comptes associés à la ressource manuellement]].&lt;br /&gt;
&lt;br /&gt;
==Changer la couleur de la ligne du planing de la ressource==&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la resource à modifier&lt;br /&gt;
*Champ '''Couleur de la ligne''',  choisir la couleur à attribuer à la ressource&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Changer la valeur du compteur en cours==&lt;br /&gt;
OpenFlyers enregistre la valeur du compteur en cours en considérant qu'il doit correspondre au compteur arrivé du vol le plus récent enregistré.&lt;br /&gt;
&lt;br /&gt;
Cette valeur est visible et modifiable en suivant cette procédure:&lt;br /&gt;
* Aller au menu '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
* Cliquer sur le pictogramme symbolisant un crayon sur la ligne de la ressource à Modifier&lt;br /&gt;
* Dans le formulaire de la modification dans la colonne '''Données pour la gestion des activités'''&lt;br /&gt;
* Modifier la valeur du champ '''Dernier compteur enregistré'''&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
En modifiant cette valeur enregistrée, on force le compteur ou l'horamètre à prendre une nouvelle valeur qui sera affichée comme compteur départ du prochain vol saisi.&lt;br /&gt;
&lt;br /&gt;
C'est notamment utile lorsqu'il est nécessaire de recaler un compteur pour cause, par exemple, de changement d'horamètre.&lt;br /&gt;
&lt;br /&gt;
Ne pas oublier de cliquer sur le bouton '''Valider''' du formulaire pour enregistrer la nouvelle valeur.&lt;br /&gt;
&lt;br /&gt;
==Changer le total des heures==&lt;br /&gt;
'''Attention :''' si la correction du total des heures est nécessaire du fait d'une activité validée mal saisie, il ne faut pas utiliser la procédure décrite ci-après, mais utiliser la fonction d'[[Gestion-des-activités#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Il peut être parfois nécessaire de corriger le total des heures d'une ressource, notamment lors de sa création sur la plateforme OpenFlyers ou encore s'il y a une remise à 0 de son total d'heures.&lt;br /&gt;
&lt;br /&gt;
Pour ce faire :&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer l'icône &amp;quot;crayon&amp;quot; pour modifier la ressource souhaitée&lt;br /&gt;
*Dans le formulaire '''Données pour la gestion des vols''' :&lt;br /&gt;
**modifier le champ '''Date de début de comptabilisation des heures''' en le mettant à une date supérieure au vol mal saisi&lt;br /&gt;
**modifier la champ '''Total des heures à la date de début''' pour y inscrire la bonne valeur&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
==Désactiver une ressource==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Toutes les activités associées à la ressource concernée doivent avoir été validées. Si besoin suivre la procédure [[Gestion-des-activités#Valider-les-activités-d'une-ressource-désactivée-ou-n'ayant-plus-la-saisie-des-activités|Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Lorsqu'une ressource n'est plus présente, on peut la supprimer sans pour autant perdre l'historique en la désactivant. La procédure suivante décrit comment désactiver complètement une ressource.&lt;br /&gt;
&lt;br /&gt;
Cependant, au cours d'un exercice comptable, il est plus simple de ne pas désactiver une ressource et d'attendre la clôture de l'exercice comptable qui induira une remise à 0 des comptes de toutes les ressources et ensuite une simplification de l'opération de désactivation. Par contre, afin de permettre de réutiliser l'abonnement lié à la ressource devenue obsolète, il faut :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
Pour la ressource concernée :&lt;br /&gt;
*Décocher '''Réservable'''&lt;br /&gt;
*Décocher '''Saisie d'activité'''&lt;br /&gt;
Ainsi, la ressource n'est plus retenue dans le quota de l'abonnement.&lt;br /&gt;
&lt;br /&gt;
'''Voici la procédure permettant de désactiver complètement une ressource''' :&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver une ressource il faut que les [[Utilisation de la comptabilité#Désactiver_un_compte|comptes associés soient désactivables]]. Cela nécessite de [[Utilisation-de-la-comptabilité#Solder-un-compte|Solder les comptes]] de la ressource en saisissant un flux entre le(s) compte(s) de la ressource et d'autres comptes de charges ou de produits qui seront créés pour l'occasion et qui auront vocation à recevoir le solde créditeur ou débiteur des comptes de la ressource ramenés à 0.&lt;br /&gt;
&lt;br /&gt;
La liste des comptes associés à une ressource se trouve dans '''Gestion &amp;gt; Comptes &amp;gt; Comptes &amp;gt; Ressource'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Gestion &amp;gt; Ressources &amp;gt; Active'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante à la ressource à désactiver&lt;br /&gt;
&lt;br /&gt;
Une ressource est supprimée au lieu d'être désactivée si toutes les conditions suivantes sont remplies :&lt;br /&gt;
* Aucune réservation n'est associée à la ressource&lt;br /&gt;
* Aucune activité (vol) n'est associée à la ressource&lt;br /&gt;
* Aucun compte n'est associé, c'est à dire que les comptes qui avaient été éventuellement créés avec la ressource ont été complètement supprimé lors de leur désactivation.&lt;br /&gt;
&lt;br /&gt;
==Réactiver une ressource==&lt;br /&gt;
Une ressource désactivée n'apparait plus dans la liste des ressources actives, mais on peut le réactiver en allant dans '''Gestion &amp;gt; Ressources &amp;gt; Désactivées''', et en cliquant dessus.&lt;br /&gt;
&lt;br /&gt;
Cette opération est nécessaire si vous souhaitez refaire apparaitre des données sur une ressource précédemment déactivée.&lt;br /&gt;
&lt;br /&gt;
Si votre abonnement ne comporte plus assez de ressource disponible, il faut momentanément [[#Désactiver_une_ressource|désactiver une autre ressource]], puis réactiver la ressource souhaitée. Ne pas oublier de revenir à l'état précédent lorsque vous avez effectué vos opérations de consultation.&lt;br /&gt;
&lt;br /&gt;
==Saisir le numéro de ressource pour l'API de geolocalisation==&lt;br /&gt;
'''''NB''': le numéro de ressource [[Interfaçage-OpenFlyers-et-Charterware|Charterware]] et [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] correspond généralement à l'immatriculation de l'appareil. Attention, l'immatriculation peut être avec ou sans tiret côté Charterware.''&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''.&lt;br /&gt;
* Pour chaque ressource pour laquelle les vols seront enregistrés :&lt;br /&gt;
* Cliquer sur le bouton symbolisant un crayon.&lt;br /&gt;
** Renseigner le champ '''Numéro de ressource API géolocalisation''' :&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Teltonika|Teltonika]]: avec l'IMEI de la boîte Teltonika utilisée avec cette ressource.&lt;br /&gt;
*** [[Interfaçage-OpenFlyers-et-Charterware|Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|ClickAndTakeOff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot Aviation|Foxtrot Aviation]]: avec l'immatriculation de cette ressource.&lt;br /&gt;
** Cliquer sur le bouton '''Enregistrer'''.&lt;br /&gt;
*Le système vérifie le nombre de ressources autorisées par l'abonnement d'interconnexion avec boitier GPS/GSM . Si la ressource en cours de configuration dépasse ce nombre, un message d'alerte s'affiche.&lt;br /&gt;
==Saisie d'activité et comptes ressource==&lt;br /&gt;
*Lorsque '''Saisie d'activité''' est activée pour une ressource compatible, les comptes ressource associés sont créés automatiquement&lt;br /&gt;
*Le symbole '''-''' dans la colonne '''Saisie d'activité''' signifie que l'option n'est pas applicable au type de ressource (elle ne peut donc pas être activée pour cette ressource)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=File:014_parametrage_gestion_reservation.png&amp;diff=14284</id>
		<title>File:014_parametrage_gestion_reservation.png</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=File:014_parametrage_gestion_reservation.png&amp;diff=14284"/>
		<updated>2026-02-04T13:35:05Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: Lelhidam uploaded a new version of File:014_parametrage_gestion_reservation.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14282</id>
		<title>Gestion des activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14282"/>
		<updated>2026-02-04T11:30:21Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Saisir une activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
==Paramétrage des vols solos supervisés==&lt;br /&gt;
La réglementation aéronautique EASA, différencie les instructeurs en 2 catégories : les instructeurs restreints et non restreints. Les instructeurs sont restreints tant qu'ils ont effectués moins de 100 heures d'instruction. Pour le décompte de leurs heures d'instruction, il est possible de prendre en compte les heures solo, effectuées par leurs élèves, heures solos qu'ils ont supervisées. De plus, le rapport annuel de statistiques [[AERAL]] nécessite de faire remonter les heures solos supervisées par instructeur ainsi que par activité.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers déconseille de saisir les heures de solo supervisées en renseignant le nom de l'instructeur dans le champ '''Place droite''' ou '''Instructeur''' afin de ne pas créer d'effets de bords sur l'ensemble du logiciel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenFlyers recommande de paramétrer le suivi des heures solos supervisées de la façon suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un type d'activité ''Solo supervisé''&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
En bas du tableau '''Liste des types d'activités''', sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom''', indiquer ''Solo supervisé''&lt;br /&gt;
*Champ '''Couleur''', sélectionner une couleur, de préférence proche de la couleur pour l'instruction&lt;br /&gt;
*Cliquer sur le bouton avec un pictogramme symbolisant le signe plus&lt;br /&gt;
*Aller à nouveau dans '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs''' pour mettre à jour les autres tableaux&lt;br /&gt;
Dans le tableau '''Types d'activités incompatibles''', rendre incompatible le type d'activité ''Solo supervisé'' avec les autres types d'activités qui doivent être incompatible, notamment ''Instruction'', ''Baptême'', ''Maintenance'', ''Vol découverte'', etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un champ métier &amp;quot;Instructeur superviseur&amp;quot; pour le formulaire de saisie d'activité afin de pouvoir noter le nom de l'instructeur pour les vols solos des élèves&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers'''&lt;br /&gt;
Tout en bas sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom de variable''', indiquer ''supervisor''&lt;br /&gt;
*Champ '''Intitulé''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Champ '''Catégorie''', indiquer ''Activité''&lt;br /&gt;
*Champ '''Type de valeur''', indiquer ''dbObject::Person(Instructeur)''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Mettre à jour le paramétrage [[AERAL#Activité-correspondant-à-Solo-supervisé|Activité correspondant à Solo supervisé]] pour AERAL :&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
Formulaire '''Activité correspondant à Solo supervisé''' :&lt;br /&gt;
*Champ '''Solo supervisé''', indiquer '''Solo supervisé'''&lt;br /&gt;
*Désactiver l'interrupteur '''instructeur en place droite'''&lt;br /&gt;
*Champ '''Champ métier correspondant au superviseur''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut ou en bas à droite de la page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Ensuite, pour chaque vol solo supervisé, il faut dans le formulaire de saisie d'activité&lt;br /&gt;
*Cocher le type d'activité ''Solo supervisé''&lt;br /&gt;
*Renseigner le nom de l'instructeur dans le champ ''Instructeur superviseur''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mettre en place une validité &amp;quot;Élève autorisé solo&amp;quot;&lt;br /&gt;
Dans le cas où la structure met en place des restrictions sur les réservations ou la saisie des vols, un élève en solo supervisé, n'ayant donc pas les validités d'un pilote breveté, peut se retrouver bloqué. Pour contourner ces restrictions, il est recommandé de créer un type de validité &amp;quot;Élève autorisé solo&amp;quot; et de lui permettre de contourner les exigences des autres validités non détenues par un élève.&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter un type de validités'''&lt;br /&gt;
*Champ '''Nom''', indiquer ''Élève autorisé solo''&lt;br /&gt;
*Cliquer sur la case à cocher '''Soumise à échéance'''&lt;br /&gt;
*Champs '''Profils autorisés à gérer pour eux-mêmes''' et '''Profils autorisés à gérer/certifier pour les autres''', cocher les profils ''admin'', ''gestionnaire'' (ou équivalents) et ''instructeur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer&amp;quot;&lt;br /&gt;
*'''Admin &amp;gt; Types de ressource'''&lt;br /&gt;
Pour chaque type de ressource :&lt;br /&gt;
*Cliquer sur le bouton '''Validité'''&lt;br /&gt;
*Pour chaque ligne de validité qui exige une validité qu'un élève n'a pas l'obligation de détenir, cocher le type de validité ''Élève autorisé solo''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Facturation du solo supervisé au tarif de l'instruction&lt;br /&gt;
Dans le cas où la structure facture le solo supervisé à l'identique de l'instruction, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Ventes &amp;gt; Facturation &amp;gt; Activités'''&lt;br /&gt;
*Editer la ligne &amp;quot;Instruction&amp;quot; en cliquant sur le bouton symbolisant un crayon et situé à droite de la ligne concernée&lt;br /&gt;
*Cocher ''Solo supervisé'' dans le champ '''Types d'activités concernés'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Afficher la vue d'ensemble des activités selon les ressources=&lt;br /&gt;
*Naviguer vers la section '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''.&lt;br /&gt;
&lt;br /&gt;
Une synthèse sous forme de tableau des activités '''actives''' et '''physiques''', s'affiche automatiquement :&lt;br /&gt;
*les ressources actives y figurent toujours.&lt;br /&gt;
*les ressources désactivées ou celles pour lesquelles l'interrupteur '''Saisie d'activité''' (accessible via '''Gestion &amp;gt; Ressources &amp;gt; Actives''') est décoché réapparaissent dès qu'elles possèdent au moins une activité non validée.&lt;br /&gt;
&lt;br /&gt;
Ainsi, aucune action supplémentaire n'est nécessaire pour retrouver les ressources portant encore des validations à effectuer.&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==[[Gestion-armoire-à-clés#Alertes-lors-de-la-saisie-d'une-activité|Alertes générées par le contrôle d'accès]]==&lt;br /&gt;
&lt;br /&gt;
==[[Facturation-des-clients#Alertes-générées-par-le-moteur-de-facturation|Alertes générées par le moteur de facturation]]==&lt;br /&gt;
&lt;br /&gt;
==[[Validités#Alertes-lors-d'une-réservation-ou-une-saisie-d'activité|Alertes générées sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==L'aéronef est déjà en l'air==&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)==&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps d'activité est incompatible avec la valeur calculée par la [[Formules-de-calcul#Temps-d'activité|formule de calcul du temps d'activité]] définie pour la ressource X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer-la-saisie-d'une-durée-d'activité-incompatible-avec-sa-formule-de-calcul|Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
==Le pilote X est déjà en l'air==&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus==&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
==Vous êtes actuellement en l'air==&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Vous ne pouvez ouvrir un vol avec une date de début dépassée==&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Annuler une activité validée=&lt;br /&gt;
Contrairement à la [[#Supprimer-une-activité|suppression des activités non validées]] et du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de supprimer physiquement une activité après [[#Valider-une-activité|sa validation]]. Par contre, la fonction d'annulation de la saisie d'une activité permet d'en annuler son effet.&lt;br /&gt;
&lt;br /&gt;
'''C'est cette fonction qu'il faut utiliser dans le cas où une activité validée doit être corrigée. L'utilisateur assurant la gestion :'''&lt;br /&gt;
#'''Annule l'activité validée qui n'a pas été saisie correctement'''&lt;br /&gt;
#'''Saisie une nouvelle activité avec les bonnes données''' (Cette opération n'entraîne pas de contrôle restrictif (chevauchement), car le vol concerné a déjà été contre-passé).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction d'annulation d'activité génère les enregistrements suivants en base de données :&lt;br /&gt;
#Création d'une même activité que l'activité à annuler mais avec une durée opposée. Cela permet de garantir que les totaux d'heures d'activités sont correctement corrigés. De plus, le champ commentaire contient une référence à l'activité ciblée par l'annulation.&lt;br /&gt;
#Création des écritures comptables associées correspondant à l'identique à celles de l'activité à annuler mais de sens opposé (débit au lieu de crédit et vice versa).&lt;br /&gt;
Ces enregistrements sont générées à la date du jour et sont automatiquement validés. Cela permet de garantir la traçabilité des opérations.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : il est possible d'annuler plusieurs fois une même activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser cette fonction :&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Dans la colonne '''Annuler une activité validée''', cliquer sur l’icône rouge symbolisant une flèche qui fait demi-tour&lt;br /&gt;
* Une page listant les activités validées apparait :&lt;br /&gt;
** Dans la colonne '''Annuler''', sélectionner l'activité à annuler&lt;br /&gt;
** Cliquer sur le bouton '''Annuler l'activité sélectionnée (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
=Annuler un vol ouvert=&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
=Lister les activités=&lt;br /&gt;
La liste des activités est accessible depuis:&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Cliquer sur l'icône correspondant à la colonne '''Valider les activités sélectionnées'''.&lt;br /&gt;
* Ou bien Cliquer sur l'icône correspondant à la colonne '''Vérifier la succession des activités'''.&lt;br /&gt;
** la page de Contrôle des compteurs de la resource a apparu.&lt;br /&gt;
** Entrer Le compteur de départ, puis Sélectionner la date de début et de fin de l'intervale que vous voulez visualiser.&lt;br /&gt;
** Cliquer sur le bouton '''Visualiser'''.&lt;br /&gt;
&lt;br /&gt;
La liste des activités synthétise les informations les plus importantes pour l'ensemble des activités dans un intervalle de temps:&lt;br /&gt;
&lt;br /&gt;
* '''Pointer''': contient les deux icônes '''tout cocher''' et '''tout décocher''', aussi les cases à cocher de chaque ligne,  en cochant la case puis en Cliquant sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)''' vous pouvez valider l'activité.&lt;br /&gt;
* '''Date''': date et heure de départ de vol, elle est affichée en fonction des [[Configuration#Patron-de-format-de-date|patrons de format de date]], affichée en rouge lorsque la date est dans le futur ( demain ou plus tard) ou bien lorsque la date de début de l'activité précédente chevauche une activité existante, c'est-à-dire  la date de début de l'activité précédente + sa durée dépasse la date de début de l'activité actuelle. Un interrupteur Date en '''UTC''' permet d'afficher sous la date locale une ligne orange indiquant l'heure '''UTC''' si la conversion reste le même jour, ou la date complète en '''UTC''' lorsque la conversion recule sur la veille.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''0''' (par exemple: place droite, pilote, Elève, Ouvert): la personne attribué au position 0,  affichée en rouge lorsque l'activité n'avait pas de pilote.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''1''' s'il existe (par exemple: place gauche, instructeur, Adhérent): la personne attribué au position 1.&lt;br /&gt;
* '''Activités''' : les types d'activités sélectionnés pour l'activité (par exemple: Voltige, Instruction, Vol technique, ...).&lt;br /&gt;
* '''Temps d'activité''' : la durée de l'activité, elle est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Temps moteur''' : le temps moteur s'affiche  si la ressource appartient à un type de ressource configuré pour utiliser un calcul de temps moteur différent du temps de vol, il est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Départ''' : Terrain de départ affiché en rouge lorsque l'activité n'avait pas de terrain de départ.&lt;br /&gt;
* '''Arrivée''': Terrain d'arrivée affiché en rouge lorsque l'activité n'avait pas de terrain d'arrivée.&lt;br /&gt;
* '''Att.''' : Nombre d'atterrissages.&lt;br /&gt;
* '''Ajouts réservoirs''': Réapprovisionnement de réservoir avant/après vol, ils sont affichées sous format suivante &amp;quot; quantité + Unité (Type de éservoir)&amp;quot;.&lt;br /&gt;
* les éventuelles colonnes correspondant aux champs métiers de type &amp;quot;Activité&amp;quot;.&lt;br /&gt;
* '''Compteurs''': affichés en deux manières ( compteur hexadécimal : HH:MM , compteur décimal: HH,CC ).&lt;br /&gt;
** '''Départ''' : Le compteur de départ, affiché en rouge si le compteur de départ de l'activité actuelle inférieur au compteur d'arrivée de l'activité précédente ou bien si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** '''Arrivée''' : Le compteur d'arrivée. &lt;br /&gt;
** '''Diff.''' : la difference entre les compteurs. affiché en rouge si le compteur de départ de l'activité actuelle dépasse le compteur d'arrivée de l'activité actuelle ou bien si '''(''' le compteur d'arrivée de l'activité actuelle '''-''' le compteur de départ de l'activité actuelle '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
* '''Actions''': L'utilisateur peut effectuer sur une activité les actions suivantes:&lt;br /&gt;
** Modifier : L'utilisateur peut modifier une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Supprimer : L'utilisateur peut supprimer une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Ajouter : L'utilisateur peut ajouter une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** Afficher la trace de vol: L'utilisateur peut afficher la trace de vol s'il est sur le vol ou s'il a le droit de voir les traces de vol.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les entrées comptables associées à des activités non validées=&lt;br /&gt;
Dans le cas où, suite à une saisie d'activité, des changements de facturations ont été fait, il est nécessaire de mettre à jour les entrées comptables associées à celle-ci. &lt;br /&gt;
La mise à jour ne peut se faire que sur les activités non validées ayant au moins un utilisateur et étant associées à une ressource active.&lt;br /&gt;
&lt;br /&gt;
Procédure pour mettre à jour les écritures comptables d'une ou plusieurs activités :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Mettre à jour les entrées comptables des activités non validées'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités dont il est nécessaire de mettre à jour les entrées comptables en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Mettre à jour les activités sélectionnées'''&lt;br /&gt;
&lt;br /&gt;
=Modifier une activité=&lt;br /&gt;
Une activité peut être saisie :&lt;br /&gt;
*Soit à l'état ouvert&lt;br /&gt;
*Soit à l'état fermé&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état ouvert, aucune écriture comptable n'est encore générée. Pour fermer une telle activité, il faut sur le planning de réservation :&lt;br /&gt;
*Soit, cliquer sur le rectangle de la ressource considérée qui doit être sur fond bleu pour indiquer que la ressource est en l'air&lt;br /&gt;
*Soit, cliquer la zone en bleue correspondante à la période du vol ouvert.&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état fermée, pour la modifier, il faut :&lt;br /&gt;
*Soit aller sur le compte de l'un des utilisateurs concerné par l'activité et pour lequel une écriture a été générée&lt;br /&gt;
*Soit aller sur le carnet de vol ou le carnet de route impacté&lt;br /&gt;
Dans tous les cas, il faut ensuite cliquer sur l'icône crayon qui apparait sur la ligne correspondante à l'activité.&lt;br /&gt;
&lt;br /&gt;
Tout activité saisie reste modifiable tant qu'elle n'est pas validée.&lt;br /&gt;
&lt;br /&gt;
Si l'objectif est de mettre à jour des calculs de facturation sur plusieurs activités, alors il est recommandé de suivre la procédure [[#Mettre-à-jour-les-entrées-comptables-associées-à-des-activités-non-validées|Mettre à jour les entrées comptables associées à des activités non validées]] pour gagner du temps.&lt;br /&gt;
&lt;br /&gt;
Si l'activité à modifier est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]] puis saisir une nouvelle activité.&lt;br /&gt;
&lt;br /&gt;
=Saisir une activité=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Activités &amp;gt; Activités &amp;gt; Saisir'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes de traitement&lt;br /&gt;
*[[Formulaires#Valeur-par-défaut|Champs avec des valeurs par défaut]]&lt;br /&gt;
*La [[Formulaires#Valeur-par-défaut|valeur par défaut]] du champ '''terrain de départ''' correspond au '''terrain d'arrivée''' du vol précédent renseigné par l'aéronef sélectionné. Changer la date de début d'activité ou l'aéronef entraîne un rafraîchissement de la page et la valeur par défaut du champ '''terrain de départ''' se met à jour. S'il n'y a pas de vol précédent, la valeur par défaut est le terrain associé à la plateforme.&lt;br /&gt;
*Le compteur de départ par défaut équivaut au compteur d'arrivée du vol précédent renseigné par l'aéronef sélectionné. Changer la date de départ rafraîchi la page si la date de départ est antérieure à la date de départ du vol précédent. Le compteur est mis à jour en fonction. Si le compteur est changé manuellement, le compteur n'est pas mis à jour lors du rafraîchissement. Changer d'aéronef réinitialise ce comportement.&lt;br /&gt;
*Suivant l'activité choisie et le [[Configuration#Terrain-d'arrivée-égal-au-terrain-de-départ,-lorsque-l'une-des-activités-suivantes-est-sélectionnée|paramétrage de la plateforme]], le terrain d'arrivée peut être automatiquement rempli avec la même valeur que celle du terrain de départ.&lt;br /&gt;
*La saisie d'une activité d'une durée inférieure à 15 minutes déclenche l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement l'activité.&lt;br /&gt;
*Lorsqu'un utilisateur est saisi, un champ pour définir son statut apparaît. Ce champ disparaît si l'utilisateur n'est pas défini.&lt;br /&gt;
*Lors de la saisie des utilisateurs, le nombre de personnes à bord se mets automatiquement à jour. Le nombre de personnes à bord est égal au nombre d'utilisateurs saisis. Si le nombre de personnes à bord est défini manuellement, la valeur n'est pas changée automatiquement par la suite.&amp;quot;&lt;br /&gt;
*Lors de la saisie d'un lieu, si aucun lieu correspondant n'est trouvé, [[#Demander-l'ajout-d'un-lieu|une option]] apparait afin de demander à OpenFlyers l'ajout du lieu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie date/heure départ/arrivée&lt;br /&gt;
A gauche du champ de saisie est indiqué le fuseau horaire défini par la structure et dans lequel le couple date/heure (horodatage) doit être saisi.&lt;br /&gt;
&lt;br /&gt;
Les champs de saisie pour l'horodatage de départ et d'arrivée sont conçus pour :&lt;br /&gt;
*La saisie optimisée avec un clavier (via les flèches ou par saisie directe) en ne nécessitant de saisir que les informations utiles : la barre oblique entre le jour et le mois ou le mois et l'année ne doit pas être saisie. En cas de la saisie manuelle, un message d'aide s'affiche pendant la saisie afin de guider l'utilisateur : ''Terminez la saisie, puis cliquez en dehors du champ pour appliquer les modifications''.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
En-dessous du champ de saisie de l'horodatage départ/arrivée apparait une ligne qui affiche l'horodatage en UTC.&lt;br /&gt;
&lt;br /&gt;
Tant que l'aéronef n'est pas encore sélectionné, si l'utilisateur ouvre le formulaire de saisie d'activité puis modifie le premier champ (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers recalcule et propose de nouvelles heures par défaut conformément aux deux règles ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Fermeture seulement''' :&lt;br /&gt;
**L'heure de retour proposée correspond à ''l'heure actuelle''.&lt;br /&gt;
**L'heure de départ est automatiquement calculée en soustrayant la durée d'activité par défaut à cette heure de fin.&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Ouverture et fermeture''' :&lt;br /&gt;
*L'heure de départ proposée est ''l'heure actuelle + 10 minutes''&lt;br /&gt;
*L'heure de retour est automatiquement calculée en ajoutant la durée d'activité par défaut à cette heure de début.&lt;br /&gt;
&lt;br /&gt;
Lorsque l'aéronef est sélectionné et que l'utilisateur modifie le premier champ du formulaire (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers conserve les heures déjà renseignées dans les champs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps d'activité]]&lt;br /&gt;
Lorsque le temps d'activité est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps moteur]]&lt;br /&gt;
Ce champ apparaît si le type de ressource de l'aéronef sélectionné est configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&lt;br /&gt;
Lorsque le temps moteur est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Synchronisation d'une saisie avec Gesasso / [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]&lt;br /&gt;
Lors de la saisie d'une activité et lorsque la plateforme est configurée pour la synchronisation externe avec [[Interfaçage-OpenFlyers-et-Gesasso|Gesasso]] (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]), le bouton de validation a deux affichages possibles :&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer''' : Si la ressource sélectionnée n'a pas de numéro d'immatriculation Gesasso valide, ou si l'un des pilotes ne dispose pas d'une licence FFVP valide, alors la synchronisation avec Gesasso (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]) est ignorée dans ce cas.&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer et Synchroniser avec Gesasso''' : indique que les ressources et les pilotes sélectionnés remplissent les critères requis, et que la synchronisation avec Gesasso (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]) est effectuée après l'enregistrement de l'activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes d'alertes&lt;br /&gt;
*[[Formulaires#Surbrillance-jaune|Effet de surbrillance jaune]]&lt;br /&gt;
*[[Formulaires#Surbrillance-rouge|Effet de surbrillance rouge]]&lt;br /&gt;
*Des [[Présentation-générale-des-alertes|alertes]] bloquantes ou non bloquantes peuvent être affichées après l'envoi du formulaire nécessitant une action complémentaire de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Page affichée par défaut après la saisie d'une activité&lt;br /&gt;
*Le planning lors d'une ouverture d'activité.&lt;br /&gt;
*La page du [[Gestion-des-activit%C3%A9s#Saisir-un-suivi-de-formation|saisie de progression]] lors d'une fermeture d'activité.&lt;br /&gt;
*A nouveau le formulaire de saisie d'activité lorsque l'activité précédemment saisie l'était en fermeture et que le terrain d'arrivée saisi était différent du terrain par défaut de la structure.&lt;br /&gt;
*Dans les autres cas, l'[[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
*Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
==Demander l'ajout d'un aérodrome==&lt;br /&gt;
Lors de la saisie du terrain de départ, ou d'arrivée, il se peut que le lieu que l'utilisateur souhaite saisir ne soit pas dans nos bases de données. Une proposition apparait alors :&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXX ( Demander l'ajout du lieu à OpenFlyers )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il suffit à l'utilisateur de sélectionner cette option afin d'effectuer la demande d'ajout à OpenFlyers.&lt;br /&gt;
Cette option ne prend en compte que les lieux recensés par l'OACI ou la FFPLUM.&lt;br /&gt;
&lt;br /&gt;
Attention, pour demander l'ajout d'un lieu, il faut saisir uniquement le code OACI (code à 4 lettres) ou FFPLUM (code au format LF + 4 chiffres) du lieu.&lt;br /&gt;
&lt;br /&gt;
Une fois l'option sélectionnée, la demande est enregistrée par OpenFlyers, mais le lieu n'est pas ajouté immédiatement, il faut donc saisir temporairement un autre lieu.&lt;br /&gt;
&lt;br /&gt;
==Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul==&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La-différence-entre-le-temps-de-vol-calculé-et-le-temps-de-vol-saisi-est-de-:-X:XX-heure(s)|temps d'activité incompatible avec la formule de calcul]] associée au type ressource pour lequel on souhaite saisir l'activité.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir l'activité en modifiant le compteur d'arrivé de sorte à obtenir le temps d'activité souhaité.&lt;br /&gt;
*[[Gestion-des-ressources#Changer-la-valeur-du-compteur-en-cours|Changer la valeur du compteur en cours]] de la ressource.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs activités successives doivent être saisies, il est alors judicieux de ne mettre à jour le compteur de la ressource qu'une que toutes les activités ont été saisies.&lt;br /&gt;
&lt;br /&gt;
=Supprimer une activité=&lt;br /&gt;
Si l'activité à supprimer est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Si l'activité à supprimer n'est pas validée, pour effectuer sa suppression il faut :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Dans le tableau qui va lister les activités, cliquer sur l'icône poubelle correspondant à l'activité à supprimer et confirmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités=&lt;br /&gt;
Pour valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités de cochée, il existe 2 solutions :&lt;br /&gt;
*Si l'objectif c'est de clôturer la comptabilité et donc de valider toutes les écritures antérieure à une certaine date, alors la solution la plus simple est de valider toutes les écritures antérieures à cette date en suivant la procédure [[Utilisation-de-la-comptabilité#Valider-toutes-les-écritures|Valider toutes les écritures]].&lt;br /&gt;
*Si l'objectif est de contrôler, voir de modifier les activités liées à la ressource avant de réellement les valider, alors il faut réactiver temporairement la ressource pour qu'elle apparaisse dans '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste''' et ainsi pouvoir contrôler et valider ses activités associées. Pour cela il faut :&lt;br /&gt;
**Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Réservable''' et '''Saisie d'activité''' d'une ressource existante&lt;br /&gt;
**Cocher '''Saisie d'activité''' pour la ressource dont on souhaite contrôler les activités puis les valider&lt;br /&gt;
**valider les activités en allant dans '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''&lt;br /&gt;
**Revenir sur '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Saisie d'activité''' pour cette ressource&lt;br /&gt;
**Re-cocher '''Réservable''' et '''Saisie d'activité''' pour la ressource qui devait être temporairement décochée&lt;br /&gt;
&lt;br /&gt;
=Valider une activité=&lt;br /&gt;
;Introduction&lt;br /&gt;
La validation des activités doit être effectuée à intervalle régulier comme préconisé dans le [[Bien-débuter-avec-OpenFlyers#Validation-des-écritures|workflow de validation des activités]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe des écritures non validées qui datent de plus de 30 jours, un message d'alerte de configuration s'affiche indiquant ''[[Alertes-de-configuration#Il-y-a-des-activités-non-validées-qui-datent-de-plus-de-30-jours|Il y a des activités non validées qui datent de plus de 30 jours]]''.&lt;br /&gt;
&lt;br /&gt;
Option disponible pour la validation : [[Configuration#Regrouper-les-activités-en-une-facture-lors-de-la-validation|Regrouper les activités en une facture lors de la validation]]&lt;br /&gt;
&lt;br /&gt;
;Procédure pour valider une ou plusieurs activités&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités à valider en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où une activité a été validée alors qu'elle ne devait pas l'être, il est toujours possible d'en [[#Annuler-une-activité-validée|annuler l'effet]].&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une activité incomplète (Pas de pilote ou pas de localisation d'arrivée ou de départ) l'activité ne peut pas être validée il est donc impossible de la pointer. Ce cas ne devrait arriver que pour les activités générées via [[Interfaçage-OpenFlyers-et-Charterware|l'interfaçage avec Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|l'interfaçage avec ClickAndTakeoff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot-Aviation|l'interfaçage avec Foxtrot Aviation]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14281</id>
		<title>Gestion des activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14281"/>
		<updated>2026-02-04T11:29:45Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Saisir une activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
==Paramétrage des vols solos supervisés==&lt;br /&gt;
La réglementation aéronautique EASA, différencie les instructeurs en 2 catégories : les instructeurs restreints et non restreints. Les instructeurs sont restreints tant qu'ils ont effectués moins de 100 heures d'instruction. Pour le décompte de leurs heures d'instruction, il est possible de prendre en compte les heures solo, effectuées par leurs élèves, heures solos qu'ils ont supervisées. De plus, le rapport annuel de statistiques [[AERAL]] nécessite de faire remonter les heures solos supervisées par instructeur ainsi que par activité.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers déconseille de saisir les heures de solo supervisées en renseignant le nom de l'instructeur dans le champ '''Place droite''' ou '''Instructeur''' afin de ne pas créer d'effets de bords sur l'ensemble du logiciel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenFlyers recommande de paramétrer le suivi des heures solos supervisées de la façon suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un type d'activité ''Solo supervisé''&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
En bas du tableau '''Liste des types d'activités''', sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom''', indiquer ''Solo supervisé''&lt;br /&gt;
*Champ '''Couleur''', sélectionner une couleur, de préférence proche de la couleur pour l'instruction&lt;br /&gt;
*Cliquer sur le bouton avec un pictogramme symbolisant le signe plus&lt;br /&gt;
*Aller à nouveau dans '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs''' pour mettre à jour les autres tableaux&lt;br /&gt;
Dans le tableau '''Types d'activités incompatibles''', rendre incompatible le type d'activité ''Solo supervisé'' avec les autres types d'activités qui doivent être incompatible, notamment ''Instruction'', ''Baptême'', ''Maintenance'', ''Vol découverte'', etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un champ métier &amp;quot;Instructeur superviseur&amp;quot; pour le formulaire de saisie d'activité afin de pouvoir noter le nom de l'instructeur pour les vols solos des élèves&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers'''&lt;br /&gt;
Tout en bas sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom de variable''', indiquer ''supervisor''&lt;br /&gt;
*Champ '''Intitulé''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Champ '''Catégorie''', indiquer ''Activité''&lt;br /&gt;
*Champ '''Type de valeur''', indiquer ''dbObject::Person(Instructeur)''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Mettre à jour le paramétrage [[AERAL#Activité-correspondant-à-Solo-supervisé|Activité correspondant à Solo supervisé]] pour AERAL :&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
Formulaire '''Activité correspondant à Solo supervisé''' :&lt;br /&gt;
*Champ '''Solo supervisé''', indiquer '''Solo supervisé'''&lt;br /&gt;
*Désactiver l'interrupteur '''instructeur en place droite'''&lt;br /&gt;
*Champ '''Champ métier correspondant au superviseur''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut ou en bas à droite de la page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Ensuite, pour chaque vol solo supervisé, il faut dans le formulaire de saisie d'activité&lt;br /&gt;
*Cocher le type d'activité ''Solo supervisé''&lt;br /&gt;
*Renseigner le nom de l'instructeur dans le champ ''Instructeur superviseur''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mettre en place une validité &amp;quot;Élève autorisé solo&amp;quot;&lt;br /&gt;
Dans le cas où la structure met en place des restrictions sur les réservations ou la saisie des vols, un élève en solo supervisé, n'ayant donc pas les validités d'un pilote breveté, peut se retrouver bloqué. Pour contourner ces restrictions, il est recommandé de créer un type de validité &amp;quot;Élève autorisé solo&amp;quot; et de lui permettre de contourner les exigences des autres validités non détenues par un élève.&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter un type de validités'''&lt;br /&gt;
*Champ '''Nom''', indiquer ''Élève autorisé solo''&lt;br /&gt;
*Cliquer sur la case à cocher '''Soumise à échéance'''&lt;br /&gt;
*Champs '''Profils autorisés à gérer pour eux-mêmes''' et '''Profils autorisés à gérer/certifier pour les autres''', cocher les profils ''admin'', ''gestionnaire'' (ou équivalents) et ''instructeur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer&amp;quot;&lt;br /&gt;
*'''Admin &amp;gt; Types de ressource'''&lt;br /&gt;
Pour chaque type de ressource :&lt;br /&gt;
*Cliquer sur le bouton '''Validité'''&lt;br /&gt;
*Pour chaque ligne de validité qui exige une validité qu'un élève n'a pas l'obligation de détenir, cocher le type de validité ''Élève autorisé solo''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Facturation du solo supervisé au tarif de l'instruction&lt;br /&gt;
Dans le cas où la structure facture le solo supervisé à l'identique de l'instruction, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Ventes &amp;gt; Facturation &amp;gt; Activités'''&lt;br /&gt;
*Editer la ligne &amp;quot;Instruction&amp;quot; en cliquant sur le bouton symbolisant un crayon et situé à droite de la ligne concernée&lt;br /&gt;
*Cocher ''Solo supervisé'' dans le champ '''Types d'activités concernés'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Afficher la vue d'ensemble des activités selon les ressources=&lt;br /&gt;
*Naviguer vers la section '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''.&lt;br /&gt;
&lt;br /&gt;
Une synthèse sous forme de tableau des activités '''actives''' et '''physiques''', s'affiche automatiquement :&lt;br /&gt;
*les ressources actives y figurent toujours.&lt;br /&gt;
*les ressources désactivées ou celles pour lesquelles l'interrupteur '''Saisie d'activité''' (accessible via '''Gestion &amp;gt; Ressources &amp;gt; Actives''') est décoché réapparaissent dès qu'elles possèdent au moins une activité non validée.&lt;br /&gt;
&lt;br /&gt;
Ainsi, aucune action supplémentaire n'est nécessaire pour retrouver les ressources portant encore des validations à effectuer.&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==[[Gestion-armoire-à-clés#Alertes-lors-de-la-saisie-d'une-activité|Alertes générées par le contrôle d'accès]]==&lt;br /&gt;
&lt;br /&gt;
==[[Facturation-des-clients#Alertes-générées-par-le-moteur-de-facturation|Alertes générées par le moteur de facturation]]==&lt;br /&gt;
&lt;br /&gt;
==[[Validités#Alertes-lors-d'une-réservation-ou-une-saisie-d'activité|Alertes générées sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==L'aéronef est déjà en l'air==&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)==&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps d'activité est incompatible avec la valeur calculée par la [[Formules-de-calcul#Temps-d'activité|formule de calcul du temps d'activité]] définie pour la ressource X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer-la-saisie-d'une-durée-d'activité-incompatible-avec-sa-formule-de-calcul|Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
==Le pilote X est déjà en l'air==&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus==&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
==Vous êtes actuellement en l'air==&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Vous ne pouvez ouvrir un vol avec une date de début dépassée==&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Annuler une activité validée=&lt;br /&gt;
Contrairement à la [[#Supprimer-une-activité|suppression des activités non validées]] et du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de supprimer physiquement une activité après [[#Valider-une-activité|sa validation]]. Par contre, la fonction d'annulation de la saisie d'une activité permet d'en annuler son effet.&lt;br /&gt;
&lt;br /&gt;
'''C'est cette fonction qu'il faut utiliser dans le cas où une activité validée doit être corrigée. L'utilisateur assurant la gestion :'''&lt;br /&gt;
#'''Annule l'activité validée qui n'a pas été saisie correctement'''&lt;br /&gt;
#'''Saisie une nouvelle activité avec les bonnes données''' (Cette opération n'entraîne pas de contrôle restrictif (chevauchement), car le vol concerné a déjà été contre-passé).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction d'annulation d'activité génère les enregistrements suivants en base de données :&lt;br /&gt;
#Création d'une même activité que l'activité à annuler mais avec une durée opposée. Cela permet de garantir que les totaux d'heures d'activités sont correctement corrigés. De plus, le champ commentaire contient une référence à l'activité ciblée par l'annulation.&lt;br /&gt;
#Création des écritures comptables associées correspondant à l'identique à celles de l'activité à annuler mais de sens opposé (débit au lieu de crédit et vice versa).&lt;br /&gt;
Ces enregistrements sont générées à la date du jour et sont automatiquement validés. Cela permet de garantir la traçabilité des opérations.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : il est possible d'annuler plusieurs fois une même activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser cette fonction :&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Dans la colonne '''Annuler une activité validée''', cliquer sur l’icône rouge symbolisant une flèche qui fait demi-tour&lt;br /&gt;
* Une page listant les activités validées apparait :&lt;br /&gt;
** Dans la colonne '''Annuler''', sélectionner l'activité à annuler&lt;br /&gt;
** Cliquer sur le bouton '''Annuler l'activité sélectionnée (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
=Annuler un vol ouvert=&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
=Lister les activités=&lt;br /&gt;
La liste des activités est accessible depuis:&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Cliquer sur l'icône correspondant à la colonne '''Valider les activités sélectionnées'''.&lt;br /&gt;
* Ou bien Cliquer sur l'icône correspondant à la colonne '''Vérifier la succession des activités'''.&lt;br /&gt;
** la page de Contrôle des compteurs de la resource a apparu.&lt;br /&gt;
** Entrer Le compteur de départ, puis Sélectionner la date de début et de fin de l'intervale que vous voulez visualiser.&lt;br /&gt;
** Cliquer sur le bouton '''Visualiser'''.&lt;br /&gt;
&lt;br /&gt;
La liste des activités synthétise les informations les plus importantes pour l'ensemble des activités dans un intervalle de temps:&lt;br /&gt;
&lt;br /&gt;
* '''Pointer''': contient les deux icônes '''tout cocher''' et '''tout décocher''', aussi les cases à cocher de chaque ligne,  en cochant la case puis en Cliquant sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)''' vous pouvez valider l'activité.&lt;br /&gt;
* '''Date''': date et heure de départ de vol, elle est affichée en fonction des [[Configuration#Patron-de-format-de-date|patrons de format de date]], affichée en rouge lorsque la date est dans le futur ( demain ou plus tard) ou bien lorsque la date de début de l'activité précédente chevauche une activité existante, c'est-à-dire  la date de début de l'activité précédente + sa durée dépasse la date de début de l'activité actuelle. Un interrupteur Date en '''UTC''' permet d'afficher sous la date locale une ligne orange indiquant l'heure '''UTC''' si la conversion reste le même jour, ou la date complète en '''UTC''' lorsque la conversion recule sur la veille.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''0''' (par exemple: place droite, pilote, Elève, Ouvert): la personne attribué au position 0,  affichée en rouge lorsque l'activité n'avait pas de pilote.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''1''' s'il existe (par exemple: place gauche, instructeur, Adhérent): la personne attribué au position 1.&lt;br /&gt;
* '''Activités''' : les types d'activités sélectionnés pour l'activité (par exemple: Voltige, Instruction, Vol technique, ...).&lt;br /&gt;
* '''Temps d'activité''' : la durée de l'activité, elle est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Temps moteur''' : le temps moteur s'affiche  si la ressource appartient à un type de ressource configuré pour utiliser un calcul de temps moteur différent du temps de vol, il est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Départ''' : Terrain de départ affiché en rouge lorsque l'activité n'avait pas de terrain de départ.&lt;br /&gt;
* '''Arrivée''': Terrain d'arrivée affiché en rouge lorsque l'activité n'avait pas de terrain d'arrivée.&lt;br /&gt;
* '''Att.''' : Nombre d'atterrissages.&lt;br /&gt;
* '''Ajouts réservoirs''': Réapprovisionnement de réservoir avant/après vol, ils sont affichées sous format suivante &amp;quot; quantité + Unité (Type de éservoir)&amp;quot;.&lt;br /&gt;
* les éventuelles colonnes correspondant aux champs métiers de type &amp;quot;Activité&amp;quot;.&lt;br /&gt;
* '''Compteurs''': affichés en deux manières ( compteur hexadécimal : HH:MM , compteur décimal: HH,CC ).&lt;br /&gt;
** '''Départ''' : Le compteur de départ, affiché en rouge si le compteur de départ de l'activité actuelle inférieur au compteur d'arrivée de l'activité précédente ou bien si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** '''Arrivée''' : Le compteur d'arrivée. &lt;br /&gt;
** '''Diff.''' : la difference entre les compteurs. affiché en rouge si le compteur de départ de l'activité actuelle dépasse le compteur d'arrivée de l'activité actuelle ou bien si '''(''' le compteur d'arrivée de l'activité actuelle '''-''' le compteur de départ de l'activité actuelle '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
* '''Actions''': L'utilisateur peut effectuer sur une activité les actions suivantes:&lt;br /&gt;
** Modifier : L'utilisateur peut modifier une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Supprimer : L'utilisateur peut supprimer une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Ajouter : L'utilisateur peut ajouter une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** Afficher la trace de vol: L'utilisateur peut afficher la trace de vol s'il est sur le vol ou s'il a le droit de voir les traces de vol.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les entrées comptables associées à des activités non validées=&lt;br /&gt;
Dans le cas où, suite à une saisie d'activité, des changements de facturations ont été fait, il est nécessaire de mettre à jour les entrées comptables associées à celle-ci. &lt;br /&gt;
La mise à jour ne peut se faire que sur les activités non validées ayant au moins un utilisateur et étant associées à une ressource active.&lt;br /&gt;
&lt;br /&gt;
Procédure pour mettre à jour les écritures comptables d'une ou plusieurs activités :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Mettre à jour les entrées comptables des activités non validées'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités dont il est nécessaire de mettre à jour les entrées comptables en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Mettre à jour les activités sélectionnées'''&lt;br /&gt;
&lt;br /&gt;
=Modifier une activité=&lt;br /&gt;
Une activité peut être saisie :&lt;br /&gt;
*Soit à l'état ouvert&lt;br /&gt;
*Soit à l'état fermé&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état ouvert, aucune écriture comptable n'est encore générée. Pour fermer une telle activité, il faut sur le planning de réservation :&lt;br /&gt;
*Soit, cliquer sur le rectangle de la ressource considérée qui doit être sur fond bleu pour indiquer que la ressource est en l'air&lt;br /&gt;
*Soit, cliquer la zone en bleue correspondante à la période du vol ouvert.&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état fermée, pour la modifier, il faut :&lt;br /&gt;
*Soit aller sur le compte de l'un des utilisateurs concerné par l'activité et pour lequel une écriture a été générée&lt;br /&gt;
*Soit aller sur le carnet de vol ou le carnet de route impacté&lt;br /&gt;
Dans tous les cas, il faut ensuite cliquer sur l'icône crayon qui apparait sur la ligne correspondante à l'activité.&lt;br /&gt;
&lt;br /&gt;
Tout activité saisie reste modifiable tant qu'elle n'est pas validée.&lt;br /&gt;
&lt;br /&gt;
Si l'objectif est de mettre à jour des calculs de facturation sur plusieurs activités, alors il est recommandé de suivre la procédure [[#Mettre-à-jour-les-entrées-comptables-associées-à-des-activités-non-validées|Mettre à jour les entrées comptables associées à des activités non validées]] pour gagner du temps.&lt;br /&gt;
&lt;br /&gt;
Si l'activité à modifier est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]] puis saisir une nouvelle activité.&lt;br /&gt;
&lt;br /&gt;
=Saisir une activité=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Activités &amp;gt; Activités &amp;gt; Saisir'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes de traitement&lt;br /&gt;
*[[Formulaires#Valeur-par-défaut|Champs avec des valeurs par défaut]]&lt;br /&gt;
*La [[Formulaires#Valeur-par-défaut|valeur par défaut]] du champ '''terrain de départ''' correspond au '''terrain d'arrivée''' du vol précédent renseigné par l'aéronef sélectionné. Changer la date de début d'activité ou l'aéronef entraîne un rafraîchissement de la page et la valeur par défaut du champ '''terrain de départ''' se met à jour. S'il n'y a pas de vol précédent, la valeur par défaut est le terrain associé à la plateforme.&lt;br /&gt;
*Le compteur de départ par défaut équivaut au compteur d'arrivée du vol précédent renseigné par l'aéronef sélectionné. Changer la date de départ rafraîchi la page si la date de départ est antérieure à la date de départ du vol précédent. Le compteur est mis à jour en fonction. Si le compteur est changé manuellement, le compteur n'est pas mis à jour lors du rafraîchissement. Changer d'aéronef réinitialise ce comportement.&lt;br /&gt;
*Suivant l'activité choisie et le [[Configuration#Terrain-d'arrivée-égal-au-terrain-de-départ,-lorsque-l'une-des-activités-suivantes-est-sélectionnée|paramétrage de la plateforme]], le terrain d'arrivée peut être automatiquement rempli avec la même valeur que celle du terrain de départ.&lt;br /&gt;
*La saisie d'une activité d'une durée inférieure à 15 minutes déclenche l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement l'activité.&lt;br /&gt;
*Lorsqu'un utilisateur est saisi, un champ pour définir son statut apparaît. Ce champ disparaît si l'utilisateur n'est pas défini.&lt;br /&gt;
*Lors de la saisie des utilisateurs, le nombre de personnes à bord se mets automatiquement à jour. Le nombre de personnes à bord est égal au nombre d'utilisateurs saisis. Si le nombre de personnes à bord est défini manuellement, la valeur n'est pas changée automatiquement par la suite.&amp;quot;&lt;br /&gt;
*Lors de la saisie d'un lieu, si aucun lieu correspondant n'est trouvé, [[#Demander-l'ajout-d'un-lieu|une option]] apparait afin de demander à OpenFlyers l'ajout du lieu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie date/heure départ/arrivée&lt;br /&gt;
A gauche du champ de saisie est indiqué le fuseau horaire défini par la structure et dans lequel le couple date/heure (horodatage) doit être saisi.&lt;br /&gt;
&lt;br /&gt;
Les champs de saisie pour l'horodatage de départ et d'arrivée sont conçus pour :&lt;br /&gt;
*La saisie optimisée avec un clavier (via les flèches ou par saisie directe) en ne nécessitant de saisir que les informations utiles : la barre oblique entre le jour et le mois ou le mois et l'année ne doit pas être saisie. En cas de la saisie manuelle, un message d'aide s'affiche pendant la saisie afin de guider l'utilisateur :&lt;br /&gt;
''Terminez la saisie, puis cliquez en dehors du champ pour appliquer les modifications''.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
En-dessous du champ de saisie de l'horodatage départ/arrivée apparait une ligne qui affiche l'horodatage en UTC.&lt;br /&gt;
&lt;br /&gt;
Tant que l'aéronef n'est pas encore sélectionné, si l'utilisateur ouvre le formulaire de saisie d'activité puis modifie le premier champ (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers recalcule et propose de nouvelles heures par défaut conformément aux deux règles ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Fermeture seulement''' :&lt;br /&gt;
**L'heure de retour proposée correspond à ''l'heure actuelle''.&lt;br /&gt;
**L'heure de départ est automatiquement calculée en soustrayant la durée d'activité par défaut à cette heure de fin.&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Ouverture et fermeture''' :&lt;br /&gt;
*L'heure de départ proposée est ''l'heure actuelle + 10 minutes''&lt;br /&gt;
*L'heure de retour est automatiquement calculée en ajoutant la durée d'activité par défaut à cette heure de début.&lt;br /&gt;
&lt;br /&gt;
Lorsque l'aéronef est sélectionné et que l'utilisateur modifie le premier champ du formulaire (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers conserve les heures déjà renseignées dans les champs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps d'activité]]&lt;br /&gt;
Lorsque le temps d'activité est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps moteur]]&lt;br /&gt;
Ce champ apparaît si le type de ressource de l'aéronef sélectionné est configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&lt;br /&gt;
Lorsque le temps moteur est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Synchronisation d'une saisie avec Gesasso / [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]&lt;br /&gt;
Lors de la saisie d'une activité et lorsque la plateforme est configurée pour la synchronisation externe avec [[Interfaçage-OpenFlyers-et-Gesasso|Gesasso]] (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]), le bouton de validation a deux affichages possibles :&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer''' : Si la ressource sélectionnée n'a pas de numéro d'immatriculation Gesasso valide, ou si l'un des pilotes ne dispose pas d'une licence FFVP valide, alors la synchronisation avec Gesasso (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]) est ignorée dans ce cas.&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer et Synchroniser avec Gesasso''' : indique que les ressources et les pilotes sélectionnés remplissent les critères requis, et que la synchronisation avec Gesasso (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]) est effectuée après l'enregistrement de l'activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes d'alertes&lt;br /&gt;
*[[Formulaires#Surbrillance-jaune|Effet de surbrillance jaune]]&lt;br /&gt;
*[[Formulaires#Surbrillance-rouge|Effet de surbrillance rouge]]&lt;br /&gt;
*Des [[Présentation-générale-des-alertes|alertes]] bloquantes ou non bloquantes peuvent être affichées après l'envoi du formulaire nécessitant une action complémentaire de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Page affichée par défaut après la saisie d'une activité&lt;br /&gt;
*Le planning lors d'une ouverture d'activité.&lt;br /&gt;
*La page du [[Gestion-des-activit%C3%A9s#Saisir-un-suivi-de-formation|saisie de progression]] lors d'une fermeture d'activité.&lt;br /&gt;
*A nouveau le formulaire de saisie d'activité lorsque l'activité précédemment saisie l'était en fermeture et que le terrain d'arrivée saisi était différent du terrain par défaut de la structure.&lt;br /&gt;
*Dans les autres cas, l'[[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
*Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
==Demander l'ajout d'un aérodrome==&lt;br /&gt;
Lors de la saisie du terrain de départ, ou d'arrivée, il se peut que le lieu que l'utilisateur souhaite saisir ne soit pas dans nos bases de données. Une proposition apparait alors :&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXX ( Demander l'ajout du lieu à OpenFlyers )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il suffit à l'utilisateur de sélectionner cette option afin d'effectuer la demande d'ajout à OpenFlyers.&lt;br /&gt;
Cette option ne prend en compte que les lieux recensés par l'OACI ou la FFPLUM.&lt;br /&gt;
&lt;br /&gt;
Attention, pour demander l'ajout d'un lieu, il faut saisir uniquement le code OACI (code à 4 lettres) ou FFPLUM (code au format LF + 4 chiffres) du lieu.&lt;br /&gt;
&lt;br /&gt;
Une fois l'option sélectionnée, la demande est enregistrée par OpenFlyers, mais le lieu n'est pas ajouté immédiatement, il faut donc saisir temporairement un autre lieu.&lt;br /&gt;
&lt;br /&gt;
==Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul==&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La-différence-entre-le-temps-de-vol-calculé-et-le-temps-de-vol-saisi-est-de-:-X:XX-heure(s)|temps d'activité incompatible avec la formule de calcul]] associée au type ressource pour lequel on souhaite saisir l'activité.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir l'activité en modifiant le compteur d'arrivé de sorte à obtenir le temps d'activité souhaité.&lt;br /&gt;
*[[Gestion-des-ressources#Changer-la-valeur-du-compteur-en-cours|Changer la valeur du compteur en cours]] de la ressource.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs activités successives doivent être saisies, il est alors judicieux de ne mettre à jour le compteur de la ressource qu'une que toutes les activités ont été saisies.&lt;br /&gt;
&lt;br /&gt;
=Supprimer une activité=&lt;br /&gt;
Si l'activité à supprimer est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Si l'activité à supprimer n'est pas validée, pour effectuer sa suppression il faut :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Dans le tableau qui va lister les activités, cliquer sur l'icône poubelle correspondant à l'activité à supprimer et confirmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités=&lt;br /&gt;
Pour valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités de cochée, il existe 2 solutions :&lt;br /&gt;
*Si l'objectif c'est de clôturer la comptabilité et donc de valider toutes les écritures antérieure à une certaine date, alors la solution la plus simple est de valider toutes les écritures antérieures à cette date en suivant la procédure [[Utilisation-de-la-comptabilité#Valider-toutes-les-écritures|Valider toutes les écritures]].&lt;br /&gt;
*Si l'objectif est de contrôler, voir de modifier les activités liées à la ressource avant de réellement les valider, alors il faut réactiver temporairement la ressource pour qu'elle apparaisse dans '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste''' et ainsi pouvoir contrôler et valider ses activités associées. Pour cela il faut :&lt;br /&gt;
**Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Réservable''' et '''Saisie d'activité''' d'une ressource existante&lt;br /&gt;
**Cocher '''Saisie d'activité''' pour la ressource dont on souhaite contrôler les activités puis les valider&lt;br /&gt;
**valider les activités en allant dans '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''&lt;br /&gt;
**Revenir sur '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Saisie d'activité''' pour cette ressource&lt;br /&gt;
**Re-cocher '''Réservable''' et '''Saisie d'activité''' pour la ressource qui devait être temporairement décochée&lt;br /&gt;
&lt;br /&gt;
=Valider une activité=&lt;br /&gt;
;Introduction&lt;br /&gt;
La validation des activités doit être effectuée à intervalle régulier comme préconisé dans le [[Bien-débuter-avec-OpenFlyers#Validation-des-écritures|workflow de validation des activités]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe des écritures non validées qui datent de plus de 30 jours, un message d'alerte de configuration s'affiche indiquant ''[[Alertes-de-configuration#Il-y-a-des-activités-non-validées-qui-datent-de-plus-de-30-jours|Il y a des activités non validées qui datent de plus de 30 jours]]''.&lt;br /&gt;
&lt;br /&gt;
Option disponible pour la validation : [[Configuration#Regrouper-les-activités-en-une-facture-lors-de-la-validation|Regrouper les activités en une facture lors de la validation]]&lt;br /&gt;
&lt;br /&gt;
;Procédure pour valider une ou plusieurs activités&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités à valider en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où une activité a été validée alors qu'elle ne devait pas l'être, il est toujours possible d'en [[#Annuler-une-activité-validée|annuler l'effet]].&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une activité incomplète (Pas de pilote ou pas de localisation d'arrivée ou de départ) l'activité ne peut pas être validée il est donc impossible de la pointer. Ce cas ne devrait arriver que pour les activités générées via [[Interfaçage-OpenFlyers-et-Charterware|l'interfaçage avec Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|l'interfaçage avec ClickAndTakeoff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot-Aviation|l'interfaçage avec Foxtrot Aviation]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=14278</id>
		<title>Gestion des profils</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=14278"/>
		<updated>2026-02-03T13:11:39Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Paramétrage des types d'encaissements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des profils''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Les profils attribués par défaut à un utilisateur créé automatiquement sont définis dans '''Admin &amp;gt; Utilisateurs &amp;gt; Paramètres par défaut'''.&lt;br /&gt;
&lt;br /&gt;
=Définition=&lt;br /&gt;
*Un '''profil''' correspond à un ensemble de '''droits''' qui définissent les actions que peut effectuer un [[Glossaire|utilisateur]] dans l'application OpenFlyers.&lt;br /&gt;
*Un utilisateur peut disposer de '''plusieurs profils'''. L'attribution des profils aux utilisateurs se fait par l'intermédiaire du  [[Gestion des utilisateurs|tableau de gestion des utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
''Exemple de profils : administrateur, pilote, formateur, technicien, mécanicien, trésorier, secrétaire.''&lt;br /&gt;
&lt;br /&gt;
=Icônes symbolisant les droits des profils=&lt;br /&gt;
Dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; Profils''', il faut distinguer deux éléments pour comprendre le principe des icônes. Il y a les droits d'un côté et les profils de l'autre.&lt;br /&gt;
&lt;br /&gt;
Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.&lt;br /&gt;
L’icône [[File:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :&lt;br /&gt;
*[[#Profil-non-sélectionnable-par-l'utilisateur|Profil non sélectionnable par l'utilisateur]] de l'onglet '''Généralités''' à laquelle l'icône [[File:Profile-management3.0.x_ConnectedNoFilling.png]] à été attribuée&lt;br /&gt;
*[[#Voir-les-noms-sur-les-réservations%2C-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations]] de l'onglet '''Réservations''' à laquelle l'icône [[File:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée&lt;br /&gt;
&lt;br /&gt;
Les profils correspondent à chaque ligne du tableau. L'icône d'un profil est variable et dépend des droits qui lui sont attribués.&lt;br /&gt;
#L'icône d'un profil sera [[File:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit [[#Profil-non-sélectionnable-par-l'utilisateur|Profil non sélectionnable par l'utilisateur]] ci-dessus est coché&lt;br /&gt;
#L'icône d'un profil sera [[File:Profile-management3.0.x_Userinfo_kiosk.gif]] si aucun droit n'est attribué au profil à l'exception du droit [[#Voir-les-noms-sur-les-réservations%2C-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations]] ci-dessus qui peut être coché ou non&lt;br /&gt;
#Dans tous les autres cas, l'icône d'un profil sera [[File:Profile-management3.0.x_Userinfo_connected.gif]]&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes représentant des droits==&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.&lt;br /&gt;
:[[File:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type &amp;quot;kiosque&amp;quot; (voir [[Kiosque PC]]) permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes attribuées aux profils==&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base&lt;br /&gt;
:[[File:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type &amp;quot;kiosque&amp;quot; (voir [[Kiosque PC]]) permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre &amp;quot;pop-up&amp;quot; demandant à l'utilisateur son propre identifiant et mot de passe.&lt;br /&gt;
&lt;br /&gt;
=Niveau d'accréditation des droits et des profils=&lt;br /&gt;
Les niveaux d'accréditation vont de 0 à 6 :&lt;br /&gt;
*0 représente le niveau le plus bas&lt;br /&gt;
*6 représente le niveau le plus élevé&lt;br /&gt;
&lt;br /&gt;
Chaque droit dispose d'un niveau d'accréditation qui lui est propre : plus le droit permet de faire des actions pouvant avoir des conséquences sur les données, plus le niveau d'accréditation est élevé.&lt;br /&gt;
&lt;br /&gt;
Chaque profil dispose également d'un niveau d'accréditation. Le niveau d'accréditation d'un profil correspond au niveau d'accréditation le plus élevé des droits détenus par le profil.&lt;br /&gt;
&lt;br /&gt;
La page '''Admin &amp;gt; Utilisateurs &amp;gt; Profils''' indique les niveaux d'accréditation à la fois des droits et des profils :&lt;br /&gt;
*Les droits sont indiqués dans les entêtes de chaque colonne. Le niveau d'accréditation du droit est indiqué en dessous du nom du droit dans un cercle.&lt;br /&gt;
*Les profils sont indiqués à chaque ligne du tableau. le niveau d'accréditation du profil est indiqué en dessous du nom du profil dans un cercle.&lt;br /&gt;
Le niveau d'accréditation 6 est affiché en inverse vidéo par rapport aux autres niveaux pour le distinguer.&lt;br /&gt;
&lt;br /&gt;
Un gestionnaire disposant le droit de gérer des utilisateurs ne peut attribuer un profil à un utilisateur qui soit plus élevé que le profil le plus élevé qu'il détient lui-même.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une plateforme dispose de plus de 3 utilisateurs avec le niveau 6, [[Alertes-de-configuration#La-plateforme-a-plus-de-3-utilisateurs-actifs-avec-un-profil-de-niveau-6.-Les-utilisateurs-concernés-sont-:-XXX|une alerte de configuration est affichée]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'un droit de niveau 6 est accordé à un profil, une alerte est générée si cela entraîne plus de 3 utilisateurs de niveau 6.&lt;br /&gt;
&lt;br /&gt;
=Profils=&lt;br /&gt;
La gestion des profils s'effectue depuis le menu '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
&lt;br /&gt;
Le nombre d'onglets disponible dépend du paramétrage de la plateforme OpenFlyers. Par exemple, si la gestion des activités est activée, alors l'onglet ''Activités'' est disponible.&lt;br /&gt;
&lt;br /&gt;
==Généralités==&lt;br /&gt;
&lt;br /&gt;
===Profil non sélectionnable par l'utilisateur===&lt;br /&gt;
&lt;br /&gt;
Lors de la connexion et lorsqu'un utilisateur doit faire le choix entre un profil pour se connecter, les [[Bien-débuter-avec-OpenFlyers#Attribuer-les-profils-aux-utilisateurs|profils non sélectionnables]] ne seront pas proposés parmi la liste. Ce droit ne peut pas être attribué à un profil ayant des droits de gestion.&lt;br /&gt;
&lt;br /&gt;
===Pas de déconnexion automatique===&lt;br /&gt;
Ce droit permet d'éviter la [[Connexion#Automatique|déconnexion automatique de la session]] au bout de 10 minutes et étend la connexion à 2 heures.&lt;br /&gt;
&lt;br /&gt;
===Accès visiteur===&lt;br /&gt;
L'accès visiteur permet de [[Kiosque-PC#Créer-un-compte-utilisateur-Visiteur|créer un compte visiteur]] donnant un accès limité destiné à pouvoir être utilisé par n'importe quelle personne.&lt;br /&gt;
&lt;br /&gt;
Cet accès permet également de créer un lien vers OpenFlyers avec une connexion automatique en passant les identifiants via l'URL.&lt;br /&gt;
&lt;br /&gt;
Si un visiteur [[#Réservation|peut réserver]] - dépend du paramétrage - alors, lors de la création d'une réservation, [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Créer-automatiquement-un-utilisateur-en-créant-une-réservation|le système va générer automatiquement un compte utilisateur]] à partir des informations que le visiteur aura saisi. Le visiteur sera connecté automatiquement sur ce nouveau compte.&lt;br /&gt;
&lt;br /&gt;
===Mise à jour de sa date de naissance, de son sexe et de sa nationalité===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur de modifier [[Fiche-personnelle#Mettre-à-jour-sa-date-de-naissance,-sa-nationalité-ou-son-sexe|sa date de naissance, sa nationalité et/ou son sexe dans sa fiche personnelle]].&lt;br /&gt;
&lt;br /&gt;
===Voir ses validités===&lt;br /&gt;
&lt;br /&gt;
Permet d'[[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|accéder à ses validités depuis le planning]].&lt;br /&gt;
&lt;br /&gt;
===Ajout et gestion de ses validités===&lt;br /&gt;
&lt;br /&gt;
Permet à un [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|utilisateur de rajouter/supprimer/mettre à jour ses validités]] qui sont dans la liste [[#Type-de-validité-que-l'utilisateur-peut-gérer-pour-lui-même|Type de validité que l'utilisateur peut gérer]] et pour la mise à jour, sous réserve que le type de validité dispose d'informations qui peuvent être mises à jour.&lt;br /&gt;
&lt;br /&gt;
===Gestion de ses validités détenues===&lt;br /&gt;
&lt;br /&gt;
Permet à un [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|utilisateur de mettre à jour/supprimer uniquement les validités]] qui lui sont déjà attribuées et qui sont dans la liste [[#Type-de-validité-que-l'utilisateur-peut-gérer-pour-lui-même|Type de validité que l'utilisateur peut gérer]] et pour la mise à jour, sous réserve que le type de validité dispose d'informations qui peuvent être mises à jour.&lt;br /&gt;
&lt;br /&gt;
===Surpasser les restrictions sur les validités===&lt;br /&gt;
Permet à un utilisateur de surpasser les [[Connexion#Restriction-d'accès|restrictions d'accès]] dues à des validités expirées, incomplétes ou non certifiées qui sont [[Validités#Contrôle-des-validités-à-la-connexion|appliquées à la connexion]].&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre [[Paramétrage-des-validités#Alerte-à-la-connexion|Alerte à la connexion]] pour le paramétrage des restrictions sur les validités.&lt;br /&gt;
&lt;br /&gt;
[[Connexion#Restriction-d'accès-pour-un-administrateur-référent|Ce droit peut être attribué de façon dynamique à la connexion]] par un [[Configuration#Administrateur-référent|administrateur référent]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur [[Fiche-personnelle#Editer-sa-photo|d'importer ou de supprimer sa photo dans sa fiche personnelle]].&lt;br /&gt;
&lt;br /&gt;
==Réservation==&lt;br /&gt;
&lt;br /&gt;
===Alertable par e-mail pour toute réservation===&lt;br /&gt;
Permet la [[Fiche-personnelle#Recevoir-un-e-mail-pour-les-réservations-ayant-pour-activité|notification par e-mail pour toute réservation]].&lt;br /&gt;
&lt;br /&gt;
===Champs additionnels visualisables dans les pop-ups de réservation===&lt;br /&gt;
Permet de visualiser le contenu des champs additionnels dans la pop-up de réservation.&lt;br /&gt;
&lt;br /&gt;
===Créer ou modifier une réservation avec une date de début dépassée===&lt;br /&gt;
Autorise à créer ou modifier une réservation dont la date de début est dépassée.&lt;br /&gt;
&lt;br /&gt;
===Etre sur une nouvelle réservation===&lt;br /&gt;
Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisé à être sur une des places. &lt;br /&gt;
&lt;br /&gt;
Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profil concerné et n'ayant pas de droit [[#Réservation-en-solo|Réservation solo]], [[#Réservation-pour-des-tiers|Réservation pour des tiers]] ou [[#Réservation-avec-un-instructeur|Réservation avec un instructeur]].&lt;br /&gt;
&lt;br /&gt;
===Gestion des disponibilités des ressources===&lt;br /&gt;
Sur l'ancienne interface, permet de gérer la disponibilité des ressources et de les immobiliser (pour entretien, maintenance, réparation, arrêt d'activité, ...). &lt;br /&gt;
&lt;br /&gt;
Cela se fait comme pour une réservation, une case &amp;quot;immobiliser la ressource&amp;quot; est alors disponible. Sur la frise de réservation, il sera indiqué &amp;quot;Mise en maintenance&amp;quot; pour la période demandée.&lt;br /&gt;
&lt;br /&gt;
===Gestion des disponibilités des tiers===&lt;br /&gt;
Permet de gérer la [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-intervenants|disponibilité des utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
===Personnaliser ses ressources visibles===&lt;br /&gt;
Permet de personnaliser la [[Fiche-personnelle#Paramétrer-les-ressources-et-les-utilisateurs-visibles-sur-le-planning|liste des ressources et utilisateurs visibles dans le planning depuis sa fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
===Planning individuel visible pour les autres===&lt;br /&gt;
Permet de rendre disponible son planning aux autres utilisateurs.&lt;br /&gt;
&lt;br /&gt;
===Planning personnel===&lt;br /&gt;
Permet de visualiser son propre planning.&lt;br /&gt;
&lt;br /&gt;
===Réservation de programmes===&lt;br /&gt;
Autorise [[Utilisation-des-réservations-internes-sur-l%27interface-web#Positionner-automatiquement-les-activités-d’un-programme-de-formation|le positionnement automatique des activités d’un programme de formation dans le planning]].&lt;br /&gt;
&lt;br /&gt;
===Réservation en solo===&lt;br /&gt;
Autorise un utilisateur de réserver une ressource avec lui-même en première place.&lt;br /&gt;
&lt;br /&gt;
===Réservation pour des tiers===&lt;br /&gt;
Autorise la réservation d'une ressource pour un autre utilisateur (en solo et/ou double selon les droits du profil de cet utilisateur tiers).&lt;br /&gt;
&lt;br /&gt;
===Réservation avec un instructeur===&lt;br /&gt;
Autorise la réservation d'une ressource avec une personne en seconde place.&lt;br /&gt;
&lt;br /&gt;
===Supprimer une réservation avec une date de début dépassée===&lt;br /&gt;
Autorise à supprimer une réservation dont la date de début est dépassée.&lt;br /&gt;
&lt;br /&gt;
===Surpasser l'indisponibilité des instructeurs=== &lt;br /&gt;
Autorise la réservation d'une ressource avec un instructeur même si celui-ci n'est pas enregistré comme disponible durant la plage horaire de la réservation (Un message d'alerte prévient quand même. Fonction utile pour les instructeurs et le secrétariat).&lt;br /&gt;
&lt;br /&gt;
===Surpasser l'indisponibilité des ressources===&lt;br /&gt;
Autorise la réservation d'une ressource même si celle-ci n'est pas enregistrée comme disponible durant la plage horaire de la réservation (Un message d'alerte prévient quand même).&lt;br /&gt;
&lt;br /&gt;
===Surpasser l'interdiction d'effectuer une réservation dans moins de X temps===&lt;br /&gt;
Autorise la réservation en annulant l'interdiction &amp;quot;d'effectuer une réservation débutant dans moins de&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de durée minimum===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur la durée minimum d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de durée maximum===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur la durée maximum d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de temps===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de nombre===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur le nombre maximum de réservation.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la réservation par type===&lt;br /&gt;
En cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent.&lt;br /&gt;
&lt;br /&gt;
===Surpasser les formules de saisie===&lt;br /&gt;
Permet de surpasser les règles de saisie sur les réservations.&lt;br /&gt;
&lt;br /&gt;
===Voir les images des pilotes sur le menu contextuel===&lt;br /&gt;
Permet de [[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-images-des-pilotes-sur-le-menu-contextuel|visualiser images des pilotes associés à chaque réservation sur le menu contextuel]] lorsqu'on survole ou effectue un clic droit sur la réservation.&lt;br /&gt;
&lt;br /&gt;
===Voir les noms sur les réservations, les activités réalisées et la liste des utilisateurs===&lt;br /&gt;
Permet de visualiser les noms des utilisateurs sur la page du planning à la fois pour les réservations et les [[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
===Voir les noms d'activités sur les réservations et les activités réalisées===&lt;br /&gt;
Permet d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|afficher les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Activités==&lt;br /&gt;
&lt;br /&gt;
===Alertable par email pour toute saisie d'activité===&lt;br /&gt;
;Description&lt;br /&gt;
Ce droit permet aux gestionnaires de [[Fiche-personnelle#Recevoir-un-e-mail-pour-les-activités-ayant-les-champs-sélectionnés-non-vide|s'abonner aux notifications par emails dès lors qu'une activité est saisie par un utilisateur en renseignant un champ suivi par le gestionnaire]].&lt;br /&gt;
&lt;br /&gt;
;Cas d'usage&lt;br /&gt;
[[Suivi des remarques de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
Ce droit permet de suivre le renouvellement des validités par les utilisateurs en étant alerté par un [[Envoi-des-emails#E-mail-d'information-des-actions-des-utilisateurs-sur-des-validités|e-mail d'information des actions des utilisateurs sur des validités]] à chaque fois qu'un utilisateur renouvelle une validité sélectionnée dans la liste de la cellule '''Alerté par e-mail pour le renouvellement des types de validités'''. Attention : la mise en place de ce droit peut provoquer la réception de nombreux e-mails.&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
Permet d'attribuer les places auxquelles sont autorisées les utilisateurs de ce profil. Cela impacte sur les listes des utilisateurs qui se nttrouve à la saisie d'une réservation ou d'une activité.&lt;br /&gt;
&lt;br /&gt;
Ces listes sont accessibles depuis '''Planning &amp;gt; Planning &amp;gt; Réserver''' et '''Planning &amp;gt; Activités &amp;gt; Saisir'''.&lt;br /&gt;
&lt;br /&gt;
La page '''Admin &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Elle permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Etre sur une nouvelle fermeture d'activité===&lt;br /&gt;
Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places.&lt;br /&gt;
&lt;br /&gt;
Permet entre autre à une personne tierce, de pouvoir effectuer de nouvelles fermetures d'activité pour une personne disposant du profil concerné et n'ayant pas le droit [[#Saisie-d'activité-pour-soi-même|Saisie d'activité pour soi-même]] ou [[#Saisie-d'activité-pour-un-tiers|Saisie d'activité pour un tiers]].&lt;br /&gt;
&lt;br /&gt;
===Etre sur une nouvelle ouverture d'activité===&lt;br /&gt;
Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places.&lt;br /&gt;
&lt;br /&gt;
Permet entre autre à une personne tierce, de pouvoir effectuer de nouvelles ouvertures d'activité pour une personne disposant du profil concerné et n'ayant pas le droit [[#Saisie-d'activité-pour-soi-même|Saisie d'activité pour soi-même]] ou [[#Saisie-d'activité-pour-un-tiers|Saisie d'activité pour un tiers]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'activité pour soi-même===&lt;br /&gt;
Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols.&lt;br /&gt;
&lt;br /&gt;
Permet également de supprimer ses propres vols depuis son carnet de vol et depuis le [[Carnet-de-route#Modifier-et-supprimer|carnet de route]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'activité pour un tiers===&lt;br /&gt;
Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Permet également de supprimer les vols des tiers depuis le carnet de vol d'un utilisateur et depuis le [[Carnet-de-route#Modifier-et-supprimer|carnet de route]].&lt;br /&gt;
&lt;br /&gt;
===Vérifier la saisie des activités et les modifier===&lt;br /&gt;
Permet de voir les carnets de vols des utilisateurs et de pointer les vols (vérification qui entérine un vol et qui rend ainsi sa modification ou suppression impossible), permet ainsi de voir les &amp;quot;vols oubliés&amp;quot; aussi (trous dans les horamètres).&lt;br /&gt;
&lt;br /&gt;
===Voir les activités de tous===&lt;br /&gt;
Permet :&lt;br /&gt;
*d'accéder au [[Carnet-de-route|carnet de route]] de chaque ressource aéronef&lt;br /&gt;
*de [[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|voir les activités réalisées sur le planning]] si le paramètre [[Configuration-des-réservations-internes#Affichage-possible-des-activités-réalisées-dans-le-planning|Affichage possible des activités réalisées dans le planning]] est activé&lt;br /&gt;
&lt;br /&gt;
===Voir ses activités===&lt;br /&gt;
Autorise l'utilisateur à voir son carnet de vol.&lt;br /&gt;
&lt;br /&gt;
===Visualiser les traces de vol===&lt;br /&gt;
Permet de [[Interfaçage-OpenFlyers-et-Charterware#Récupération-des-traces-de-vols|visualiser les traces d'un vol]].&lt;br /&gt;
&lt;br /&gt;
==Formations==&lt;br /&gt;
===Voir les suivis de formations===&lt;br /&gt;
Autorise l'utilisateur à [[Gestion-des-activités#Consulter-le-suivi-de-formation|voir les suivis de formations]] de tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
===Gestion des formations===&lt;br /&gt;
Ce droit permet la [[Gestion-des-formations|gestion des formations]].&lt;br /&gt;
&lt;br /&gt;
==Comptes==&lt;br /&gt;
&lt;br /&gt;
===Gestion des comptes===&lt;br /&gt;
Couplé à d'autres droits, permet de créer et modifier les intitulés des comptes (boutiques, espèces, etc.) ainsi que d'accéder à la comptabilité.&lt;br /&gt;
&lt;br /&gt;
Permet lors de la [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualisation des écritures]] d'un compte :&lt;br /&gt;
*de pouvoir consulter les écritures des comptes affectés&lt;br /&gt;
*[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|de pouvoir consulter une facture client ou un reçu]]&lt;br /&gt;
*de pouvoir [[Utilisation-de-la-comptabilité#Contrepasser-une-écriture|contrepasser les écritures]]&lt;br /&gt;
*de pouvoir [[Utilisation-de-la-comptabilité#Lettrer-des-écritures-comptables|lettrer les écritures]]&lt;br /&gt;
&lt;br /&gt;
Permet [[Utilisation-de-la-comptabilité#Importer-un-relevé-bancaire|d'importer des relevés bancaires]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce droit inclut les droits '''Paramétrage des types d'encaissements''' et '''Voir les comptes'''.&lt;br /&gt;
&lt;br /&gt;
===Voir les comptes===&lt;br /&gt;
[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-son-compte-ou-celui-d'un-tiers|Permet de voir tous les comptes]], de [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualiser la liste des mouvements]] et de [[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|consulter les factures clients et les reçus]].&lt;br /&gt;
&lt;br /&gt;
Couplé au droit [[#Saisir-les-encaissements-pour-les-tiers|Saisir les encaissements pour les tiers]], il permet de saisir un encaissement sur tous comptes. Ce droit inclut les privilèges du droit [[#Voir-les-comptes-utilisateurs|Voir les comptes utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
===Voir les comptes utilisateurs===&lt;br /&gt;
[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-son-compte-ou-celui-d'un-tiers|Permet de voir tous les comptes utilisateurs]] et de [[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|consulter les factures clients et les reçus]].&lt;br /&gt;
&lt;br /&gt;
Couplé au droit [[#Saisir-les-encaissements-pour-les-tiers|Saisir les encaissements pour les tiers]], il permet de saisir un encaissement sur les comptes utilisateurs.&lt;br /&gt;
&lt;br /&gt;
===Gestion des comptabilités===&lt;br /&gt;
&lt;br /&gt;
permet la gestion des comptabilités&lt;br /&gt;
&lt;br /&gt;
===Paramétrage des types d'encaissements===&lt;br /&gt;
Permet le [[Configuration-de-la-comptabilité#Types-d'encaissements|paramétrage des types d'encaissements]].&lt;br /&gt;
&lt;br /&gt;
===Encaisser ses paiements===&lt;br /&gt;
&lt;br /&gt;
Permet à l'utilisateur de [[FAQ-comptabilité#Comment-autoriser-un-profil-utilisateur-à-saisir-des-encaissements-pour-lui-même-?|saisir ses propres paiements]], de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne peut pas saisir les types d'encaissements qui sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.&lt;br /&gt;
&lt;br /&gt;
===Saisir les encaissements pour les tiers===&lt;br /&gt;
&lt;br /&gt;
Permet à l'utilisateur de saisir, modifier ou supprimer, tant qu'ils n'ont pas été validés, les encaissements d'autres utilisateurs ainsi que les encaissements devant être affectés sur des [[Configuration de la comptabilité#Créer_un_compte_comptable|comptes comptables clients autorisés à recevoir de l'argent]].&lt;br /&gt;
&lt;br /&gt;
===Modifier la date d'un encaissement, d'un flux ou d'un transfert===&lt;br /&gt;
&lt;br /&gt;
autorise la modification de la date d'un encaissement, d'un flux ou d'un transfert s'il peut être modifié&lt;br /&gt;
&lt;br /&gt;
===Valider les encaissements===&lt;br /&gt;
&lt;br /&gt;
pointage des paiements saisis par les pilotes par exemple (Modification ultérieure de cette saisie impossible, en cas de problème il faudra alors faire l'opération inverse). Permet également la suppression d'encaissement.&lt;br /&gt;
&lt;br /&gt;
===Recevoir de l'argent===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration-de-la-comptabilité#Types-d'encaissements|configuration de la ventilation des types d'encaissements]].&lt;br /&gt;
&lt;br /&gt;
===Transfert de son compte===&lt;br /&gt;
Permet le transfert de compte à compte depuis la page '''Planning &amp;gt; Comptes &amp;gt; Actions &amp;gt; Transférer'''.&lt;br /&gt;
&lt;br /&gt;
Les transferts effectués avec ce seul droit (sans le droit [[#Transfert-de-son-compte-sans-validation|Transfert de son compte sans validation]]) depuis cette page sont validés automatiquement.&lt;br /&gt;
&lt;br /&gt;
===Transfert de son compte sans validation===&lt;br /&gt;
Permet lors d'un transfert de compte à compte, que les flux générés ne soient pas automatiquement validés. Ce droit n'a d'effet que si le droit [[#Transfert-de-son-compte|Transfert de son compte]] est affecté au profil.&lt;br /&gt;
&lt;br /&gt;
'''Conseil OpenFlyers :''' Ce droit a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui &amp;quot;donne&amp;quot; de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : &amp;quot;[https://fr.wiktionary.org/wiki/donner_c%E2%80%99est_donner,_reprendre_c%E2%80%99est_voler Donner c'est donner, reprendre c'est voler]&amp;quot;. L'attribution du seul droit [[#Transfert-de-son-compte|Transfert de son compte]] permet un comportement conforme aux fonctionnalités présentes sur les applications bancaires, à savoir que lorsqu'on effectue un virement ce virement est définitif. Si un utilisateur se trompe dans son virement, alors il faut qu'il demande soit à la personne à qui il a donné de lui rendre le trop-perçu, soit à un gestionnaire de la structure pour qu'elle saisisse une écriture corrective. L'intérêt de procéder ainsi est qu'on conserve visuellement et directement sur les comptes la trace des opérations effectuées.&lt;br /&gt;
&lt;br /&gt;
===Saisir tout flux===&lt;br /&gt;
Permet de :&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Saisir-un-flux|saisir des flux]] depuis '''Gestion &amp;gt; Comptes &amp;gt; Flux &amp;gt; Saisir'''&lt;br /&gt;
*de modifier/supprimer des flux non validés&lt;br /&gt;
*de consulter la liste des flux depuis '''Gestion &amp;gt; Comptes &amp;gt; Flux &amp;gt; Valider'''&lt;br /&gt;
*de [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualiser la liste des mouvements]]&lt;br /&gt;
*d'[[Utilisation-de-la-comptabilité#Importer-un-relevé-bancaire|importer des relevés bancaires]]&lt;br /&gt;
&lt;br /&gt;
===Valider tout flux===&lt;br /&gt;
Permet de valider les flux de la page '''Gestion &amp;gt; Comptes &amp;gt; Flux &amp;gt; Valider'''.&lt;br /&gt;
&lt;br /&gt;
Ce droit n'a effet que si le droit [[#Saisir-tout-flux|Saisir tout flux]] est affecté au profil.&lt;br /&gt;
&lt;br /&gt;
===Paramétrage de la facturation===&lt;br /&gt;
Permet de gérer les règles de [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] et de [[Facturation-des-clients#Facturation-périodique|facturation périodique]].&lt;br /&gt;
&lt;br /&gt;
===Saisie des valeurs de facturation===&lt;br /&gt;
&lt;br /&gt;
Permet de gérer les variables et leurs valeurs destinés aux règles de facturation&lt;br /&gt;
&lt;br /&gt;
===Compte sur lequel un utilisateur peut agir===&lt;br /&gt;
&lt;br /&gt;
Permet de définir sur quel compte utilisateur un encaissement ou un transfert peut être réalisé par la personne connectée. Attention : ce droit est pour l'utilisateur connecté et non pas pour l'utilisateur concerné par l'encaissement ou le transfert.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limitation du solde du compte===&lt;br /&gt;
Permet à un utilisateur disposant de ce droit dans l'un de ses profils de ne pas avoir de [[Connexion#Restriction-d'accès|restriction d'accès]], de saisie de réservation ou de saisie de vol lorsque [[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|une restriction sur les soldes]] est en place. Il aura juste une alerte à la connexion. Ce droit ne permet pas à l'utilisateur concerné X de pouvoir surpasser les restrictions d'un autre utilisateur Y en effectuant par exemple une réservation en son nom alors que Y n'a ni le droit de surpasser ni le solde suffisant.&lt;br /&gt;
&lt;br /&gt;
[[Connexion#Restriction-d'accès-pour-un-administrateur-référent|Ce droit peut être attribué de façon dynamique à la connexion]] par un [[Configuration#Administrateur-référent|administrateur référent]].&lt;br /&gt;
&lt;br /&gt;
===Surpasser le seuil de [[Gestion-de-la-comptabilité-côté-utilisateur#Transférer-de-l'argent|transfert de compte]]===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur disposant de ce droit dans l'un de ses profils de ne pas être bloqué lorsque une [[Configuration-de-la-comptabilité#Paramétrage-général-des-comptabilités|restriction sur les soldes]] est en place et qu'il ne dispose pas d'un solde suffisant.&lt;br /&gt;
&lt;br /&gt;
==Ventes==&lt;br /&gt;
&lt;br /&gt;
===Gestion globale des ventes===&lt;br /&gt;
&lt;br /&gt;
Permet de gérer les produits, la facturation des produits, les stocks et [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
&lt;br /&gt;
===Achat ventes libres===&lt;br /&gt;
&lt;br /&gt;
Autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
&lt;br /&gt;
===Acheter pour les tiers===&lt;br /&gt;
Autorise à effectuer/modifier/supprimer des achats de produit pour un tiers.&lt;br /&gt;
*Couplé au droit [[#Gestion-des-utilisateurs|Gestion des utilisateurs]], il permet de gérer les [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]] d'un tiers.&lt;br /&gt;
*Couplé au droit [[Gestion-des-profils#Vente-de-produit-sans-tarif|Vente de produit sans tarif]], il permet de vendre des [[Gestion-des-produits-et-des-ventes#Configuration-d'un-produit-non-stocké-sans-tarif-défini|produits sans tarif]].&lt;br /&gt;
&lt;br /&gt;
===Vente de produit sans tarif===&lt;br /&gt;
Autorise à rendre disponible et à acheter des produits sans tarif. Nécessite le droit [[#Acheter-pour-les-tiers|Acheter pour les tiers]].&lt;br /&gt;
&lt;br /&gt;
===Débrayage des ventes de validités===&lt;br /&gt;
&lt;br /&gt;
Autorise à ajouter et modifier la date d'expiration d'une [[Validités#Validité-à-vendre|validité à vendre]] sans débiter le compte.&lt;br /&gt;
&lt;br /&gt;
==Achats==&lt;br /&gt;
&lt;br /&gt;
===Gestion des achats===&lt;br /&gt;
Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.&lt;br /&gt;
&lt;br /&gt;
==Admin==&lt;br /&gt;
===Gestion du paramétrage===&lt;br /&gt;
Ce droit est nécessaire pour accéder aux pages permettant de [[Paramétrage|paramétrer la plateforme]] et fait apparaitre le menu '''Structure''' avec les items :&lt;br /&gt;
*[[Données#Accéder-au-tableau-de-conservation-des-données|'''Admin &amp;gt; Structure &amp;gt; Données &amp;gt; Conservation des données''']]&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Canaux de communications'''&lt;br /&gt;
*[[Configuration#Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Paramétrage|'''Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Paramétrage''']]&lt;br /&gt;
*[[Configuration#Admin-&amp;gt;-Structure-&amp;gt;-Structure-&amp;gt;-Coordonnées|'''Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Coordonnées''']]&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Définition'''&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Actualisation'''&lt;br /&gt;
*[[Configuration#Structure-&amp;gt;-Champs-métiers|'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers''']]&lt;br /&gt;
*[[Configuration#Structure-&amp;gt;-Export-SQL|'''Admin &amp;gt; Structure &amp;gt; Export SQL &amp;gt; Complet''']]&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Importer-son-modèle-de-facture|'''Admin &amp;gt; Structure &amp;gt; Imports &amp;gt; Templates ODT''']]&lt;br /&gt;
&lt;br /&gt;
Ce droit fait également apparaitre des items utiles au paramétrage mais présents dans d'autres menus :&lt;br /&gt;
*Couplé au droit [[#Gestion-des-utilisateurs|Gestion des utilisateurs]], dans le menu '''Admin &amp;gt; Utilisateurs''' :&lt;br /&gt;
**[[Champs-métiers|'''Admin &amp;gt; Utilisateurs &amp;gt; Champs métiers''']]&lt;br /&gt;
**'''[[Gestion des statuts|Admin &amp;gt; Utilisateurs &amp;gt; Statuts]]'''&lt;br /&gt;
*[[Gestion-des-types-d'activités|'''Admin &amp;gt; Types d'activités &amp;gt; Actifs''']]&lt;br /&gt;
*[[Champs-métiers|'''Admin &amp;gt; Types d'activités &amp;gt; Champs métiers''']]&lt;br /&gt;
*[[Champs-métiers|'''Ventes &amp;gt; Champs métiers &amp;gt; Champs métiers''']]&lt;br /&gt;
&lt;br /&gt;
===Gestion des valeurs===&lt;br /&gt;
&lt;br /&gt;
===Gestion des profils===&lt;br /&gt;
permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !&lt;br /&gt;
&lt;br /&gt;
===Gestion des utilisateurs===&lt;br /&gt;
&lt;br /&gt;
Permet de modifier les caractéristiques, infos et photos des utilisateurs, les désactiver et gérer leurs validités qui ne correspondent pas à des [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]]. Couplé au droit [[#Acheter-pour-les-tiers|Acheter pour les tiers]], il permet de gérer les [[Paramétrage-des-validités#Validité-à-vendre|validités qui sont à vendre]].&lt;br /&gt;
&lt;br /&gt;
===Gestion des ressources===&lt;br /&gt;
Permet la gestion complète des types de ressources et des ressources (créer/supprimer/modifier/associer des validités). Autorise également la gestion de navigabilité des ressources aéronefs et la gestion des statuts.&lt;br /&gt;
&lt;br /&gt;
Permet d'accéder à [[Gestion-des-documents|la liste des documents]] qui sont associés aux ressources et leur gestion (Ajouter, modifier, supprimer). Permet aussi de gérer la liste des catégories de ces documents.&lt;br /&gt;
&lt;br /&gt;
===Gestion des rapports===&lt;br /&gt;
Fait apparaître le menu '''[[Gestion-des-rapports|Gestion &amp;gt; Rapports]]''' avec les items :&lt;br /&gt;
* '''Gestion &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Champs métiers'''&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier]]'''&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Visualiser]]'''&lt;br /&gt;
* '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Activités et coûts'''&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion &amp;gt; Rapports &amp;gt; Bibliothèque]]'''&lt;br /&gt;
&lt;br /&gt;
Fait apparaître la [[Gestion-des-rapports#Case-à-cocher-Mémoriser-ce-choix|case à cocher '''Mémoriser ce choix''']].&lt;br /&gt;
&lt;br /&gt;
===Voir tous les rapports===&lt;br /&gt;
Fait apparaître le menu '''Rapports''' avec les items :&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Rapports personnalisés &amp;gt; Visualiser]]'''&lt;br /&gt;
* '''Rapports spécifiques &amp;gt; Vols et coûts'''&lt;br /&gt;
&lt;br /&gt;
Cela permet de consulter l'intégralité des rapports, y compris les favoris.&lt;br /&gt;
&lt;br /&gt;
Fait apparaître la [[Gestion-des-rapports#Case-à-cocher-Mémoriser-ce-choix|case à cocher '''Mémoriser ce choix''']].&lt;br /&gt;
&lt;br /&gt;
===Gestion des logs===&lt;br /&gt;
Fait apparaître le menu '''Admin &amp;gt; Logs''' avec les items :&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Actions effectuées'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Adresses IP bloquées'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Historique d'une réservation'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Identifiants bloqués'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Requête utilisateur en attente'''&lt;br /&gt;
&lt;br /&gt;
===Envoyer et suivre les e-mails===&lt;br /&gt;
Permet d'accéder à la page [[Mailing|Mailing]] et de [[Suivi-des-emails|suivre les emails]].&lt;br /&gt;
&lt;br /&gt;
===Accès aux tableurs===&lt;br /&gt;
Permet d'accéder aux fichiers [[Tableurs|tableurs]] depuis le menu.&lt;br /&gt;
&lt;br /&gt;
===Gestion des communications===&lt;br /&gt;
Permet de gérer les flux d'informations et leurs canaux.&lt;br /&gt;
&lt;br /&gt;
==Modules désactivés==&lt;br /&gt;
*Un onglet lié à un module désactivé est affiché uniquement si au moins un droit de son groupe reste actif sur au moins un profil utilisateur.&lt;br /&gt;
*Dans ce cas:&lt;br /&gt;
**L'onglet apparaît avec l'indication '''désactivé'''.&lt;br /&gt;
**Les droits non cochés apparaissent en mode inactif (non modifiables), empêchant toute nouvelle attribution.&lt;br /&gt;
**Les droits déjà attribués (cases cochées) restent visibles.&lt;br /&gt;
*Si aucun droit du groupe n'est actif, l'onglet correspondant n'est plus affiché.&lt;br /&gt;
&lt;br /&gt;
=Profils Plus=&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil depuis Profils plus==&lt;br /&gt;
*Cliquer sur une cellule contenant le caractère '''+'''&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
*pour valider cliquer sur la disquette à gauche dans la colonne &amp;quot;Actions&amp;quot;&lt;br /&gt;
*le nouveau profil est placé à la fin du tableau&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil depuis Profils plus==&lt;br /&gt;
*Cliquer sur une cellule du profil à modifier&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Colonnes du tableau Profils Plus==&lt;br /&gt;
===Nom (du profil)===&lt;br /&gt;
Nom du profil&lt;br /&gt;
&lt;br /&gt;
===Type de compte requis===&lt;br /&gt;
Permet de définir les comptes utilisateurs appartenant aux types sélectionnés qui seront créés pour les nouveaux utilisateurs ou ajoutés aux utilisateurs existants à qui on attribuera ce profil&lt;br /&gt;
&lt;br /&gt;
===Champ métier visible par le profil sur le formulaire utilisateur ou sur le planning===&lt;br /&gt;
Permet d'afficher ou de cacher les [[Champs-métiers|champs métiers]] des formulaires présents dans :&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*'''Gestion &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''&lt;br /&gt;
*'''Planning &amp;gt; Planning &amp;gt; Réserver'''&lt;br /&gt;
&lt;br /&gt;
===Type de validité que l'utilisateur peut gérer pour lui-même===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce profil peut [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|ajouter/acheter/mettre/supprimer]] (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui-même. Les validités d'un utilisateur sont accessibles depuis '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage-des-validités#Profils-autorisés-à-gérer-pour-eux-mêmes|Lors de l'ajout d'un type de validité, celui-ci est automatiquement affecté aux profils]].&lt;br /&gt;
&lt;br /&gt;
===Types de validités que l'utilisateur peut gérer et certifier===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce profil peut gérer et certifier.&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage-des-validités#Profils-autorisés-à-gérer/certifier-pour-les-autres|Lors de l'ajout d'un type de validité, celui-ci est automatiquement affecté aux profils]].&lt;br /&gt;
&lt;br /&gt;
Tous les utilisateurs détenant un profil pouvant certifier un type de validité coché recevront un [[Envoi-des-emails#E-mail-de-demande-de-certification-de-validité|e-mail]] lorsqu'une validité d'un des types choisis sera ajoutée par un utilisateur et [[Validités#Validités-en-attente-de-certification|en attente de certification]].&lt;br /&gt;
&lt;br /&gt;
'''NB''': Pour que la notification soit effective, il faut également que l'utilisateur ait coché l'option '''[[Fiche-personnelle#Recevoir-un-e-mail-pour-chaque-validité-en-attente-de-certification|Recevoir un e-mail pour chaque validité en attente de certification]]''' dans [[Fiche-personnelle#Notifications|sa fiche personnelle (onglet ''Notifications'')]].&lt;br /&gt;
&lt;br /&gt;
===Contrats non requis===&lt;br /&gt;
Voir la définition de [[Paramétrage-des-validités#Validité-contrat|validité-contrat]].&lt;br /&gt;
&lt;br /&gt;
Permet de [[Gestion-des-profils#Modifier-un-profil-depuis-Profils-plus|définir]] les [[Paramétrage-des-validités#Validité-contrat|validités-contrats]] qui ne sont pas requises pour certains profils.&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs ne disposant que de profils exemptés, ne se verront pas demandés la signature des validités-contrats à la connexion. Tous les autres utilisateurs doivent signer chacun des contrats s'ils disposent d'au moins un profil non-exempté ou si la validité-contrat est requise pour tous les profils.&lt;br /&gt;
&lt;br /&gt;
La signature des validités-contrats, se fait juste après l'identification à la connexion. Le formulaire apparait tant qu'il reste au moins un contrat non-signé. L'utilisateur ne peut passer outre ce processus.&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
Permet d'attribuer les places auxquelles sont autorisées les utilisateurs de ce profil. Cela impacte sur les listes des utilisateurs que l'on trouve à la saisie d'une réservation ou d'un vol.&lt;br /&gt;
&lt;br /&gt;
Ces listes sont accessibles depuis '''Planning &amp;gt; Planning &amp;gt; Réserver''' et '''Planning &amp;gt; Activités &amp;gt; Saisir une activités'''.&lt;br /&gt;
&lt;br /&gt;
La page '''Admin &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Elle permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Profils visibles===&lt;br /&gt;
Dans les pages '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle''', '''Gestion &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Paramètres par défaut''', on peut sélectionner les utilisateurs auxquels on souhaite voir leur planning.&lt;br /&gt;
&lt;br /&gt;
La liste des utilisateurs affichés sont ceux possédant un profil ayant les droits [[#Planning-personnel|Planning personnel]] et [[#Planning-individuel-visible-pour-les-autres|Planning individuel visible pour les autres]]. La colonne '''Profils visibles''' permet de restreindre la liste de ces utilisateurs pour ne la limiter qu'aux utilisateurs possédant les profils sélectionnés.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).&lt;br /&gt;
&lt;br /&gt;
===Types de ressources visibles===&lt;br /&gt;
Dans les pages '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle''', '''Gestion &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Paramètres par défaut''', on peut sélectionner les ressources dont on souhaite voir le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile|planning]] ou les rendre disponibles dans les formulaires de saisie de réservation et d'activité.&lt;br /&gt;
&lt;br /&gt;
La colonne '''Types de ressources visibles''' permet de restreindre la liste de ces ressources pour ne la limiter qu'aux ressources appartenant aux types de ressources sélectionnés.&lt;br /&gt;
&lt;br /&gt;
===Comptabilités visibles===&lt;br /&gt;
Permet de sélectionner les comptabilités qui sont visibles pour un profil. De plus, les types de compte et les comptes n'étant pas d'une comptabilité sélectionnée ne seront pas visibles.&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
Ce droit permet de suivre le renouvellement des validités par les utilisateurs en étant alerté par e-mail à chaque fois qu'un utilisateur renouvelle une validité sélectionnée dans la liste de la cellule '''Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs'''. Attention : la mise en place de ce droit peut provoquer la réception de nombreux e-mails.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
==[[Connexion#Choix_du_profil|Choix du profil à la connexion]]==&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil==&lt;br /&gt;
&lt;br /&gt;
Depuis l'interface dynamique :&lt;br /&gt;
*Cliquer sur l'icône de menu correspondant à la gestion des profils&lt;br /&gt;
*Ajouter une ligne&lt;br /&gt;
*Compléter les cellules&lt;br /&gt;
*L'ajout est enregistré si les cellules suivantes sont correctement remplies :&lt;br /&gt;
**'''Nom du profil''' : la cellule doit être remplie et le nom ne pas avoir déjà été utilisé comme nom de profil.&lt;br /&gt;
&lt;br /&gt;
Depuis l'interface légère :&lt;br /&gt;
*Aller sur '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''&lt;br /&gt;
*En-dessous du tableau listant les profils, cliquer sur le bouton '''AJOUTER UN PROFIL'''&lt;br /&gt;
*Renseigner les droits pour chaque onglet&lt;br /&gt;
*Aller sur '''Admin &amp;gt; Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
*Renseigner les colonnes pour la ligne du profil nouvellement créé&lt;br /&gt;
&lt;br /&gt;
===Ajouter un profil qui surpasse la restriction en cas de solde insuffisant===&lt;br /&gt;
*Procéder à l'ajout de ligne dans un tableau.&lt;br /&gt;
*Saisir par exemple comme nom '''Non restreignable'''.&lt;br /&gt;
*Toujours dans '''Admin &amp;gt; Utilisateurs &amp;gt; Profils''', onglet '''Généralités''', cocher pour ce profil le droit [[Gestion des profils#Généralités|Profil non sélectionnable par l'utilisateur]].&lt;br /&gt;
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit [[#Surpasser-la-limitation-du-solde-du-compte|Surpasser la limitation du solde du compte]] pour le profil concerné&lt;br /&gt;
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
=Créer un profil empêchant tout surpassement=&lt;br /&gt;
Il peut être nécessaire d'empêcher un utilisateur de pouvoir réserver ou saisir une activité même en recourant à l'aide d'un tiers qui disposerait de droits permettant de surpasser des restrictions, que cela soit sur des comptes ou sur des validités.&lt;br /&gt;
&lt;br /&gt;
Cela peut être le cas, par exemple, pour la détention d'une validité ''Cotisation'' périmée ou lorsque le solde du compte utilisateur est insuffisant (cf. [[Configuration-de-la-comptabilité#Restriction-d'accès-en-cas-de-solde-insuffisant|Restriction d'accès en cas de solde insuffisant]]).&lt;br /&gt;
&lt;br /&gt;
Pour mettre en place une telle restriction, il faut :&lt;br /&gt;
*[[Gestion-des-profils#Ajouter-un-profil|Ajouter un profil]] en lui attribuant l'ensemble des droits (ne pas oublier la page '''Admin &amp;gt; Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
*[[Gestion-des-profils#Modifier-un-profil|Modifier le profil]] nouvellement créé&lt;br /&gt;
**Si l'utilisateur ne doit pas pouvoir ouvrir un vol : dans l'onglet [[Gestion-des-profils#Activités|Activités]], décocher le droit [[Gestion-des-profils#Etre-sur-une-nouvelle-ouverture-d'activité|Etre sur une nouvelle ouverture d'activité]]&lt;br /&gt;
**Si l'utilisateur ne doit pas pouvoir être sur une réservation : dans l'onglet [[Gestion-des-profils#Réservation|Réservation]], décocher les droits [[Gestion-des-profils#Etre-sur-une-nouvelle-réservation|Etre sur une nouvelle réservation]], [[Gestion-des-profils#Réservation-solo|Réservation solo]] et [[Gestion-des-profils#Réservation-avec-un-instructeur|Réservation avec un instructeur]]&lt;br /&gt;
&lt;br /&gt;
==Droits particuliers==&lt;br /&gt;
*'''GÉNÉRALITÉS / Profil non sélectionnable par l'utilisateur :''' ce droit n'est applicable que si les [[Gestion des utilisateurs|utilisateurs disposant du profil concerné]] possèdent au moins un autre [[Connexion#Sélection_du_profil|profil sélectionnable à la connexion]].&lt;br /&gt;
*'''GÉNÉRALITÉS ADMIN / Gestion des profils :''' au moins un profil doit posséder ce droit.&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil==&lt;br /&gt;
La modification des profils s'effectue selon les règles d'[[Utilisation des tableaux#Édition_des_données#|édition des données d'un tableau]].&lt;br /&gt;
&lt;br /&gt;
==Supprimer un profil==&lt;br /&gt;
*La suppression d'un profil est possible uniquement si les [[Gestion des utilisateurs|utilisateurs disposant de ce profil]] possèdent aussi au moins un autre profil.&lt;br /&gt;
*Procéder à la suppression de ligne dans un tableau.&lt;br /&gt;
&lt;br /&gt;
==Valeurs par défaut lors de la création d'un profil==&lt;br /&gt;
Lors de la création d'un profil, on affecte automatiquement par défaut :&lt;br /&gt;
* Tous les '''Profils visibles'''&lt;br /&gt;
* Tous les '''Types de ressources visibles'''&lt;br /&gt;
* Toutes les '''Comptabilités visibles'''&lt;br /&gt;
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14273</id>
		<title>Configuration des réservations internes</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14273"/>
		<updated>2026-02-02T16:15:21Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Réservation par type de ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page présente le paramétrage du module de réservations interne.&lt;br /&gt;
&lt;br /&gt;
=Gestion du planning (réservations internes)=&lt;br /&gt;
La gestion du planning se fait en allant dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|1500px|center|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
==Mode de réservation==&lt;br /&gt;
===Réservations standards===&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée en mode standard est immobilisée, les réservations existantes sur cette ressource sont supprimées.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur est averti avant la confirmation de l'opération.&lt;br /&gt;
&lt;br /&gt;
===Réservation par type de ressource===&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée par type est immobilisée, les réservations ne sont pas supprimées. Elles sont automatiquement déplacées vers la prochaine ressource disponible du même type, selon l'ordre de priorité défini.&lt;br /&gt;
Si aucune autre ressource du même type n'est disponible, la réservation concernée est supprimée.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit &amp;quot;Surpasser la réservation par type&amp;quot;, il est possible de forcer une réservation sur une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
==Code couleur==&lt;br /&gt;
Permet de définir quelle code couleur doit être utilisée pour l'affichage des réservations :&lt;br /&gt;
*Par utilisateur&lt;br /&gt;
:deux champs de sélection s'affichent :&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui ne concernent pas l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui ne concernent pas l'utilisateur connecté.&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui concernent l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui concernent l'utilisateur connecté.&lt;br /&gt;
:Il est possible de configurer [[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|une paire de couleurs par utilisateur]].&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-couleur-à-un-type-d'activité|Par type d'activité]]&lt;br /&gt;
&lt;br /&gt;
==Affichage possible des activités réalisées dans le planning==&lt;br /&gt;
Permet aux utilisateurs disposant du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]] d'activer le module d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|Affichage des activités réalisées]] sur la page de réservation.&lt;br /&gt;
&lt;br /&gt;
==Réservation multi-ressources==&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' cette fonctionnalité n'est pas conçue pour les formateurs/instructeurs et entraine des bugs d'affichage sur le planning de réservation. La version 4 d'OpenFlyers corrigera ce défaut.&lt;br /&gt;
&lt;br /&gt;
==Affichage du nom des ressources dans le planning==&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
==Afficher les alertes non bloquantes lors des glisser-déposer==&lt;br /&gt;
Ce paramétrage permet d'afficher les alertes non bloquantes lors des [[Utilisation-des-réservations-internes-sur-l%27interface-web#Glisser-déposer-des-réservations|glisser-déposer des réservations]] sur le planning.&lt;br /&gt;
&lt;br /&gt;
==Autoriser la suppression partielle d'éléments de réservations== &lt;br /&gt;
Ce paramétrage permet d'afficher l'action '''Annuler cet élément du groupe de réservations''' lorsqu'un groupe de réservations est lié. Il autorise ainsi la suppression individuelle d'un élément au sein d'un groupe de réservations, sans devoir annuler l'ensemble du groupe.&lt;br /&gt;
&lt;br /&gt;
==Amplitude du planning==&lt;br /&gt;
===Heure de début et fin (fuseau X)===&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire de la structure.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' les minutes proposées doivent être des multiples de 15 (00, 15, 30, 45).&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
===Interdire d'effectuer une réservation débutant dans moins de===&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
===Limitation dans le temps des réservations===&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
===Limitation du nombre de réservations===&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
===Durée minimale d'une réservation===&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
===Durée par défaut d'une réservation===&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
==Champs visibles==&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
Les lieux cochés sont ainsi définis avec une valeur par défaut lorsqu'un vol est entré à partir d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Saisie de la destination===&lt;br /&gt;
&lt;br /&gt;
Ce champ n'est disponible que si le champ '''Lieu d'arrivée''' est activé.&lt;br /&gt;
&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
Lorsque le champ '''Lieu d'arrivée''' est désactivé, la valeur enregistrée pour '''Saisie de la destination''' est vidée.&lt;br /&gt;
&lt;br /&gt;
==[[Paramétrage-des-validités#Paramétrer-le-contrôle-des-validités-pour-les-activités-ou-les-réservations|Paramétrage général du contrôle des validités pour les réservations]]==&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut :&lt;br /&gt;
* lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]]&lt;br /&gt;
* lors d'une nouvelle réservation sur le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Tutoriel-vidéo|planning de la nouvelle interface]]&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut pour la seconde place (ancienne interface)==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut lorsqu'on sélectionne une personne en seconde place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut pour la seconde place (ancienne interface)''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Règles de saisies XML==&lt;br /&gt;
Permet d'éditer les [[#Règles-de-saisies|Règles de saisie]] qui s'appliquent, pour le moment, uniquement pour le planning.&lt;br /&gt;
&lt;br /&gt;
=Règles de saisies=&lt;br /&gt;
Les règles de saisie sont utilisées uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.&lt;br /&gt;
&lt;br /&gt;
Elles sont écrites en [[Wikipedia-fr:Extensible_Markup_Language|XML]]. cf. l'exemple de règles de saisie ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Le moteur de vérification des règles s'enclenche dès qu'une réservation n'est plus &amp;quot;nue&amp;quot;, c'est à dire lorsqu'au moins un élément est renseigné (activité, ressource, etc.). Alors il vérifie quelles sont les règles compatibles et en déduit les contenus possibles dans les champs de saisie de l'interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
La compatibilité d'une règle se détermine '''par restriction''' en vérifiant dans cet ordre les informations suivantes :&lt;br /&gt;
#Activités&lt;br /&gt;
#Ressources&lt;br /&gt;
#Profils&lt;br /&gt;
#Places&lt;br /&gt;
&lt;br /&gt;
Pour chaque information, le moteur regarde si elle est renseignée. Si ce n'est pas le cas alors il passe à l'information suivante. Par exemple s'il n'y a pas encore d'activité de saisie alors il ne vérifie pas ce point-là dans la règle.&lt;br /&gt;
&lt;br /&gt;
Pour les activités et les ressources, il regarde les règles qui acceptent celles renseignées. S'il y a des règles qui pose problème alors elles sont rejetées.&lt;br /&gt;
&lt;br /&gt;
Pour les profils ce sont les personnes qui sont étudiées et ce de deux manières différentes selon si sur la saisie il y a une ressource de renseignée ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource de renseignée, le fonctionnement est similaire aux autres informations. le moteur regarde pour toutes les personnes renseignées si sur la place où elles sont, elles ont au moins un profil valide. Si une personne n'a aucun profil pour la place où il est alors la règle est rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource le fonctionnement est différent. Au lieu de faire par restriction, le moteur va faire '''par ajout'''. C'est-à-dire qu'au lieu de dire &amp;quot;il ne faut que des pilotes&amp;quot;, il va dire &amp;quot;je veux au moins un pilote&amp;quot;. Pour ce faire il va regarder les profils de chaque personne. S'il trouve une personne avec un profil valide, il accepte la règle. Si aucune des personnes ne correspond, il va faire une seconde vérification au niveau des places. Si pour cette règle l'une des places n'est pas définie, il considère que les personnes présentes vont potentiellement aller sur cette place et il ne rejette pas la règle. Par contre, si toutes les places sont définies et qu'aucune des personnes ne correspond alors la règle est rejetée.&lt;br /&gt;
&lt;br /&gt;
Pour les places, il vérifie qu'il n'y a pas trop de monde. Comme pour les profils il y a deux manières de les étudier en fonction de s'il y a une ressource ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource, il va regarder pour chaque place si le nombre de personnes autorisées n'est pas dépassé. Si sur l'une des places le nombre est dépassé alors la règle est rejetée. Cependant, si le nombre est atteint mais pas dépassé alors la règle n'est pas rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource, il va parcourir chaque place pour compter le nombre total de personnes autorisées pour cette règle. Si le nombre est dépassé alors la règle est rejetée. Comme précédemment si le nombre est simplement atteint alors la règle n'est pas rejetée.&lt;br /&gt;
&lt;br /&gt;
Si pour chaque information saisie, la règle est compatible alors elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Pour qu'une saisie soit valide, il faut qu'il existe au moins une règle de conservée, c'est à dire de compatible.&lt;br /&gt;
&lt;br /&gt;
;Exemple de règles de saisie&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ruleList&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;*(bookAlone)(bookWithInstr)&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;2&amp;lt;/activityType&amp;gt; &amp;lt;!-- Instruction --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001, F-002, F-00X --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot;&amp;gt; &amp;lt;!-- Pilote--&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;1&amp;lt;/profile&amp;gt; &amp;lt;!-- Elève --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;1&amp;quot; minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;2&amp;quot;&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;4&amp;lt;/profile&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;...&amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/ruleList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==attribut needs==&lt;br /&gt;
L'attribut needs peut être utilisé pour les éléments :&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*place&lt;br /&gt;
&lt;br /&gt;
Il contient un ou plusieurs droits qui sont requis par l'utilisateur effectuant la saisie pour que la règle puisse s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il n'y a qu'un droit de requis, il faut écrire ''needs=&amp;quot;nomDuDroit&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il y a plusieurs droits possibles, un seul étant requis, il faut commencer par le signe * puis lister chaque droit en l'entourant de parenthèses : ''needs=&amp;quot;*(bookAlone)(bookWithInstr)''.&lt;br /&gt;
&lt;br /&gt;
==Capacité maximale autorisée==&lt;br /&gt;
La taille maximale autorisée pour les règles de saisie XML est de '''16 Mo'''.  &lt;br /&gt;
Lors de la création d'un type d'activité ou lors de la modification manuelle depuis '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''',  si la taille des règles de saisie XML dépasse cette limite, un message d'alerte s'affiche indiquant que les règles de saisie XML sont saturées.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il est conseillé de vérifier le contenu XML et d'identifier d'éventuelles données obsolètes afin de les supprimer et d'alléger le fichier.  &lt;br /&gt;
Si cela ne suffit pas, il est recommandé de contacter OpenFlyers pour discuter de la possibilité d'augmenter la taille du champ.&lt;br /&gt;
&lt;br /&gt;
==ruleList==&lt;br /&gt;
Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments &amp;quot;rule&amp;quot; qui correspondent, chacun, à une règle.&lt;br /&gt;
&lt;br /&gt;
Il n'y pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
===rule===&lt;br /&gt;
Définit une règle.&lt;br /&gt;
&lt;br /&gt;
Les éléments possibles sont :&lt;br /&gt;
*formulaList&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*resourceList&lt;br /&gt;
*placeList&lt;br /&gt;
&lt;br /&gt;
Il n'y a pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
Chaque règle définit les types d'activités, types de ressources et places qui la rendent compatible.&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant définit une règle qui autorise une saisie pour le type d'activité ''Local'', les types de ressources ''F-001'' ou ''F-002'' et pour laquelle il faut exactement 1 utilisateur avec le profil ''Pilote'' à la place 0. Le statut attribué sera celui de numéro 1. De plus, La personne qui fait la réservation doit avoir le droit &amp;quot;bookAlone&amp;quot; et si elle dispose du droit &amp;quot;bookAnyone&amp;quot; alors elle verra en plus la liste des utilisateurs compatibles avec cette règle pour lui permettre d'en choisir une : &lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====formulaList====&lt;br /&gt;
Contient la liste des formules que la règle doit respecter au travers des éléments ''formula''.&lt;br /&gt;
&lt;br /&gt;
=====formula=====&lt;br /&gt;
Doit contenir les attributs :&lt;br /&gt;
*''action'' : indique l'action concernée pour la vérification de la formule. Si l'action effectuée par l'utilisateur n'est pas celle de la formule, alors la formule n'est pas vérifiée. Par contre, la règle peut quand être compatible. Il est possible de remplacer le nom d'une action par * pour indiquer que la formule doit être vérifiée quelque soit l'action.&lt;br /&gt;
*''title'' : pour indiquer le message d'alerte devant s'afficher lorsque la formule n'est pas respectée&lt;br /&gt;
&lt;br /&gt;
Le contenu de l'élément ''formula'' est une formule qui est testée lors de la saisie.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans la formule, pour les signes de comparaison supérieur ou inférieur, il faut saisir leur équivalent HTML :&lt;br /&gt;
* &amp;gt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;gt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;!-- Durée maximum : 30min --&amp;gt;&lt;br /&gt;
&amp;lt;formula action=&amp;quot;update&amp;quot; title=&amp;quot;Vous ne pouvez pas faire de réservation ayant une durée supérieure à 30 minutes.&amp;quot;&amp;gt;(%DURATION &amp;amp;lt;= 300)&amp;lt;/formula&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====activityTypeList====&lt;br /&gt;
Contient la liste des types d'activités qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir l'attribut [[#attribut-needs|needs]].&lt;br /&gt;
=====activityType=====&lt;br /&gt;
Contient l'identifiant d'un type d'activité.&lt;br /&gt;
&lt;br /&gt;
====resourceList====&lt;br /&gt;
Contient la liste des types de ressources qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'' et ''minQty'' pour définir le nombre de ressources maximum et minimum.&lt;br /&gt;
&lt;br /&gt;
====placeList====&lt;br /&gt;
Contient la liste définissant les places.&lt;br /&gt;
&lt;br /&gt;
=====place=====&lt;br /&gt;
Contient la définition de chaque place.&lt;br /&gt;
&lt;br /&gt;
Peut contenir des éléments ''profile'' pour indiquer un profil requis parmi plusieurs pour qu'un utilisateur puisse occuper la place.&lt;br /&gt;
&lt;br /&gt;
Doit contenir l'attribut index pour numéroter la place définie.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'', ''minQty'', ''needs'' et ''status''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''needs'' permet de définir le droit requis pour l'utilisateur effectuant la saisie afin qu'il puisse choisir l'utilisateur dans la liste des utilisateurs compatibles. typiquement, cet attribut est utilisé ainsi : ''needs=&amp;quot;bookAnyone&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''status'' permet de définir le statut de la personne à laquelle on attribut la place. Cette définition se fait en utilisant l'identifiant du statut. Exemple : ''status=&amp;quot;1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
======profile======&lt;br /&gt;
Contient l'identifiant du profile requis.&lt;br /&gt;
&lt;br /&gt;
==Wildcard==&lt;br /&gt;
Le caractère * peut être utilisé dans les éléments '''resourceType'''. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.&lt;br /&gt;
&lt;br /&gt;
Exemple avec wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple sans wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;3&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14272</id>
		<title>Configuration des réservations internes</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Configuration-des-r%C3%A9servations-internes&amp;diff=14272"/>
		<updated>2026-02-02T16:11:11Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Réservations standards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page présente le paramétrage du module de réservations interne.&lt;br /&gt;
&lt;br /&gt;
=Gestion du planning (réservations internes)=&lt;br /&gt;
La gestion du planning se fait en allant dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''' :&lt;br /&gt;
&lt;br /&gt;
[[Image:014_parametrage_gestion_reservation.png|1500px|center|gestion des réservations]]&lt;br /&gt;
&lt;br /&gt;
==Mode de réservation==&lt;br /&gt;
===Réservations standards===&lt;br /&gt;
Cette option permet de faire des réservations classiques, c'est-à-dire que l'on réserve directement une ressource en fonction de son nom (exemple : son immatriculation), cela ne diffère en rien des réservations &amp;quot;papier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une ressource réservée en mode standard est immobilisée, les réservations existantes sur cette ressource sont supprimées.&lt;br /&gt;
&lt;br /&gt;
L'utilisateur est averti avant la confirmation de l'opération.&lt;br /&gt;
&lt;br /&gt;
===Réservation par type de ressource===&lt;br /&gt;
La réservation par type permet non pas de choisir une ressource particulière mais un type de ressource. Dans les structures aéronautiques possédant plusieurs aéronefs d'une même famille (plusieurs DR400/120 par exemple) on choisit alors de réserver un DR400/120 parmi ceux de la flotte. Le programme choisira l'immatriculation en fonction de la disponibilité des appareils (entretien mécanique par exemple).&lt;br /&gt;
&lt;br /&gt;
La réservation par type comporte un double intérêt :&lt;br /&gt;
*pouvoir donner la priorité à une ressource par rapport à une autre et ainsi pousser telle ou telle ressource à être plus utilisée en fonction des souhaits de programmation (pour les opérations de maintenance par exemple) ;&lt;br /&gt;
*créer une ressource fictive supplémentaire pour mettre en place le surbooking.&lt;br /&gt;
&lt;br /&gt;
Si des ressources de même type sont indisponibles, que ce soit parce qu'elles sont réservées ou immobilisées, alors c'est la 1ère ressource disponible qui est choisie par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est possible de modifier l'ordre de tri des ressources à n'importe quel moment.&lt;br /&gt;
&lt;br /&gt;
De même, pour les utilisateurs disposant du droit &amp;quot;Surpasser la réservation par type&amp;quot;, il est possible de forcer une réservation sur une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas où la structure exploite plusieurs ressources d'un même type mais qu'elle souhaite séparer la gestion des réservations pour chaque ressource, il faut créer autant de type de ressource que de ressources. Exemple : une structure aéronautique dispose de 2 avions de type DR420. Si les 2 avions sont identifiés avec un même type &amp;quot;DR420&amp;quot; alors les réservations seront faite toujours en priorité sur le DR420 du plus forte priorité. Si ce comportement n'est pas souhaité, il faut créer 2 types (DR420-1 et DR420-2 par exemple) et associer un avion au type DR420-1 et l'autre avion au type DR420-2.&lt;br /&gt;
&lt;br /&gt;
==Code couleur==&lt;br /&gt;
Permet de définir quelle code couleur doit être utilisée pour l'affichage des réservations :&lt;br /&gt;
*Par utilisateur&lt;br /&gt;
:deux champs de sélection s'affichent :&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui ne concernent pas l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui ne concernent pas l'utilisateur connecté.&lt;br /&gt;
:*'''Couleur par défaut pour les réservations qui concernent l'utilisateur'''&lt;br /&gt;
::Il s'agit d'une paire de couleurs [Couleur claire (réservation en solo) / couleur foncée (réservation en instruction)] utilisé pour afficher les réservations qui concernent l'utilisateur connecté.&lt;br /&gt;
:Il est possible de configurer [[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|une paire de couleurs par utilisateur]].&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-couleur-à-un-type-d'activité|Par type d'activité]]&lt;br /&gt;
&lt;br /&gt;
==Affichage possible des activités réalisées dans le planning==&lt;br /&gt;
Permet aux utilisateurs disposant du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]] d'activer le module d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|Affichage des activités réalisées]] sur la page de réservation.&lt;br /&gt;
&lt;br /&gt;
==Réservation multi-ressources==&lt;br /&gt;
Cette fonctionnalité permet d'autoriser à un utilisateur de réserver plusieurs ressources sur des créneaux horaires qui se chevauchent.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' cette fonctionnalité n'est pas conçue pour les formateurs/instructeurs et entraine des bugs d'affichage sur le planning de réservation. La version 4 d'OpenFlyers corrigera ce défaut.&lt;br /&gt;
&lt;br /&gt;
==Affichage du nom des ressources dans le planning==&lt;br /&gt;
Ce paramétrage permet d'afficher ou cacher le nom des ressources dans le planning. Cela permet de diminuer la taille verticale des lignes du planning et de cacher ces noms lorsqu'ils ne sont pas nécessaires.&lt;br /&gt;
&lt;br /&gt;
==Afficher les alertes non bloquantes lors des glisser-déposer==&lt;br /&gt;
Ce paramétrage permet d'afficher les alertes non bloquantes lors des [[Utilisation-des-réservations-internes-sur-l%27interface-web#Glisser-déposer-des-réservations|glisser-déposer des réservations]] sur le planning.&lt;br /&gt;
&lt;br /&gt;
==Autoriser la suppression partielle d'éléments de réservations== &lt;br /&gt;
Ce paramétrage permet d'afficher l'action '''Annuler cet élément du groupe de réservations''' lorsqu'un groupe de réservations est lié. Il autorise ainsi la suppression individuelle d'un élément au sein d'un groupe de réservations, sans devoir annuler l'ensemble du groupe.&lt;br /&gt;
&lt;br /&gt;
==Amplitude du planning==&lt;br /&gt;
===Heure de début et fin (fuseau X)===&lt;br /&gt;
Permet de définir la plage horaire du planning de réservation dans le fuseau horaire de la structure.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' les minutes proposées doivent être des multiples de 15 (00, 15, 30, 45).&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
===Interdire d'effectuer une réservation débutant dans moins de===&lt;br /&gt;
Permet d'empêcher d'effectuer une réservation débutant dans moins de X temps. Cette fonctionnalité est notamment utile en réservation par type lorsque la distribution des ressources réelles par ligne de planning est faite le matin pour la journée. Elle est également utile lorsque la facturation se fait la veille au vu des réservations du lendemain.&lt;br /&gt;
&lt;br /&gt;
===Limitation dans le temps des réservations===&lt;br /&gt;
Permet de limiter dans le temps les réservations.&lt;br /&gt;
&lt;br /&gt;
===Limitation du nombre de réservations===&lt;br /&gt;
Permet de limiter le nombre de réservations par utilisateur.&lt;br /&gt;
&lt;br /&gt;
===Durée minimale d'une réservation===&lt;br /&gt;
Permet de définir la durée minimale d'une réservation.&lt;br /&gt;
&lt;br /&gt;
La durée maximale d'une réservation peut se définir pour chaque type de ressource.&lt;br /&gt;
&lt;br /&gt;
===Durée par défaut d'une réservation===&lt;br /&gt;
Permet de définir la durée par défaut.&lt;br /&gt;
&lt;br /&gt;
==Champs visibles==&lt;br /&gt;
Permet de définir les champs visibles dans le formulaire de réservation :&lt;br /&gt;
*Même jour&lt;br /&gt;
*Places à disposition&lt;br /&gt;
*Lieu de départ&lt;br /&gt;
*Lieu d'arrivée&lt;br /&gt;
&lt;br /&gt;
Les lieux cochés sont ainsi définis avec une valeur par défaut lorsqu'un vol est entré à partir d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Saisie de la destination===&lt;br /&gt;
&lt;br /&gt;
Ce champ n'est disponible que si le champ '''Lieu d'arrivée''' est activé.&lt;br /&gt;
&lt;br /&gt;
Permet de demander à l'utilisateur d'indiquer sa destination et ce en fonction de la durée de sa réservation.&lt;br /&gt;
&lt;br /&gt;
Lorsque le champ '''Lieu d'arrivée''' est désactivé, la valeur enregistrée pour '''Saisie de la destination''' est vidée.&lt;br /&gt;
&lt;br /&gt;
==[[Paramétrage-des-validités#Paramétrer-le-contrôle-des-validités-pour-les-activités-ou-les-réservations|Paramétrage général du contrôle des validités pour les réservations]]==&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut :&lt;br /&gt;
* lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]]&lt;br /&gt;
* lors d'une nouvelle réservation sur le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Tutoriel-vidéo|planning de la nouvelle interface]]&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut pour la seconde place (ancienne interface)==&lt;br /&gt;
Permet de définir le type d'activité à cocher par défaut lorsqu'on sélectionne une personne en seconde place sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web#Formulaire-de-réservation|formulaire de réservation de l'ancienne interface]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour définir le type :&lt;br /&gt;
* Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Planning'''&lt;br /&gt;
* Champ '''Type d'activité par défaut pour la seconde place (ancienne interface)''' : Sélectionner le type d'activité&lt;br /&gt;
* Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Règles de saisies XML==&lt;br /&gt;
Permet d'éditer les [[#Règles-de-saisies|Règles de saisie]] qui s'appliquent, pour le moment, uniquement pour le planning.&lt;br /&gt;
&lt;br /&gt;
=Règles de saisies=&lt;br /&gt;
Les règles de saisie sont utilisées uniquement par le moteur de réservation pour construire l'affichage des champs du formulaire de réservation et pour vérifier, après la saisie d'une réservation, que les données saisies respectent bien les règles de saisie.&lt;br /&gt;
&lt;br /&gt;
Elles sont écrites en [[Wikipedia-fr:Extensible_Markup_Language|XML]]. cf. l'exemple de règles de saisie ci-dessous.&lt;br /&gt;
&lt;br /&gt;
Le moteur de vérification des règles s'enclenche dès qu'une réservation n'est plus &amp;quot;nue&amp;quot;, c'est à dire lorsqu'au moins un élément est renseigné (activité, ressource, etc.). Alors il vérifie quelles sont les règles compatibles et en déduit les contenus possibles dans les champs de saisie de l'interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
La compatibilité d'une règle se détermine '''par restriction''' en vérifiant dans cet ordre les informations suivantes :&lt;br /&gt;
#Activités&lt;br /&gt;
#Ressources&lt;br /&gt;
#Profils&lt;br /&gt;
#Places&lt;br /&gt;
&lt;br /&gt;
Pour chaque information, le moteur regarde si elle est renseignée. Si ce n'est pas le cas alors il passe à l'information suivante. Par exemple s'il n'y a pas encore d'activité de saisie alors il ne vérifie pas ce point-là dans la règle.&lt;br /&gt;
&lt;br /&gt;
Pour les activités et les ressources, il regarde les règles qui acceptent celles renseignées. S'il y a des règles qui pose problème alors elles sont rejetées.&lt;br /&gt;
&lt;br /&gt;
Pour les profils ce sont les personnes qui sont étudiées et ce de deux manières différentes selon si sur la saisie il y a une ressource de renseignée ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource de renseignée, le fonctionnement est similaire aux autres informations. le moteur regarde pour toutes les personnes renseignées si sur la place où elles sont, elles ont au moins un profil valide. Si une personne n'a aucun profil pour la place où il est alors la règle est rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource le fonctionnement est différent. Au lieu de faire par restriction, le moteur va faire '''par ajout'''. C'est-à-dire qu'au lieu de dire &amp;quot;il ne faut que des pilotes&amp;quot;, il va dire &amp;quot;je veux au moins un pilote&amp;quot;. Pour ce faire il va regarder les profils de chaque personne. S'il trouve une personne avec un profil valide, il accepte la règle. Si aucune des personnes ne correspond, il va faire une seconde vérification au niveau des places. Si pour cette règle l'une des places n'est pas définie, il considère que les personnes présentes vont potentiellement aller sur cette place et il ne rejette pas la règle. Par contre, si toutes les places sont définies et qu'aucune des personnes ne correspond alors la règle est rejetée.&lt;br /&gt;
&lt;br /&gt;
Pour les places, il vérifie qu'il n'y a pas trop de monde. Comme pour les profils il y a deux manières de les étudier en fonction de s'il y a une ressource ou non.&lt;br /&gt;
*Lorsqu'il y a une ressource, il va regarder pour chaque place si le nombre de personnes autorisées n'est pas dépassé. Si sur l'une des places le nombre est dépassé alors la règle est rejetée. Cependant, si le nombre est atteint mais pas dépassé alors la règle n'est pas rejetée.&lt;br /&gt;
*Lorsqu'il n'y a pas de ressource, il va parcourir chaque place pour compter le nombre total de personnes autorisées pour cette règle. Si le nombre est dépassé alors la règle est rejetée. Comme précédemment si le nombre est simplement atteint alors la règle n'est pas rejetée.&lt;br /&gt;
&lt;br /&gt;
Si pour chaque information saisie, la règle est compatible alors elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Pour qu'une saisie soit valide, il faut qu'il existe au moins une règle de conservée, c'est à dire de compatible.&lt;br /&gt;
&lt;br /&gt;
;Exemple de règles de saisie&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ruleList&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;*(bookAlone)(bookWithInstr)&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;2&amp;lt;/activityType&amp;gt; &amp;lt;!-- Instruction --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001, F-002, F-00X --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot;&amp;gt; &amp;lt;!-- Pilote--&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;1&amp;lt;/profile&amp;gt; &amp;lt;!-- Elève --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;1&amp;quot; minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;2&amp;quot;&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;4&amp;lt;/profile&amp;gt; &amp;lt;!-- Instructeur --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&lt;br /&gt;
    &amp;lt;rule&amp;gt;...&amp;lt;/rule&amp;gt;&lt;br /&gt;
&amp;lt;/ruleList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==attribut needs==&lt;br /&gt;
L'attribut needs peut être utilisé pour les éléments :&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*place&lt;br /&gt;
&lt;br /&gt;
Il contient un ou plusieurs droits qui sont requis par l'utilisateur effectuant la saisie pour que la règle puisse s'appliquer.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il n'y a qu'un droit de requis, il faut écrire ''needs=&amp;quot;nomDuDroit&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il y a plusieurs droits possibles, un seul étant requis, il faut commencer par le signe * puis lister chaque droit en l'entourant de parenthèses : ''needs=&amp;quot;*(bookAlone)(bookWithInstr)''.&lt;br /&gt;
&lt;br /&gt;
==Capacité maximale autorisée==&lt;br /&gt;
La taille maximale autorisée pour les règles de saisie XML est de '''16 Mo'''.  &lt;br /&gt;
Lors de la création d'un type d'activité ou lors de la modification manuelle depuis '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Réservations internes''',  si la taille des règles de saisie XML dépasse cette limite, un message d'alerte s'affiche indiquant que les règles de saisie XML sont saturées.&lt;br /&gt;
&lt;br /&gt;
Pour résoudre ce problème, il est conseillé de vérifier le contenu XML et d'identifier d'éventuelles données obsolètes afin de les supprimer et d'alléger le fichier.  &lt;br /&gt;
Si cela ne suffit pas, il est recommandé de contacter OpenFlyers pour discuter de la possibilité d'augmenter la taille du champ.&lt;br /&gt;
&lt;br /&gt;
==ruleList==&lt;br /&gt;
Élément racine de la structure XML ne peut contenir comme élément enfant que des éléments &amp;quot;rule&amp;quot; qui correspondent, chacun, à une règle.&lt;br /&gt;
&lt;br /&gt;
Il n'y pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
===rule===&lt;br /&gt;
Définit une règle.&lt;br /&gt;
&lt;br /&gt;
Les éléments possibles sont :&lt;br /&gt;
*formulaList&lt;br /&gt;
*activityTypeList&lt;br /&gt;
*resourceList&lt;br /&gt;
*placeList&lt;br /&gt;
&lt;br /&gt;
Il n'y a pas d'attribut possible.&lt;br /&gt;
&lt;br /&gt;
Chaque règle définit les types d'activités, types de ressources et places qui la rendent compatible.&lt;br /&gt;
&lt;br /&gt;
L'exemple suivant définit une règle qui autorise une saisie pour le type d'activité ''Local'', les types de ressources ''F-001'' ou ''F-002'' et pour laquelle il faut exactement 1 utilisateur avec le profil ''Pilote'' à la place 0. Le statut attribué sera celui de numéro 1. De plus, La personne qui fait la réservation doit avoir le droit &amp;quot;bookAlone&amp;quot; et si elle dispose du droit &amp;quot;bookAnyone&amp;quot; alors elle verra en plus la liste des utilisateurs compatibles avec cette règle pour lui permettre d'en choisir une : &lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;rule&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des activités autorisées et requises --&amp;gt;&lt;br /&gt;
        &amp;lt;activityTypeList needs=&amp;quot;bookAlone&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;activityType&amp;gt;1&amp;lt;/activityType&amp;gt; &amp;lt;!-- Local --&amp;gt;&lt;br /&gt;
        &amp;lt;/activityTypeList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Liste des ressources autorisées --&amp;gt;&lt;br /&gt;
        &amp;lt;resourceList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-001 --&amp;gt;&lt;br /&gt;
            &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt; &amp;lt;!-- F-002 --&amp;gt;&lt;br /&gt;
        &amp;lt;/resourceList&amp;gt;&lt;br /&gt;
        &amp;lt;!-- Définition des places --&amp;gt;&lt;br /&gt;
        &amp;lt;placeList&amp;gt;&lt;br /&gt;
            &amp;lt;place index=&amp;quot;0&amp;quot;  minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot; status=&amp;quot;1&amp;quot; needs=&amp;quot;bookAnyone&amp;quot;&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
                &amp;lt;!-- Liste des profils autorisés --&amp;gt;&lt;br /&gt;
                &amp;lt;profile&amp;gt;2&amp;lt;/profile&amp;gt; &amp;lt;!-- Pilote --&amp;gt;&lt;br /&gt;
            &amp;lt;/place&amp;gt;&lt;br /&gt;
        &amp;lt;/placeList&amp;gt;&lt;br /&gt;
    &amp;lt;/rule&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====formulaList====&lt;br /&gt;
Contient la liste des formules que la règle doit respecter au travers des éléments ''formula''.&lt;br /&gt;
&lt;br /&gt;
=====formula=====&lt;br /&gt;
Doit contenir les attributs :&lt;br /&gt;
*''action'' : indique l'action concernée pour la vérification de la formule. Si l'action effectuée par l'utilisateur n'est pas celle de la formule, alors la formule n'est pas vérifiée. Par contre, la règle peut quand être compatible. Il est possible de remplacer le nom d'une action par * pour indiquer que la formule doit être vérifiée quelque soit l'action.&lt;br /&gt;
*''title'' : pour indiquer le message d'alerte devant s'afficher lorsque la formule n'est pas respectée&lt;br /&gt;
&lt;br /&gt;
Le contenu de l'élément ''formula'' est une formule qui est testée lors de la saisie.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans la formule, pour les signes de comparaison supérieur ou inférieur, il faut saisir leur équivalent HTML :&lt;br /&gt;
* &amp;gt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt; doit être remplacé par &amp;lt;code&amp;gt;&amp;amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;gt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;= doit être remplacé &amp;lt;code&amp;gt;&amp;amp;amp;lt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;!-- Durée maximum : 30min --&amp;gt;&lt;br /&gt;
&amp;lt;formula action=&amp;quot;update&amp;quot; title=&amp;quot;Vous ne pouvez pas faire de réservation ayant une durée supérieure à 30 minutes.&amp;quot;&amp;gt;(%DURATION &amp;amp;lt;= 300)&amp;lt;/formula&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====activityTypeList====&lt;br /&gt;
Contient la liste des types d'activités qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir l'attribut [[#attribut-needs|needs]].&lt;br /&gt;
=====activityType=====&lt;br /&gt;
Contient l'identifiant d'un type d'activité.&lt;br /&gt;
&lt;br /&gt;
====resourceList====&lt;br /&gt;
Contient la liste des types de ressources qui sont compatibles avec la règle.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'' et ''minQty'' pour définir le nombre de ressources maximum et minimum.&lt;br /&gt;
&lt;br /&gt;
====placeList====&lt;br /&gt;
Contient la liste définissant les places.&lt;br /&gt;
&lt;br /&gt;
=====place=====&lt;br /&gt;
Contient la définition de chaque place.&lt;br /&gt;
&lt;br /&gt;
Peut contenir des éléments ''profile'' pour indiquer un profil requis parmi plusieurs pour qu'un utilisateur puisse occuper la place.&lt;br /&gt;
&lt;br /&gt;
Doit contenir l'attribut index pour numéroter la place définie.&lt;br /&gt;
&lt;br /&gt;
Peut contenir les attributs ''maxQty'', ''minQty'', ''needs'' et ''status''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''needs'' permet de définir le droit requis pour l'utilisateur effectuant la saisie afin qu'il puisse choisir l'utilisateur dans la liste des utilisateurs compatibles. typiquement, cet attribut est utilisé ainsi : ''needs=&amp;quot;bookAnyone&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
L'attribut ''status'' permet de définir le statut de la personne à laquelle on attribut la place. Cette définition se fait en utilisant l'identifiant du statut. Exemple : ''status=&amp;quot;1&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
======profile======&lt;br /&gt;
Contient l'identifiant du profile requis.&lt;br /&gt;
&lt;br /&gt;
==Wildcard==&lt;br /&gt;
Le caractère * peut être utilisé dans les éléments '''resourceType'''. Il indique que la règle s'applique à tous les types de ressources existants de la plateforme.&lt;br /&gt;
&lt;br /&gt;
Exemple avec wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;*&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple sans wildcard :&lt;br /&gt;
&amp;lt;xml&amp;gt;&amp;lt;resourceTypeList minQty=&amp;quot;1&amp;quot; maxQty=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;1&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;2&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
    &amp;lt;resourceType&amp;gt;3&amp;lt;/resourceType&amp;gt;&lt;br /&gt;
&amp;lt;/resourceTypeList&amp;gt;&amp;lt;/xml&amp;gt;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14269</id>
		<title>AERAL</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14269"/>
		<updated>2026-01-26T14:12:52Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire le module OpenFlyers permettant de paramétrer et générer les statistiques Aeral (Acquisition et Exploitation des Rapports d'activités de l'Aviation Légère) requises par la DGAC pour les associations aéronautiques et qui se concrétise au travers du remplissage d'un formulaire dont la version PDF est disponible à cette adresse : https://www.formulaires.service-public.fr/gf/cerfa_12806.do .&lt;br /&gt;
&lt;br /&gt;
La DGAC préconise de ne pas remplir le formulaire PDF mais à la place le formulaire en ligne accessible à cette adresse : https://aeral.dg.aviation-civile.gouv.fr/WD220AWP/WD220Awp.exe/CONNECT/AERAL&lt;br /&gt;
&lt;br /&gt;
De son côté, la Fédération Française Aéronautique (FFA) propose un module qui permet de faciliter le remplissage des statistiques Aeral au travers de son outil SMILE. Une documentation concernant l'utilisation de ce module est disponible à cette adresse : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
&lt;br /&gt;
OpenFlyers s'interface avec le module SMILE de la FFA au travers d'un module de génération et d'envoi des statistiques Aeral. Ce module permet également d'automatiser l'envoi des données mensuelles vers SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur OpenFlyers==&lt;br /&gt;
Lorsque la structure utilise la fonction de génération du rapport Aeral pour la première fois :&lt;br /&gt;
*Tenter de générer un premier rapport Aeral en allant dans '''Gestion &amp;gt; Rapports &amp;gt; Statistiques Aeral &amp;gt; Export Aeral'''&lt;br /&gt;
Si le robot OpenFlyers n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le paramétrage. Sinon, il affiche les tableaux de statistiques.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, '''ne pas tenir des données publiées lors de la première tentative et vérifier les paramètres''' :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier que les paramètres renseignés sont conformes à la configuration de la plateforme OpenFlyers en s'aidant des consignes et copies d'écrans publiées dans le chapitre [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral]] de cette page&lt;br /&gt;
&lt;br /&gt;
Si les paramètres ne sont pas définis ou sauvegardés, [[Alertes-de-configuration#Le-formulaire-de-configuration-de-l'export-aeral-n'a-pas-été-rempli-ou-sauvegardé|une alerte de configuration est affichée]].&lt;br /&gt;
&lt;br /&gt;
Une fois les paramètres définis :&lt;br /&gt;
*Retourner dans '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier l'année sélectionnée&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
*Vérifier la cohérence des statistiques générées&lt;br /&gt;
Une fois que les données sont considérées comme correctes, il faut recopier les données sur l'[https://aeral.dg.aviation-civile.gouv.fr/AERAL outil Aeral] '''sauf pour les aéro-clubs affiliés à la Fédération Française Aéronautique''' où cette dernière souhaite que les données remontent via son outil SMILE. Voir le chapitre suivant [[#Chronologie-des-actions-à-effectuer-sur-SMILE-FFA|Chronologie des actions à effectuer sur SMILE FFA]]&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur SMILE FFA==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir renseigné le '''Code FFA''' dans le formulaire [[#Coordonnées|Coordonnées]] présent dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Avoir testé le code FFA de sorte à avoir le cadenas vert de verrouillé&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Depuis '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral''', une fois que la cohérence des statistiques générées a été vérifié, il faut :&lt;br /&gt;
*Cliquer sur le bouton '''Envoyer à SMILE'''&lt;br /&gt;
*[https://projet.ff-aero.fr/SMILE_II Aller sur SMILE AEROCLUB] et suivre la procédure suivante : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
*Il faut parcourir les onglets un par un de la gauche vers la droite en cliquant à chaque fois sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.''' puis cliquer sur le bouton '''Oui''' de la boite de dialogue demandant confirmation&lt;br /&gt;
*Une fois que tous les onglets ont été parcourus, les données importées et les vérifications effectuées, il faut cliquer sur le dernier onglet '''VALIDATION'''&lt;br /&gt;
Si les vérifications d'intégrité sont correctes sur SMILE, un pavé sur fond vert apparait avec 2 cases à cocher pour permettre l'envoi des données vers Aeral&lt;br /&gt;
&lt;br /&gt;
[[File:VALIDATION_SMILE.png|600px]]&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION : il n'est possible d'envoyer les données qu'une seule fois depuis SMILE vers Aeral'''&lt;br /&gt;
&lt;br /&gt;
;Points d'attention&lt;br /&gt;
*les données ne remontent dans chaque formulaire SMILE qu'après avoir cliqué sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.'''&lt;br /&gt;
Il faut effectuer cette action pour CHAQUE onglet. Il est donc recommandé de parcourir les onglets de la gauche vers la droite.&lt;br /&gt;
*Il est possible d'exporter (pousser) les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite. Chaque nouvel envoi de données écrase l'envoi précédent effectué pour le même mois. Par contre, à chaque nouvel envoi, il faut cliquer sur le bouton d'import dans SMILE FFA pour chaque onglet du formulaire.&lt;br /&gt;
*A l'heure actuelle, SMILE récupère bien toutes les données OpenFlyers mais ne permet pas de les incorporer toutes. Ainsi il manque le bouton de synchronisation pour les onglets suivants :&lt;br /&gt;
**GENERAL : non souhaité par la FFA&lt;br /&gt;
**TERRAINS : prévu pour 2024&lt;br /&gt;
**BUREAU : à fiabiliser&lt;br /&gt;
**MATERIEL : prévu pour 2024&lt;br /&gt;
*Autant il est possible de pousser les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite, autant il n'est possible d'exporter de SMILE FFA vers Aeral qu'une seule fois. En cas d'erreur, il faut contacter la [https://www.ffa-aero.fr Fédération Française Aéronautique] pour déverrouiller le système et permettre d'effectuer un nouvel envoi.&lt;br /&gt;
&lt;br /&gt;
=Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au paramétrage '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Afin de pouvoir générer les statistiques Aeral, il faut que toutes les questions du formulaire soient complétées. Ce dernier est pré-rempli automatiquement avec les données de la structure grâce à l'utilisation de [[#Prédictions|prédictions]] lors de la première tentative de génération des statistiques Aeral depuis [[#Gestion-&amp;gt;-Rapports-&amp;gt;-Rapports-spécifiques-&amp;gt;-Export-Aeral|Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral]].&lt;br /&gt;
&lt;br /&gt;
Il est donc fortement recommandé de générer une première fois les statistiques '''AVANT''' d'éditer le contenu du paramétrage. En effet, une fois que les données de paramétrage des statistiques Aeral sont stockées, la prédiction est désactivée pour ne pas réinitialiser les valeurs enregistrées.&lt;br /&gt;
&lt;br /&gt;
Après une première génération des statistiques, le gestionnaire est invité à vérifier les paramètres pré-remplis du formulaire, à les corriger le cas échéant, et à renseigner manuellement les éléments restants.&lt;br /&gt;
&lt;br /&gt;
les données récupérées de ce formulaire affectent directement la manière dont le robot OpenFlyers traite les rapports. Si une donnée n'est pas présente dans le paramétrage de la structure, le gestionnaire doit sélectionner le choix '''Non applicable'''.&lt;br /&gt;
&lt;br /&gt;
==Coordonnées==&lt;br /&gt;
[[File:Aeral coordonnées.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour les structures affiliées à la [https://www.ffa-aero.fr Fédération Française Aéronautique] :&lt;br /&gt;
*Renseigner '''Code FFA (10 chiffres sans espace et sans tiret)'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut à droite&lt;br /&gt;
*Cliquer sur le bouton '''Valider le code FFA'''. Cela permet de tester le code FFA en envoyant les données des statistique AERAL à l'API SMILE FFA en mode de test.&lt;br /&gt;
Une fois que le code FFA est validé, le pictogramme du cadenas à droite passe vert/verrouillé&lt;br /&gt;
*Cliquer sur l'interrupteur '''Synchronisation Automatique SMILE FFA''' pour activer la synchronisation automatique les données AERAL vers le serveur SMILE de la FFA. L'interrupteur n'est activable que si le '''Code FFA''' est préalablement validé. Lorsque l'interrupteur est activé et [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|le paramétrage Aeral]] est rempli et sauvegardé, les statistiques sont envoyées tous les 1er du mois à l'API SMILE FFA. Elles concernent la période du 1er janvier de l'année en cours au jour précédent la date d'envoi, sauf pour le 1er janvier où la période correspond à l'année précédente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NB''': Pour valider le code FFA, on click sur le bouton '''Valider le code FFA''':&lt;br /&gt;
*Si le code FFA est valide:&lt;br /&gt;
**Le champ de la saisie du code FFA sera verrouillé avec un cadenas qui passe en vert.&lt;br /&gt;
**L'interrupteur de la synchronisation automatique peut être activé.&lt;br /&gt;
**Le bouton '''Valider le code FFA''' disparaît ( le déverrouillage du Code FFA ne sera fait que par un admin interne d'OpenFlyers).&lt;br /&gt;
*Si le code FFA n'est pas valide:&lt;br /&gt;
**L'interrupteur de la synchronisation automatique devient désactivé.&lt;br /&gt;
**le champ de la saisie du code FFA sera déverrouillé avec un cadenas en rouge.&lt;br /&gt;
&lt;br /&gt;
*'''Département'''&lt;br /&gt;
*'''Région aéronautique'''&lt;br /&gt;
*'''Délégation régionale'''&lt;br /&gt;
*'''Date agrément DGAC'''&lt;br /&gt;
*'''Préfecture Agrément DGAC'''&lt;br /&gt;
*'''Numéro ATO'''&lt;br /&gt;
*'''Date d'obtention de l'ATO'''&lt;br /&gt;
*'''Numéro DTO'''&lt;br /&gt;
*'''Date d'obtention du DTO'''&lt;br /&gt;
*'''APE'''&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
[[File:Aeral_ _Tarifs.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Droit d'entrée&lt;br /&gt;
*Cotisation&lt;br /&gt;
*Remise cotisation jeunes&lt;br /&gt;
*Tarif supplément instruction&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau [[#Tarifs|Tarifs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validité définissant la pratique d'une activité==&lt;br /&gt;
[[File:Aeral_ _Validité_définissant_la_pratique_d'une_activité.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Avion&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Hélicoptère&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Planeur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 1 - Paramoteur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 2 - Pendulaire&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 3 - 3 axes&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 4 - Autogire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces champs permettent à l'utilisateur de choisir le type de validité correspondant à chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau ADHERENTS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance validités / Brevets, licences ou qualifications==&lt;br /&gt;
[[File:Aeral_ _Correspondance_validités_Brevets_licences_ou_qualifications.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Activité Avion&lt;br /&gt;
**LAPL&lt;br /&gt;
**PPL&lt;br /&gt;
**CPL&lt;br /&gt;
**ATPL&lt;br /&gt;
**Qualif_Voltige&lt;br /&gt;
**Qualif_Montagne&lt;br /&gt;
**Qualif_Hydravion&lt;br /&gt;
**Qualif_IFR&lt;br /&gt;
**Qualif_VFR_Nuit&lt;br /&gt;
*Activité ULM&lt;br /&gt;
**Paramoteur&lt;br /&gt;
**Pendulaire&lt;br /&gt;
**Multiaxes&lt;br /&gt;
**Autogire&lt;br /&gt;
**Dirigeable&lt;br /&gt;
**Hélicoptère&lt;br /&gt;
*Activité Hélicoptère&lt;br /&gt;
**LAPL(H)&lt;br /&gt;
**PPL(H)&lt;br /&gt;
**CPL(H)&lt;br /&gt;
**ATPL(H)&lt;br /&gt;
*Activité Planeur&lt;br /&gt;
**VV/SPL/LAPL(S)&lt;br /&gt;
&lt;br /&gt;
Ces champs permettant l'utilisateur de choisir le type de validité correspondant à Brevets, licences ou qualifications pour chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau FORMATIONS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validités correspondant à la cotisation de la structure==&lt;br /&gt;
[[File:Aeral_ _Validités_correspondant_à_la_cotisation_de_la_structure.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Les validités cochées dans cette partie sont utilisées par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
==Validité correspondant à la licence FFA==&lt;br /&gt;
Une liste déroulante comprenant tous les types de validités configurés pour obtenir la certification par l'API FFA.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_ _Validité_correspondant_à_la_licence_FFA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Si aucun type de validité n'est défini pour l'obtention de la certification via l'API FFA, le message d'erreur suivant sera affiché.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral-Validité-correspondant-à-la-licence-FFA-Warning.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
La validité cochée dans cette partie est utilisée par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs brevetés inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Validités désignant les brevetés==&lt;br /&gt;
[[File:Aeral_ _Validités_désignant_les_brevetés.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Les validités sélectionnées dans ce champ permettent de définir les validités qui permettent de savoir une personne dispose d'un brevet ou non et donc par différence les personnes qui ne disposent d'aucun brevet sont considérées comme des élèves. Cette catégorisation des personnes est utilisée dans les rapports [[#Adhérents-par-activité-X|Adhérents par activité X]].&lt;br /&gt;
&lt;br /&gt;
==Activités pratiquées==&lt;br /&gt;
[[File:Aeral_ _Activités_pratiquées.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Cocher les activités pratiquées par la structure.&lt;br /&gt;
&lt;br /&gt;
Les paramètres de cette partie sont utilisées par le robot OpenFlyers pour générer les tableaux [[#Activité-en-instruction-et-Activité-hors-instruction|Activité en instruction et Activité hors instruction]] ainsi que pour le tableau [[#Instructeurs|Instructeurs]] (pour la partie '''solo supervisé''') du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance activités / typologie des vols Aeral==&lt;br /&gt;
[[File:Aeral_ _Correspondance_activités_typologie_des_vols_Aeral.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
*IFR&lt;br /&gt;
*VFR Nuit&lt;br /&gt;
*Nuit&lt;br /&gt;
*VFR jour navigation&lt;br /&gt;
*Navigation&lt;br /&gt;
*Montagne&lt;br /&gt;
*Voltige&lt;br /&gt;
*BIA&lt;br /&gt;
*Baptême de l'air&lt;br /&gt;
*Instruction&lt;br /&gt;
*Remorquage&lt;br /&gt;
*Treuillage&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer les tableau 'En_Instruction_Par_Activite pour la catégorie X' et 'Hors_Instruction_Par_Activite' du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Activité correspondant à Solo supervisé==&lt;br /&gt;
OpenFlyers recommande de ne pas saisir les vols solos supervisés avec l'instructeur en place droite mais de créer un champ spécifique pour renseigner le nom du superviseur. Le paramétrage correspondant est décrit dans le chapitre [[Gestion-des-activités#Paramétrage-des-vols-solos-supervisés|Paramétrage des vols solos supervisés]].&lt;br /&gt;
&lt;br /&gt;
*L'activité sélectionnée dans le champ autocomplète '''Solo Supervisé''' est utilisée par le robot OpenFlyers dans les tableaux 'En_Instruction_Par_Population pour la catégorie X' et 'En_Instruction_Par_Activite pour la catégorie X'  du rapport Aeral afin de déterminer les heures de vol en Solo Supervisé durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Instructeur_En_Place_Droite.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est activé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un instructeur occupant la place droite et qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Champ_Métier_Correspondant_Au_Superviseur.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est désactivé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un superviseur qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''. Pour cela il faut renseigner le '''Champ métier correspondant au superviseur'''.&lt;br /&gt;
&lt;br /&gt;
==Matériels==&lt;br /&gt;
[[File:Aeral_ _Matériels.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Cocher le matériel dont dispose la structure.&lt;br /&gt;
&lt;br /&gt;
==Terrain==&lt;br /&gt;
[[File:Aeral_ _Terrain.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Renseigner les informations concernant l'aérodrome utilisé.&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
[[File:Aeral_ _Bureau.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Définir les personnelles exerçant les fonctions définies.&lt;br /&gt;
&lt;br /&gt;
==Personnel==&lt;br /&gt;
[[File:Aeral_ _Personnel.png|1600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Renseigner les informatiques statistiques concernant le personnel.&lt;br /&gt;
&lt;br /&gt;
==Profil des adhérents non pilotes==&lt;br /&gt;
[[File:Aeral_ _Profil_des_adhérents_non_pilotes.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Le profil sélectionné dans cette partie est utilisé par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure qui rentrent la catégorie '''non pilotes'''.&lt;br /&gt;
&lt;br /&gt;
==Profil(s) désignant les instructeurs==&lt;br /&gt;
[[File:Aeral_ _Profil(s)_désignant_les_instructeurs.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Définir le profil permettant de désigner les utilisateurs instructeurs.&lt;br /&gt;
&lt;br /&gt;
Ce profil est utilisé par le robot OpenFlyers pour lister les utilisateurs dans le tableau [[#Instructeurs|Instructeurs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
=Gestion &amp;gt; Rapports &amp;gt; Statistiques Aeral &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au rapport '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Voir-tous-les-rapports|Voir tous les rapports]] ou [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Lors de la première tentative de génération d'un export Aeral, le robot OpenFlyers tente de devenir le paramétrage qui doit être mis en place. S'il arrive à renseigner l'ensemble des paramètres indispensables à la génération du rapport, alors il affiche les tableaux pour les statistiques Aeral. S'il n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|paramétrage Aeral]].&lt;br /&gt;
&lt;br /&gt;
Avant de générer le bilan annuel, il faut s'assurer que toutes les informations sont renseignées, si ce n'est pas le cas alors le gestionnaire est redirigé vers le formulaire précédent.&lt;br /&gt;
&lt;br /&gt;
L'année affichée par défaut est :&lt;br /&gt;
*l'année précédente lorsque le mois actuel est compris entre le mois de janvier et le mois de mars inclus&lt;br /&gt;
*l'année actuelle dans le cas contraire&lt;br /&gt;
&lt;br /&gt;
La distinction entre '''jeunes''' et '''adultes''' dans les rapports se situe à :&lt;br /&gt;
*21 ans pour '''AVION'''.&lt;br /&gt;
*25 ans pour les autres catégories ('''ULM''', '''HELECOPTERE''' et '''PLANEUR''')&lt;br /&gt;
&lt;br /&gt;
Une personne est décomptée comme adulte dès lors que son année de naissance est supérieure ou égale à 21 ou 25 ans suivant la catégorie considérée.&lt;br /&gt;
&lt;br /&gt;
==Rapports issus de données de formulaire==&lt;br /&gt;
:* rapport Aeral ''' TERRAINS'''&lt;br /&gt;
:* rapport Aeral '''BUREAU'''&lt;br /&gt;
:* rapport Aeral '''PERSONNEL'''&lt;br /&gt;
:* rapport Aeral '''MATERIEL'''&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité X==&lt;br /&gt;
Ce rapport regroupe 4 tableaux qui correspondent chacun à un type d'activité :&lt;br /&gt;
*Avion&lt;br /&gt;
*Hélicoptère&lt;br /&gt;
*ULM&lt;br /&gt;
*Planeur&lt;br /&gt;
&lt;br /&gt;
Pour qu'un pratiquant soit pris en compte dans le recensement, il faut :&lt;br /&gt;
*Qu'il détienne au moins l'une des validités [[#Validités-correspondant-à-la-cotisation-de-la-structure|Validités correspondant à la cotisation de la structure]] et dont la date d'échéance doit être supérieure ou égale au 31/12 de l'année des statistiques.&lt;br /&gt;
*Qu'il dispose d'une date de naissance (cela permet d'exclure les utilisateurs qui ne correspondent pas à des utilisateurs réels en leur mettant une date de naissance vide)&lt;br /&gt;
&lt;br /&gt;
Pour chaque type d'activité, le robot OpenFlyers détermine les pratiquants en prenant en compte au moins l'un des éléments suivants :&lt;br /&gt;
*La pratique effective durant l'année sur un type d'aéronef correspondant au type d'activité&lt;br /&gt;
*La détention par un utilisateur d'une validité le définissant comme pratiquant de l'activité&lt;br /&gt;
&lt;br /&gt;
Le robot OpenFlyers prend en compte les utilisateurs désactivés.&lt;br /&gt;
&lt;br /&gt;
Une fois calculé le nombre de pratiquants, le robot OpenFlyers détermine le nombre de brevetés parmi ces pratiquants. Est considéré comme breveté un utilisateur qui dispose de l'une des validités sélectionnées dans le paramétrage [[#Validités-désignant-les-brevetés|Validités désignant les brevetés]], peu importe que la validité soit à jour ou non. Cela permet de déterminer, par soustraction, les personnes qui sont élèves. Dis autrement : est élève une personne qui ne possède pas une validité répertoriée comme étant une validité de type &amp;quot;brevet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La figure suivante résume l'approche adoptée pour générer les statistiques liées à ce rapport :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_members_by_activity_schema_algorithm.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==Instructeurs==&lt;br /&gt;
Pour calculer les heures de vol de chaque instructeur, il y a 2 façons possibles :&lt;br /&gt;
*Première méthode : Lorsqu'il n'y a pas de type d'activité de sélectionné dans le champ '''Activité correspondant à Solo supervisé''', le robot OpenFlyers détermine le total des heures de vol de l'instructeur en place droite, puis le total des heures de vols en place droite de l'instructeur pour lesquelles il y a le type d'activité sélectionné pour le paramètre '''Instruction'''&lt;br /&gt;
:'''Heures totales = total des heures en place droite '''&lt;br /&gt;
:'''Heures doubles = total des heures  en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = Heures totales - Heures doubles'''&lt;br /&gt;
*Deuxième méthode : si le type d'activité solo supervisé est coché pour l'instructeur, dans ce cas on détermine le total des heures en solo supervisé comme étant la somme des heures de vols de l'instructeur pour lesquelles il y a comme type d'activité celle correspondant au paramètre '''Activité correspondant à Solo supervisé'''.&lt;br /&gt;
:'''Heures totales = total des heures en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = total des heures en place droite avec le type d'activité correspondant à solo supervisé'''&lt;br /&gt;
:'''Heures doubles = Heures totales - Heures solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction et Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
pour ces deux rapport aeral nous utilisons la même stratégie qui est définie ci-dessous, pour différencier entre ces deux types d'activité on se base sur la place du pilote : &lt;br /&gt;
&lt;br /&gt;
-En instruction place de pilote = 1.&lt;br /&gt;
&lt;br /&gt;
-Hors instruction place de pilote = 0.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour les catégories AVION et HELECOPTERE===&lt;br /&gt;
&lt;br /&gt;
La stratégie retenue pour générer ces rapports Aeral a été de commencer par identifier les variables fiables qui sont présentes chez toutes les structures&lt;br /&gt;
(navigation, IFR, Nuit),qui sont récupérées soit à partir du [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]], soit grâce à l'utilisation de [[#Types d'activités|prédictions sur les types d'activités]], et à partir desquelles on calcule le nombre d'heures de vol pour les autres types d'activité. &lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_activity_types_partition_schema.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Les données les plus fiables sont celles qui sont les plus spécifiques, par exemple, pour obtenir la valeur de VFR nuit si ce type d’activité n'est pas présente dans la structure alors on considère que le type d’activité nuit est le plus spécifique et donc il correspond à la donnée la plus fiable pour calculer ce type d’activité.&lt;br /&gt;
&lt;br /&gt;
Le calcul des heures de vol pour les différents types d'activité se fait en suivant les étapes suivantes:&lt;br /&gt;
:* On commence par l’obtention  des heures de vol total de toutes les activités confondues par une requête sql.&lt;br /&gt;
:* Ensuite, les heures de vol de chaque type d'activité sont calculées en fonction des données fournies par le gestionnaire dans le [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]].&lt;br /&gt;
&lt;br /&gt;
La figure suivante représente le schéma de l'algorithme utilisé par le robot OpenFlyers pour calculer les heures de vol en fonction des données présente dans la structure :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_activity_schema_algorithm.png|650px]]&lt;br /&gt;
&lt;br /&gt;
:*'''Exemple''':&lt;br /&gt;
on prend l'exemple suivant dans lequel la structure ne possède que les types d'activités suivants: IFR, NUIT et Navigation &lt;br /&gt;
&lt;br /&gt;
on commence par l'obtention le '''total des heures de vol''' : 2430&lt;br /&gt;
&lt;br /&gt;
ensuite on obtient le total '''IFR''' :  1000&lt;br /&gt;
&lt;br /&gt;
puisque le type d'activité VFR nuit n'est pas présent dans la structure:&lt;br /&gt;
&lt;br /&gt;
on commence par exécuter deux requête la première sur le type d'activité nuit et l'autre sur les deux types d'activité ifr et nuit on obtient par exemple:&lt;br /&gt;
&lt;br /&gt;
'''Nuit''' = 1200 &lt;br /&gt;
&lt;br /&gt;
'''IFR nuit''' = 400&lt;br /&gt;
&lt;br /&gt;
ce que nous aide à calculer la valeur de VFR Nuit(voir la relation dans la figure ci-dessus) &lt;br /&gt;
&lt;br /&gt;
'''VFR Nuit''': 1200 - 400 = 800.&lt;br /&gt;
&lt;br /&gt;
pour calculer VFR jour navigation:&lt;br /&gt;
&lt;br /&gt;
on commence par calculer navigation jour, pour cela on obtient la valeur de navigation = 700 et la valeur de navigation nuit = 300 à partir de la base de données, et donc &lt;br /&gt;
'''Navigation jour'''  = 700 - 300 = 400,&lt;br /&gt;
&lt;br /&gt;
ensuite de la même manière on obtient IFR Navigation = 330 et IFR navigation nuit = 200, pour calculer '''IFR navigation jour''' = 330 - 200 = 130.&lt;br /&gt;
&lt;br /&gt;
et en utilisant la relation défini dans figure ci-dessus, on calcule '''VFR jour navigation''' = 400 - 130 = 270.&lt;br /&gt;
&lt;br /&gt;
à la fin on déduit la valeur de VFR jour local en suivant les étapes suivants :&lt;br /&gt;
&lt;br /&gt;
*:On calcule tout d'abord les heures de vol de '''VFR jour''' = VFR - VFR nuit = 1430 - 800.&lt;br /&gt;
 &lt;br /&gt;
avec '''VFR''' = Total - IFR = 2430 - 1000  = 1430.&lt;br /&gt;
&lt;br /&gt;
*:ensuite on déduit la valeur de '''VFR Jour local''' = VFR jour - VFR jour navigation = 630 - 270 = 360&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie ULM===&lt;br /&gt;
Pour générer les statistiques liée à ces rapports il faut prendre en compte que chaque vol de la catégorie ULM peut être classée selon la catégorie de la ressource. OpenFlyers supporte actuellement quatre catégories ULM principales : '''ULM classe 1 - Paramoteur''', '''ULM classe 2 - Pendulaire''', '''ULM classe 3 - 3 axes''' et '''ULM classe 4 - Autogire'''.&lt;br /&gt;
&lt;br /&gt;
Le système calcule les heures totales des vols ainsi que les heures de vols pour chaque catégorie de ressource configurée : Heures_Paramoteur, Heures_Pendulaire, Heures_Multiaxes et Heures_Autogire. Les catégories non configurées (Heures_Dirigeable et Heures_Helicoptere) utilisent par défaut des zéros, tandis que Heures_Dont_Vol_BIA reste également à zéro.&lt;br /&gt;
&lt;br /&gt;
NB. Si l'un des clients a des catégories de ressources autres que celles listées ci-dessus (par exemple ULM classe 5 - Dirigeable ou ULM classe 6 - Hélicoptère), il faudra ajouter des requêtes spécifiques de génération des heures de vol pour chacune de ces catégories de ressource.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie PLANEUR===&lt;br /&gt;
[[File:Gliding_Activity_Categorization_Diagram.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Pour générer les statistiques liées à ces rapports, il est important de noter que chaque vol de la catégorie '''motoplaneur''' est considéré comme un vol '''planeur'''.&lt;br /&gt;
&lt;br /&gt;
La stratégie adoptée pour générer ces rapports Aeral repose sur la prise en compte de divers aspects :&lt;br /&gt;
&lt;br /&gt;
*Extraire les heures totales de vol pour l'activité planeur, quelle que soit sa catégorie (en instruction, hors instruction, autres).&lt;br /&gt;
*Extraire les heures de vol étrangères spécifiquement pour l'activité planeur (Nationalité non française).&lt;br /&gt;
*Extraire les heures de vol des remorqueurs dans le cadre de l'activité planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie en instruction planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie hors instruction planeur.&lt;br /&gt;
*Extraire les heures de vol hors instruction destiné aux personnes françaises (Jeunes/Adultes) (total des heures, heures avec BIA, heures de vol de découverte).&lt;br /&gt;
*Extraire le nombre de vols hors instruction destiné aux personnes françaises (Jeunes/Adultes) selon le type d'activité (Remorqués, Treuillés, Lâchers solo, BPP Théorique, BPP Homologués).&lt;br /&gt;
&lt;br /&gt;
==Mouvements==&lt;br /&gt;
Pour calculer les mouvements sur la plateforme en comptant simplement les atterrissages des vols locaux.&lt;br /&gt;
&lt;br /&gt;
Sachant que 1 décollage ou 1 atterrissage ou 1 touch and go= 1 mouvement.&lt;br /&gt;
&lt;br /&gt;
mouvements locaux = total atterrissages vol locaux * 2&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
ce rapport aeral consiste à renseigner les droits d'entrée, cotisation non pilote et cotisation Club pour les deux tranches d'age (Jeunes et Adultes).&lt;br /&gt;
&lt;br /&gt;
pour cela, les valeurs du droit d'entrée et de la cotisation non pilote sont directement attribuées pour les deux tranches d'age, en se basant sur les variables renseignées dans la [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]] ou trouvées grâce à l'utilisation de [[#Prédictions|prédictions]].&lt;br /&gt;
&lt;br /&gt;
pour Cotisation Club on récupère la valeur ADULTES_Cotisation_Club directement à partir de la variable Cotisation.&lt;br /&gt;
&lt;br /&gt;
et on déduit '''Jeunes_Cotisation_Club = ADULTES_Cotisation_Club - remise Cotisation jeunes'''&lt;br /&gt;
&lt;br /&gt;
==Terrains==&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Aéronefs==&lt;br /&gt;
Ce tableau liste toutes les ressources de catégorie aéronefs (Avion, ULM, Hélicoptère, Planeur) :&lt;br /&gt;
*actives pour lesquelles l'option '''Saisie d'activité''' est cochée dans le paramétrage&lt;br /&gt;
*qui ont effectué au moins un vol dans l'année considérée&lt;br /&gt;
Le tableau contient les colonnes suivantes :&lt;br /&gt;
*Immatriculation qui correspond au nom de l'aéronef&lt;br /&gt;
*Modèle qui correspond au nom du type de ressource correspond&lt;br /&gt;
*Heures_Cette_Annee correspond au total des heures de vols effectuées par l'aéronef&lt;br /&gt;
*Heures_dont_en_Double correspond aux heures de vols pour lesquelles il y a 2 utilisateurs : 1 en place gauche et 1 en place droite.&lt;br /&gt;
*Heures_dont_en_Solo correspond à la différence de Heures_Cette_Annee et Heures_dont_en_Double.&lt;br /&gt;
*Tarif_Solo dont la valeur provient de la variable ayant pour nom &amp;quot;$tarifSolo + le nom du type d'aéronef&amp;quot;.&lt;br /&gt;
*Tarif_Double correspond au total du Tarif_Solo et tarif d'instruction (la variable ayant pour nom &amp;quot;$tarifInstruction&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Liste détaillée des personnes liée pour chaque nombre d'adhérents==&lt;br /&gt;
&lt;br /&gt;
Dans l'affichage des statistiques AERAL, pour les tableaux ADHERENTS PAR ACTIVITE X (avec X est une des catégories: AVION, HELICOPTERE, PLANEUR et ULM) et FORMATIONS, on associe pour chaque nombre de personnes différent de 0 un lien vers un nouvel onglet qui contient la table détaillée des personnes , cette dernière contient les informations suivantes :&lt;br /&gt;
*Nom&lt;br /&gt;
*Prénom&lt;br /&gt;
*Sexe&lt;br /&gt;
*Date de naissance&lt;br /&gt;
*Année de naissance	&lt;br /&gt;
*Génération&lt;br /&gt;
*Colonne dynamique pour chaque type de validité cochées en cas des '''Brevetes''': cette colonne contient une icône checked verte + la date d'obtention si la personne a la validité, sinon elle est vide&lt;br /&gt;
&lt;br /&gt;
=Prédictions=&lt;br /&gt;
Le principe de prédictions consiste à essayer de retrouver les paramètres nécessaires au remplissage du formulaire de statistiques AERAL en recherchant dans la base de données des mots clés spécifiques pour chaque référence.&lt;br /&gt;
&lt;br /&gt;
Liste des prédictions utilisées par le robot OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
===Tarif cotisation===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''cotisation'''&lt;br /&gt;
#'''cotisation club'''&lt;br /&gt;
#'''cotisation &amp;lt;nom de la structure&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Tarif droit d'entrée===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Droit d'entrée'''&lt;br /&gt;
#'''Tarif entrée'''&lt;br /&gt;
&lt;br /&gt;
===Tarif instruction===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Tarif instruction'''&lt;br /&gt;
&lt;br /&gt;
===Remise cotisation jeune===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Remise cotisation jeune'''&lt;br /&gt;
&lt;br /&gt;
==Qualifications==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''PPL'''&lt;br /&gt;
#'''Brevet de base'''&lt;br /&gt;
#'''CPL'''&lt;br /&gt;
#'''ATPL'''&lt;br /&gt;
#'''Brevet ULM'''&lt;br /&gt;
&lt;br /&gt;
==Profils==&lt;br /&gt;
===Non Pilotes===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils''' les occurrences :&lt;br /&gt;
#'''Honoraire'''&lt;br /&gt;
#'''Non pilote'''&lt;br /&gt;
&lt;br /&gt;
===Instructeurs===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils &amp;gt; Réservations''' les profils qui ont les deux droits suivants:&lt;br /&gt;
#'''Planning personnel'''&lt;br /&gt;
#'''Planning individuel visible pour les autres'''&lt;br /&gt;
&lt;br /&gt;
==Types d'activités==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' des occurrences spécifiques pour chaque type d'activité :&lt;br /&gt;
&lt;br /&gt;
IFR :&lt;br /&gt;
#'''IFR'''&lt;br /&gt;
#'''IFR-FR'''&lt;br /&gt;
&lt;br /&gt;
Instruction :&lt;br /&gt;
#'''Instruction'''&lt;br /&gt;
#'''Double commande'''&lt;br /&gt;
&lt;br /&gt;
Navigation :&lt;br /&gt;
#'''Navigation'''&lt;br /&gt;
&lt;br /&gt;
Nuit :&lt;br /&gt;
#'''Nuit'''&lt;br /&gt;
#'''Vol de nuit'''&lt;br /&gt;
&lt;br /&gt;
VFR jour navigation :&lt;br /&gt;
#'''VFR jour navigation'''&lt;br /&gt;
&lt;br /&gt;
VFR nuit :&lt;br /&gt;
#'''VFR nuit'''&lt;br /&gt;
&lt;br /&gt;
Solo supervisé :&lt;br /&gt;
# '''Solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
=Non-conformités=&lt;br /&gt;
==Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export==&lt;br /&gt;
Si la validité correspondant à la licence FFA n'est pas spécifiée ou si les numéros de licence FFA dans les tableaux [[#Bureau_2|BUREAU]] et [[#Instructeurs|INSTRUCTEURS]] n'ont pas été validés par l'API FFA, ces licences sont signalées en rouge avec le message d'erreur '''Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export''' en bas du tableau, et le JSON envoyé à SMILE ne les inclut pas.&lt;br /&gt;
&lt;br /&gt;
Si certains numéros sont en rouge et que d'autres ne le sont pas, alors cela veut dire que les numéros en rouge ne sont pas valides et qu'il faut les corriger dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
Si tous les numéros sont en rouge, alors il y a de grandes chances pour que le paramétrage en place du type validité associé à la licence FFA ne soit pas configuré pour être certifié par l'API FFA. Pour corriger cela, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Éditer le type de validité correspond à la licence FFA&lt;br /&gt;
*Dans le champ '''Certification''', sélectionner ''Par API FFA''&lt;br /&gt;
*Décocher '''Associer un document'''&lt;br /&gt;
*Cocher '''Soumise à échéance'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Heures de vol pour les utilisateurs ayant le sexe '''Indéfini'''==&lt;br /&gt;
Dans les blocs Activité en instruction ET Activité hors instruction, s'il y a des heures de vol liées au sexe indéfini, nous ajoutons des lignes supplémentaires où nous stockons les heures sans celles du sexe indéfini.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon sexe (M/F) doit être renseigné pour les utilisateurs ayant des vols enregistrés dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''.&lt;br /&gt;
&lt;br /&gt;
Remarque: Les utilisateurs sur fond rouge sont les utilisateurs pour lesquels le sexe, la nationalité ou la date de naissance ne sont pas renseignés.&lt;br /&gt;
&lt;br /&gt;
==Numéro de licence FFA non renseigné==&lt;br /&gt;
Dans les blocs INSTRUCTEURS et BUREAU, si l'utilisateur n'a pas le Numéro de licence FFA la case s'affiche en rouge pour indiqué la nécessité de renseigner les numéros de licence FFA pour faire la correspondance côté SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon Numéro de licence FFA doit être renseigné pour le personnel de BUREAU et les instructeurs.&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14268</id>
		<title>Gestion des formations</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14268"/>
		<updated>2026-01-26T13:54:07Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Affecter un item à une phase de la formation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le paramétrage du module de suivi des formations.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/BpPGA6sSVi0 Vidéo tutorielle pour Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
L'utilisation du module de suivi des formations est décrit sur la page [[Utilisation des formations]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] est nécessaire pour accéder aux fonctionnalités de gestion qui sont disponibles dans le menu '''Admin › Types d'activités › Formations'''.&lt;br /&gt;
&lt;br /&gt;
Le module de gestion des formations d'OpenFlyers comprend 2 concepts :&lt;br /&gt;
*La formation : chaque formation est définie par des compétences à acquérir. Ces compétences sont nommées '''item''' dans OpenFlyers, le libellé de chaque item peut être affiché en français ou en anglais en fonction de la langue sélectionnée par l'utilisateur connecté. Dans une formation, il est défini le nombre minimal de fois qu'un item doit être vu avant d'être supposé acquis.&lt;br /&gt;
*Le programme de formation : un programme de formation est rattaché à une formation. Il permet de définir le contenu de chaque séance de formation en indiquant les activités qui y seront effectuées.&lt;br /&gt;
&lt;br /&gt;
Les 2 notions sont indépendantes :&lt;br /&gt;
*Il est possible d'utiliser uniquement le concept de '''Formation''' sans utiliser le concept de '''Programme de formation''' et inversement.&lt;br /&gt;
&lt;br /&gt;
En général, une structure aéronautique de type association (typiquement un aéro-club ou un club ULM) ne mettra pas en œuvre le concept de programme de formation car il n'est pas adapté aux élèves qui suivent ces formations sur leur temps libre.&lt;br /&gt;
&lt;br /&gt;
Concernant, les formations, OpenFlyers permet de les découper en plusieurs phases. Cela facilite la visualisation de la progression d'un élève.&lt;br /&gt;
&lt;br /&gt;
Pour bien débuter dans la mise en place d'une formation dans OpenFlyers, il faut suivre la procédure [[#Mettre-en-place-une-formation|Mettre en place une formation]].&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==Alertes lors de la gestion des formations/programmes de formation==&lt;br /&gt;
&lt;br /&gt;
===L'abonnement de la plateforme ne donne pas accès à la gestion des formations. Pour activer l'accès, il faut souscrire à l'abonnement annuel de gestion des formations===&lt;br /&gt;
Cette alerte apparait lorsque l'abonnement annuel programme de formation pour l'annéee en cours n'est pas encore réglé.&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparaît uniquement lorsqu'on est sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-production|production]], et non sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-test|test]] ou de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-de-démonstration|démonstration]].&lt;br /&gt;
&lt;br /&gt;
===L'abonnement annuel au programme de formation de la plateforme permet de définir un maximum de X formations===&lt;br /&gt;
Cette alerte se déclenche lors de l'ajout d'une nouvelle formation à la liste des formations de la plateforme alors que l'abonnement ne le permet pas.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des formations=&lt;br /&gt;
&lt;br /&gt;
==Affecter un item à une phase de la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*'''Glisser''' la ligne qui contient l'item, soit à partir de la liste des items non affectés à la formation ou à partir d'une des phases de la formation (les lignes déplaçables ont, à leur gauche, une icône représentant 4 flèches)&lt;br /&gt;
*'''Déposer''' la ligne qui contient l'item dans la phase souhaitée.&lt;br /&gt;
&lt;br /&gt;
*La colonne '''Ordre''' des items de la formation est automatiquement mise à jour.&lt;br /&gt;
*Si l'item est le seul de la phase, il est impossible de le déplacer, car le moteur ne permet pas de créer des phases sans contenu. Un message d'alerte s'affiche dans ce cas.&lt;br /&gt;
&lt;br /&gt;
==Afficher le contenu d'une formation==&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Actives'''&lt;br /&gt;
*Champ '''Formations''', sélectionner la formation concernée&lt;br /&gt;
Les items affectés à la formation s'affichent en-dessous la phase de formation à laquelle ils sont affectés et dans l'ordre dans lequel ils sont prévus être effectués.&lt;br /&gt;
&lt;br /&gt;
La liste des items non affectés à la formations sont regroupés par ordre alphabétique en-dessous de la barre intitulée '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une phase dans la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*Cliquer sur le bouton Ajouter symboliser par + à côté de l'une des phases&lt;br /&gt;
*Une formulaire pour saisir la phase s'affiche&lt;br /&gt;
*Saisir le nom de la phase&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
La nouvelle phase s'ajoute juste avant la ligne '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Créer une nouvelle formation==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom de la formation souhaitée&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Mettre en place une formation==&lt;br /&gt;
;Tutoriel vidéo&lt;br /&gt;
[https://www.youtube.com/watch?v=BpPGA6sSVi0 Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
#Attribuer le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] aux profils devant pouvoir construire une formation dans OpenFlyers.&lt;br /&gt;
#[[#Créer-une-nouvelle-formation|Créer une nouvelle formation]].&lt;br /&gt;
#[[#Ajouter-une-phase-dans-la-formation|Ajouter une phase dans la formation]].&lt;br /&gt;
#[[#Affecter-un-item-à-une-phase-de-la-formation|Affecter un item à une phase de la formation]]. Répéter cette action autant de fois qu'il y a d'items à rajouter.&lt;br /&gt;
#Une fois la formation créée, il faut :&lt;br /&gt;
#*Activer la saisie des formations en [[Gestion-des-types-d'activités#Typer-formation-un-type-d'activité|Typant formation un type d'activité]] correspondant à une formation.&lt;br /&gt;
#*Donner le droit [[Gestion-des-profils#Voir-les-suivis-de-formations|Voir les suivis de formations]] aux formateurs pour qu'ils puissent voir l'intégralité du contenu des livrets de progressions de tous les élèves.&lt;br /&gt;
&lt;br /&gt;
Une fois une formation créée dans OpenFlyers, voici la liste des actions pour l'utiliser :&lt;br /&gt;
#[[Utilisation-des-formations#Saisir-un-suivi-de-formation|Saisir un suivi de formation]].&lt;br /&gt;
#[[Utilisation-des-formations#Signer-une-activité-formation|Signer une activité formation]] par le formateur.&lt;br /&gt;
#L'élève peut alors à son tour signer l'activité.&lt;br /&gt;
&lt;br /&gt;
A tout moment, l'élève ou les formateurs ayant le droit de voir les suivis de formation peuvent [[Utilisation-des-formations#Consulter-le-livret-de-formation|Consulter le livret de formation]].&lt;br /&gt;
&lt;br /&gt;
==Modifier une formation==&lt;br /&gt;
*Dans le cartouche '''Formation''' sélectionner la formation souhaitée. S'il y a déjà une formation de sélectionnée et qu'elle ne corresponde pas à celle que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom de la formation&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de la phase en question.&lt;br /&gt;
*Une formulaire pour saisie la phase s'affiche.&lt;br /&gt;
*Modifier le nom de la phase.&lt;br /&gt;
*Modifier le positionnement de la phase (l'ordre du premier item dans la phase).&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Modifier un item de la phase de la formation==&lt;br /&gt;
*[[#Afficher-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de l'item de la phase.&lt;br /&gt;
*Une formulaire pour modifier l'item s'affiche.&lt;br /&gt;
*Modifier le rang de l'item.&lt;br /&gt;
*Modifier le nom de l'item originel.&lt;br /&gt;
*Modifier le nom de l'item personnalisé.&lt;br /&gt;
*Modifier le nombre des séances de l'item.&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Supprimer une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de la phase en question.&lt;br /&gt;
*Si aucun item de la phase concernée n'est utilisé dans les activités de formation, la phase et tous ses items sont supprimés. En revanche, si un item est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un item de la phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de l'item de la phase.&lt;br /&gt;
*Si l'item concerné n'est pas utilisé dans les activités de formation, l'item est supprimé. En revanche, s'il est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des programmes de formation=&lt;br /&gt;
==Afficher la liste des activités d'un programme==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Programmes'''&lt;br /&gt;
*Dans le cartouche '''Formations''' sélectionner la formation souhaité. S'il y a déjà une formation de sélectionné et qu'elle ne correspond pas à celle que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*La liste des activités attribuées à un programme de formation s'affiche&lt;br /&gt;
&lt;br /&gt;
==Ajouter une activité dans un programme==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur l'un des boutons '''+''' qui apparait en 1ère et dernière ligne du tableau affichant la liste des activités présentes dans un programme&lt;br /&gt;
*Une formulaire pour saisir une activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée. Il est possible d'intégrer plusieurs instances d'une même type d'activité dans un même programme.&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Créer un nouveau programme==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom du programme souhaité&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Modifier un programme==&lt;br /&gt;
*Dans le cartouche '''Programme''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom du programme&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une activité d'un programme==&lt;br /&gt;
*Cliquer sur le bouton de modification (le pictogramme symbolisant un crayon) de la colonne '''Actions''' à côté de l'activité en question.&lt;br /&gt;
*Une formulaire pour modifier l'activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Ordonner les activités dans un programme==&lt;br /&gt;
*Afficher le tableau du programme concerné en sélectionnant la formation et le programme souhaité &lt;br /&gt;
*Placer le pointeur de la souris au-dessus de l'activité à déplacer (le pointeur de la souris doit être une ''4 flèches'')&lt;br /&gt;
*Cliquer sur le bouton gauche de la souris et rester appuyé afin de '''Glisser''' la ligne&lt;br /&gt;
*'''Déplacer''' la souris vers le haut ou vers le bas en fonction de où on souhaite positionner l'activité en question dans le programme. Lors du déplacement la ligne de l'activité est sur fond bleu pour pouvoir la reconnaitre plus facilement&lt;br /&gt;
*'''Déposer''' la ligne dans le positionnement souhaitée.&lt;br /&gt;
*La colonne '''Ordre''' des activités du programme est automatiquement mise à jour.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un programme de formation==&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, il faut cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle)&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Le programme de formation est supprimé s'il n'y a aucune dépendance identifiée&lt;br /&gt;
*En cas de dépendance non liée aux réservations:&lt;br /&gt;
**Pour les problèmes bloquants, un message d'alerte rouge est affiché&lt;br /&gt;
**Pour les problèmes non bloquants, un message d'alerte orange apparaît, offrant la possibilité de forcer la suppression (ce qui entraîne la suppression de toutes les dépendances associées à ce programme)&lt;br /&gt;
*En cas de dépendance liées aux réservations:&lt;br /&gt;
**Si les réservations sont prévues à l'avenir, un message d'alerte bloquant est affiché&lt;br /&gt;
**Si les réservations sont passées, un message d'alerte orange est affiché avec la possibilité de forcer la suppression&lt;br /&gt;
&lt;br /&gt;
==Supprimer Une activité d'un programme de formation==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle) de la colonne Actions à côté de l'activité en question.&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14267</id>
		<title>Gestion des formations</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14267"/>
		<updated>2026-01-26T13:53:27Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Affecter un item à une phase de la formation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le paramétrage du module de suivi des formations.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/BpPGA6sSVi0 Vidéo tutorielle pour Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
L'utilisation du module de suivi des formations est décrit sur la page [[Utilisation des formations]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] est nécessaire pour accéder aux fonctionnalités de gestion qui sont disponibles dans le menu '''Admin › Types d'activités › Formations'''.&lt;br /&gt;
&lt;br /&gt;
Le module de gestion des formations d'OpenFlyers comprend 2 concepts :&lt;br /&gt;
*La formation : chaque formation est définie par des compétences à acquérir. Ces compétences sont nommées '''item''' dans OpenFlyers, le libellé de chaque item peut être affiché en français ou en anglais en fonction de la langue sélectionnée par l'utilisateur connecté. Dans une formation, il est défini le nombre minimal de fois qu'un item doit être vu avant d'être supposé acquis.&lt;br /&gt;
*Le programme de formation : un programme de formation est rattaché à une formation. Il permet de définir le contenu de chaque séance de formation en indiquant les activités qui y seront effectuées.&lt;br /&gt;
&lt;br /&gt;
Les 2 notions sont indépendantes :&lt;br /&gt;
*Il est possible d'utiliser uniquement le concept de '''Formation''' sans utiliser le concept de '''Programme de formation''' et inversement.&lt;br /&gt;
&lt;br /&gt;
En général, une structure aéronautique de type association (typiquement un aéro-club ou un club ULM) ne mettra pas en œuvre le concept de programme de formation car il n'est pas adapté aux élèves qui suivent ces formations sur leur temps libre.&lt;br /&gt;
&lt;br /&gt;
Concernant, les formations, OpenFlyers permet de les découper en plusieurs phases. Cela facilite la visualisation de la progression d'un élève.&lt;br /&gt;
&lt;br /&gt;
Pour bien débuter dans la mise en place d'une formation dans OpenFlyers, il faut suivre la procédure [[#Mettre-en-place-une-formation|Mettre en place une formation]].&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==Alertes lors de la gestion des formations/programmes de formation==&lt;br /&gt;
&lt;br /&gt;
===L'abonnement de la plateforme ne donne pas accès à la gestion des formations. Pour activer l'accès, il faut souscrire à l'abonnement annuel de gestion des formations===&lt;br /&gt;
Cette alerte apparait lorsque l'abonnement annuel programme de formation pour l'annéee en cours n'est pas encore réglé.&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparaît uniquement lorsqu'on est sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-production|production]], et non sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-test|test]] ou de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-de-démonstration|démonstration]].&lt;br /&gt;
&lt;br /&gt;
===L'abonnement annuel au programme de formation de la plateforme permet de définir un maximum de X formations===&lt;br /&gt;
Cette alerte se déclenche lors de l'ajout d'une nouvelle formation à la liste des formations de la plateforme alors que l'abonnement ne le permet pas.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des formations=&lt;br /&gt;
&lt;br /&gt;
==Affecter un item à une phase de la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*'''Glisser''' la ligne qui contient l'item, soit à partir de la liste des items non affectés à la formation ou à partir d'une des phases de la formation (les lignes déplaçables ont, à leur gauche, une icône représentant deux flèches croisées)&lt;br /&gt;
*'''Déposer''' la ligne qui contient l'item dans la phase souhaitée.&lt;br /&gt;
&lt;br /&gt;
*La colonne '''Ordre''' des items de la formation est automatiquement mise à jour.&lt;br /&gt;
*Si l'item est le seul de la phase, il est impossible de le déplacer, car le moteur ne permet pas de créer des phases sans contenu. Un message d'alerte s'affiche dans ce cas.&lt;br /&gt;
&lt;br /&gt;
==Afficher le contenu d'une formation==&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Actives'''&lt;br /&gt;
*Champ '''Formations''', sélectionner la formation concernée&lt;br /&gt;
Les items affectés à la formation s'affichent en-dessous la phase de formation à laquelle ils sont affectés et dans l'ordre dans lequel ils sont prévus être effectués.&lt;br /&gt;
&lt;br /&gt;
La liste des items non affectés à la formations sont regroupés par ordre alphabétique en-dessous de la barre intitulée '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une phase dans la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*Cliquer sur le bouton Ajouter symboliser par + à côté de l'une des phases&lt;br /&gt;
*Une formulaire pour saisir la phase s'affiche&lt;br /&gt;
*Saisir le nom de la phase&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
La nouvelle phase s'ajoute juste avant la ligne '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Créer une nouvelle formation==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom de la formation souhaitée&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Mettre en place une formation==&lt;br /&gt;
;Tutoriel vidéo&lt;br /&gt;
[https://www.youtube.com/watch?v=BpPGA6sSVi0 Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
#Attribuer le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] aux profils devant pouvoir construire une formation dans OpenFlyers.&lt;br /&gt;
#[[#Créer-une-nouvelle-formation|Créer une nouvelle formation]].&lt;br /&gt;
#[[#Ajouter-une-phase-dans-la-formation|Ajouter une phase dans la formation]].&lt;br /&gt;
#[[#Affecter-un-item-à-une-phase-de-la-formation|Affecter un item à une phase de la formation]]. Répéter cette action autant de fois qu'il y a d'items à rajouter.&lt;br /&gt;
#Une fois la formation créée, il faut :&lt;br /&gt;
#*Activer la saisie des formations en [[Gestion-des-types-d'activités#Typer-formation-un-type-d'activité|Typant formation un type d'activité]] correspondant à une formation.&lt;br /&gt;
#*Donner le droit [[Gestion-des-profils#Voir-les-suivis-de-formations|Voir les suivis de formations]] aux formateurs pour qu'ils puissent voir l'intégralité du contenu des livrets de progressions de tous les élèves.&lt;br /&gt;
&lt;br /&gt;
Une fois une formation créée dans OpenFlyers, voici la liste des actions pour l'utiliser :&lt;br /&gt;
#[[Utilisation-des-formations#Saisir-un-suivi-de-formation|Saisir un suivi de formation]].&lt;br /&gt;
#[[Utilisation-des-formations#Signer-une-activité-formation|Signer une activité formation]] par le formateur.&lt;br /&gt;
#L'élève peut alors à son tour signer l'activité.&lt;br /&gt;
&lt;br /&gt;
A tout moment, l'élève ou les formateurs ayant le droit de voir les suivis de formation peuvent [[Utilisation-des-formations#Consulter-le-livret-de-formation|Consulter le livret de formation]].&lt;br /&gt;
&lt;br /&gt;
==Modifier une formation==&lt;br /&gt;
*Dans le cartouche '''Formation''' sélectionner la formation souhaitée. S'il y a déjà une formation de sélectionnée et qu'elle ne corresponde pas à celle que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom de la formation&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de la phase en question.&lt;br /&gt;
*Une formulaire pour saisie la phase s'affiche.&lt;br /&gt;
*Modifier le nom de la phase.&lt;br /&gt;
*Modifier le positionnement de la phase (l'ordre du premier item dans la phase).&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Modifier un item de la phase de la formation==&lt;br /&gt;
*[[#Afficher-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de l'item de la phase.&lt;br /&gt;
*Une formulaire pour modifier l'item s'affiche.&lt;br /&gt;
*Modifier le rang de l'item.&lt;br /&gt;
*Modifier le nom de l'item originel.&lt;br /&gt;
*Modifier le nom de l'item personnalisé.&lt;br /&gt;
*Modifier le nombre des séances de l'item.&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Supprimer une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de la phase en question.&lt;br /&gt;
*Si aucun item de la phase concernée n'est utilisé dans les activités de formation, la phase et tous ses items sont supprimés. En revanche, si un item est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un item de la phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de l'item de la phase.&lt;br /&gt;
*Si l'item concerné n'est pas utilisé dans les activités de formation, l'item est supprimé. En revanche, s'il est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des programmes de formation=&lt;br /&gt;
==Afficher la liste des activités d'un programme==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Programmes'''&lt;br /&gt;
*Dans le cartouche '''Formations''' sélectionner la formation souhaité. S'il y a déjà une formation de sélectionné et qu'elle ne correspond pas à celle que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*La liste des activités attribuées à un programme de formation s'affiche&lt;br /&gt;
&lt;br /&gt;
==Ajouter une activité dans un programme==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur l'un des boutons '''+''' qui apparait en 1ère et dernière ligne du tableau affichant la liste des activités présentes dans un programme&lt;br /&gt;
*Une formulaire pour saisir une activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée. Il est possible d'intégrer plusieurs instances d'une même type d'activité dans un même programme.&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Créer un nouveau programme==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom du programme souhaité&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Modifier un programme==&lt;br /&gt;
*Dans le cartouche '''Programme''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom du programme&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une activité d'un programme==&lt;br /&gt;
*Cliquer sur le bouton de modification (le pictogramme symbolisant un crayon) de la colonne '''Actions''' à côté de l'activité en question.&lt;br /&gt;
*Une formulaire pour modifier l'activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Ordonner les activités dans un programme==&lt;br /&gt;
*Afficher le tableau du programme concerné en sélectionnant la formation et le programme souhaité &lt;br /&gt;
*Placer le pointeur de la souris au-dessus de l'activité à déplacer (le pointeur de la souris doit être une ''4 flèches'')&lt;br /&gt;
*Cliquer sur le bouton gauche de la souris et rester appuyé afin de '''Glisser''' la ligne&lt;br /&gt;
*'''Déplacer''' la souris vers le haut ou vers le bas en fonction de où on souhaite positionner l'activité en question dans le programme. Lors du déplacement la ligne de l'activité est sur fond bleu pour pouvoir la reconnaitre plus facilement&lt;br /&gt;
*'''Déposer''' la ligne dans le positionnement souhaitée.&lt;br /&gt;
*La colonne '''Ordre''' des activités du programme est automatiquement mise à jour.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un programme de formation==&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, il faut cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle)&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Le programme de formation est supprimé s'il n'y a aucune dépendance identifiée&lt;br /&gt;
*En cas de dépendance non liée aux réservations:&lt;br /&gt;
**Pour les problèmes bloquants, un message d'alerte rouge est affiché&lt;br /&gt;
**Pour les problèmes non bloquants, un message d'alerte orange apparaît, offrant la possibilité de forcer la suppression (ce qui entraîne la suppression de toutes les dépendances associées à ce programme)&lt;br /&gt;
*En cas de dépendance liées aux réservations:&lt;br /&gt;
**Si les réservations sont prévues à l'avenir, un message d'alerte bloquant est affiché&lt;br /&gt;
**Si les réservations sont passées, un message d'alerte orange est affiché avec la possibilité de forcer la suppression&lt;br /&gt;
&lt;br /&gt;
==Supprimer Une activité d'un programme de formation==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle) de la colonne Actions à côté de l'activité en question.&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14266</id>
		<title>Gestion des formations</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14266"/>
		<updated>2026-01-26T13:53:02Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Affecter un item à une phase de la formation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le paramétrage du module de suivi des formations.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/BpPGA6sSVi0 Vidéo tutorielle pour Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
L'utilisation du module de suivi des formations est décrit sur la page [[Utilisation des formations]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] est nécessaire pour accéder aux fonctionnalités de gestion qui sont disponibles dans le menu '''Admin › Types d'activités › Formations'''.&lt;br /&gt;
&lt;br /&gt;
Le module de gestion des formations d'OpenFlyers comprend 2 concepts :&lt;br /&gt;
*La formation : chaque formation est définie par des compétences à acquérir. Ces compétences sont nommées '''item''' dans OpenFlyers, le libellé de chaque item peut être affiché en français ou en anglais en fonction de la langue sélectionnée par l'utilisateur connecté. Dans une formation, il est défini le nombre minimal de fois qu'un item doit être vu avant d'être supposé acquis.&lt;br /&gt;
*Le programme de formation : un programme de formation est rattaché à une formation. Il permet de définir le contenu de chaque séance de formation en indiquant les activités qui y seront effectuées.&lt;br /&gt;
&lt;br /&gt;
Les 2 notions sont indépendantes :&lt;br /&gt;
*Il est possible d'utiliser uniquement le concept de '''Formation''' sans utiliser le concept de '''Programme de formation''' et inversement.&lt;br /&gt;
&lt;br /&gt;
En général, une structure aéronautique de type association (typiquement un aéro-club ou un club ULM) ne mettra pas en œuvre le concept de programme de formation car il n'est pas adapté aux élèves qui suivent ces formations sur leur temps libre.&lt;br /&gt;
&lt;br /&gt;
Concernant, les formations, OpenFlyers permet de les découper en plusieurs phases. Cela facilite la visualisation de la progression d'un élève.&lt;br /&gt;
&lt;br /&gt;
Pour bien débuter dans la mise en place d'une formation dans OpenFlyers, il faut suivre la procédure [[#Mettre-en-place-une-formation|Mettre en place une formation]].&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==Alertes lors de la gestion des formations/programmes de formation==&lt;br /&gt;
&lt;br /&gt;
===L'abonnement de la plateforme ne donne pas accès à la gestion des formations. Pour activer l'accès, il faut souscrire à l'abonnement annuel de gestion des formations===&lt;br /&gt;
Cette alerte apparait lorsque l'abonnement annuel programme de formation pour l'annéee en cours n'est pas encore réglé.&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparaît uniquement lorsqu'on est sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-production|production]], et non sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-test|test]] ou de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-de-démonstration|démonstration]].&lt;br /&gt;
&lt;br /&gt;
===L'abonnement annuel au programme de formation de la plateforme permet de définir un maximum de X formations===&lt;br /&gt;
Cette alerte se déclenche lors de l'ajout d'une nouvelle formation à la liste des formations de la plateforme alors que l'abonnement ne le permet pas.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des formations=&lt;br /&gt;
&lt;br /&gt;
==Affecter un item à une phase de la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*'''Glisser''' la ligne qui contient l'item, soit à partir de la liste des items non affectés à la formation ou à partir d'une des phases de la formation (les lignes déplaçables ont, à leur gauche, une icône représentant deux flèches croisées)&lt;br /&gt;
*'''Déposer''' la ligne qui contient l'item dans la phase souhaitée.&lt;br /&gt;
&lt;br /&gt;
'''NB:''' Il est impossible de déplacer un élément si la phase devient vide&lt;br /&gt;
&lt;br /&gt;
*La colonne '''Ordre''' des items de la formation est automatiquement mise à jour.&lt;br /&gt;
*Si l'item est le seul de la phase, il est impossible de le déplacer, car le moteur ne permet pas de créer des phases sans contenu. Un message d'alerte s'affiche dans ce cas.&lt;br /&gt;
&lt;br /&gt;
==Afficher le contenu d'une formation==&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Actives'''&lt;br /&gt;
*Champ '''Formations''', sélectionner la formation concernée&lt;br /&gt;
Les items affectés à la formation s'affichent en-dessous la phase de formation à laquelle ils sont affectés et dans l'ordre dans lequel ils sont prévus être effectués.&lt;br /&gt;
&lt;br /&gt;
La liste des items non affectés à la formations sont regroupés par ordre alphabétique en-dessous de la barre intitulée '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une phase dans la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*Cliquer sur le bouton Ajouter symboliser par + à côté de l'une des phases&lt;br /&gt;
*Une formulaire pour saisir la phase s'affiche&lt;br /&gt;
*Saisir le nom de la phase&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
La nouvelle phase s'ajoute juste avant la ligne '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Créer une nouvelle formation==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom de la formation souhaitée&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Mettre en place une formation==&lt;br /&gt;
;Tutoriel vidéo&lt;br /&gt;
[https://www.youtube.com/watch?v=BpPGA6sSVi0 Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
#Attribuer le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] aux profils devant pouvoir construire une formation dans OpenFlyers.&lt;br /&gt;
#[[#Créer-une-nouvelle-formation|Créer une nouvelle formation]].&lt;br /&gt;
#[[#Ajouter-une-phase-dans-la-formation|Ajouter une phase dans la formation]].&lt;br /&gt;
#[[#Affecter-un-item-à-une-phase-de-la-formation|Affecter un item à une phase de la formation]]. Répéter cette action autant de fois qu'il y a d'items à rajouter.&lt;br /&gt;
#Une fois la formation créée, il faut :&lt;br /&gt;
#*Activer la saisie des formations en [[Gestion-des-types-d'activités#Typer-formation-un-type-d'activité|Typant formation un type d'activité]] correspondant à une formation.&lt;br /&gt;
#*Donner le droit [[Gestion-des-profils#Voir-les-suivis-de-formations|Voir les suivis de formations]] aux formateurs pour qu'ils puissent voir l'intégralité du contenu des livrets de progressions de tous les élèves.&lt;br /&gt;
&lt;br /&gt;
Une fois une formation créée dans OpenFlyers, voici la liste des actions pour l'utiliser :&lt;br /&gt;
#[[Utilisation-des-formations#Saisir-un-suivi-de-formation|Saisir un suivi de formation]].&lt;br /&gt;
#[[Utilisation-des-formations#Signer-une-activité-formation|Signer une activité formation]] par le formateur.&lt;br /&gt;
#L'élève peut alors à son tour signer l'activité.&lt;br /&gt;
&lt;br /&gt;
A tout moment, l'élève ou les formateurs ayant le droit de voir les suivis de formation peuvent [[Utilisation-des-formations#Consulter-le-livret-de-formation|Consulter le livret de formation]].&lt;br /&gt;
&lt;br /&gt;
==Modifier une formation==&lt;br /&gt;
*Dans le cartouche '''Formation''' sélectionner la formation souhaitée. S'il y a déjà une formation de sélectionnée et qu'elle ne corresponde pas à celle que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom de la formation&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de la phase en question.&lt;br /&gt;
*Une formulaire pour saisie la phase s'affiche.&lt;br /&gt;
*Modifier le nom de la phase.&lt;br /&gt;
*Modifier le positionnement de la phase (l'ordre du premier item dans la phase).&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Modifier un item de la phase de la formation==&lt;br /&gt;
*[[#Afficher-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de l'item de la phase.&lt;br /&gt;
*Une formulaire pour modifier l'item s'affiche.&lt;br /&gt;
*Modifier le rang de l'item.&lt;br /&gt;
*Modifier le nom de l'item originel.&lt;br /&gt;
*Modifier le nom de l'item personnalisé.&lt;br /&gt;
*Modifier le nombre des séances de l'item.&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Supprimer une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de la phase en question.&lt;br /&gt;
*Si aucun item de la phase concernée n'est utilisé dans les activités de formation, la phase et tous ses items sont supprimés. En revanche, si un item est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un item de la phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de l'item de la phase.&lt;br /&gt;
*Si l'item concerné n'est pas utilisé dans les activités de formation, l'item est supprimé. En revanche, s'il est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des programmes de formation=&lt;br /&gt;
==Afficher la liste des activités d'un programme==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Programmes'''&lt;br /&gt;
*Dans le cartouche '''Formations''' sélectionner la formation souhaité. S'il y a déjà une formation de sélectionné et qu'elle ne correspond pas à celle que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*La liste des activités attribuées à un programme de formation s'affiche&lt;br /&gt;
&lt;br /&gt;
==Ajouter une activité dans un programme==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur l'un des boutons '''+''' qui apparait en 1ère et dernière ligne du tableau affichant la liste des activités présentes dans un programme&lt;br /&gt;
*Une formulaire pour saisir une activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée. Il est possible d'intégrer plusieurs instances d'une même type d'activité dans un même programme.&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Créer un nouveau programme==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom du programme souhaité&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Modifier un programme==&lt;br /&gt;
*Dans le cartouche '''Programme''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom du programme&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une activité d'un programme==&lt;br /&gt;
*Cliquer sur le bouton de modification (le pictogramme symbolisant un crayon) de la colonne '''Actions''' à côté de l'activité en question.&lt;br /&gt;
*Une formulaire pour modifier l'activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Ordonner les activités dans un programme==&lt;br /&gt;
*Afficher le tableau du programme concerné en sélectionnant la formation et le programme souhaité &lt;br /&gt;
*Placer le pointeur de la souris au-dessus de l'activité à déplacer (le pointeur de la souris doit être une ''4 flèches'')&lt;br /&gt;
*Cliquer sur le bouton gauche de la souris et rester appuyé afin de '''Glisser''' la ligne&lt;br /&gt;
*'''Déplacer''' la souris vers le haut ou vers le bas en fonction de où on souhaite positionner l'activité en question dans le programme. Lors du déplacement la ligne de l'activité est sur fond bleu pour pouvoir la reconnaitre plus facilement&lt;br /&gt;
*'''Déposer''' la ligne dans le positionnement souhaitée.&lt;br /&gt;
*La colonne '''Ordre''' des activités du programme est automatiquement mise à jour.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un programme de formation==&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, il faut cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle)&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Le programme de formation est supprimé s'il n'y a aucune dépendance identifiée&lt;br /&gt;
*En cas de dépendance non liée aux réservations:&lt;br /&gt;
**Pour les problèmes bloquants, un message d'alerte rouge est affiché&lt;br /&gt;
**Pour les problèmes non bloquants, un message d'alerte orange apparaît, offrant la possibilité de forcer la suppression (ce qui entraîne la suppression de toutes les dépendances associées à ce programme)&lt;br /&gt;
*En cas de dépendance liées aux réservations:&lt;br /&gt;
**Si les réservations sont prévues à l'avenir, un message d'alerte bloquant est affiché&lt;br /&gt;
**Si les réservations sont passées, un message d'alerte orange est affiché avec la possibilité de forcer la suppression&lt;br /&gt;
&lt;br /&gt;
==Supprimer Une activité d'un programme de formation==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle) de la colonne Actions à côté de l'activité en question.&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14265</id>
		<title>Gestion des formations</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14265"/>
		<updated>2026-01-26T13:50:26Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le paramétrage du module de suivi des formations.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/BpPGA6sSVi0 Vidéo tutorielle pour Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
L'utilisation du module de suivi des formations est décrit sur la page [[Utilisation des formations]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] est nécessaire pour accéder aux fonctionnalités de gestion qui sont disponibles dans le menu '''Admin › Types d'activités › Formations'''.&lt;br /&gt;
&lt;br /&gt;
Le module de gestion des formations d'OpenFlyers comprend 2 concepts :&lt;br /&gt;
*La formation : chaque formation est définie par des compétences à acquérir. Ces compétences sont nommées '''item''' dans OpenFlyers, le libellé de chaque item peut être affiché en français ou en anglais en fonction de la langue sélectionnée par l'utilisateur connecté. Dans une formation, il est défini le nombre minimal de fois qu'un item doit être vu avant d'être supposé acquis.&lt;br /&gt;
*Le programme de formation : un programme de formation est rattaché à une formation. Il permet de définir le contenu de chaque séance de formation en indiquant les activités qui y seront effectuées.&lt;br /&gt;
&lt;br /&gt;
Les 2 notions sont indépendantes :&lt;br /&gt;
*Il est possible d'utiliser uniquement le concept de '''Formation''' sans utiliser le concept de '''Programme de formation''' et inversement.&lt;br /&gt;
&lt;br /&gt;
En général, une structure aéronautique de type association (typiquement un aéro-club ou un club ULM) ne mettra pas en œuvre le concept de programme de formation car il n'est pas adapté aux élèves qui suivent ces formations sur leur temps libre.&lt;br /&gt;
&lt;br /&gt;
Concernant, les formations, OpenFlyers permet de les découper en plusieurs phases. Cela facilite la visualisation de la progression d'un élève.&lt;br /&gt;
&lt;br /&gt;
Pour bien débuter dans la mise en place d'une formation dans OpenFlyers, il faut suivre la procédure [[#Mettre-en-place-une-formation|Mettre en place une formation]].&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==Alertes lors de la gestion des formations/programmes de formation==&lt;br /&gt;
&lt;br /&gt;
===L'abonnement de la plateforme ne donne pas accès à la gestion des formations. Pour activer l'accès, il faut souscrire à l'abonnement annuel de gestion des formations===&lt;br /&gt;
Cette alerte apparait lorsque l'abonnement annuel programme de formation pour l'annéee en cours n'est pas encore réglé.&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparaît uniquement lorsqu'on est sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-production|production]], et non sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-test|test]] ou de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-de-démonstration|démonstration]].&lt;br /&gt;
&lt;br /&gt;
===L'abonnement annuel au programme de formation de la plateforme permet de définir un maximum de X formations===&lt;br /&gt;
Cette alerte se déclenche lors de l'ajout d'une nouvelle formation à la liste des formations de la plateforme alors que l'abonnement ne le permet pas.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des formations=&lt;br /&gt;
&lt;br /&gt;
==Affecter un item à une phase de la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*'''Glisser''' la ligne qui contient l'item, soit à partir de la liste des items non affectés à la formation ou à partir d'une des phases de la formation (les lignes déplaçables ont, à leur gauche, une icône avec un carré de petits points)&lt;br /&gt;
*'''Déposer''' la ligne qui contient l'item dans la phase souhaitée.&lt;br /&gt;
&lt;br /&gt;
'''NB:''' Il est impossible de déplacer un élément si la phase devient vide&lt;br /&gt;
&lt;br /&gt;
*La colonne '''Ordre''' des items de la formation est automatiquement mise à jour.&lt;br /&gt;
*Si l'item est le seul de la phase, il est impossible de le déplacer, car le moteur ne permet pas de créer des phases sans contenu. Un message d'alerte s'affiche dans ce cas.&lt;br /&gt;
&lt;br /&gt;
==Afficher le contenu d'une formation==&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Actives'''&lt;br /&gt;
*Champ '''Formations''', sélectionner la formation concernée&lt;br /&gt;
Les items affectés à la formation s'affichent en-dessous la phase de formation à laquelle ils sont affectés et dans l'ordre dans lequel ils sont prévus être effectués.&lt;br /&gt;
&lt;br /&gt;
La liste des items non affectés à la formations sont regroupés par ordre alphabétique en-dessous de la barre intitulée '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une phase dans la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*Cliquer sur le bouton Ajouter symboliser par + à côté de l'une des phases&lt;br /&gt;
*Une formulaire pour saisir la phase s'affiche&lt;br /&gt;
*Saisir le nom de la phase&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
La nouvelle phase s'ajoute juste avant la ligne '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Créer une nouvelle formation==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom de la formation souhaitée&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Mettre en place une formation==&lt;br /&gt;
;Tutoriel vidéo&lt;br /&gt;
[https://www.youtube.com/watch?v=BpPGA6sSVi0 Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
#Attribuer le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] aux profils devant pouvoir construire une formation dans OpenFlyers.&lt;br /&gt;
#[[#Créer-une-nouvelle-formation|Créer une nouvelle formation]].&lt;br /&gt;
#[[#Ajouter-une-phase-dans-la-formation|Ajouter une phase dans la formation]].&lt;br /&gt;
#[[#Affecter-un-item-à-une-phase-de-la-formation|Affecter un item à une phase de la formation]]. Répéter cette action autant de fois qu'il y a d'items à rajouter.&lt;br /&gt;
#Une fois la formation créée, il faut :&lt;br /&gt;
#*Activer la saisie des formations en [[Gestion-des-types-d'activités#Typer-formation-un-type-d'activité|Typant formation un type d'activité]] correspondant à une formation.&lt;br /&gt;
#*Donner le droit [[Gestion-des-profils#Voir-les-suivis-de-formations|Voir les suivis de formations]] aux formateurs pour qu'ils puissent voir l'intégralité du contenu des livrets de progressions de tous les élèves.&lt;br /&gt;
&lt;br /&gt;
Une fois une formation créée dans OpenFlyers, voici la liste des actions pour l'utiliser :&lt;br /&gt;
#[[Utilisation-des-formations#Saisir-un-suivi-de-formation|Saisir un suivi de formation]].&lt;br /&gt;
#[[Utilisation-des-formations#Signer-une-activité-formation|Signer une activité formation]] par le formateur.&lt;br /&gt;
#L'élève peut alors à son tour signer l'activité.&lt;br /&gt;
&lt;br /&gt;
A tout moment, l'élève ou les formateurs ayant le droit de voir les suivis de formation peuvent [[Utilisation-des-formations#Consulter-le-livret-de-formation|Consulter le livret de formation]].&lt;br /&gt;
&lt;br /&gt;
==Modifier une formation==&lt;br /&gt;
*Dans le cartouche '''Formation''' sélectionner la formation souhaitée. S'il y a déjà une formation de sélectionnée et qu'elle ne corresponde pas à celle que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom de la formation&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de la phase en question.&lt;br /&gt;
*Une formulaire pour saisie la phase s'affiche.&lt;br /&gt;
*Modifier le nom de la phase.&lt;br /&gt;
*Modifier le positionnement de la phase (l'ordre du premier item dans la phase).&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Modifier un item de la phase de la formation==&lt;br /&gt;
*[[#Afficher-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de l'item de la phase.&lt;br /&gt;
*Une formulaire pour modifier l'item s'affiche.&lt;br /&gt;
*Modifier le rang de l'item.&lt;br /&gt;
*Modifier le nom de l'item originel.&lt;br /&gt;
*Modifier le nom de l'item personnalisé.&lt;br /&gt;
*Modifier le nombre des séances de l'item.&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Supprimer une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de la phase en question.&lt;br /&gt;
*Si aucun item de la phase concernée n'est utilisé dans les activités de formation, la phase et tous ses items sont supprimés. En revanche, si un item est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un item de la phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de l'item de la phase.&lt;br /&gt;
*Si l'item concerné n'est pas utilisé dans les activités de formation, l'item est supprimé. En revanche, s'il est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des programmes de formation=&lt;br /&gt;
==Afficher la liste des activités d'un programme==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Programmes'''&lt;br /&gt;
*Dans le cartouche '''Formations''' sélectionner la formation souhaité. S'il y a déjà une formation de sélectionné et qu'elle ne correspond pas à celle que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*La liste des activités attribuées à un programme de formation s'affiche&lt;br /&gt;
&lt;br /&gt;
==Ajouter une activité dans un programme==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur l'un des boutons '''+''' qui apparait en 1ère et dernière ligne du tableau affichant la liste des activités présentes dans un programme&lt;br /&gt;
*Une formulaire pour saisir une activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée. Il est possible d'intégrer plusieurs instances d'une même type d'activité dans un même programme.&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Créer un nouveau programme==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom du programme souhaité&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Modifier un programme==&lt;br /&gt;
*Dans le cartouche '''Programme''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom du programme&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une activité d'un programme==&lt;br /&gt;
*Cliquer sur le bouton de modification (le pictogramme symbolisant un crayon) de la colonne '''Actions''' à côté de l'activité en question.&lt;br /&gt;
*Une formulaire pour modifier l'activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Ordonner les activités dans un programme==&lt;br /&gt;
*Afficher le tableau du programme concerné en sélectionnant la formation et le programme souhaité &lt;br /&gt;
*Placer le pointeur de la souris au-dessus de l'activité à déplacer (le pointeur de la souris doit être une ''4 flèches'')&lt;br /&gt;
*Cliquer sur le bouton gauche de la souris et rester appuyé afin de '''Glisser''' la ligne&lt;br /&gt;
*'''Déplacer''' la souris vers le haut ou vers le bas en fonction de où on souhaite positionner l'activité en question dans le programme. Lors du déplacement la ligne de l'activité est sur fond bleu pour pouvoir la reconnaitre plus facilement&lt;br /&gt;
*'''Déposer''' la ligne dans le positionnement souhaitée.&lt;br /&gt;
*La colonne '''Ordre''' des activités du programme est automatiquement mise à jour.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un programme de formation==&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, il faut cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle)&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Le programme de formation est supprimé s'il n'y a aucune dépendance identifiée&lt;br /&gt;
*En cas de dépendance non liée aux réservations:&lt;br /&gt;
**Pour les problèmes bloquants, un message d'alerte rouge est affiché&lt;br /&gt;
**Pour les problèmes non bloquants, un message d'alerte orange apparaît, offrant la possibilité de forcer la suppression (ce qui entraîne la suppression de toutes les dépendances associées à ce programme)&lt;br /&gt;
*En cas de dépendance liées aux réservations:&lt;br /&gt;
**Si les réservations sont prévues à l'avenir, un message d'alerte bloquant est affiché&lt;br /&gt;
**Si les réservations sont passées, un message d'alerte orange est affiché avec la possibilité de forcer la suppression&lt;br /&gt;
&lt;br /&gt;
==Supprimer Une activité d'un programme de formation==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle) de la colonne Actions à côté de l'activité en question.&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14264</id>
		<title>Gestion des formations</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-formations&amp;diff=14264"/>
		<updated>2026-01-26T13:48:44Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le paramétrage du module de suivi des formations.&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/BpPGA6sSVi0 Vidéo tutorielle pour Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
L'utilisation du module de suivi des formations est décrit sur la page [[Utilisation des formations]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] est nécessaire pour accéder aux fonctionnalités de gestion qui sont disponibles dans le menu '''Admin › Types d'activités › Formations › Actives'''.&lt;br /&gt;
&lt;br /&gt;
Le module de gestion des formations d'OpenFlyers comprend 2 concepts :&lt;br /&gt;
*La formation : chaque formation est définie par des compétences à acquérir. Ces compétences sont nommées '''item''' dans OpenFlyers, le libellé de chaque item peut être affiché en français ou en anglais en fonction de la langue sélectionnée par l'utilisateur connecté. Dans une formation, il est défini le nombre minimal de fois qu'un item doit être vu avant d'être supposé acquis.&lt;br /&gt;
*Le programme de formation : un programme de formation est rattaché à une formation. Il permet de définir le contenu de chaque séance de formation en indiquant les activités qui y seront effectuées.&lt;br /&gt;
&lt;br /&gt;
Les 2 notions sont indépendantes :&lt;br /&gt;
*Il est possible d'utiliser uniquement le concept de '''Formation''' sans utiliser le concept de '''Programme de formation''' et inversement.&lt;br /&gt;
&lt;br /&gt;
En général, une structure aéronautique de type association (typiquement un aéro-club ou un club ULM) ne mettra pas en œuvre le concept de programme de formation car il n'est pas adapté aux élèves qui suivent ces formations sur leur temps libre.&lt;br /&gt;
&lt;br /&gt;
Concernant, les formations, OpenFlyers permet de les découper en plusieurs phases. Cela facilite la visualisation de la progression d'un élève.&lt;br /&gt;
&lt;br /&gt;
Pour bien débuter dans la mise en place d'une formation dans OpenFlyers, il faut suivre la procédure [[#Mettre-en-place-une-formation|Mettre en place une formation]].&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==Alertes lors de la gestion des formations/programmes de formation==&lt;br /&gt;
&lt;br /&gt;
===L'abonnement de la plateforme ne donne pas accès à la gestion des formations. Pour activer l'accès, il faut souscrire à l'abonnement annuel de gestion des formations===&lt;br /&gt;
Cette alerte apparait lorsque l'abonnement annuel programme de formation pour l'annéee en cours n'est pas encore réglé.&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparaît uniquement lorsqu'on est sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-production|production]], et non sur une plateforme de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-en-test|test]] ou de [[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme-de-démonstration|démonstration]].&lt;br /&gt;
&lt;br /&gt;
===L'abonnement annuel au programme de formation de la plateforme permet de définir un maximum de X formations===&lt;br /&gt;
Cette alerte se déclenche lors de l'ajout d'une nouvelle formation à la liste des formations de la plateforme alors que l'abonnement ne le permet pas.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des formations=&lt;br /&gt;
&lt;br /&gt;
==Affecter un item à une phase de la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*'''Glisser''' la ligne qui contient l'item, soit à partir de la liste des items non affectés à la formation ou à partir d'une des phases de la formation (les lignes déplaçables ont, à leur gauche, une icône avec un carré de petits points)&lt;br /&gt;
*'''Déposer''' la ligne qui contient l'item dans la phase souhaitée.&lt;br /&gt;
&lt;br /&gt;
'''NB:''' Il est impossible de déplacer un élément si la phase devient vide&lt;br /&gt;
&lt;br /&gt;
*La colonne '''Ordre''' des items de la formation est automatiquement mise à jour.&lt;br /&gt;
*Si l'item est le seul de la phase, il est impossible de le déplacer, car le moteur ne permet pas de créer des phases sans contenu. Un message d'alerte s'affiche dans ce cas.&lt;br /&gt;
&lt;br /&gt;
==Afficher le contenu d'une formation==&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Actives'''&lt;br /&gt;
*Champ '''Formations''', sélectionner la formation concernée&lt;br /&gt;
Les items affectés à la formation s'affichent en-dessous la phase de formation à laquelle ils sont affectés et dans l'ordre dans lequel ils sont prévus être effectués.&lt;br /&gt;
&lt;br /&gt;
La liste des items non affectés à la formations sont regroupés par ordre alphabétique en-dessous de la barre intitulée '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une phase dans la formation==&lt;br /&gt;
*[[#Afficher-le-contenu-d'une-formation|Afficher le contenu de la formation en question]]&lt;br /&gt;
*Cliquer sur le bouton Ajouter symboliser par + à côté de l'une des phases&lt;br /&gt;
*Une formulaire pour saisir la phase s'affiche&lt;br /&gt;
*Saisir le nom de la phase&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
La nouvelle phase s'ajoute juste avant la ligne '''Items Non affectés à la formation'''.&lt;br /&gt;
&lt;br /&gt;
==Créer une nouvelle formation==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom de la formation souhaitée&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Mettre en place une formation==&lt;br /&gt;
;Tutoriel vidéo&lt;br /&gt;
[https://www.youtube.com/watch?v=BpPGA6sSVi0 Paramétrer une formation]&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
#Attribuer le droit [[Gestion-des-profils#Gestion-des-formations|Gestion des formations]] aux profils devant pouvoir construire une formation dans OpenFlyers.&lt;br /&gt;
#[[#Créer-une-nouvelle-formation|Créer une nouvelle formation]].&lt;br /&gt;
#[[#Ajouter-une-phase-dans-la-formation|Ajouter une phase dans la formation]].&lt;br /&gt;
#[[#Affecter-un-item-à-une-phase-de-la-formation|Affecter un item à une phase de la formation]]. Répéter cette action autant de fois qu'il y a d'items à rajouter.&lt;br /&gt;
#Une fois la formation créée, il faut :&lt;br /&gt;
#*Activer la saisie des formations en [[Gestion-des-types-d'activités#Typer-formation-un-type-d'activité|Typant formation un type d'activité]] correspondant à une formation.&lt;br /&gt;
#*Donner le droit [[Gestion-des-profils#Voir-les-suivis-de-formations|Voir les suivis de formations]] aux formateurs pour qu'ils puissent voir l'intégralité du contenu des livrets de progressions de tous les élèves.&lt;br /&gt;
&lt;br /&gt;
Une fois une formation créée dans OpenFlyers, voici la liste des actions pour l'utiliser :&lt;br /&gt;
#[[Utilisation-des-formations#Saisir-un-suivi-de-formation|Saisir un suivi de formation]].&lt;br /&gt;
#[[Utilisation-des-formations#Signer-une-activité-formation|Signer une activité formation]] par le formateur.&lt;br /&gt;
#L'élève peut alors à son tour signer l'activité.&lt;br /&gt;
&lt;br /&gt;
A tout moment, l'élève ou les formateurs ayant le droit de voir les suivis de formation peuvent [[Utilisation-des-formations#Consulter-le-livret-de-formation|Consulter le livret de formation]].&lt;br /&gt;
&lt;br /&gt;
==Modifier une formation==&lt;br /&gt;
*Dans le cartouche '''Formation''' sélectionner la formation souhaitée. S'il y a déjà une formation de sélectionnée et qu'elle ne corresponde pas à celle que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Formation''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom de la formation&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de la phase en question.&lt;br /&gt;
*Une formulaire pour saisie la phase s'affiche.&lt;br /&gt;
*Modifier le nom de la phase.&lt;br /&gt;
*Modifier le positionnement de la phase (l'ordre du premier item dans la phase).&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Modifier un item de la phase de la formation==&lt;br /&gt;
*[[#Afficher-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Modifier symboliser par le crayon à côté de l'item de la phase.&lt;br /&gt;
*Une formulaire pour modifier l'item s'affiche.&lt;br /&gt;
*Modifier le rang de l'item.&lt;br /&gt;
*Modifier le nom de l'item originel.&lt;br /&gt;
*Modifier le nom de l'item personnalisé.&lt;br /&gt;
*Modifier le nombre des séances de l'item.&lt;br /&gt;
*Cliquer sur Enregistrer.&lt;br /&gt;
&lt;br /&gt;
==Supprimer une phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de la phase en question.&lt;br /&gt;
*Si aucun item de la phase concernée n'est utilisé dans les activités de formation, la phase et tous ses items sont supprimés. En revanche, si un item est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un item de la phase de la formation==&lt;br /&gt;
*[[#Visualiser-les-items-par-phase-pour-une-formation|Afficher les items par phase pour la formation en question]].&lt;br /&gt;
*Cliquer sur le bouton Supprimer symboliser par la poubelle à côté de l'item de la phase.&lt;br /&gt;
*Si l'item concerné n'est pas utilisé dans les activités de formation, l'item est supprimé. En revanche, s'il est utilisé dans des activités de formation, un message d'alerte s'affiche pour en informer l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Procédures de gestion des programmes de formation=&lt;br /&gt;
==Afficher la liste des activités d'un programme==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Formations &amp;gt; Programmes'''&lt;br /&gt;
*Dans le cartouche '''Formations''' sélectionner la formation souhaité. S'il y a déjà une formation de sélectionné et qu'elle ne correspond pas à celle que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner une autre formation&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*La liste des activités attribuées à un programme de formation s'affiche&lt;br /&gt;
&lt;br /&gt;
==Ajouter une activité dans un programme==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur l'un des boutons '''+''' qui apparait en 1ère et dernière ligne du tableau affichant la liste des activités présentes dans un programme&lt;br /&gt;
*Une formulaire pour saisir une activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée. Il est possible d'intégrer plusieurs instances d'une même type d'activité dans un même programme.&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Créer un nouveau programme==&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton d'ajout '''+'''&lt;br /&gt;
*Saisir le nom du programme souhaité&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nom ou bien sur la '''Croix''' rouge pour annuler la saisie&lt;br /&gt;
&lt;br /&gt;
==Modifier un programme==&lt;br /&gt;
*Dans le cartouche '''Programme''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, Cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*En haut à gauche, dans le cartouche '''Programmes''' cliquer sur le bouton de modification (le pictogramme symbolisant un crayon)&lt;br /&gt;
*Modifier le nom du programme&lt;br /&gt;
*Cliquer sur le pictogramme '''Check''' verte pour enregistrer le nouveau nom ou bien sur la '''Croix''' rouge pour annuler la modification&lt;br /&gt;
&lt;br /&gt;
==Modifier une activité d'un programme==&lt;br /&gt;
*Cliquer sur le bouton de modification (le pictogramme symbolisant un crayon) de la colonne '''Actions''' à côté de l'activité en question.&lt;br /&gt;
*Une formulaire pour modifier l'activité s'affiche&lt;br /&gt;
**Dans le premier champ Activité, sélectionner l'activité souhaitée&lt;br /&gt;
**Dans le 2ème champ Durée en minutes, sélectionner le multiple de 15 minutes correspondant à la durée de l'activité&lt;br /&gt;
**Dans le 3ème champ Durée pause après activité, sélectionner le multiple de 15 minutes correspondant à la durée de la pause éventuelle&lt;br /&gt;
**Cliquer sur le bouton Enregistrer&lt;br /&gt;
&lt;br /&gt;
==Ordonner les activités dans un programme==&lt;br /&gt;
*Afficher le tableau du programme concerné en sélectionnant la formation et le programme souhaité &lt;br /&gt;
*Placer le pointeur de la souris au-dessus de l'activité à déplacer (le pointeur de la souris doit être une ''4 flèches'')&lt;br /&gt;
*Cliquer sur le bouton gauche de la souris et rester appuyé afin de '''Glisser''' la ligne&lt;br /&gt;
*'''Déplacer''' la souris vers le haut ou vers le bas en fonction de où on souhaite positionner l'activité en question dans le programme. Lors du déplacement la ligne de l'activité est sur fond bleu pour pouvoir la reconnaitre plus facilement&lt;br /&gt;
*'''Déposer''' la ligne dans le positionnement souhaitée.&lt;br /&gt;
*La colonne '''Ordre''' des activités du programme est automatiquement mise à jour.&lt;br /&gt;
&lt;br /&gt;
==Supprimer un programme de formation==&lt;br /&gt;
*Dans le cartouche '''Programmes''' sélectionner le programme souhaité. S'il y a déjà un programme de sélectionné et qu'il ne correspond pas à celui que l'on souhaite éditer, il faut cliquer sur la croix à droite du nom qui apparait pour vider le cartouche et ainsi pouvoir sélectionner un autre programme&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle)&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;br /&gt;
*Le programme de formation est supprimé s'il n'y a aucune dépendance identifiée&lt;br /&gt;
*En cas de dépendance non liée aux réservations:&lt;br /&gt;
**Pour les problèmes bloquants, un message d'alerte rouge est affiché&lt;br /&gt;
**Pour les problèmes non bloquants, un message d'alerte orange apparaît, offrant la possibilité de forcer la suppression (ce qui entraîne la suppression de toutes les dépendances associées à ce programme)&lt;br /&gt;
*En cas de dépendance liées aux réservations:&lt;br /&gt;
**Si les réservations sont prévues à l'avenir, un message d'alerte bloquant est affiché&lt;br /&gt;
**Si les réservations sont passées, un message d'alerte orange est affiché avec la possibilité de forcer la suppression&lt;br /&gt;
&lt;br /&gt;
==Supprimer Une activité d'un programme de formation==&lt;br /&gt;
*[[#Visualiser-la-liste-des-activités-d'un-programme|Afficher les activités d'un programme de formation en question]]&lt;br /&gt;
*Cliquer sur le bouton supprimer (le pictogramme symbolisant une poubelle) de la colonne Actions à côté de l'activité en question.&lt;br /&gt;
*Une fenêtre contextuelle s'affiche au bout de quelques secondes avec le message &amp;quot;Etes-vous sûr de vouloir supprimer cet item ?&amp;quot;&lt;br /&gt;
*Cliquer sur '''OK'''&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=File:Maintenance_table_fr.jpg&amp;diff=14263</id>
		<title>File:Maintenance_table_fr.jpg</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=File:Maintenance_table_fr.jpg&amp;diff=14263"/>
		<updated>2026-01-23T16:03:35Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: Lelhidam uploaded a new version of File:Maintenance_table_fr.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14262</id>
		<title>AERAL</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14262"/>
		<updated>2026-01-21T17:04:10Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Heures de vol pour les utilisateurs ayant le sexe Indéfini */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire le module OpenFlyers permettant de paramétrer et générer les statistiques Aeral (Acquisition et Exploitation des Rapports d'activités de l'Aviation Légère) requises par la DGAC pour les associations aéronautiques et qui se concrétise au travers du remplissage d'un formulaire dont la version PDF est disponible à cette adresse : https://www.formulaires.service-public.fr/gf/cerfa_12806.do .&lt;br /&gt;
&lt;br /&gt;
La DGAC préconise de ne pas remplir le formulaire PDF mais à la place le formulaire en ligne accessible à cette adresse : https://aeral.dg.aviation-civile.gouv.fr/WD220AWP/WD220Awp.exe/CONNECT/AERAL&lt;br /&gt;
&lt;br /&gt;
De son côté, la Fédération Française Aéronautique (FFA) propose un module qui permet de faciliter le remplissage des statistiques Aeral au travers de son outil SMILE. Une documentation concernant l'utilisation de ce module est disponible à cette adresse : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
&lt;br /&gt;
OpenFlyers s'interface avec le module SMILE de la FFA au travers d'un module de génération et d'envoi des statistiques Aeral. Ce module permet également d'automatiser l'envoi des données mensuelles vers SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur OpenFlyers==&lt;br /&gt;
Lorsque la structure utilise la fonction de génération du rapport Aeral pour la première fois :&lt;br /&gt;
*Tenter de générer un premier rapport Aeral en allant dans '''Gestion &amp;gt; Rapports &amp;gt; Statistiques Aeral &amp;gt; Export Aeral'''&lt;br /&gt;
Si le robot OpenFlyers n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le paramétrage. Sinon, il affiche les tableaux de statistiques.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, '''ne pas tenir des données publiées lors de la première tentative et vérifier les paramètres''' :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier que les paramètres renseignés sont conformes à la configuration de la plateforme OpenFlyers en s'aidant des consignes et copies d'écrans publiées dans le chapitre [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral]] de cette page&lt;br /&gt;
&lt;br /&gt;
Si les paramètres ne sont pas définis ou sauvegardés, [[Alertes-de-configuration#Le-formulaire-de-configuration-de-l'export-aeral-n'a-pas-été-rempli-ou-sauvegardé|une alerte de configuration est affichée]].&lt;br /&gt;
&lt;br /&gt;
Une fois les paramètres définis :&lt;br /&gt;
*Retourner dans '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier l'année sélectionnée&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
*Vérifier la cohérence des statistiques générées&lt;br /&gt;
Une fois que les données sont considérées comme correctes, il faut recopier les données sur l'[https://aeral.dg.aviation-civile.gouv.fr/AERAL outil Aeral] '''sauf pour les aéro-clubs affiliés à la Fédération Française Aéronautique''' où cette dernière souhaite que les données remontent via son outil SMILE. Voir le chapitre suivant [[#Chronologie-des-actions-à-effectuer-sur-SMILE-FFA|Chronologie des actions à effectuer sur SMILE FFA]]&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur SMILE FFA==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir renseigné le '''Code FFA''' dans le formulaire [[#Coordonnées|Coordonnées]] présent dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Avoir testé le code FFA de sorte à avoir le cadenas vert de verrouillé&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Depuis '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral''', une fois que la cohérence des statistiques générées a été vérifié, il faut :&lt;br /&gt;
*Cliquer sur le bouton '''Envoyer à SMILE'''&lt;br /&gt;
*[https://projet.ff-aero.fr/SMILE_II Aller sur SMILE AEROCLUB] et suivre la procédure suivante : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
*Il faut parcourir les onglets un par un de la gauche vers la droite en cliquant à chaque fois sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.''' puis cliquer sur le bouton '''Oui''' de la boite de dialogue demandant confirmation&lt;br /&gt;
*Une fois que tous les onglets ont été parcourus, les données importées et les vérifications effectuées, il faut cliquer sur le dernier onglet '''VALIDATION'''&lt;br /&gt;
Si les vérifications d'intégrité sont correctes sur SMILE, un pavé sur fond vert apparait avec 2 cases à cocher pour permettre l'envoi des données vers Aeral&lt;br /&gt;
&lt;br /&gt;
[[File:VALIDATION_SMILE.png|600px]]&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION : il n'est possible d'envoyer les données qu'une seule fois depuis SMILE vers Aeral'''&lt;br /&gt;
&lt;br /&gt;
;Points d'attention&lt;br /&gt;
*les données ne remontent dans chaque formulaire SMILE qu'après avoir cliqué sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.'''&lt;br /&gt;
Il faut effectuer cette action pour CHAQUE onglet. Il est donc recommandé de parcourir les onglets de la gauche vers la droite.&lt;br /&gt;
*Il est possible d'exporter (pousser) les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite. Chaque nouvel envoi de données écrase l'envoi précédent effectué pour le même mois. Par contre, à chaque nouvel envoi, il faut cliquer sur le bouton d'import dans SMILE FFA pour chaque onglet du formulaire.&lt;br /&gt;
*A l'heure actuelle, SMILE récupère bien toutes les données OpenFlyers mais ne permet pas de les incorporer toutes. Ainsi il manque le bouton de synchronisation pour les onglets suivants :&lt;br /&gt;
**GENERAL : non souhaité par la FFA&lt;br /&gt;
**TERRAINS : prévu pour 2024&lt;br /&gt;
**BUREAU : à fiabiliser&lt;br /&gt;
**MATERIEL : prévu pour 2024&lt;br /&gt;
*Autant il est possible de pousser les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite, autant il n'est possible d'exporter de SMILE FFA vers Aeral qu'une seule fois. En cas d'erreur, il faut contacter la [https://www.ffa-aero.fr Fédération Française Aéronautique] pour déverrouiller le système et permettre d'effectuer un nouvel envoi.&lt;br /&gt;
&lt;br /&gt;
=Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au paramétrage '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Afin de pouvoir générer les statistiques Aeral, il faut que toutes les questions du formulaire soient complétées. Ce dernier est pré-rempli automatiquement avec les données de la structure grâce à l'utilisation de [[#Prédictions|prédictions]] lors de la première tentative de génération des statistiques Aeral depuis [[#Gestion-&amp;gt;-Rapports-&amp;gt;-Rapports-spécifiques-&amp;gt;-Export-Aeral|Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral]].&lt;br /&gt;
&lt;br /&gt;
Il est donc fortement recommandé de générer une première fois les statistiques '''AVANT''' d'éditer le contenu du paramétrage. En effet, une fois que les données de paramétrage des statistiques Aeral sont stockées, la prédiction est désactivée pour ne pas réinitialiser les valeurs enregistrées.&lt;br /&gt;
&lt;br /&gt;
Après une première génération des statistiques, le gestionnaire est invité à vérifier les paramètres pré-remplis du formulaire, à les corriger le cas échéant, et à renseigner manuellement les éléments restants.&lt;br /&gt;
&lt;br /&gt;
les données récupérées de ce formulaire affectent directement la manière dont le robot OpenFlyers traite les rapports. Si une donnée n'est pas présente dans le paramétrage de la structure, le gestionnaire doit sélectionner le choix '''Non applicable'''.&lt;br /&gt;
&lt;br /&gt;
==Coordonnées==&lt;br /&gt;
[[File:Aeral coordonnées.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour les structures affiliées à la [https://www.ffa-aero.fr Fédération Française Aéronautique] :&lt;br /&gt;
*Renseigner '''Code FFA (10 chiffres sans espace et sans tiret)'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut à droite&lt;br /&gt;
*Cliquer sur le bouton '''Valider le code FFA'''. Cela permet de tester le code FFA en envoyant les données des statistique AERAL à l'API SMILE FFA en mode de test.&lt;br /&gt;
Une fois que le code FFA est validé, le pictogramme du cadenas à droite passe vert/verrouillé&lt;br /&gt;
*Cliquer sur l'interrupteur '''Synchronisation Automatique SMILE FFA''' pour activer la synchronisation automatique les données AERAL vers le serveur SMILE de la FFA. L'interrupteur n'est activable que si le '''Code FFA''' est préalablement validé. Lorsque l'interrupteur est activé et [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|le paramétrage Aeral]] est rempli et sauvegardé, les statistiques sont envoyées tous les 1er du mois à l'API SMILE FFA. Elles concernent la période du 1er janvier de l'année en cours au jour précédent la date d'envoi, sauf pour le 1er janvier où la période correspond à l'année précédente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NB''': Pour valider le code FFA, on click sur le bouton '''Valider le code FFA''':&lt;br /&gt;
*Si le code FFA est valide:&lt;br /&gt;
**Le champ de la saisie du code FFA sera verrouillé avec un cadenas qui passe en vert.&lt;br /&gt;
**L'interrupteur de la synchronisation automatique peut être activé.&lt;br /&gt;
**Le bouton '''Valider le code FFA''' disparaît ( le déverrouillage du Code FFA ne sera fait que par un admin interne d'OpenFlyers).&lt;br /&gt;
*Si le code FFA n'est pas valide:&lt;br /&gt;
**L'interrupteur de la synchronisation automatique devient désactivé.&lt;br /&gt;
**le champ de la saisie du code FFA sera déverrouillé avec un cadenas en rouge.&lt;br /&gt;
&lt;br /&gt;
*'''Département'''&lt;br /&gt;
*'''Région aéronautique'''&lt;br /&gt;
*'''Délégation régionale'''&lt;br /&gt;
*'''Date agrément DGAC'''&lt;br /&gt;
*'''Préfecture Agrément DGAC'''&lt;br /&gt;
*'''Numéro ATO'''&lt;br /&gt;
*'''Date d'obtention de l'ATO'''&lt;br /&gt;
*'''Numéro DTO'''&lt;br /&gt;
*'''Date d'obtention du DTO'''&lt;br /&gt;
*'''APE'''&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
[[File:Aeral_ _Tarifs.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Droit d'entrée&lt;br /&gt;
*Cotisation&lt;br /&gt;
*Remise cotisation jeunes&lt;br /&gt;
*Tarif supplément instruction&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau [[#Tarifs|Tarifs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validité définissant la pratique d'une activité==&lt;br /&gt;
[[File:Aeral_ _Validité_définissant_la_pratique_d'une_activité.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Avion&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Hélicoptère&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Planeur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 1 - Paramoteur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 2 - Pendulaire&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 3 - 3 axes&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 4 - Autogire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces champs permettent à l'utilisateur de choisir le type de validité correspondant à chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau ADHERENTS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance validités / Brevets, licences ou qualifications==&lt;br /&gt;
[[File:Aeral_ _Correspondance_validités_Brevets_licences_ou_qualifications.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Activité Avion&lt;br /&gt;
**LAPL&lt;br /&gt;
**PPL&lt;br /&gt;
**CPL&lt;br /&gt;
**ATPL&lt;br /&gt;
**Qualif_Voltige&lt;br /&gt;
**Qualif_Montagne&lt;br /&gt;
**Qualif_Hydravion&lt;br /&gt;
**Qualif_IFR&lt;br /&gt;
**Qualif_VFR_Nuit&lt;br /&gt;
*Activité ULM&lt;br /&gt;
**Paramoteur&lt;br /&gt;
**Pendulaire&lt;br /&gt;
**Multiaxes&lt;br /&gt;
**Autogire&lt;br /&gt;
**Dirigeable&lt;br /&gt;
**Hélicoptère&lt;br /&gt;
*Activité Hélicoptère&lt;br /&gt;
**LAPL(H)&lt;br /&gt;
**PPL(H)&lt;br /&gt;
**CPL(H)&lt;br /&gt;
**ATPL(H)&lt;br /&gt;
*Activité Planeur&lt;br /&gt;
**VV/SPL/LAPL(S)&lt;br /&gt;
&lt;br /&gt;
Ces champs permettant l'utilisateur de choisir le type de validité correspondant à Brevets, licences ou qualifications pour chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau FORMATIONS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validités correspondant à la cotisation de la structure==&lt;br /&gt;
[[File:Aeral_ _Validités_correspondant_à_la_cotisation_de_la_structure.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Les validités cochées dans cette partie sont utilisées par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
==Validité correspondant à la licence FFA==&lt;br /&gt;
Une liste déroulante comprenant tous les types de validités configurés pour obtenir la certification par l'API FFA.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_ _Validité_correspondant_à_la_licence_FFA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Si aucun type de validité n'est défini pour l'obtention de la certification via l'API FFA, le message d'erreur suivant sera affiché.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral-Validité-correspondant-à-la-licence-FFA-Warning.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
La validité cochée dans cette partie est utilisée par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs brevetés inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Validités désignant les brevetés==&lt;br /&gt;
[[File:Aeral_ _Validités_désignant_les_brevetés.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Les validités sélectionnées dans ce champ permettent de définir les validités qui permettent de savoir une personne dispose d'un brevet ou non et donc par différence les personnes qui ne disposent d'aucun brevet sont considérées comme des élèves. Cette catégorisation des personnes est utilisée dans les rapports [[#Adhérents-par-activité-X|Adhérents par activité X]].&lt;br /&gt;
&lt;br /&gt;
==Activités pratiquées==&lt;br /&gt;
[[File:Aeral_ _Activités_pratiquées.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Cocher les activités pratiquées par la structure.&lt;br /&gt;
&lt;br /&gt;
Les paramètres de cette partie sont utilisées par le robot OpenFlyers pour générer les tableaux [[#Activité-en-instruction-et-Activité-hors-instruction|Activité en instruction et Activité hors instruction]] ainsi que pour le tableau [[#Instructeurs|Instructeurs]] (pour la partie '''solo supervisé''') du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance activités / typologie des vols Aeral==&lt;br /&gt;
[[File:Aeral_ _Correspondance_activités_typologie_des_vols_Aeral.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
*IFR&lt;br /&gt;
*VFR Nuit&lt;br /&gt;
*Nuit&lt;br /&gt;
*VFR jour navigation&lt;br /&gt;
*Navigation&lt;br /&gt;
*Montagne&lt;br /&gt;
*Voltige&lt;br /&gt;
*BIA&lt;br /&gt;
*Baptême de l'air&lt;br /&gt;
*Instruction&lt;br /&gt;
*Remorquage&lt;br /&gt;
*Treuillage&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer les tableau 'En_Instruction_Par_Activite pour la catégorie X' et 'Hors_Instruction_Par_Activite' du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Activité correspondant à Solo supervisé==&lt;br /&gt;
OpenFlyers recommande de ne pas saisir les vols solos supervisés avec l'instructeur en place droite mais de créer un champ spécifique pour renseigner le nom du superviseur. Le paramétrage correspondant est décrit dans le chapitre [[Gestion-des-activités#Paramétrage-des-vols-solos-supervisés|Paramétrage des vols solos supervisés]].&lt;br /&gt;
&lt;br /&gt;
*L'activité sélectionnée dans le champ autocomplète '''Solo Supervisé''' est utilisée par le robot OpenFlyers dans les tableaux 'En_Instruction_Par_Population pour la catégorie X' et 'En_Instruction_Par_Activite pour la catégorie X'  du rapport Aeral afin de déterminer les heures de vol en Solo Supervisé durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Instructeur_En_Place_Droite.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est activé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un instructeur occupant la place droite et qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Champ_Métier_Correspondant_Au_Superviseur.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est désactivé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un superviseur qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''. Pour cela il faut renseigner le '''Champ métier correspondant au superviseur'''.&lt;br /&gt;
&lt;br /&gt;
==Matériels==&lt;br /&gt;
[[File:Aeral_ _Matériels.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Cocher le matériel dont dispose la structure.&lt;br /&gt;
&lt;br /&gt;
==Terrain==&lt;br /&gt;
[[File:Aeral_ _Terrain.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Renseigner les informations concernant l'aérodrome utilisé.&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
[[File:Aeral_ _Bureau.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Définir les personnelles exerçant les fonctions définies.&lt;br /&gt;
&lt;br /&gt;
==Personnel==&lt;br /&gt;
[[File:Aeral_ _Personnel.png|1600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Renseigner les informatiques statistiques concernant le personnel.&lt;br /&gt;
&lt;br /&gt;
==Profil des adhérents non pilotes==&lt;br /&gt;
[[File:Aeral_ _Profil_des_adhérents_non_pilotes.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Le profil sélectionné dans cette partie est utilisé par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure qui rentrent la catégorie '''non pilotes'''.&lt;br /&gt;
&lt;br /&gt;
==Profil(s) désignant les instructeurs==&lt;br /&gt;
[[File:Aeral_ _Profil(s)_désignant_les_instructeurs.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Définir le profil permettant de désigner les utilisateurs instructeurs.&lt;br /&gt;
&lt;br /&gt;
Ce profil est utilisé par le robot OpenFlyers pour lister les utilisateurs dans le tableau [[#Instructeurs|Instructeurs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
=Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au rapport '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Voir-tous-les-rapports|Voir tous les rapports]] ou [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Lors de la première tentative de génération d'un export Aeral, le robot OpenFlyers tente de devenir le paramétrage qui doit être mis en place. S'il arrive à renseigner l'ensemble des paramètres indispensables à la génération du rapport, alors il affiche les tableaux pour les statistiques Aeral. S'il n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|paramétrage Aeral]].&lt;br /&gt;
&lt;br /&gt;
Avant de générer le bilan annuel, il faut s'assurer que toutes les informations sont renseignées, si ce n'est pas le cas alors le gestionnaire est redirigé vers le formulaire précédent.&lt;br /&gt;
&lt;br /&gt;
L'année affichée par défaut est :&lt;br /&gt;
*l'année précédente lorsque le mois actuel est compris entre le mois de janvier et le mois de mars inclus&lt;br /&gt;
*l'année actuelle dans le cas contraire&lt;br /&gt;
&lt;br /&gt;
La distinction entre '''jeunes''' et '''adultes''' dans les rapports se situe à :&lt;br /&gt;
*21 ans pour '''AVION'''.&lt;br /&gt;
*25 ans pour les autres catégories ('''ULM''', '''HELECOPTERE''' et '''PLANEUR''')&lt;br /&gt;
&lt;br /&gt;
Une personne est décomptée comme adulte dès lors que son année de naissance est supérieure ou égale à 21 ou 25 ans suivant la catégorie considérée.&lt;br /&gt;
&lt;br /&gt;
==Rapports issus de données de formulaire==&lt;br /&gt;
:* rapport Aeral ''' TERRAINS'''&lt;br /&gt;
:* rapport Aeral '''BUREAU'''&lt;br /&gt;
:* rapport Aeral '''PERSONNEL'''&lt;br /&gt;
:* rapport Aeral '''MATERIEL'''&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité X==&lt;br /&gt;
Ce rapport regroupe 4 tableaux qui correspondent chacun à un type d'activité :&lt;br /&gt;
*Avion&lt;br /&gt;
*Hélicoptère&lt;br /&gt;
*ULM&lt;br /&gt;
*Planeur&lt;br /&gt;
&lt;br /&gt;
Pour qu'un pratiquant soit pris en compte dans le recensement, il faut :&lt;br /&gt;
*Qu'il détienne au moins l'une des validités [[#Validités-correspondant-à-la-cotisation-de-la-structure|Validités correspondant à la cotisation de la structure]] et dont la date d'échéance doit être supérieure ou égale au 31/12 de l'année des statistiques.&lt;br /&gt;
*Qu'il dispose d'une date de naissance (cela permet d'exclure les utilisateurs qui ne correspondent pas à des utilisateurs réels en leur mettant une date de naissance vide)&lt;br /&gt;
&lt;br /&gt;
Pour chaque type d'activité, le robot OpenFlyers détermine les pratiquants en prenant en compte au moins l'un des éléments suivants :&lt;br /&gt;
*La pratique effective durant l'année sur un type d'aéronef correspondant au type d'activité&lt;br /&gt;
*La détention par un utilisateur d'une validité le définissant comme pratiquant de l'activité&lt;br /&gt;
&lt;br /&gt;
Le robot OpenFlyers prend en compte les utilisateurs désactivés.&lt;br /&gt;
&lt;br /&gt;
Une fois calculé le nombre de pratiquants, le robot OpenFlyers détermine le nombre de brevetés parmi ces pratiquants. Est considéré comme breveté un utilisateur qui dispose de l'une des validités sélectionnées dans le paramétrage [[#Validités-désignant-les-brevetés|Validités désignant les brevetés]], peu importe que la validité soit à jour ou non. Cela permet de déterminer, par soustraction, les personnes qui sont élèves. Dis autrement : est élève une personne qui ne possède pas une validité répertoriée comme étant une validité de type &amp;quot;brevet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La figure suivante résume l'approche adoptée pour générer les statistiques liées à ce rapport :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_members_by_activity_schema_algorithm.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==Instructeurs==&lt;br /&gt;
Pour calculer les heures de vol de chaque instructeur, il y a 2 façons possibles :&lt;br /&gt;
*Première méthode : Lorsqu'il n'y a pas de type d'activité de sélectionné dans le champ '''Activité correspondant à Solo supervisé''', le robot OpenFlyers détermine le total des heures de vol de l'instructeur en place droite, puis le total des heures de vols en place droite de l'instructeur pour lesquelles il y a le type d'activité sélectionné pour le paramètre '''Instruction'''&lt;br /&gt;
:'''Heures totales = total des heures en place droite '''&lt;br /&gt;
:'''Heures doubles = total des heures  en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = Heures totales - Heures doubles'''&lt;br /&gt;
*Deuxième méthode : si le type d'activité solo supervisé est coché pour l'instructeur, dans ce cas on détermine le total des heures en solo supervisé comme étant la somme des heures de vols de l'instructeur pour lesquelles il y a comme type d'activité celle correspondant au paramètre '''Activité correspondant à Solo supervisé'''.&lt;br /&gt;
:'''Heures totales = total des heures en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = total des heures en place droite avec le type d'activité correspondant à solo supervisé'''&lt;br /&gt;
:'''Heures doubles = Heures totales - Heures solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction et Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
pour ces deux rapport aeral nous utilisons la même stratégie qui est définie ci-dessous, pour différencier entre ces deux types d'activité on se base sur la place du pilote : &lt;br /&gt;
&lt;br /&gt;
-En instruction place de pilote = 1.&lt;br /&gt;
&lt;br /&gt;
-Hors instruction place de pilote = 0.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour les catégories AVION et HELECOPTERE===&lt;br /&gt;
&lt;br /&gt;
La stratégie retenue pour générer ces rapports Aeral a été de commencer par identifier les variables fiables qui sont présentes chez toutes les structures&lt;br /&gt;
(navigation, IFR, Nuit),qui sont récupérées soit à partir du [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]], soit grâce à l'utilisation de [[#Types d'activités|prédictions sur les types d'activités]], et à partir desquelles on calcule le nombre d'heures de vol pour les autres types d'activité. &lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_activity_types_partition_schema.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Les données les plus fiables sont celles qui sont les plus spécifiques, par exemple, pour obtenir la valeur de VFR nuit si ce type d’activité n'est pas présente dans la structure alors on considère que le type d’activité nuit est le plus spécifique et donc il correspond à la donnée la plus fiable pour calculer ce type d’activité.&lt;br /&gt;
&lt;br /&gt;
Le calcul des heures de vol pour les différents types d'activité se fait en suivant les étapes suivantes:&lt;br /&gt;
:* On commence par l’obtention  des heures de vol total de toutes les activités confondues par une requête sql.&lt;br /&gt;
:* Ensuite, les heures de vol de chaque type d'activité sont calculées en fonction des données fournies par le gestionnaire dans le [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]].&lt;br /&gt;
&lt;br /&gt;
La figure suivante représente le schéma de l'algorithme utilisé par le robot OpenFlyers pour calculer les heures de vol en fonction des données présente dans la structure :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_activity_schema_algorithm.png|650px]]&lt;br /&gt;
&lt;br /&gt;
:*'''Exemple''':&lt;br /&gt;
on prend l'exemple suivant dans lequel la structure ne possède que les types d'activités suivants: IFR, NUIT et Navigation &lt;br /&gt;
&lt;br /&gt;
on commence par l'obtention le '''total des heures de vol''' : 2430&lt;br /&gt;
&lt;br /&gt;
ensuite on obtient le total '''IFR''' :  1000&lt;br /&gt;
&lt;br /&gt;
puisque le type d'activité VFR nuit n'est pas présent dans la structure:&lt;br /&gt;
&lt;br /&gt;
on commence par exécuter deux requête la première sur le type d'activité nuit et l'autre sur les deux types d'activité ifr et nuit on obtient par exemple:&lt;br /&gt;
&lt;br /&gt;
'''Nuit''' = 1200 &lt;br /&gt;
&lt;br /&gt;
'''IFR nuit''' = 400&lt;br /&gt;
&lt;br /&gt;
ce que nous aide à calculer la valeur de VFR Nuit(voir la relation dans la figure ci-dessus) &lt;br /&gt;
&lt;br /&gt;
'''VFR Nuit''': 1200 - 400 = 800.&lt;br /&gt;
&lt;br /&gt;
pour calculer VFR jour navigation:&lt;br /&gt;
&lt;br /&gt;
on commence par calculer navigation jour, pour cela on obtient la valeur de navigation = 700 et la valeur de navigation nuit = 300 à partir de la base de données, et donc &lt;br /&gt;
'''Navigation jour'''  = 700 - 300 = 400,&lt;br /&gt;
&lt;br /&gt;
ensuite de la même manière on obtient IFR Navigation = 330 et IFR navigation nuit = 200, pour calculer '''IFR navigation jour''' = 330 - 200 = 130.&lt;br /&gt;
&lt;br /&gt;
et en utilisant la relation défini dans figure ci-dessus, on calcule '''VFR jour navigation''' = 400 - 130 = 270.&lt;br /&gt;
&lt;br /&gt;
à la fin on déduit la valeur de VFR jour local en suivant les étapes suivants :&lt;br /&gt;
&lt;br /&gt;
*:On calcule tout d'abord les heures de vol de '''VFR jour''' = VFR - VFR nuit = 1430 - 800.&lt;br /&gt;
 &lt;br /&gt;
avec '''VFR''' = Total - IFR = 2430 - 1000  = 1430.&lt;br /&gt;
&lt;br /&gt;
*:ensuite on déduit la valeur de '''VFR Jour local''' = VFR jour - VFR jour navigation = 630 - 270 = 360&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie ULM===&lt;br /&gt;
Pour générer les statistiques liée à ces rapports il faut prendre en compte que chaque vol de la catégorie ULM peut être classée selon la catégorie de la ressource. OpenFlyers supporte actuellement quatre catégories ULM principales : '''ULM classe 1 - Paramoteur''', '''ULM classe 2 - Pendulaire''', '''ULM classe 3 - 3 axes''' et '''ULM classe 4 - Autogire'''.&lt;br /&gt;
&lt;br /&gt;
Le système calcule les heures totales des vols ainsi que les heures de vols pour chaque catégorie de ressource configurée : Heures_Paramoteur, Heures_Pendulaire, Heures_Multiaxes et Heures_Autogire. Les catégories non configurées (Heures_Dirigeable et Heures_Helicoptere) utilisent par défaut des zéros, tandis que Heures_Dont_Vol_BIA reste également à zéro.&lt;br /&gt;
&lt;br /&gt;
NB. Si l'un des clients a des catégories de ressources autres que celles listées ci-dessus (par exemple ULM classe 5 - Dirigeable ou ULM classe 6 - Hélicoptère), il faudra ajouter des requêtes spécifiques de génération des heures de vol pour chacune de ces catégories de ressource.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie PLANEUR===&lt;br /&gt;
[[File:Gliding_Activity_Categorization_Diagram.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Pour générer les statistiques liées à ces rapports, il est important de noter que chaque vol de la catégorie '''motoplaneur''' est considéré comme un vol '''planeur'''.&lt;br /&gt;
&lt;br /&gt;
La stratégie adoptée pour générer ces rapports Aeral repose sur la prise en compte de divers aspects :&lt;br /&gt;
&lt;br /&gt;
*Extraire les heures totales de vol pour l'activité planeur, quelle que soit sa catégorie (en instruction, hors instruction, autres).&lt;br /&gt;
*Extraire les heures de vol étrangères spécifiquement pour l'activité planeur (Nationalité non française).&lt;br /&gt;
*Extraire les heures de vol des remorqueurs dans le cadre de l'activité planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie en instruction planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie hors instruction planeur.&lt;br /&gt;
*Extraire les heures de vol hors instruction destiné aux personnes françaises (Jeunes/Adultes) (total des heures, heures avec BIA, heures de vol de découverte).&lt;br /&gt;
*Extraire le nombre de vols hors instruction destiné aux personnes françaises (Jeunes/Adultes) selon le type d'activité (Remorqués, Treuillés, Lâchers solo, BPP Théorique, BPP Homologués).&lt;br /&gt;
&lt;br /&gt;
==Mouvements==&lt;br /&gt;
Pour calculer les mouvements sur la plateforme en comptant simplement les atterrissages des vols locaux.&lt;br /&gt;
&lt;br /&gt;
Sachant que 1 décollage ou 1 atterrissage ou 1 touch and go= 1 mouvement.&lt;br /&gt;
&lt;br /&gt;
mouvements locaux = total atterrissages vol locaux * 2&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
ce rapport aeral consiste à renseigner les droits d'entrée, cotisation non pilote et cotisation Club pour les deux tranches d'age (Jeunes et Adultes).&lt;br /&gt;
&lt;br /&gt;
pour cela, les valeurs du droit d'entrée et de la cotisation non pilote sont directement attribuées pour les deux tranches d'age, en se basant sur les variables renseignées dans la [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]] ou trouvées grâce à l'utilisation de [[#Prédictions|prédictions]].&lt;br /&gt;
&lt;br /&gt;
pour Cotisation Club on récupère la valeur ADULTES_Cotisation_Club directement à partir de la variable Cotisation.&lt;br /&gt;
&lt;br /&gt;
et on déduit '''Jeunes_Cotisation_Club = ADULTES_Cotisation_Club - remise Cotisation jeunes'''&lt;br /&gt;
&lt;br /&gt;
==Terrains==&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Aéronefs==&lt;br /&gt;
Ce tableau liste toutes les ressources de catégorie aéronefs (Avion, ULM, Hélicoptère, Planeur) :&lt;br /&gt;
*actives pour lesquelles l'option '''Saisie d'activité''' est cochée dans le paramétrage&lt;br /&gt;
*qui ont effectué au moins un vol dans l'année considérée&lt;br /&gt;
Le tableau contient les colonnes suivantes :&lt;br /&gt;
*Immatriculation qui correspond au nom de l'aéronef&lt;br /&gt;
*Modèle qui correspond au nom du type de ressource correspond&lt;br /&gt;
*Heures_Cette_Annee correspond au total des heures de vols effectuées par l'aéronef&lt;br /&gt;
*Heures_dont_en_Double correspond aux heures de vols pour lesquelles il y a 2 utilisateurs : 1 en place gauche et 1 en place droite.&lt;br /&gt;
*Heures_dont_en_Solo correspond à la différence de Heures_Cette_Annee et Heures_dont_en_Double.&lt;br /&gt;
*Tarif_Solo dont la valeur provient de la variable ayant pour nom &amp;quot;$tarifSolo + le nom du type d'aéronef&amp;quot;.&lt;br /&gt;
*Tarif_Double correspond au total du Tarif_Solo et tarif d'instruction (la variable ayant pour nom &amp;quot;$tarifInstruction&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Liste détaillée des personnes liée pour chaque nombre d'adhérents==&lt;br /&gt;
&lt;br /&gt;
Dans l'affichage des statistiques AERAL, pour les tableaux ADHERENTS PAR ACTIVITE X (avec X est une des catégories: AVION, HELICOPTERE, PLANEUR et ULM) et FORMATIONS, on associe pour chaque nombre de personnes différent de 0 un lien vers un nouvel onglet qui contient la table détaillée des personnes , cette dernière contient les informations suivantes :&lt;br /&gt;
*Nom&lt;br /&gt;
*Prénom&lt;br /&gt;
*Sexe&lt;br /&gt;
*Date de naissance&lt;br /&gt;
*Année de naissance	&lt;br /&gt;
*Génération&lt;br /&gt;
*Colonne dynamique pour chaque type de validité cochées en cas des '''Brevetes''': cette colonne contient une icône checked verte + la date d'obtention si la personne a la validité, sinon elle est vide&lt;br /&gt;
&lt;br /&gt;
=Prédictions=&lt;br /&gt;
Le principe de prédictions consiste à essayer de retrouver les paramètres nécessaires au remplissage du formulaire de statistiques AERAL en recherchant dans la base de données des mots clés spécifiques pour chaque référence.&lt;br /&gt;
&lt;br /&gt;
Liste des prédictions utilisées par le robot OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
===Tarif cotisation===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''cotisation'''&lt;br /&gt;
#'''cotisation club'''&lt;br /&gt;
#'''cotisation &amp;lt;nom de la structure&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Tarif droit d'entrée===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Droit d'entrée'''&lt;br /&gt;
#'''Tarif entrée'''&lt;br /&gt;
&lt;br /&gt;
===Tarif instruction===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Tarif instruction'''&lt;br /&gt;
&lt;br /&gt;
===Remise cotisation jeune===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Remise cotisation jeune'''&lt;br /&gt;
&lt;br /&gt;
==Qualifications==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''PPL'''&lt;br /&gt;
#'''Brevet de base'''&lt;br /&gt;
#'''CPL'''&lt;br /&gt;
#'''ATPL'''&lt;br /&gt;
#'''Brevet ULM'''&lt;br /&gt;
&lt;br /&gt;
==Profils==&lt;br /&gt;
===Non Pilotes===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils''' les occurrences :&lt;br /&gt;
#'''Honoraire'''&lt;br /&gt;
#'''Non pilote'''&lt;br /&gt;
&lt;br /&gt;
===Instructeurs===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils &amp;gt; Réservations''' les profils qui ont les deux droits suivants:&lt;br /&gt;
#'''Planning personnel'''&lt;br /&gt;
#'''Planning individuel visible pour les autres'''&lt;br /&gt;
&lt;br /&gt;
==Types d'activités==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' des occurrences spécifiques pour chaque type d'activité :&lt;br /&gt;
&lt;br /&gt;
IFR :&lt;br /&gt;
#'''IFR'''&lt;br /&gt;
#'''IFR-FR'''&lt;br /&gt;
&lt;br /&gt;
Instruction :&lt;br /&gt;
#'''Instruction'''&lt;br /&gt;
#'''Double commande'''&lt;br /&gt;
&lt;br /&gt;
Navigation :&lt;br /&gt;
#'''Navigation'''&lt;br /&gt;
&lt;br /&gt;
Nuit :&lt;br /&gt;
#'''Nuit'''&lt;br /&gt;
#'''Vol de nuit'''&lt;br /&gt;
&lt;br /&gt;
VFR jour navigation :&lt;br /&gt;
#'''VFR jour navigation'''&lt;br /&gt;
&lt;br /&gt;
VFR nuit :&lt;br /&gt;
#'''VFR nuit'''&lt;br /&gt;
&lt;br /&gt;
Solo supervisé :&lt;br /&gt;
# '''Solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
=Non-conformités=&lt;br /&gt;
==Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export==&lt;br /&gt;
Si la validité correspondant à la licence FFA n'est pas spécifiée ou si les numéros de licence FFA dans les tableaux [[#Bureau_2|BUREAU]] et [[#Instructeurs|INSTRUCTEURS]] n'ont pas été validés par l'API FFA, ces licences sont signalées en rouge avec le message d'erreur '''Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export''' en bas du tableau, et le JSON envoyé à SMILE ne les inclut pas.&lt;br /&gt;
&lt;br /&gt;
Si certains numéros sont en rouge et que d'autres ne le sont pas, alors cela veut dire que les numéros en rouge ne sont pas valides et qu'il faut les corriger dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
Si tous les numéros sont en rouge, alors il y a de grandes chances pour que le paramétrage en place du type validité associé à la licence FFA ne soit pas configuré pour être certifié par l'API FFA. Pour corriger cela, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Éditer le type de validité correspond à la licence FFA&lt;br /&gt;
*Dans le champ '''Certification''', sélectionner ''Par API FFA''&lt;br /&gt;
*Décocher '''Associer un document'''&lt;br /&gt;
*Cocher '''Soumise à échéance'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Heures de vol pour les utilisateurs ayant le sexe '''Indéfini'''==&lt;br /&gt;
Dans les blocs Activité en instruction ET Activité hors instruction, s'il y a des heures de vol liées au sexe indéfini, nous ajoutons des lignes supplémentaires où nous stockons les heures sans celles du sexe indéfini.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon sexe (M/F) doit être renseigné pour les utilisateurs ayant des vols enregistrés dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''.&lt;br /&gt;
&lt;br /&gt;
Remarque: Les utilisateurs sur fond rouge sont les utilisateurs pour lesquels le sexe, la nationalité ou la date de naissance ne sont pas renseignés.&lt;br /&gt;
&lt;br /&gt;
==Numéro de licence FFA non renseigné==&lt;br /&gt;
Dans les blocs INSTRUCTEURS et BUREAU, si l'utilisateur n'a pas le Numéro de licence FFA la case s'affiche en rouge pour indiqué la nécessité de renseigner les numéros de licence FFA pour faire la correspondance côté SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon Numéro de licence FFA doit être renseigné pour le personnel de BUREAU et les instructeurs.&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14261</id>
		<title>AERAL</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14261"/>
		<updated>2026-01-21T17:04:00Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Heures de vol pour les utilisateurs ayant le sexe Indéfini */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire le module OpenFlyers permettant de paramétrer et générer les statistiques Aeral (Acquisition et Exploitation des Rapports d'activités de l'Aviation Légère) requises par la DGAC pour les associations aéronautiques et qui se concrétise au travers du remplissage d'un formulaire dont la version PDF est disponible à cette adresse : https://www.formulaires.service-public.fr/gf/cerfa_12806.do .&lt;br /&gt;
&lt;br /&gt;
La DGAC préconise de ne pas remplir le formulaire PDF mais à la place le formulaire en ligne accessible à cette adresse : https://aeral.dg.aviation-civile.gouv.fr/WD220AWP/WD220Awp.exe/CONNECT/AERAL&lt;br /&gt;
&lt;br /&gt;
De son côté, la Fédération Française Aéronautique (FFA) propose un module qui permet de faciliter le remplissage des statistiques Aeral au travers de son outil SMILE. Une documentation concernant l'utilisation de ce module est disponible à cette adresse : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
&lt;br /&gt;
OpenFlyers s'interface avec le module SMILE de la FFA au travers d'un module de génération et d'envoi des statistiques Aeral. Ce module permet également d'automatiser l'envoi des données mensuelles vers SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur OpenFlyers==&lt;br /&gt;
Lorsque la structure utilise la fonction de génération du rapport Aeral pour la première fois :&lt;br /&gt;
*Tenter de générer un premier rapport Aeral en allant dans '''Gestion &amp;gt; Rapports &amp;gt; Statistiques Aeral &amp;gt; Export Aeral'''&lt;br /&gt;
Si le robot OpenFlyers n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le paramétrage. Sinon, il affiche les tableaux de statistiques.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, '''ne pas tenir des données publiées lors de la première tentative et vérifier les paramètres''' :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier que les paramètres renseignés sont conformes à la configuration de la plateforme OpenFlyers en s'aidant des consignes et copies d'écrans publiées dans le chapitre [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral]] de cette page&lt;br /&gt;
&lt;br /&gt;
Si les paramètres ne sont pas définis ou sauvegardés, [[Alertes-de-configuration#Le-formulaire-de-configuration-de-l'export-aeral-n'a-pas-été-rempli-ou-sauvegardé|une alerte de configuration est affichée]].&lt;br /&gt;
&lt;br /&gt;
Une fois les paramètres définis :&lt;br /&gt;
*Retourner dans '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier l'année sélectionnée&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
*Vérifier la cohérence des statistiques générées&lt;br /&gt;
Une fois que les données sont considérées comme correctes, il faut recopier les données sur l'[https://aeral.dg.aviation-civile.gouv.fr/AERAL outil Aeral] '''sauf pour les aéro-clubs affiliés à la Fédération Française Aéronautique''' où cette dernière souhaite que les données remontent via son outil SMILE. Voir le chapitre suivant [[#Chronologie-des-actions-à-effectuer-sur-SMILE-FFA|Chronologie des actions à effectuer sur SMILE FFA]]&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur SMILE FFA==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir renseigné le '''Code FFA''' dans le formulaire [[#Coordonnées|Coordonnées]] présent dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Avoir testé le code FFA de sorte à avoir le cadenas vert de verrouillé&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Depuis '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral''', une fois que la cohérence des statistiques générées a été vérifié, il faut :&lt;br /&gt;
*Cliquer sur le bouton '''Envoyer à SMILE'''&lt;br /&gt;
*[https://projet.ff-aero.fr/SMILE_II Aller sur SMILE AEROCLUB] et suivre la procédure suivante : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
*Il faut parcourir les onglets un par un de la gauche vers la droite en cliquant à chaque fois sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.''' puis cliquer sur le bouton '''Oui''' de la boite de dialogue demandant confirmation&lt;br /&gt;
*Une fois que tous les onglets ont été parcourus, les données importées et les vérifications effectuées, il faut cliquer sur le dernier onglet '''VALIDATION'''&lt;br /&gt;
Si les vérifications d'intégrité sont correctes sur SMILE, un pavé sur fond vert apparait avec 2 cases à cocher pour permettre l'envoi des données vers Aeral&lt;br /&gt;
&lt;br /&gt;
[[File:VALIDATION_SMILE.png|600px]]&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION : il n'est possible d'envoyer les données qu'une seule fois depuis SMILE vers Aeral'''&lt;br /&gt;
&lt;br /&gt;
;Points d'attention&lt;br /&gt;
*les données ne remontent dans chaque formulaire SMILE qu'après avoir cliqué sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.'''&lt;br /&gt;
Il faut effectuer cette action pour CHAQUE onglet. Il est donc recommandé de parcourir les onglets de la gauche vers la droite.&lt;br /&gt;
*Il est possible d'exporter (pousser) les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite. Chaque nouvel envoi de données écrase l'envoi précédent effectué pour le même mois. Par contre, à chaque nouvel envoi, il faut cliquer sur le bouton d'import dans SMILE FFA pour chaque onglet du formulaire.&lt;br /&gt;
*A l'heure actuelle, SMILE récupère bien toutes les données OpenFlyers mais ne permet pas de les incorporer toutes. Ainsi il manque le bouton de synchronisation pour les onglets suivants :&lt;br /&gt;
**GENERAL : non souhaité par la FFA&lt;br /&gt;
**TERRAINS : prévu pour 2024&lt;br /&gt;
**BUREAU : à fiabiliser&lt;br /&gt;
**MATERIEL : prévu pour 2024&lt;br /&gt;
*Autant il est possible de pousser les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite, autant il n'est possible d'exporter de SMILE FFA vers Aeral qu'une seule fois. En cas d'erreur, il faut contacter la [https://www.ffa-aero.fr Fédération Française Aéronautique] pour déverrouiller le système et permettre d'effectuer un nouvel envoi.&lt;br /&gt;
&lt;br /&gt;
=Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au paramétrage '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Afin de pouvoir générer les statistiques Aeral, il faut que toutes les questions du formulaire soient complétées. Ce dernier est pré-rempli automatiquement avec les données de la structure grâce à l'utilisation de [[#Prédictions|prédictions]] lors de la première tentative de génération des statistiques Aeral depuis [[#Gestion-&amp;gt;-Rapports-&amp;gt;-Rapports-spécifiques-&amp;gt;-Export-Aeral|Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral]].&lt;br /&gt;
&lt;br /&gt;
Il est donc fortement recommandé de générer une première fois les statistiques '''AVANT''' d'éditer le contenu du paramétrage. En effet, une fois que les données de paramétrage des statistiques Aeral sont stockées, la prédiction est désactivée pour ne pas réinitialiser les valeurs enregistrées.&lt;br /&gt;
&lt;br /&gt;
Après une première génération des statistiques, le gestionnaire est invité à vérifier les paramètres pré-remplis du formulaire, à les corriger le cas échéant, et à renseigner manuellement les éléments restants.&lt;br /&gt;
&lt;br /&gt;
les données récupérées de ce formulaire affectent directement la manière dont le robot OpenFlyers traite les rapports. Si une donnée n'est pas présente dans le paramétrage de la structure, le gestionnaire doit sélectionner le choix '''Non applicable'''.&lt;br /&gt;
&lt;br /&gt;
==Coordonnées==&lt;br /&gt;
[[File:Aeral coordonnées.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour les structures affiliées à la [https://www.ffa-aero.fr Fédération Française Aéronautique] :&lt;br /&gt;
*Renseigner '''Code FFA (10 chiffres sans espace et sans tiret)'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut à droite&lt;br /&gt;
*Cliquer sur le bouton '''Valider le code FFA'''. Cela permet de tester le code FFA en envoyant les données des statistique AERAL à l'API SMILE FFA en mode de test.&lt;br /&gt;
Une fois que le code FFA est validé, le pictogramme du cadenas à droite passe vert/verrouillé&lt;br /&gt;
*Cliquer sur l'interrupteur '''Synchronisation Automatique SMILE FFA''' pour activer la synchronisation automatique les données AERAL vers le serveur SMILE de la FFA. L'interrupteur n'est activable que si le '''Code FFA''' est préalablement validé. Lorsque l'interrupteur est activé et [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|le paramétrage Aeral]] est rempli et sauvegardé, les statistiques sont envoyées tous les 1er du mois à l'API SMILE FFA. Elles concernent la période du 1er janvier de l'année en cours au jour précédent la date d'envoi, sauf pour le 1er janvier où la période correspond à l'année précédente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NB''': Pour valider le code FFA, on click sur le bouton '''Valider le code FFA''':&lt;br /&gt;
*Si le code FFA est valide:&lt;br /&gt;
**Le champ de la saisie du code FFA sera verrouillé avec un cadenas qui passe en vert.&lt;br /&gt;
**L'interrupteur de la synchronisation automatique peut être activé.&lt;br /&gt;
**Le bouton '''Valider le code FFA''' disparaît ( le déverrouillage du Code FFA ne sera fait que par un admin interne d'OpenFlyers).&lt;br /&gt;
*Si le code FFA n'est pas valide:&lt;br /&gt;
**L'interrupteur de la synchronisation automatique devient désactivé.&lt;br /&gt;
**le champ de la saisie du code FFA sera déverrouillé avec un cadenas en rouge.&lt;br /&gt;
&lt;br /&gt;
*'''Département'''&lt;br /&gt;
*'''Région aéronautique'''&lt;br /&gt;
*'''Délégation régionale'''&lt;br /&gt;
*'''Date agrément DGAC'''&lt;br /&gt;
*'''Préfecture Agrément DGAC'''&lt;br /&gt;
*'''Numéro ATO'''&lt;br /&gt;
*'''Date d'obtention de l'ATO'''&lt;br /&gt;
*'''Numéro DTO'''&lt;br /&gt;
*'''Date d'obtention du DTO'''&lt;br /&gt;
*'''APE'''&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
[[File:Aeral_ _Tarifs.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Droit d'entrée&lt;br /&gt;
*Cotisation&lt;br /&gt;
*Remise cotisation jeunes&lt;br /&gt;
*Tarif supplément instruction&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau [[#Tarifs|Tarifs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validité définissant la pratique d'une activité==&lt;br /&gt;
[[File:Aeral_ _Validité_définissant_la_pratique_d'une_activité.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Avion&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Hélicoptère&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Planeur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 1 - Paramoteur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 2 - Pendulaire&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 3 - 3 axes&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 4 - Autogire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces champs permettent à l'utilisateur de choisir le type de validité correspondant à chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau ADHERENTS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance validités / Brevets, licences ou qualifications==&lt;br /&gt;
[[File:Aeral_ _Correspondance_validités_Brevets_licences_ou_qualifications.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Activité Avion&lt;br /&gt;
**LAPL&lt;br /&gt;
**PPL&lt;br /&gt;
**CPL&lt;br /&gt;
**ATPL&lt;br /&gt;
**Qualif_Voltige&lt;br /&gt;
**Qualif_Montagne&lt;br /&gt;
**Qualif_Hydravion&lt;br /&gt;
**Qualif_IFR&lt;br /&gt;
**Qualif_VFR_Nuit&lt;br /&gt;
*Activité ULM&lt;br /&gt;
**Paramoteur&lt;br /&gt;
**Pendulaire&lt;br /&gt;
**Multiaxes&lt;br /&gt;
**Autogire&lt;br /&gt;
**Dirigeable&lt;br /&gt;
**Hélicoptère&lt;br /&gt;
*Activité Hélicoptère&lt;br /&gt;
**LAPL(H)&lt;br /&gt;
**PPL(H)&lt;br /&gt;
**CPL(H)&lt;br /&gt;
**ATPL(H)&lt;br /&gt;
*Activité Planeur&lt;br /&gt;
**VV/SPL/LAPL(S)&lt;br /&gt;
&lt;br /&gt;
Ces champs permettant l'utilisateur de choisir le type de validité correspondant à Brevets, licences ou qualifications pour chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau FORMATIONS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validités correspondant à la cotisation de la structure==&lt;br /&gt;
[[File:Aeral_ _Validités_correspondant_à_la_cotisation_de_la_structure.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Les validités cochées dans cette partie sont utilisées par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
==Validité correspondant à la licence FFA==&lt;br /&gt;
Une liste déroulante comprenant tous les types de validités configurés pour obtenir la certification par l'API FFA.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_ _Validité_correspondant_à_la_licence_FFA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Si aucun type de validité n'est défini pour l'obtention de la certification via l'API FFA, le message d'erreur suivant sera affiché.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral-Validité-correspondant-à-la-licence-FFA-Warning.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
La validité cochée dans cette partie est utilisée par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs brevetés inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Validités désignant les brevetés==&lt;br /&gt;
[[File:Aeral_ _Validités_désignant_les_brevetés.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Les validités sélectionnées dans ce champ permettent de définir les validités qui permettent de savoir une personne dispose d'un brevet ou non et donc par différence les personnes qui ne disposent d'aucun brevet sont considérées comme des élèves. Cette catégorisation des personnes est utilisée dans les rapports [[#Adhérents-par-activité-X|Adhérents par activité X]].&lt;br /&gt;
&lt;br /&gt;
==Activités pratiquées==&lt;br /&gt;
[[File:Aeral_ _Activités_pratiquées.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Cocher les activités pratiquées par la structure.&lt;br /&gt;
&lt;br /&gt;
Les paramètres de cette partie sont utilisées par le robot OpenFlyers pour générer les tableaux [[#Activité-en-instruction-et-Activité-hors-instruction|Activité en instruction et Activité hors instruction]] ainsi que pour le tableau [[#Instructeurs|Instructeurs]] (pour la partie '''solo supervisé''') du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance activités / typologie des vols Aeral==&lt;br /&gt;
[[File:Aeral_ _Correspondance_activités_typologie_des_vols_Aeral.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
*IFR&lt;br /&gt;
*VFR Nuit&lt;br /&gt;
*Nuit&lt;br /&gt;
*VFR jour navigation&lt;br /&gt;
*Navigation&lt;br /&gt;
*Montagne&lt;br /&gt;
*Voltige&lt;br /&gt;
*BIA&lt;br /&gt;
*Baptême de l'air&lt;br /&gt;
*Instruction&lt;br /&gt;
*Remorquage&lt;br /&gt;
*Treuillage&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer les tableau 'En_Instruction_Par_Activite pour la catégorie X' et 'Hors_Instruction_Par_Activite' du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Activité correspondant à Solo supervisé==&lt;br /&gt;
OpenFlyers recommande de ne pas saisir les vols solos supervisés avec l'instructeur en place droite mais de créer un champ spécifique pour renseigner le nom du superviseur. Le paramétrage correspondant est décrit dans le chapitre [[Gestion-des-activités#Paramétrage-des-vols-solos-supervisés|Paramétrage des vols solos supervisés]].&lt;br /&gt;
&lt;br /&gt;
*L'activité sélectionnée dans le champ autocomplète '''Solo Supervisé''' est utilisée par le robot OpenFlyers dans les tableaux 'En_Instruction_Par_Population pour la catégorie X' et 'En_Instruction_Par_Activite pour la catégorie X'  du rapport Aeral afin de déterminer les heures de vol en Solo Supervisé durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Instructeur_En_Place_Droite.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est activé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un instructeur occupant la place droite et qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Champ_Métier_Correspondant_Au_Superviseur.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est désactivé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un superviseur qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''. Pour cela il faut renseigner le '''Champ métier correspondant au superviseur'''.&lt;br /&gt;
&lt;br /&gt;
==Matériels==&lt;br /&gt;
[[File:Aeral_ _Matériels.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Cocher le matériel dont dispose la structure.&lt;br /&gt;
&lt;br /&gt;
==Terrain==&lt;br /&gt;
[[File:Aeral_ _Terrain.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Renseigner les informations concernant l'aérodrome utilisé.&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
[[File:Aeral_ _Bureau.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Définir les personnelles exerçant les fonctions définies.&lt;br /&gt;
&lt;br /&gt;
==Personnel==&lt;br /&gt;
[[File:Aeral_ _Personnel.png|1600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Renseigner les informatiques statistiques concernant le personnel.&lt;br /&gt;
&lt;br /&gt;
==Profil des adhérents non pilotes==&lt;br /&gt;
[[File:Aeral_ _Profil_des_adhérents_non_pilotes.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Le profil sélectionné dans cette partie est utilisé par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure qui rentrent la catégorie '''non pilotes'''.&lt;br /&gt;
&lt;br /&gt;
==Profil(s) désignant les instructeurs==&lt;br /&gt;
[[File:Aeral_ _Profil(s)_désignant_les_instructeurs.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Définir le profil permettant de désigner les utilisateurs instructeurs.&lt;br /&gt;
&lt;br /&gt;
Ce profil est utilisé par le robot OpenFlyers pour lister les utilisateurs dans le tableau [[#Instructeurs|Instructeurs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
=Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au rapport '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Voir-tous-les-rapports|Voir tous les rapports]] ou [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Lors de la première tentative de génération d'un export Aeral, le robot OpenFlyers tente de devenir le paramétrage qui doit être mis en place. S'il arrive à renseigner l'ensemble des paramètres indispensables à la génération du rapport, alors il affiche les tableaux pour les statistiques Aeral. S'il n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|paramétrage Aeral]].&lt;br /&gt;
&lt;br /&gt;
Avant de générer le bilan annuel, il faut s'assurer que toutes les informations sont renseignées, si ce n'est pas le cas alors le gestionnaire est redirigé vers le formulaire précédent.&lt;br /&gt;
&lt;br /&gt;
L'année affichée par défaut est :&lt;br /&gt;
*l'année précédente lorsque le mois actuel est compris entre le mois de janvier et le mois de mars inclus&lt;br /&gt;
*l'année actuelle dans le cas contraire&lt;br /&gt;
&lt;br /&gt;
La distinction entre '''jeunes''' et '''adultes''' dans les rapports se situe à :&lt;br /&gt;
*21 ans pour '''AVION'''.&lt;br /&gt;
*25 ans pour les autres catégories ('''ULM''', '''HELECOPTERE''' et '''PLANEUR''')&lt;br /&gt;
&lt;br /&gt;
Une personne est décomptée comme adulte dès lors que son année de naissance est supérieure ou égale à 21 ou 25 ans suivant la catégorie considérée.&lt;br /&gt;
&lt;br /&gt;
==Rapports issus de données de formulaire==&lt;br /&gt;
:* rapport Aeral ''' TERRAINS'''&lt;br /&gt;
:* rapport Aeral '''BUREAU'''&lt;br /&gt;
:* rapport Aeral '''PERSONNEL'''&lt;br /&gt;
:* rapport Aeral '''MATERIEL'''&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité X==&lt;br /&gt;
Ce rapport regroupe 4 tableaux qui correspondent chacun à un type d'activité :&lt;br /&gt;
*Avion&lt;br /&gt;
*Hélicoptère&lt;br /&gt;
*ULM&lt;br /&gt;
*Planeur&lt;br /&gt;
&lt;br /&gt;
Pour qu'un pratiquant soit pris en compte dans le recensement, il faut :&lt;br /&gt;
*Qu'il détienne au moins l'une des validités [[#Validités-correspondant-à-la-cotisation-de-la-structure|Validités correspondant à la cotisation de la structure]] et dont la date d'échéance doit être supérieure ou égale au 31/12 de l'année des statistiques.&lt;br /&gt;
*Qu'il dispose d'une date de naissance (cela permet d'exclure les utilisateurs qui ne correspondent pas à des utilisateurs réels en leur mettant une date de naissance vide)&lt;br /&gt;
&lt;br /&gt;
Pour chaque type d'activité, le robot OpenFlyers détermine les pratiquants en prenant en compte au moins l'un des éléments suivants :&lt;br /&gt;
*La pratique effective durant l'année sur un type d'aéronef correspondant au type d'activité&lt;br /&gt;
*La détention par un utilisateur d'une validité le définissant comme pratiquant de l'activité&lt;br /&gt;
&lt;br /&gt;
Le robot OpenFlyers prend en compte les utilisateurs désactivés.&lt;br /&gt;
&lt;br /&gt;
Une fois calculé le nombre de pratiquants, le robot OpenFlyers détermine le nombre de brevetés parmi ces pratiquants. Est considéré comme breveté un utilisateur qui dispose de l'une des validités sélectionnées dans le paramétrage [[#Validités-désignant-les-brevetés|Validités désignant les brevetés]], peu importe que la validité soit à jour ou non. Cela permet de déterminer, par soustraction, les personnes qui sont élèves. Dis autrement : est élève une personne qui ne possède pas une validité répertoriée comme étant une validité de type &amp;quot;brevet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La figure suivante résume l'approche adoptée pour générer les statistiques liées à ce rapport :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_members_by_activity_schema_algorithm.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==Instructeurs==&lt;br /&gt;
Pour calculer les heures de vol de chaque instructeur, il y a 2 façons possibles :&lt;br /&gt;
*Première méthode : Lorsqu'il n'y a pas de type d'activité de sélectionné dans le champ '''Activité correspondant à Solo supervisé''', le robot OpenFlyers détermine le total des heures de vol de l'instructeur en place droite, puis le total des heures de vols en place droite de l'instructeur pour lesquelles il y a le type d'activité sélectionné pour le paramètre '''Instruction'''&lt;br /&gt;
:'''Heures totales = total des heures en place droite '''&lt;br /&gt;
:'''Heures doubles = total des heures  en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = Heures totales - Heures doubles'''&lt;br /&gt;
*Deuxième méthode : si le type d'activité solo supervisé est coché pour l'instructeur, dans ce cas on détermine le total des heures en solo supervisé comme étant la somme des heures de vols de l'instructeur pour lesquelles il y a comme type d'activité celle correspondant au paramètre '''Activité correspondant à Solo supervisé'''.&lt;br /&gt;
:'''Heures totales = total des heures en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = total des heures en place droite avec le type d'activité correspondant à solo supervisé'''&lt;br /&gt;
:'''Heures doubles = Heures totales - Heures solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction et Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
pour ces deux rapport aeral nous utilisons la même stratégie qui est définie ci-dessous, pour différencier entre ces deux types d'activité on se base sur la place du pilote : &lt;br /&gt;
&lt;br /&gt;
-En instruction place de pilote = 1.&lt;br /&gt;
&lt;br /&gt;
-Hors instruction place de pilote = 0.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour les catégories AVION et HELECOPTERE===&lt;br /&gt;
&lt;br /&gt;
La stratégie retenue pour générer ces rapports Aeral a été de commencer par identifier les variables fiables qui sont présentes chez toutes les structures&lt;br /&gt;
(navigation, IFR, Nuit),qui sont récupérées soit à partir du [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]], soit grâce à l'utilisation de [[#Types d'activités|prédictions sur les types d'activités]], et à partir desquelles on calcule le nombre d'heures de vol pour les autres types d'activité. &lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_activity_types_partition_schema.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Les données les plus fiables sont celles qui sont les plus spécifiques, par exemple, pour obtenir la valeur de VFR nuit si ce type d’activité n'est pas présente dans la structure alors on considère que le type d’activité nuit est le plus spécifique et donc il correspond à la donnée la plus fiable pour calculer ce type d’activité.&lt;br /&gt;
&lt;br /&gt;
Le calcul des heures de vol pour les différents types d'activité se fait en suivant les étapes suivantes:&lt;br /&gt;
:* On commence par l’obtention  des heures de vol total de toutes les activités confondues par une requête sql.&lt;br /&gt;
:* Ensuite, les heures de vol de chaque type d'activité sont calculées en fonction des données fournies par le gestionnaire dans le [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]].&lt;br /&gt;
&lt;br /&gt;
La figure suivante représente le schéma de l'algorithme utilisé par le robot OpenFlyers pour calculer les heures de vol en fonction des données présente dans la structure :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_activity_schema_algorithm.png|650px]]&lt;br /&gt;
&lt;br /&gt;
:*'''Exemple''':&lt;br /&gt;
on prend l'exemple suivant dans lequel la structure ne possède que les types d'activités suivants: IFR, NUIT et Navigation &lt;br /&gt;
&lt;br /&gt;
on commence par l'obtention le '''total des heures de vol''' : 2430&lt;br /&gt;
&lt;br /&gt;
ensuite on obtient le total '''IFR''' :  1000&lt;br /&gt;
&lt;br /&gt;
puisque le type d'activité VFR nuit n'est pas présent dans la structure:&lt;br /&gt;
&lt;br /&gt;
on commence par exécuter deux requête la première sur le type d'activité nuit et l'autre sur les deux types d'activité ifr et nuit on obtient par exemple:&lt;br /&gt;
&lt;br /&gt;
'''Nuit''' = 1200 &lt;br /&gt;
&lt;br /&gt;
'''IFR nuit''' = 400&lt;br /&gt;
&lt;br /&gt;
ce que nous aide à calculer la valeur de VFR Nuit(voir la relation dans la figure ci-dessus) &lt;br /&gt;
&lt;br /&gt;
'''VFR Nuit''': 1200 - 400 = 800.&lt;br /&gt;
&lt;br /&gt;
pour calculer VFR jour navigation:&lt;br /&gt;
&lt;br /&gt;
on commence par calculer navigation jour, pour cela on obtient la valeur de navigation = 700 et la valeur de navigation nuit = 300 à partir de la base de données, et donc &lt;br /&gt;
'''Navigation jour'''  = 700 - 300 = 400,&lt;br /&gt;
&lt;br /&gt;
ensuite de la même manière on obtient IFR Navigation = 330 et IFR navigation nuit = 200, pour calculer '''IFR navigation jour''' = 330 - 200 = 130.&lt;br /&gt;
&lt;br /&gt;
et en utilisant la relation défini dans figure ci-dessus, on calcule '''VFR jour navigation''' = 400 - 130 = 270.&lt;br /&gt;
&lt;br /&gt;
à la fin on déduit la valeur de VFR jour local en suivant les étapes suivants :&lt;br /&gt;
&lt;br /&gt;
*:On calcule tout d'abord les heures de vol de '''VFR jour''' = VFR - VFR nuit = 1430 - 800.&lt;br /&gt;
 &lt;br /&gt;
avec '''VFR''' = Total - IFR = 2430 - 1000  = 1430.&lt;br /&gt;
&lt;br /&gt;
*:ensuite on déduit la valeur de '''VFR Jour local''' = VFR jour - VFR jour navigation = 630 - 270 = 360&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie ULM===&lt;br /&gt;
Pour générer les statistiques liée à ces rapports il faut prendre en compte que chaque vol de la catégorie ULM peut être classée selon la catégorie de la ressource. OpenFlyers supporte actuellement quatre catégories ULM principales : '''ULM classe 1 - Paramoteur''', '''ULM classe 2 - Pendulaire''', '''ULM classe 3 - 3 axes''' et '''ULM classe 4 - Autogire'''.&lt;br /&gt;
&lt;br /&gt;
Le système calcule les heures totales des vols ainsi que les heures de vols pour chaque catégorie de ressource configurée : Heures_Paramoteur, Heures_Pendulaire, Heures_Multiaxes et Heures_Autogire. Les catégories non configurées (Heures_Dirigeable et Heures_Helicoptere) utilisent par défaut des zéros, tandis que Heures_Dont_Vol_BIA reste également à zéro.&lt;br /&gt;
&lt;br /&gt;
NB. Si l'un des clients a des catégories de ressources autres que celles listées ci-dessus (par exemple ULM classe 5 - Dirigeable ou ULM classe 6 - Hélicoptère), il faudra ajouter des requêtes spécifiques de génération des heures de vol pour chacune de ces catégories de ressource.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie PLANEUR===&lt;br /&gt;
[[File:Gliding_Activity_Categorization_Diagram.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Pour générer les statistiques liées à ces rapports, il est important de noter que chaque vol de la catégorie '''motoplaneur''' est considéré comme un vol '''planeur'''.&lt;br /&gt;
&lt;br /&gt;
La stratégie adoptée pour générer ces rapports Aeral repose sur la prise en compte de divers aspects :&lt;br /&gt;
&lt;br /&gt;
*Extraire les heures totales de vol pour l'activité planeur, quelle que soit sa catégorie (en instruction, hors instruction, autres).&lt;br /&gt;
*Extraire les heures de vol étrangères spécifiquement pour l'activité planeur (Nationalité non française).&lt;br /&gt;
*Extraire les heures de vol des remorqueurs dans le cadre de l'activité planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie en instruction planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie hors instruction planeur.&lt;br /&gt;
*Extraire les heures de vol hors instruction destiné aux personnes françaises (Jeunes/Adultes) (total des heures, heures avec BIA, heures de vol de découverte).&lt;br /&gt;
*Extraire le nombre de vols hors instruction destiné aux personnes françaises (Jeunes/Adultes) selon le type d'activité (Remorqués, Treuillés, Lâchers solo, BPP Théorique, BPP Homologués).&lt;br /&gt;
&lt;br /&gt;
==Mouvements==&lt;br /&gt;
Pour calculer les mouvements sur la plateforme en comptant simplement les atterrissages des vols locaux.&lt;br /&gt;
&lt;br /&gt;
Sachant que 1 décollage ou 1 atterrissage ou 1 touch and go= 1 mouvement.&lt;br /&gt;
&lt;br /&gt;
mouvements locaux = total atterrissages vol locaux * 2&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
ce rapport aeral consiste à renseigner les droits d'entrée, cotisation non pilote et cotisation Club pour les deux tranches d'age (Jeunes et Adultes).&lt;br /&gt;
&lt;br /&gt;
pour cela, les valeurs du droit d'entrée et de la cotisation non pilote sont directement attribuées pour les deux tranches d'age, en se basant sur les variables renseignées dans la [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]] ou trouvées grâce à l'utilisation de [[#Prédictions|prédictions]].&lt;br /&gt;
&lt;br /&gt;
pour Cotisation Club on récupère la valeur ADULTES_Cotisation_Club directement à partir de la variable Cotisation.&lt;br /&gt;
&lt;br /&gt;
et on déduit '''Jeunes_Cotisation_Club = ADULTES_Cotisation_Club - remise Cotisation jeunes'''&lt;br /&gt;
&lt;br /&gt;
==Terrains==&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Aéronefs==&lt;br /&gt;
Ce tableau liste toutes les ressources de catégorie aéronefs (Avion, ULM, Hélicoptère, Planeur) :&lt;br /&gt;
*actives pour lesquelles l'option '''Saisie d'activité''' est cochée dans le paramétrage&lt;br /&gt;
*qui ont effectué au moins un vol dans l'année considérée&lt;br /&gt;
Le tableau contient les colonnes suivantes :&lt;br /&gt;
*Immatriculation qui correspond au nom de l'aéronef&lt;br /&gt;
*Modèle qui correspond au nom du type de ressource correspond&lt;br /&gt;
*Heures_Cette_Annee correspond au total des heures de vols effectuées par l'aéronef&lt;br /&gt;
*Heures_dont_en_Double correspond aux heures de vols pour lesquelles il y a 2 utilisateurs : 1 en place gauche et 1 en place droite.&lt;br /&gt;
*Heures_dont_en_Solo correspond à la différence de Heures_Cette_Annee et Heures_dont_en_Double.&lt;br /&gt;
*Tarif_Solo dont la valeur provient de la variable ayant pour nom &amp;quot;$tarifSolo + le nom du type d'aéronef&amp;quot;.&lt;br /&gt;
*Tarif_Double correspond au total du Tarif_Solo et tarif d'instruction (la variable ayant pour nom &amp;quot;$tarifInstruction&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Liste détaillée des personnes liée pour chaque nombre d'adhérents==&lt;br /&gt;
&lt;br /&gt;
Dans l'affichage des statistiques AERAL, pour les tableaux ADHERENTS PAR ACTIVITE X (avec X est une des catégories: AVION, HELICOPTERE, PLANEUR et ULM) et FORMATIONS, on associe pour chaque nombre de personnes différent de 0 un lien vers un nouvel onglet qui contient la table détaillée des personnes , cette dernière contient les informations suivantes :&lt;br /&gt;
*Nom&lt;br /&gt;
*Prénom&lt;br /&gt;
*Sexe&lt;br /&gt;
*Date de naissance&lt;br /&gt;
*Année de naissance	&lt;br /&gt;
*Génération&lt;br /&gt;
*Colonne dynamique pour chaque type de validité cochées en cas des '''Brevetes''': cette colonne contient une icône checked verte + la date d'obtention si la personne a la validité, sinon elle est vide&lt;br /&gt;
&lt;br /&gt;
=Prédictions=&lt;br /&gt;
Le principe de prédictions consiste à essayer de retrouver les paramètres nécessaires au remplissage du formulaire de statistiques AERAL en recherchant dans la base de données des mots clés spécifiques pour chaque référence.&lt;br /&gt;
&lt;br /&gt;
Liste des prédictions utilisées par le robot OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
===Tarif cotisation===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''cotisation'''&lt;br /&gt;
#'''cotisation club'''&lt;br /&gt;
#'''cotisation &amp;lt;nom de la structure&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Tarif droit d'entrée===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Droit d'entrée'''&lt;br /&gt;
#'''Tarif entrée'''&lt;br /&gt;
&lt;br /&gt;
===Tarif instruction===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Tarif instruction'''&lt;br /&gt;
&lt;br /&gt;
===Remise cotisation jeune===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Remise cotisation jeune'''&lt;br /&gt;
&lt;br /&gt;
==Qualifications==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''PPL'''&lt;br /&gt;
#'''Brevet de base'''&lt;br /&gt;
#'''CPL'''&lt;br /&gt;
#'''ATPL'''&lt;br /&gt;
#'''Brevet ULM'''&lt;br /&gt;
&lt;br /&gt;
==Profils==&lt;br /&gt;
===Non Pilotes===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils''' les occurrences :&lt;br /&gt;
#'''Honoraire'''&lt;br /&gt;
#'''Non pilote'''&lt;br /&gt;
&lt;br /&gt;
===Instructeurs===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils &amp;gt; Réservations''' les profils qui ont les deux droits suivants:&lt;br /&gt;
#'''Planning personnel'''&lt;br /&gt;
#'''Planning individuel visible pour les autres'''&lt;br /&gt;
&lt;br /&gt;
==Types d'activités==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' des occurrences spécifiques pour chaque type d'activité :&lt;br /&gt;
&lt;br /&gt;
IFR :&lt;br /&gt;
#'''IFR'''&lt;br /&gt;
#'''IFR-FR'''&lt;br /&gt;
&lt;br /&gt;
Instruction :&lt;br /&gt;
#'''Instruction'''&lt;br /&gt;
#'''Double commande'''&lt;br /&gt;
&lt;br /&gt;
Navigation :&lt;br /&gt;
#'''Navigation'''&lt;br /&gt;
&lt;br /&gt;
Nuit :&lt;br /&gt;
#'''Nuit'''&lt;br /&gt;
#'''Vol de nuit'''&lt;br /&gt;
&lt;br /&gt;
VFR jour navigation :&lt;br /&gt;
#'''VFR jour navigation'''&lt;br /&gt;
&lt;br /&gt;
VFR nuit :&lt;br /&gt;
#'''VFR nuit'''&lt;br /&gt;
&lt;br /&gt;
Solo supervisé :&lt;br /&gt;
# '''Solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
=Non-conformités=&lt;br /&gt;
==Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export==&lt;br /&gt;
Si la validité correspondant à la licence FFA n'est pas spécifiée ou si les numéros de licence FFA dans les tableaux [[#Bureau_2|BUREAU]] et [[#Instructeurs|INSTRUCTEURS]] n'ont pas été validés par l'API FFA, ces licences sont signalées en rouge avec le message d'erreur '''Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export''' en bas du tableau, et le JSON envoyé à SMILE ne les inclut pas.&lt;br /&gt;
&lt;br /&gt;
Si certains numéros sont en rouge et que d'autres ne le sont pas, alors cela veut dire que les numéros en rouge ne sont pas valides et qu'il faut les corriger dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
Si tous les numéros sont en rouge, alors il y a de grandes chances pour que le paramétrage en place du type validité associé à la licence FFA ne soit pas configuré pour être certifié par l'API FFA. Pour corriger cela, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Éditer le type de validité correspond à la licence FFA&lt;br /&gt;
*Dans le champ '''Certification''', sélectionner ''Par API FFA''&lt;br /&gt;
*Décocher '''Associer un document'''&lt;br /&gt;
*Cocher '''Soumise à échéance'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Heures de vol pour les utilisateurs ayant le sexe '''Indéfini'''==&lt;br /&gt;
Dans les blocs Activité en instruction ET Activité hors instruction, s'il y a des heures de vol liées au sexe indéfini, nous ajoutons des lignes supplémentaires où nous stockons les heures sans celles du sexe indéfini.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon sexe (M/F) doit être renseigné pour les utilisateurs ayant des vols enregistrés dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''.&lt;br /&gt;
Remarque: Les utilisateurs sur fond rouge sont les utilisateurs pour lesquels le sexe, la nationalité ou la date de naissance ne sont pas renseignés.&lt;br /&gt;
&lt;br /&gt;
==Numéro de licence FFA non renseigné==&lt;br /&gt;
Dans les blocs INSTRUCTEURS et BUREAU, si l'utilisateur n'a pas le Numéro de licence FFA la case s'affiche en rouge pour indiqué la nécessité de renseigner les numéros de licence FFA pour faire la correspondance côté SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon Numéro de licence FFA doit être renseigné pour le personnel de BUREAU et les instructeurs.&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14223</id>
		<title>AERAL</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=AERAL&amp;diff=14223"/>
		<updated>2026-01-14T14:49:10Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Aéronefs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire le module OpenFlyers permettant de paramétrer et générer les statistiques Aeral (Acquisition et Exploitation des Rapports d'activités de l'Aviation Légère) requises par la DGAC pour les associations aéronautiques et qui se concrétise au travers du remplissage d'un formulaire dont la version PDF est disponible à cette adresse : https://www.formulaires.service-public.fr/gf/cerfa_12806.do .&lt;br /&gt;
&lt;br /&gt;
La DGAC préconise de ne pas remplir le formulaire PDF mais à la place le formulaire en ligne accessible à cette adresse : https://aeral.dg.aviation-civile.gouv.fr/WD220AWP/WD220Awp.exe/CONNECT/AERAL&lt;br /&gt;
&lt;br /&gt;
De son côté, la Fédération Française Aéronautique (FFA) propose un module qui permet de faciliter le remplissage des statistiques Aeral au travers de son outil SMILE. Une documentation concernant l'utilisation de ce module est disponible à cette adresse : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
&lt;br /&gt;
OpenFlyers s'interface avec le module SMILE de la FFA au travers d'un module de génération et d'envoi des statistiques Aeral. Ce module permet également d'automatiser l'envoi des données mensuelles vers SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur OpenFlyers==&lt;br /&gt;
Lorsque la structure utilise la fonction de génération du rapport Aeral pour la première fois :&lt;br /&gt;
*Tenter de générer un premier rapport Aeral en allant dans '''Gestion &amp;gt; Rapports &amp;gt; Statistiques Aeral &amp;gt; Export Aeral'''&lt;br /&gt;
Si le robot OpenFlyers n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le paramétrage. Sinon, il affiche les tableaux de statistiques.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, '''ne pas tenir des données publiées lors de la première tentative et vérifier les paramètres''' :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier que les paramètres renseignés sont conformes à la configuration de la plateforme OpenFlyers en s'aidant des consignes et copies d'écrans publiées dans le chapitre [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral]] de cette page&lt;br /&gt;
&lt;br /&gt;
Si les paramètres ne sont pas définis ou sauvegardés, [[Alertes-de-configuration#Le-formulaire-de-configuration-de-l'export-aeral-n'a-pas-été-rempli-ou-sauvegardé|une alerte de configuration est affichée]].&lt;br /&gt;
&lt;br /&gt;
Une fois les paramètres définis :&lt;br /&gt;
*Retourner dans '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral'''&lt;br /&gt;
*Vérifier l'année sélectionnée&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
*Vérifier la cohérence des statistiques générées&lt;br /&gt;
Une fois que les données sont considérées comme correctes, il faut recopier les données sur l'[https://aeral.dg.aviation-civile.gouv.fr/AERAL outil Aeral] '''sauf pour les aéro-clubs affiliés à la Fédération Française Aéronautique''' où cette dernière souhaite que les données remontent via son outil SMILE. Voir le chapitre suivant [[#Chronologie-des-actions-à-effectuer-sur-SMILE-FFA|Chronologie des actions à effectuer sur SMILE FFA]]&lt;br /&gt;
&lt;br /&gt;
==Chronologie des actions à effectuer sur SMILE FFA==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir renseigné le '''Code FFA''' dans le formulaire [[#Coordonnées|Coordonnées]] présent dans '''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
*Avoir testé le code FFA de sorte à avoir le cadenas vert de verrouillé&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Depuis '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral''', une fois que la cohérence des statistiques générées a été vérifié, il faut :&lt;br /&gt;
*Cliquer sur le bouton '''Envoyer à SMILE'''&lt;br /&gt;
*[https://projet.ff-aero.fr/SMILE_II Aller sur SMILE AEROCLUB] et suivre la procédure suivante : https://faq.ffa-aero.fr/smile/docs/aeral/saisir-son-rapport-aeral-dans-smile/&lt;br /&gt;
*Il faut parcourir les onglets un par un de la gauche vers la droite en cliquant à chaque fois sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.''' puis cliquer sur le bouton '''Oui''' de la boite de dialogue demandant confirmation&lt;br /&gt;
*Une fois que tous les onglets ont été parcourus, les données importées et les vérifications effectuées, il faut cliquer sur le dernier onglet '''VALIDATION'''&lt;br /&gt;
Si les vérifications d'intégrité sont correctes sur SMILE, un pavé sur fond vert apparait avec 2 cases à cocher pour permettre l'envoi des données vers Aeral&lt;br /&gt;
&lt;br /&gt;
[[File:VALIDATION_SMILE.png|600px]]&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION : il n'est possible d'envoyer les données qu'une seule fois depuis SMILE vers Aeral'''&lt;br /&gt;
&lt;br /&gt;
;Points d'attention&lt;br /&gt;
*les données ne remontent dans chaque formulaire SMILE qu'après avoir cliqué sur le bouton '''Nous avons reçu des données de votre logiciel de gestion d'Aeroclub OpenFlyers. Dates des données : fin 12/2022. CLIQUER ICI POUR CHARGER CES DONNEES AUTOMATIQUEMENT.'''&lt;br /&gt;
Il faut effectuer cette action pour CHAQUE onglet. Il est donc recommandé de parcourir les onglets de la gauche vers la droite.&lt;br /&gt;
*Il est possible d'exporter (pousser) les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite. Chaque nouvel envoi de données écrase l'envoi précédent effectué pour le même mois. Par contre, à chaque nouvel envoi, il faut cliquer sur le bouton d'import dans SMILE FFA pour chaque onglet du formulaire.&lt;br /&gt;
*A l'heure actuelle, SMILE récupère bien toutes les données OpenFlyers mais ne permet pas de les incorporer toutes. Ainsi il manque le bouton de synchronisation pour les onglets suivants :&lt;br /&gt;
**GENERAL : non souhaité par la FFA&lt;br /&gt;
**TERRAINS : prévu pour 2024&lt;br /&gt;
**BUREAU : à fiabiliser&lt;br /&gt;
**MATERIEL : prévu pour 2024&lt;br /&gt;
*Autant il est possible de pousser les données depuis OpenFlyers vers SMILE FFA autant de fois qu'on le souhaite, autant il n'est possible d'exporter de SMILE FFA vers Aeral qu'une seule fois. En cas d'erreur, il faut contacter la [https://www.ffa-aero.fr Fédération Française Aéronautique] pour déverrouiller le système et permettre d'effectuer un nouvel envoi.&lt;br /&gt;
&lt;br /&gt;
=Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au paramétrage '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Afin de pouvoir générer les statistiques Aeral, il faut que toutes les questions du formulaire soient complétées. Ce dernier est pré-rempli automatiquement avec les données de la structure grâce à l'utilisation de [[#Prédictions|prédictions]] lors de la première tentative de génération des statistiques Aeral depuis [[#Gestion-&amp;gt;-Rapports-&amp;gt;-Rapports-spécifiques-&amp;gt;-Export-Aeral|Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral]].&lt;br /&gt;
&lt;br /&gt;
Il est donc fortement recommandé de générer une première fois les statistiques '''AVANT''' d'éditer le contenu du paramétrage. En effet, une fois que les données de paramétrage des statistiques Aeral sont stockées, la prédiction est désactivée pour ne pas réinitialiser les valeurs enregistrées.&lt;br /&gt;
&lt;br /&gt;
Après une première génération des statistiques, le gestionnaire est invité à vérifier les paramètres pré-remplis du formulaire, à les corriger le cas échéant, et à renseigner manuellement les éléments restants.&lt;br /&gt;
&lt;br /&gt;
les données récupérées de ce formulaire affectent directement la manière dont le robot OpenFlyers traite les rapports. Si une donnée n'est pas présente dans le paramétrage de la structure, le gestionnaire doit sélectionner le choix '''Non applicable'''.&lt;br /&gt;
&lt;br /&gt;
==Coordonnées==&lt;br /&gt;
[[File:Aeral coordonnées.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour les structures affiliées à la [https://www.ffa-aero.fr Fédération Française Aéronautique] :&lt;br /&gt;
*Renseigner '''Code FFA (10 chiffres sans espace et sans tiret)'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut à droite&lt;br /&gt;
*Cliquer sur le bouton '''Valider le code FFA'''. Cela permet de tester le code FFA en envoyant les données des statistique AERAL à l'API SMILE FFA en mode de test.&lt;br /&gt;
Une fois que le code FFA est validé, le pictogramme du cadenas à droite passe vert/verrouillé&lt;br /&gt;
*Cliquer sur l'interrupteur '''Synchronisation Automatique SMILE FFA''' pour activer la synchronisation automatique les données AERAL vers le serveur SMILE de la FFA. L'interrupteur n'est activable que si le '''Code FFA''' est préalablement validé. Lorsque l'interrupteur est activé et [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|le paramétrage Aeral]] est rempli et sauvegardé, les statistiques sont envoyées tous les 1er du mois à l'API SMILE FFA. Elles concernent la période du 1er janvier de l'année en cours au jour précédent la date d'envoi, sauf pour le 1er janvier où la période correspond à l'année précédente.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NB''': Pour valider le code FFA, on click sur le bouton '''Valider le code FFA''':&lt;br /&gt;
*Si le code FFA est valide:&lt;br /&gt;
**Le champ de la saisie du code FFA sera verrouillé avec un cadenas qui passe en vert.&lt;br /&gt;
**L'interrupteur de la synchronisation automatique peut être activé.&lt;br /&gt;
**Le bouton '''Valider le code FFA''' disparaît ( le déverrouillage du Code FFA ne sera fait que par un admin interne d'OpenFlyers).&lt;br /&gt;
*Si le code FFA n'est pas valide:&lt;br /&gt;
**L'interrupteur de la synchronisation automatique devient désactivé.&lt;br /&gt;
**le champ de la saisie du code FFA sera déverrouillé avec un cadenas en rouge.&lt;br /&gt;
&lt;br /&gt;
*'''Département'''&lt;br /&gt;
*'''Région aéronautique'''&lt;br /&gt;
*'''Délégation régionale'''&lt;br /&gt;
*'''Date agrément DGAC'''&lt;br /&gt;
*'''Préfecture Agrément DGAC'''&lt;br /&gt;
*'''Numéro ATO'''&lt;br /&gt;
*'''Date d'obtention de l'ATO'''&lt;br /&gt;
*'''Numéro DTO'''&lt;br /&gt;
*'''Date d'obtention du DTO'''&lt;br /&gt;
*'''APE'''&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
[[File:Aeral_ _Tarifs.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Droit d'entrée&lt;br /&gt;
*Cotisation&lt;br /&gt;
*Remise cotisation jeunes&lt;br /&gt;
*Tarif supplément instruction&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau [[#Tarifs|Tarifs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validité définissant la pratique d'une activité==&lt;br /&gt;
[[File:Aeral_ _Validité_définissant_la_pratique_d'une_activité.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Avion&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Hélicoptère&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;Planeur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 1 - Paramoteur&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 2 - Pendulaire&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 3 - 3 axes&amp;quot;&lt;br /&gt;
*Type de validité définissant un utilisateur &amp;quot;ULM classe 4 - Autogire&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces champs permettent à l'utilisateur de choisir le type de validité correspondant à chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau ADHERENTS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance validités / Brevets, licences ou qualifications==&lt;br /&gt;
[[File:Aeral_ _Correspondance_validités_Brevets_licences_ou_qualifications.png|800px]]&lt;br /&gt;
&lt;br /&gt;
*Activité Avion&lt;br /&gt;
**LAPL&lt;br /&gt;
**PPL&lt;br /&gt;
**CPL&lt;br /&gt;
**ATPL&lt;br /&gt;
**Qualif_Voltige&lt;br /&gt;
**Qualif_Montagne&lt;br /&gt;
**Qualif_Hydravion&lt;br /&gt;
**Qualif_IFR&lt;br /&gt;
**Qualif_VFR_Nuit&lt;br /&gt;
*Activité ULM&lt;br /&gt;
**Paramoteur&lt;br /&gt;
**Pendulaire&lt;br /&gt;
**Multiaxes&lt;br /&gt;
**Autogire&lt;br /&gt;
**Dirigeable&lt;br /&gt;
**Hélicoptère&lt;br /&gt;
*Activité Hélicoptère&lt;br /&gt;
**LAPL(H)&lt;br /&gt;
**PPL(H)&lt;br /&gt;
**CPL(H)&lt;br /&gt;
**ATPL(H)&lt;br /&gt;
*Activité Planeur&lt;br /&gt;
**VV/SPL/LAPL(S)&lt;br /&gt;
&lt;br /&gt;
Ces champs permettant l'utilisateur de choisir le type de validité correspondant à Brevets, licences ou qualifications pour chaque type d'activité.&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer le tableau FORMATIONS du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Validités correspondant à la cotisation de la structure==&lt;br /&gt;
[[File:Aeral_ _Validités_correspondant_à_la_cotisation_de_la_structure.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Les validités cochées dans cette partie sont utilisées par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
==Validité correspondant à la licence FFA==&lt;br /&gt;
Une liste déroulante comprenant tous les types de validités configurés pour obtenir la certification par l'API FFA.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_ _Validité_correspondant_à_la_licence_FFA.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Si aucun type de validité n'est défini pour l'obtention de la certification via l'API FFA, le message d'erreur suivant sera affiché.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral-Validité-correspondant-à-la-licence-FFA-Warning.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
La validité cochée dans cette partie est utilisée par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs brevetés inscrits dans la structure durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Validités désignant les brevetés==&lt;br /&gt;
[[File:Aeral_ _Validités_désignant_les_brevetés.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Les validités sélectionnées dans ce champ permettent de définir les validités qui permettent de savoir une personne dispose d'un brevet ou non et donc par différence les personnes qui ne disposent d'aucun brevet sont considérées comme des élèves. Cette catégorisation des personnes est utilisée dans les rapports [[#Adhérents-par-activité-X|Adhérents par activité X]].&lt;br /&gt;
&lt;br /&gt;
==Activités pratiquées==&lt;br /&gt;
[[File:Aeral_ _Activités_pratiquées.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Cocher les activités pratiquées par la structure.&lt;br /&gt;
&lt;br /&gt;
Les paramètres de cette partie sont utilisées par le robot OpenFlyers pour générer les tableaux [[#Activité-en-instruction-et-Activité-hors-instruction|Activité en instruction et Activité hors instruction]] ainsi que pour le tableau [[#Instructeurs|Instructeurs]] (pour la partie '''solo supervisé''') du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Correspondance activités / typologie des vols Aeral==&lt;br /&gt;
[[File:Aeral_ _Correspondance_activités_typologie_des_vols_Aeral.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
*IFR&lt;br /&gt;
*VFR Nuit&lt;br /&gt;
*Nuit&lt;br /&gt;
*VFR jour navigation&lt;br /&gt;
*Navigation&lt;br /&gt;
*Montagne&lt;br /&gt;
*Voltige&lt;br /&gt;
*BIA&lt;br /&gt;
*Baptême de l'air&lt;br /&gt;
*Instruction&lt;br /&gt;
*Remorquage&lt;br /&gt;
*Treuillage&lt;br /&gt;
&lt;br /&gt;
Les informations renseignées sont utilisées par le robot OpenFlyers pour générer les tableau 'En_Instruction_Par_Activite pour la catégorie X' et 'Hors_Instruction_Par_Activite' du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
==Activité correspondant à Solo supervisé==&lt;br /&gt;
OpenFlyers recommande de ne pas saisir les vols solos supervisés avec l'instructeur en place droite mais de créer un champ spécifique pour renseigner le nom du superviseur. Le paramétrage correspondant est décrit dans le chapitre [[Gestion-des-activités#Paramétrage-des-vols-solos-supervisés|Paramétrage des vols solos supervisés]].&lt;br /&gt;
&lt;br /&gt;
*L'activité sélectionnée dans le champ autocomplète '''Solo Supervisé''' est utilisée par le robot OpenFlyers dans les tableaux 'En_Instruction_Par_Population pour la catégorie X' et 'En_Instruction_Par_Activite pour la catégorie X'  du rapport Aeral afin de déterminer les heures de vol en Solo Supervisé durant l'année considérée.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Instructeur_En_Place_Droite.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est activé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un instructeur occupant la place droite et qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_Champ_Métier_Correspondant_Au_Superviseur.png|1200px]]&lt;br /&gt;
*Si l'interrupteur '''instructeur en place droite''' est désactivé, les heures de vol en solo supervisé durant l'année considérée sont déterminées en fonction du fait qu'il y a un superviseur qui effectue un vol avec l'activité sélectionnée dans le champ '''Solo Supervisé'''. Pour cela il faut renseigner le '''Champ métier correspondant au superviseur'''.&lt;br /&gt;
&lt;br /&gt;
==Matériels==&lt;br /&gt;
[[File:Aeral_ _Matériels.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Cocher le matériel dont dispose la structure.&lt;br /&gt;
&lt;br /&gt;
==Terrain==&lt;br /&gt;
[[File:Aeral_ _Terrain.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Renseigner les informations concernant l'aérodrome utilisé.&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
[[File:Aeral_ _Bureau.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Définir les personnelles exerçant les fonctions définies.&lt;br /&gt;
&lt;br /&gt;
==Personnel==&lt;br /&gt;
[[File:Aeral_ _Personnel.png|1600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Renseigner les informatiques statistiques concernant le personnel.&lt;br /&gt;
&lt;br /&gt;
==Profil des adhérents non pilotes==&lt;br /&gt;
[[File:Aeral_ _Profil_des_adhérents_non_pilotes.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Le profil sélectionné dans cette partie est utilisé par le robot OpenFlyers dans les tableaux [[#Adhérents-par-activité-X|Adhérents par activité X]] du rapport Aeral afin de déterminer les utilisateurs inscrits dans la structure qui rentrent la catégorie '''non pilotes'''.&lt;br /&gt;
&lt;br /&gt;
==Profil(s) désignant les instructeurs==&lt;br /&gt;
[[File:Aeral_ _Profil(s)_désignant_les_instructeurs.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Définir le profil permettant de désigner les utilisateurs instructeurs.&lt;br /&gt;
&lt;br /&gt;
Ce profil est utilisé par le robot OpenFlyers pour lister les utilisateurs dans le tableau [[#Instructeurs|Instructeurs]] du rapport Aeral.&lt;br /&gt;
&lt;br /&gt;
=Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Export Aeral=&lt;br /&gt;
Pour accéder au rapport '''Export Aeral''', il faut disposer du droit [[Gestion-des-profils#Voir-tous-les-rapports|Voir tous les rapports]] ou [[Gestion-des-profils#Gestion-des-rapports|Gestion des rapports]].&lt;br /&gt;
&lt;br /&gt;
Lors de la première tentative de génération d'un export Aeral, le robot OpenFlyers tente de devenir le paramétrage qui doit être mis en place. S'il arrive à renseigner l'ensemble des paramètres indispensables à la génération du rapport, alors il affiche les tableaux pour les statistiques Aeral. S'il n'est pas en mesure de prédire l'ensemble des paramètres par défaut nécessaires à la génération du rapport, il renvoie vers le [[#Admin-&amp;gt;-Structure-&amp;gt;-Paramétrage-&amp;gt;-Export-Aeral|paramétrage Aeral]].&lt;br /&gt;
&lt;br /&gt;
Avant de générer le bilan annuel, il faut s'assurer que toutes les informations sont renseignées, si ce n'est pas le cas alors le gestionnaire est redirigé vers le formulaire précédent.&lt;br /&gt;
&lt;br /&gt;
L'année affichée par défaut est :&lt;br /&gt;
*l'année précédente lorsque le mois actuel est compris entre le mois de janvier et le mois de mars inclus&lt;br /&gt;
*l'année actuelle dans le cas contraire&lt;br /&gt;
&lt;br /&gt;
La distinction entre '''jeunes''' et '''adultes''' dans les rapports se situe à :&lt;br /&gt;
*21 ans pour '''AVION'''.&lt;br /&gt;
*25 ans pour les autres catégories ('''ULM''', '''HELECOPTERE''' et '''PLANEUR''')&lt;br /&gt;
&lt;br /&gt;
Une personne est décomptée comme adulte dès lors que son année de naissance est supérieure ou égale à 21 ou 25 ans suivant la catégorie considérée.&lt;br /&gt;
&lt;br /&gt;
==Rapports issus de données de formulaire==&lt;br /&gt;
:* rapport Aeral ''' TERRAINS'''&lt;br /&gt;
:* rapport Aeral '''BUREAU'''&lt;br /&gt;
:* rapport Aeral '''PERSONNEL'''&lt;br /&gt;
:* rapport Aeral '''MATERIEL'''&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité X==&lt;br /&gt;
Ce rapport regroupe 4 tableaux qui correspondent chacun à un type d'activité :&lt;br /&gt;
*Avion&lt;br /&gt;
*Hélicoptère&lt;br /&gt;
*ULM&lt;br /&gt;
*Planeur&lt;br /&gt;
&lt;br /&gt;
Pour qu'un pratiquant soit pris en compte dans le recensement, il faut :&lt;br /&gt;
*Qu'il détienne au moins l'une des validités [[#Validités-correspondant-à-la-cotisation-de-la-structure|Validités correspondant à la cotisation de la structure]] et dont la date d'échéance doit être supérieure ou égale au 31/12 de l'année des statistiques.&lt;br /&gt;
*Qu'il dispose d'une date de naissance (cela permet d'exclure les utilisateurs qui ne correspondent pas à des utilisateurs réels en leur mettant une date de naissance vide)&lt;br /&gt;
&lt;br /&gt;
Pour chaque type d'activité, le robot OpenFlyers détermine les pratiquants en prenant en compte au moins l'un des éléments suivants :&lt;br /&gt;
*La pratique effective durant l'année sur un type d'aéronef correspondant au type d'activité&lt;br /&gt;
*La détention par un utilisateur d'une validité le définissant comme pratiquant de l'activité&lt;br /&gt;
&lt;br /&gt;
Le robot OpenFlyers prend en compte les utilisateurs désactivés.&lt;br /&gt;
&lt;br /&gt;
Une fois calculé le nombre de pratiquants, le robot OpenFlyers détermine le nombre de brevetés parmi ces pratiquants. Est considéré comme breveté un utilisateur qui dispose de l'une des validités sélectionnées dans le paramétrage [[#Validités-désignant-les-brevetés|Validités désignant les brevetés]], peu importe que la validité soit à jour ou non. Cela permet de déterminer, par soustraction, les personnes qui sont élèves. Dis autrement : est élève une personne qui ne possède pas une validité répertoriée comme étant une validité de type &amp;quot;brevet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La figure suivante résume l'approche adoptée pour générer les statistiques liées à ce rapport :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_members_by_activity_schema_algorithm.png|800px]]&lt;br /&gt;
&lt;br /&gt;
==Instructeurs==&lt;br /&gt;
Pour calculer les heures de vol de chaque instructeur, il y a 2 façons possibles :&lt;br /&gt;
*Première méthode : Lorsqu'il n'y a pas de type d'activité de sélectionné dans le champ '''Activité correspondant à Solo supervisé''', le robot OpenFlyers détermine le total des heures de vol de l'instructeur en place droite, puis le total des heures de vols en place droite de l'instructeur pour lesquelles il y a le type d'activité sélectionné pour le paramètre '''Instruction'''&lt;br /&gt;
:'''Heures totales = total des heures en place droite '''&lt;br /&gt;
:'''Heures doubles = total des heures  en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = Heures totales - Heures doubles'''&lt;br /&gt;
*Deuxième méthode : si le type d'activité solo supervisé est coché pour l'instructeur, dans ce cas on détermine le total des heures en solo supervisé comme étant la somme des heures de vols de l'instructeur pour lesquelles il y a comme type d'activité celle correspondant au paramètre '''Activité correspondant à Solo supervisé'''.&lt;br /&gt;
:'''Heures totales = total des heures en place droite avec le type d'activité correspondant à instruction'''&lt;br /&gt;
:'''Heures solo supervisé = total des heures en place droite avec le type d'activité correspondant à solo supervisé'''&lt;br /&gt;
:'''Heures doubles = Heures totales - Heures solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction et Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
pour ces deux rapport aeral nous utilisons la même stratégie qui est définie ci-dessous, pour différencier entre ces deux types d'activité on se base sur la place du pilote : &lt;br /&gt;
&lt;br /&gt;
-En instruction place de pilote = 1.&lt;br /&gt;
&lt;br /&gt;
-Hors instruction place de pilote = 0.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour les catégories AVION et HELECOPTERE===&lt;br /&gt;
&lt;br /&gt;
La stratégie retenue pour générer ces rapports Aeral a été de commencer par identifier les variables fiables qui sont présentes chez toutes les structures&lt;br /&gt;
(navigation, IFR, Nuit),qui sont récupérées soit à partir du [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]], soit grâce à l'utilisation de [[#Types d'activités|prédictions sur les types d'activités]], et à partir desquelles on calcule le nombre d'heures de vol pour les autres types d'activité. &lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_activity_types_partition_schema.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Les données les plus fiables sont celles qui sont les plus spécifiques, par exemple, pour obtenir la valeur de VFR nuit si ce type d’activité n'est pas présente dans la structure alors on considère que le type d’activité nuit est le plus spécifique et donc il correspond à la donnée la plus fiable pour calculer ce type d’activité.&lt;br /&gt;
&lt;br /&gt;
Le calcul des heures de vol pour les différents types d'activité se fait en suivant les étapes suivantes:&lt;br /&gt;
:* On commence par l’obtention  des heures de vol total de toutes les activités confondues par une requête sql.&lt;br /&gt;
:* Ensuite, les heures de vol de chaque type d'activité sont calculées en fonction des données fournies par le gestionnaire dans le [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]].&lt;br /&gt;
&lt;br /&gt;
La figure suivante représente le schéma de l'algorithme utilisé par le robot OpenFlyers pour calculer les heures de vol en fonction des données présente dans la structure :&lt;br /&gt;
&lt;br /&gt;
[[File:Aeral_statistic_activity_schema_algorithm.png|650px]]&lt;br /&gt;
&lt;br /&gt;
:*'''Exemple''':&lt;br /&gt;
on prend l'exemple suivant dans lequel la structure ne possède que les types d'activités suivants: IFR, NUIT et Navigation &lt;br /&gt;
&lt;br /&gt;
on commence par l'obtention le '''total des heures de vol''' : 2430&lt;br /&gt;
&lt;br /&gt;
ensuite on obtient le total '''IFR''' :  1000&lt;br /&gt;
&lt;br /&gt;
puisque le type d'activité VFR nuit n'est pas présent dans la structure:&lt;br /&gt;
&lt;br /&gt;
on commence par exécuter deux requête la première sur le type d'activité nuit et l'autre sur les deux types d'activité ifr et nuit on obtient par exemple:&lt;br /&gt;
&lt;br /&gt;
'''Nuit''' = 1200 &lt;br /&gt;
&lt;br /&gt;
'''IFR nuit''' = 400&lt;br /&gt;
&lt;br /&gt;
ce que nous aide à calculer la valeur de VFR Nuit(voir la relation dans la figure ci-dessus) &lt;br /&gt;
&lt;br /&gt;
'''VFR Nuit''': 1200 - 400 = 800.&lt;br /&gt;
&lt;br /&gt;
pour calculer VFR jour navigation:&lt;br /&gt;
&lt;br /&gt;
on commence par calculer navigation jour, pour cela on obtient la valeur de navigation = 700 et la valeur de navigation nuit = 300 à partir de la base de données, et donc &lt;br /&gt;
'''Navigation jour'''  = 700 - 300 = 400,&lt;br /&gt;
&lt;br /&gt;
ensuite de la même manière on obtient IFR Navigation = 330 et IFR navigation nuit = 200, pour calculer '''IFR navigation jour''' = 330 - 200 = 130.&lt;br /&gt;
&lt;br /&gt;
et en utilisant la relation défini dans figure ci-dessus, on calcule '''VFR jour navigation''' = 400 - 130 = 270.&lt;br /&gt;
&lt;br /&gt;
à la fin on déduit la valeur de VFR jour local en suivant les étapes suivants :&lt;br /&gt;
&lt;br /&gt;
*:On calcule tout d'abord les heures de vol de '''VFR jour''' = VFR - VFR nuit = 1430 - 800.&lt;br /&gt;
 &lt;br /&gt;
avec '''VFR''' = Total - IFR = 2430 - 1000  = 1430.&lt;br /&gt;
&lt;br /&gt;
*:ensuite on déduit la valeur de '''VFR Jour local''' = VFR jour - VFR jour navigation = 630 - 270 = 360&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie ULM===&lt;br /&gt;
Pour générer les statistiques liée à ces rapports il faut prendre en compte que chaque vol de la catégorie ULM peut être classée selon la catégorie de la ressource. OpenFlyers supporte actuellement quatre catégories ULM principales : '''ULM classe 1 - Paramoteur''', '''ULM classe 2 - Pendulaire''', '''ULM classe 3 - 3 axes''' et '''ULM classe 4 - Autogire'''.&lt;br /&gt;
&lt;br /&gt;
Le système calcule les heures totales des vols ainsi que les heures de vols pour chaque catégorie de ressource configurée : Heures_Paramoteur, Heures_Pendulaire, Heures_Multiaxes et Heures_Autogire. Les catégories non configurées (Heures_Dirigeable et Heures_Helicoptere) utilisent par défaut des zéros, tandis que Heures_Dont_Vol_BIA reste également à zéro.&lt;br /&gt;
&lt;br /&gt;
NB. Si l'un des clients a des catégories de ressources autres que celles listées ci-dessus (par exemple ULM classe 5 - Dirigeable ou ULM classe 6 - Hélicoptère), il faudra ajouter des requêtes spécifiques de génération des heures de vol pour chacune de ces catégories de ressource.&lt;br /&gt;
&lt;br /&gt;
===Activité en instruction / Activité hors instruction pour la catégorie PLANEUR===&lt;br /&gt;
[[File:Gliding_Activity_Categorization_Diagram.png|650px]]&lt;br /&gt;
&lt;br /&gt;
Pour générer les statistiques liées à ces rapports, il est important de noter que chaque vol de la catégorie '''motoplaneur''' est considéré comme un vol '''planeur'''.&lt;br /&gt;
&lt;br /&gt;
La stratégie adoptée pour générer ces rapports Aeral repose sur la prise en compte de divers aspects :&lt;br /&gt;
&lt;br /&gt;
*Extraire les heures totales de vol pour l'activité planeur, quelle que soit sa catégorie (en instruction, hors instruction, autres).&lt;br /&gt;
*Extraire les heures de vol étrangères spécifiquement pour l'activité planeur (Nationalité non française).&lt;br /&gt;
*Extraire les heures de vol des remorqueurs dans le cadre de l'activité planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie en instruction planeur.&lt;br /&gt;
*Extraire les heures de vol en fonction du sexe pour la catégorie hors instruction planeur.&lt;br /&gt;
*Extraire les heures de vol hors instruction destiné aux personnes françaises (Jeunes/Adultes) (total des heures, heures avec BIA, heures de vol de découverte).&lt;br /&gt;
*Extraire le nombre de vols hors instruction destiné aux personnes françaises (Jeunes/Adultes) selon le type d'activité (Remorqués, Treuillés, Lâchers solo, BPP Théorique, BPP Homologués).&lt;br /&gt;
&lt;br /&gt;
==Mouvements==&lt;br /&gt;
Pour calculer les mouvements sur la plateforme en comptant simplement les atterrissages des vols locaux.&lt;br /&gt;
&lt;br /&gt;
Sachant que 1 décollage ou 1 atterrissage ou 1 touch and go= 1 mouvement.&lt;br /&gt;
&lt;br /&gt;
mouvements locaux = total atterrissages vol locaux * 2&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
ce rapport aeral consiste à renseigner les droits d'entrée, cotisation non pilote et cotisation Club pour les deux tranches d'age (Jeunes et Adultes).&lt;br /&gt;
&lt;br /&gt;
pour cela, les valeurs du droit d'entrée et de la cotisation non pilote sont directement attribuées pour les deux tranches d'age, en se basant sur les variables renseignées dans la [[#Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral| formulaire]] ou trouvées grâce à l'utilisation de [[#Prédictions|prédictions]].&lt;br /&gt;
&lt;br /&gt;
pour Cotisation Club on récupère la valeur ADULTES_Cotisation_Club directement à partir de la variable Cotisation.&lt;br /&gt;
&lt;br /&gt;
et on déduit '''Jeunes_Cotisation_Club = ADULTES_Cotisation_Club - remise Cotisation jeunes'''&lt;br /&gt;
&lt;br /&gt;
==Terrains==&lt;br /&gt;
&lt;br /&gt;
==Bureau==&lt;br /&gt;
Voir le chapitre de non conformité [[#Ce-numéro-de-licence-FFA-n'a-pas-été-certifié-par-SMILE-et-ne-sera-donc-pas-pris-en-compte-lors-de-l'export|Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export]] pour les explications sur ce message d'alerte.&lt;br /&gt;
&lt;br /&gt;
==Aéronefs==&lt;br /&gt;
Ce tableau liste toutes les ressources de catégorie aéronefs (Avion, ULM, Hélicoptère, Planeur) :&lt;br /&gt;
*actives pour lesquelles l'option '''Saisie d'activité''' est cochée dans le paramétrage&lt;br /&gt;
*qui ont effectué au moins un vol dans l'année considérée&lt;br /&gt;
Le tableau contient les colonnes suivantes :&lt;br /&gt;
*Immatriculation qui correspond au nom de l'aéronef&lt;br /&gt;
*Modèle qui correspond au nom du type de ressource correspond&lt;br /&gt;
*Heures_Cette_Annee correspond au total des heures de vols effectuées par l'aéronef&lt;br /&gt;
*Heures_dont_en_Double correspond aux heures de vols pour lesquelles il y a 2 utilisateurs : 1 en place gauche et 1 en place droite.&lt;br /&gt;
*Heures_dont_en_Solo correspond à la différence de Heures_Cette_Annee et Heures_dont_en_Double.&lt;br /&gt;
*Tarif_Solo dont la valeur provient de la variable ayant pour nom &amp;quot;$tarifSolo + le nom du type d'aéronef&amp;quot;.&lt;br /&gt;
*Tarif_Double correspond au total du Tarif_Solo et tarif d'instruction (la variable ayant pour nom &amp;quot;$tarifInstruction&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Liste détaillée des personnes liée pour chaque nombre d'adhérents==&lt;br /&gt;
&lt;br /&gt;
Dans l'affichage des statistiques AERAL, pour les tableaux ADHERENTS PAR ACTIVITE X (avec X est une des catégories: AVION, HELICOPTERE, PLANEUR et ULM) et FORMATIONS, on associe pour chaque nombre de personnes différent de 0 un lien vers un nouvel onglet qui contient la table détaillée des personnes , cette dernière contient les informations suivantes :&lt;br /&gt;
*Nom&lt;br /&gt;
*Prénom&lt;br /&gt;
*Sexe&lt;br /&gt;
*Date de naissance&lt;br /&gt;
*Année de naissance	&lt;br /&gt;
*Génération&lt;br /&gt;
*Colonne dynamique pour chaque type de validité cochées en cas des '''Brevetes''': cette colonne contient une icône checked verte + la date d'obtention si la personne a la validité, sinon elle est vide&lt;br /&gt;
&lt;br /&gt;
=Prédictions=&lt;br /&gt;
Le principe de prédictions consiste à essayer de retrouver les paramètres nécessaires au remplissage du formulaire de statistiques AERAL en recherchant dans la base de données des mots clés spécifiques pour chaque référence.&lt;br /&gt;
&lt;br /&gt;
Liste des prédictions utilisées par le robot OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Tarifs==&lt;br /&gt;
===Tarif cotisation===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''cotisation'''&lt;br /&gt;
#'''cotisation club'''&lt;br /&gt;
#'''cotisation &amp;lt;nom de la structure&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
===Tarif droit d'entrée===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Droit d'entrée'''&lt;br /&gt;
#'''Tarif entrée'''&lt;br /&gt;
&lt;br /&gt;
===Tarif instruction===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Tarif instruction'''&lt;br /&gt;
&lt;br /&gt;
===Remise cotisation jeune===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''Remise cotisation jeune'''&lt;br /&gt;
&lt;br /&gt;
==Qualifications==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' les occurrences :&lt;br /&gt;
#'''PPL'''&lt;br /&gt;
#'''Brevet de base'''&lt;br /&gt;
#'''CPL'''&lt;br /&gt;
#'''ATPL'''&lt;br /&gt;
#'''Brevet ULM'''&lt;br /&gt;
&lt;br /&gt;
==Profils==&lt;br /&gt;
===Non Pilotes===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils''' les occurrences :&lt;br /&gt;
#'''Honoraire'''&lt;br /&gt;
#'''Non pilote'''&lt;br /&gt;
&lt;br /&gt;
===Instructeurs===&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des profils '''Admin &amp;gt; Utilisateur &amp;gt; Profils &amp;gt; Réservations''' les profils qui ont les deux droits suivants:&lt;br /&gt;
#'''Planning personnel'''&lt;br /&gt;
#'''Planning individuel visible pour les autres'''&lt;br /&gt;
&lt;br /&gt;
==Types d'activités==&lt;br /&gt;
Le robot OpenFlyers cherche dans la liste des variables '''Admin &amp;gt; Ventes &amp;gt; Variables &amp;gt; Définition''' des occurrences spécifiques pour chaque type d'activité :&lt;br /&gt;
&lt;br /&gt;
IFR :&lt;br /&gt;
#'''IFR'''&lt;br /&gt;
#'''IFR-FR'''&lt;br /&gt;
&lt;br /&gt;
Instruction :&lt;br /&gt;
#'''Instruction'''&lt;br /&gt;
#'''Double commande'''&lt;br /&gt;
&lt;br /&gt;
Navigation :&lt;br /&gt;
#'''Navigation'''&lt;br /&gt;
&lt;br /&gt;
Nuit :&lt;br /&gt;
#'''Nuit'''&lt;br /&gt;
#'''Vol de nuit'''&lt;br /&gt;
&lt;br /&gt;
VFR jour navigation :&lt;br /&gt;
#'''VFR jour navigation'''&lt;br /&gt;
&lt;br /&gt;
VFR nuit :&lt;br /&gt;
#'''VFR nuit'''&lt;br /&gt;
&lt;br /&gt;
Solo supervisé :&lt;br /&gt;
# '''Solo supervisé'''&lt;br /&gt;
&lt;br /&gt;
=Non-conformités=&lt;br /&gt;
==Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export==&lt;br /&gt;
Si la validité correspondant à la licence FFA n'est pas spécifiée ou si les numéros de licence FFA dans les tableaux [[#Bureau_2|BUREAU]] et [[#Instructeurs|INSTRUCTEURS]] n'ont pas été validés par l'API FFA, ces licences sont signalées en rouge avec le message d'erreur '''Ce numéro de licence FFA n'a pas été certifié par SMILE et ne sera donc pas pris en compte lors de l'export''' en bas du tableau, et le JSON envoyé à SMILE ne les inclut pas.&lt;br /&gt;
&lt;br /&gt;
Si certains numéros sont en rouge et que d'autres ne le sont pas, alors cela veut dire que les numéros en rouge ne sont pas valides et qu'il faut les corriger dans '''Gestion &amp;gt; Utilisateurs &amp;gt; Validités'''&lt;br /&gt;
&lt;br /&gt;
Si tous les numéros sont en rouge, alors il y a de grandes chances pour que le paramétrage en place du type validité associé à la licence FFA ne soit pas configuré pour être certifié par l'API FFA. Pour corriger cela, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Éditer le type de validité correspond à la licence FFA&lt;br /&gt;
*Dans le champ '''Certification''', sélectionner ''Par API FFA''&lt;br /&gt;
*Décocher '''Associer un document'''&lt;br /&gt;
*Cocher '''Soumise à échéance'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Heures de vol pour les utilisateurs ayant le sexe '''Indéfini'''==&lt;br /&gt;
Dans les blocs Activité en instruction ET Activité hors instruction, s'il y a des heures de vol liées au sexe indéfini, nous ajoutons des lignes supplémentaires où nous stockons les heures sans celles du sexe indéfini.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon sexe (M/F) doit être renseigné pour les utilisateurs ayant des vols enregistrés.&lt;br /&gt;
&lt;br /&gt;
==Numéro de licence FFA non renseigné==&lt;br /&gt;
Dans les blocs INSTRUCTEURS et BUREAU, si l'utilisateur n'a pas le Numéro de licence FFA la case s'affiche en rouge pour indiqué la nécessité de renseigner les numéros de licence FFA pour faire la correspondance côté SMILE FFA.&lt;br /&gt;
&lt;br /&gt;
Pour corriger cette non-conformité, le bon Numéro de licence FFA doit être renseigné pour le personnel de BUREAU et les instructeurs.&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14147</id>
		<title>Gestion des activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14147"/>
		<updated>2025-12-24T13:02:01Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Annuler une activité validée */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
==Paramétrage des vols solos supervisés==&lt;br /&gt;
La réglementation aéronautique EASA, différencie les instructeurs en 2 catégories : les instructeurs restreints et non restreints. Les instructeurs sont restreints tant qu'ils ont effectués moins de 100 heures d'instruction. Pour le décompte de leurs heures d'instruction, il est possible de prendre en compte les heures solo, effectuées par leurs élèves, heures solos qu'ils ont supervisées. De plus, le rapport annuel de statistiques [[AERAL]] nécessite de faire remonter les heures solos supervisées par instructeur ainsi que par activité.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers déconseille de saisir les heures de solo supervisées en renseignant le nom de l'instructeur dans le champ '''Place droite''' ou '''Instructeur''' afin de ne pas créer d'effets de bords sur l'ensemble du logiciel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenFlyers recommande de paramétrer le suivi des heures solos supervisées de la façon suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un type d'activité ''Solo supervisé''&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
En bas du tableau '''Liste des types d'activités''', sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom''', indiquer ''Solo supervisé''&lt;br /&gt;
*Champ '''Couleur''', sélectionner une couleur, de préférence proche de la couleur pour l'instruction&lt;br /&gt;
*Cliquer sur le bouton avec un pictogramme symbolisant le signe plus&lt;br /&gt;
*Aller à nouveau dans '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs''' pour mettre à jour les autres tableaux&lt;br /&gt;
Dans le tableau '''Types d'activités incompatibles''', rendre incompatible le type d'activité ''Solo supervisé'' avec les autres types d'activités qui doivent être incompatible, notamment ''Instruction'', ''Baptême'', ''Maintenance'', ''Vol découverte'', etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un champ métier &amp;quot;Instructeur superviseur&amp;quot; pour le formulaire de saisie d'activité afin de pouvoir noter le nom de l'instructeur pour les vols solos des élèves&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers'''&lt;br /&gt;
Tout en bas sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom de variable''', indiquer ''supervisor''&lt;br /&gt;
*Champ '''Intitulé''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Champ '''Catégorie''', indiquer ''Activité''&lt;br /&gt;
*Champ '''Type de valeur''', indiquer ''dbObject::Person(Instructeur)''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Mettre à jour le paramétrage [[AERAL#Activité-correspondant-à-Solo-supervisé|Activité correspondant à Solo supervisé]] pour AERAL :&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
Formulaire '''Activité correspondant à Solo supervisé''' :&lt;br /&gt;
*Champ '''Solo supervisé''', indiquer '''Solo supervisé'''&lt;br /&gt;
*Désactiver l'interrupteur '''instructeur en place droite'''&lt;br /&gt;
*Champ '''Champ métier correspondant au superviseur''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut ou en bas à droite de la page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Ensuite, pour chaque vol solo supervisé, il faut dans le formulaire de saisie d'activité&lt;br /&gt;
*Cocher le type d'activité ''Solo supervisé''&lt;br /&gt;
*Renseigner le nom de l'instructeur dans le champ ''Instructeur superviseur''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mettre en place une validité &amp;quot;Élève autorisé solo&amp;quot;&lt;br /&gt;
Dans le cas où la structure met en place des restrictions sur les réservations ou la saisie des vols, un élève en solo supervisé, n'ayant donc pas les validités d'un pilote breveté, peut se retrouver bloqué. Pour contourner ces restrictions, il est recommandé de créer un type de validité &amp;quot;Élève autorisé solo&amp;quot; et de lui permettre de contourner les exigences des autres validités non détenues par un élève.&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter un type de validités'''&lt;br /&gt;
*Champ '''Nom''', indiquer ''Élève autorisé solo''&lt;br /&gt;
*Cliquer sur la case à cocher '''Soumise à échéance'''&lt;br /&gt;
*Champs '''Profils autorisés à gérer pour eux-mêmes''' et '''Profils autorisés à gérer/certifier pour les autres''', cocher les profils ''admin'', ''gestionnaire'' (ou équivalents) et ''instructeur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer&amp;quot;&lt;br /&gt;
*'''Admin &amp;gt; Types de ressource'''&lt;br /&gt;
Pour chaque type de ressource :&lt;br /&gt;
*Cliquer sur le bouton '''Validité'''&lt;br /&gt;
*Pour chaque ligne de validité qui exige une validité qu'un élève n'a pas l'obligation de détenir, cocher le type de validité ''Élève autorisé solo''&lt;br /&gt;
&lt;br /&gt;
=Afficher la vue d'ensemble des activités selon les ressources=&lt;br /&gt;
*Naviguer vers la section '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''.&lt;br /&gt;
&lt;br /&gt;
Une synthèse sous forme de tableau des activités '''actives''' et '''physiques''', s'affiche automatiquement :&lt;br /&gt;
*les ressources actives y figurent toujours.&lt;br /&gt;
*les ressources désactivées ou celles pour lesquelles l'interrupteur '''Saisie d'activité''' (accessible via '''Gestion &amp;gt; Ressources &amp;gt; Actives''') est décoché réapparaissent dès qu'elles possèdent au moins une activité non validée.&lt;br /&gt;
&lt;br /&gt;
Ainsi, aucune action supplémentaire n'est nécessaire pour retrouver les ressources portant encore des validations à effectuer.&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==[[Gestion-armoire-à-clés#Alertes-lors-de-la-saisie-d'une-activité|Alertes générées par le contrôle d'accès]]==&lt;br /&gt;
&lt;br /&gt;
==[[Facturation-des-clients#Alertes-générées-par-le-moteur-de-facturation|Alertes générées par le moteur de facturation]]==&lt;br /&gt;
&lt;br /&gt;
==[[Validités#Alertes-lors-d'une-réservation-ou-une-saisie-d'activité|Alertes générées sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==L'aéronef est déjà en l'air==&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)==&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps d'activité est incompatible avec la valeur calculée par la [[Formules-de-calcul#Temps-d'activité|formule de calcul du temps d'activité]] définie pour la ressource X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer-la-saisie-d'une-durée-d'activité-incompatible-avec-sa-formule-de-calcul|Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
==Le pilote X est déjà en l'air==&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus==&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
==Vous êtes actuellement en l'air==&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Vous ne pouvez ouvrir un vol avec une date de début dépassée==&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Annuler une activité validée=&lt;br /&gt;
Contrairement à la [[#Supprimer-une-activité|suppression des activités non validées]] et du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de supprimer physiquement une activité après [[#Valider-une-activité|sa validation]]. Par contre, la fonction d'annulation de la saisie d'une activité permet d'en annuler son effet.&lt;br /&gt;
&lt;br /&gt;
'''C'est cette fonction qu'il faut utiliser dans le cas où une activité validée doit être corrigée. L'utilisateur assurant la gestion :'''&lt;br /&gt;
#'''Annule l'activité validée qui n'a pas été saisie correctement'''&lt;br /&gt;
#'''Saisie une nouvelle activité avec les bonnes données''' (Cette opération n'entraîne pas de contrôle restrictif (chevauchement), car le vol concerné a déjà été contre-passé).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction d'annulation d'activité génère les enregistrements suivants en base de données :&lt;br /&gt;
#Création d'une même activité que l'activité à annuler mais avec une durée opposée. Cela permet de garantir que les totaux d'heures d'activités sont correctement corrigés. De plus, le champ commentaire contient une référence à l'activité ciblée par l'annulation.&lt;br /&gt;
#Création des écritures comptables associées correspondant à l'identique à celles de l'activité à annuler mais de sens opposé (débit au lieu de crédit et vice versa).&lt;br /&gt;
Ces enregistrements sont générées à la date du jour et sont automatiquement validés. Cela permet de garantir la traçabilité des opérations.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : il est possible d'annuler plusieurs fois une même activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser cette fonction :&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Dans la colonne '''Annuler une activité validée''', cliquer sur l’icône rouge symbolisant une flèche qui fait demi-tour&lt;br /&gt;
* Une page listant les activités validées apparait :&lt;br /&gt;
** Dans la colonne '''Annuler''', sélectionner l'activité à annuler&lt;br /&gt;
** Cliquer sur le bouton '''Annuler l'activité sélectionnée (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
=Annuler un vol ouvert=&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
=Lister les activités=&lt;br /&gt;
La liste des activités est accessible depuis:&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Cliquer sur l'icône correspondant à la colonne '''Valider les activités sélectionnées'''.&lt;br /&gt;
* Ou bien Cliquer sur l'icône correspondant à la colonne '''Vérifier la succession des activités'''.&lt;br /&gt;
** la page de Contrôle des compteurs de la resource a apparu.&lt;br /&gt;
** Entrer Le compteur de départ, puis Sélectionner la date de début et de fin de l'intervale que vous voulez visualiser.&lt;br /&gt;
** Cliquer sur le bouton '''Visualiser'''.&lt;br /&gt;
&lt;br /&gt;
La liste des activités synthétise les informations les plus importantes pour l'ensemble des activités dans un intervalle de temps:&lt;br /&gt;
&lt;br /&gt;
* '''Pointer''': contient les deux icônes '''tout cocher''' et '''tout décocher''', aussi les cases à cocher de chaque ligne,  en cochant la case puis en Cliquant sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)''' vous pouvez valider l'activité.&lt;br /&gt;
* '''Date''': date et heure de départ de vol, elle est affichée en fonction des [[Configuration#Patron-de-format-de-date|patrons de format de date]], affichée en rouge lorsque la date est dans le futur ( demain ou plus tard) ou bien lorsque la date de début de l'activité précédente chevauche une activité existante, c'est-à-dire  la date de début de l'activité précédente + sa durée dépasse la date de début de l'activité actuelle. Un interrupteur Date en '''UTC''' permet d'afficher sous la date locale une ligne orange indiquant l'heure '''UTC''' si la conversion reste le même jour, ou la date complète en '''UTC''' lorsque la conversion recule sur la veille.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''0''' (par exemple: place droite, pilote, Elève, Ouvert): la personne attribué au position 0,  affichée en rouge lorsque l'activité n'avait pas de pilote.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''1''' s'il existe (par exemple: place gauche, instructeur, Adhérent): la personne attribué au position 1.&lt;br /&gt;
* '''Activités''' : les types d'activités sélectionnés pour l'activité (par exemple: Voltige, Instruction, Vol technique, ...).&lt;br /&gt;
* '''Temps d'activité''' : la durée de l'activité, elle est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Temps moteur''' : le temps moteur s'affiche  si la ressource appartient à un type de ressource configuré pour utiliser un calcul de temps moteur différent du temps de vol, il est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Départ''' : Terrain de départ affiché en rouge lorsque l'activité n'avait pas de terrain de départ.&lt;br /&gt;
* '''Arrivée''': Terrain d'arrivée affiché en rouge lorsque l'activité n'avait pas de terrain d'arrivée.&lt;br /&gt;
* '''Att.''' : Nombre d'atterrissages.&lt;br /&gt;
* '''Ajouts réservoirs''': Réapprovisionnement de réservoir avant/après vol, ils sont affichées sous format suivante &amp;quot; quantité + Unité (Type de éservoir)&amp;quot;.&lt;br /&gt;
* les éventuelles colonnes correspondant aux champs métiers de type &amp;quot;Activité&amp;quot;.&lt;br /&gt;
* '''Compteurs''': affichés en deux manières ( compteur hexadécimal : HH:MM , compteur décimal: HH,CC ).&lt;br /&gt;
** '''Départ''' : Le compteur de départ, affiché en rouge si le compteur de départ de l'activité actuelle inférieur au compteur d'arrivée de l'activité précédente ou bien si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** '''Arrivée''' : Le compteur d'arrivée. &lt;br /&gt;
** '''Diff.''' : la difference entre les compteurs. affiché en rouge si le compteur de départ de l'activité actuelle dépasse le compteur d'arrivée de l'activité actuelle ou bien si '''(''' le compteur d'arrivée de l'activité actuelle '''-''' le compteur de départ de l'activité actuelle '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
* '''Actions''': L'utilisateur peut effectuer sur une activité les actions suivantes:&lt;br /&gt;
** Modifier : L'utilisateur peut modifier une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Supprimer : L'utilisateur peut supprimer une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Ajouter : L'utilisateur peut ajouter une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** Afficher la trace de vol: L'utilisateur peut afficher la trace de vol s'il est sur le vol ou s'il a le droit de voir les traces de vol.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les entrées comptables associées à des activités non validées=&lt;br /&gt;
Dans le cas où, suite à une saisie d'activité, des changements de facturations ont été fait, il est nécessaire de mettre à jour les entrées comptables associées à celle-ci. &lt;br /&gt;
La mise à jour ne peut se faire que sur les activités non validées ayant au moins un utilisateur et étant associées à une ressource active.&lt;br /&gt;
&lt;br /&gt;
Procédure pour mettre à jour les écritures comptables d'une ou plusieurs activités :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Mettre à jour les entrées comptables des activités non validées'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités dont il est nécessaire de mettre à jour les entrées comptables en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Mettre à jour les activités sélectionnées'''&lt;br /&gt;
&lt;br /&gt;
=Modifier une activité=&lt;br /&gt;
Une activité peut être saisie :&lt;br /&gt;
*Soit à l'état ouvert&lt;br /&gt;
*Soit à l'état fermé&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état ouvert, aucune écriture comptable n'est encore générée. Pour fermer une telle activité, il faut sur le planning de réservation :&lt;br /&gt;
*Soit, cliquer sur le rectangle de la ressource considérée qui doit être sur fond bleu pour indiquer que la ressource est en l'air&lt;br /&gt;
*Soit, cliquer la zone en bleue correspondante à la période du vol ouvert.&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état fermée, pour la modifier, il faut :&lt;br /&gt;
*Soit aller sur le compte de l'un des utilisateurs concerné par l'activité et pour lequel une écriture a été générée&lt;br /&gt;
*Soit aller sur le carnet de vol ou le carnet de route impacté&lt;br /&gt;
Dans tous les cas, il faut ensuite cliquer sur l'icône crayon qui apparait sur la ligne correspondante à l'activité.&lt;br /&gt;
&lt;br /&gt;
Tout activité saisie reste modifiable tant qu'elle n'est pas validée.&lt;br /&gt;
&lt;br /&gt;
Si l'objectif est de mettre à jour des calculs de facturation sur plusieurs activités, alors il est recommandé de suivre la procédure [[#Mettre-à-jour-les-entrées-comptables-associées-à-des-activités-non-validées|Mettre à jour les entrées comptables associées à des activités non validées]] pour gagner du temps.&lt;br /&gt;
&lt;br /&gt;
Si l'activité à modifier est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]] puis saisir une nouvelle activité.&lt;br /&gt;
&lt;br /&gt;
=Saisir une activité=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Activités &amp;gt; Activités &amp;gt; Saisir'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes de traitement&lt;br /&gt;
*[[Formulaires#Valeur-par-défaut|Champs avec des valeurs par défaut]]&lt;br /&gt;
*La [[Formulaires#Valeur-par-défaut|valeur par défaut]] du champ '''terrain de départ''' correspond au '''terrain d'arrivée''' du vol précédent renseigné par l'aéronef sélectionné. Changer la date de début d'activité ou l'aéronef entraîne un rafraîchissement de la page et la valeur par défaut du champ '''terrain de départ''' se met à jour. S'il n'y a pas de vol précédent, la valeur par défaut est le terrain associé à la plateforme.&lt;br /&gt;
*Le compteur de départ par défaut équivaut au compteur d'arrivée du vol précédent renseigné par l'aéronef sélectionné. Changer la date de départ rafraîchi la page si la date de départ est antérieure à la date de départ du vol précédent. Le compteur est mis à jour en fonction. Si le compteur est changé manuellement, le compteur n'est pas mis à jour lors du rafraîchissement. Changer d'aéronef réinitialise ce comportement.&lt;br /&gt;
*Suivant l'activité choisie et le [[Configuration#Terrain-d'arrivée-égal-au-terrain-de-départ,-lorsque-l'une-des-activités-suivantes-est-sélectionnée|paramétrage de la plateforme]], le terrain d'arrivée peut être automatiquement rempli avec la même valeur que celle du terrain de départ.&lt;br /&gt;
*La saisie d'une activité d'une durée inférieure à 15 minutes déclenche l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement l'activité.&lt;br /&gt;
*Lorsqu'un utilisateur est saisi, un champ pour définir son statut apparaît. Ce champ disparaît si l'utilisateur n'est pas défini.&lt;br /&gt;
*Lors de la saisie des utilisateurs, le nombre de personnes à bord se mets automatiquement à jour. Le nombre de personnes à bord est égal au nombre d'utilisateurs saisis. Si le nombre de personnes à bord est défini manuellement, la valeur n'est pas changée automatiquement par la suite.&amp;quot;&lt;br /&gt;
*Lors de la saisie d'un lieu, si aucun lieu correspondant n'est trouvé, [[#Demander-l'ajout-d'un-lieu|une option]] apparait afin de demander à OpenFlyers l'ajout du lieu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie date/heure départ/arrivée&lt;br /&gt;
A gauche du champ de saisie est indiqué le fuseau horaire défini par la structure et dans lequel le couple date/heure (horodatage) doit être saisi.&lt;br /&gt;
&lt;br /&gt;
Les champs de saisie pour l'horodatage de départ et d'arrivée sont conçus pour :&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : la barre oblique entre le jour et le mois ou le mois et l'année ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
En-dessous du champ de saisie de l'horodatage départ/arrivée apparait une ligne qui affiche l'horodatage en UTC.&lt;br /&gt;
&lt;br /&gt;
Tant que l'aéronef n'est pas encore sélectionné, si l'utilisateur ouvre le formulaire de saisie d'activité puis modifie le premier champ (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers recalcule et propose de nouvelles heures par défaut conformément aux deux règles ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Fermeture seulement''' :&lt;br /&gt;
**L'heure de retour proposée correspond à ''l'heure actuelle''.&lt;br /&gt;
**L'heure de départ est automatiquement calculée en soustrayant la durée d'activité par défaut à cette heure de fin.&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Ouverture et fermeture''' :&lt;br /&gt;
*L'heure de départ proposée est ''l'heure actuelle + 10 minutes''&lt;br /&gt;
*L'heure de retour est automatiquement calculée en ajoutant la durée d'activité par défaut à cette heure de début.&lt;br /&gt;
&lt;br /&gt;
Lorsque l'aéronef est sélectionné et que l'utilisateur modifie le premier champ du formulaire (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers conserve les heures déjà renseignées dans les champs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps d'activité]]&lt;br /&gt;
Lorsque le temps d'activité est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps moteur]]&lt;br /&gt;
Ce champ apparaît si le type de ressource de l'aéronef sélectionné est configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&lt;br /&gt;
Lorsque le temps moteur est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Synchronisation d'une saisie avec Gesasso / [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]&lt;br /&gt;
Lors de la saisie d'une activité et lorsque la plateforme est configurée pour la synchronisation externe avec [[Interfaçage-OpenFlyers-et-Gesasso|Gesasso]] (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]), le bouton de validation a deux affichages possibles :&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer''' : Si la ressource sélectionnée n'a pas de numéro d'immatriculation Gesasso valide, ou si l'un des pilotes ne dispose pas d'une licence FFVP valide, alors la synchronisation avec Gesasso (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]) est ignorée dans ce cas.&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer et Synchroniser avec Gesasso''' : indique que les ressources et les pilotes sélectionnés remplissent les critères requis, et que la synchronisation avec Gesasso (ou [[Interfaçage-OpenFlyers-et-Carnet.aero|Carnet.aero]]) est effectuée après l'enregistrement de l'activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes d'alertes&lt;br /&gt;
*[[Formulaires#Surbrillance-jaune|Effet de surbrillance jaune]]&lt;br /&gt;
*[[Formulaires#Surbrillance-rouge|Effet de surbrillance rouge]]&lt;br /&gt;
*Des [[Présentation-générale-des-alertes|alertes]] bloquantes ou non bloquantes peuvent être affichées après l'envoi du formulaire nécessitant une action complémentaire de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Page affichée par défaut après la saisie d'une activité&lt;br /&gt;
*Le planning lors d'une ouverture d'activité.&lt;br /&gt;
*La page du [[Gestion-des-activit%C3%A9s#Saisir-un-suivi-de-formation|saisie de progression]] lors d'une fermeture d'activité.&lt;br /&gt;
*A nouveau le formulaire de saisie d'activité lorsque l'activité précédemment saisie l'était en fermeture et que le terrain d'arrivée saisi était différent du terrain par défaut de la structure.&lt;br /&gt;
*Dans les autres cas, l'[[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
*Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
==Demander l'ajout d'un aérodrome==&lt;br /&gt;
Lors de la saisie du terrain de départ, ou d'arrivée, il se peut que le lieu que l'utilisateur souhaite saisir ne soit pas dans nos bases de données. Une proposition apparait alors :&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXX ( Demander l'ajout du lieu à OpenFlyers )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il suffit à l'utilisateur de sélectionner cette option afin d'effectuer la demande d'ajout à OpenFlyers.&lt;br /&gt;
Cette option ne prend en compte que les lieux recensés par l'OACI ou la FFPLUM.&lt;br /&gt;
&lt;br /&gt;
Attention, pour demander l'ajout d'un lieu, il faut saisir uniquement le code OACI (code à 4 lettres) ou FFPLUM (code au format LF + 4 chiffres) du lieu.&lt;br /&gt;
&lt;br /&gt;
Une fois l'option sélectionnée, la demande est enregistrée par OpenFlyers, mais le lieu n'est pas ajouté immédiatement, il faut donc saisir temporairement un autre lieu.&lt;br /&gt;
&lt;br /&gt;
==Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul==&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La-différence-entre-le-temps-de-vol-calculé-et-le-temps-de-vol-saisi-est-de-:-X:XX-heure(s)|temps d'activité incompatible avec la formule de calcul]] associée au type ressource pour lequel on souhaite saisir l'activité.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir l'activité en modifiant le compteur d'arrivé de sorte à obtenir le temps d'activité souhaité.&lt;br /&gt;
*[[Gestion-des-ressources#Changer-la-valeur-du-compteur-en-cours|Changer la valeur du compteur en cours]] de la ressource.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs activités successives doivent être saisies, il est alors judicieux de ne mettre à jour le compteur de la ressource qu'une que toutes les activités ont été saisies.&lt;br /&gt;
&lt;br /&gt;
=Supprimer une activité=&lt;br /&gt;
Si l'activité à supprimer est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Si l'activité à supprimer n'est pas validée, pour effectuer sa suppression il faut :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Dans le tableau qui va lister les activités, cliquer sur l'icône poubelle correspondant à l'activité à supprimer et confirmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités=&lt;br /&gt;
Pour valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités de cochée, il existe 2 solutions :&lt;br /&gt;
*Si l'objectif c'est de clôturer la comptabilité et donc de valider toutes les écritures antérieure à une certaine date, alors la solution la plus simple est de valider toutes les écritures antérieures à cette date en suivant la procédure [[Utilisation-de-la-comptabilité#Valider-toutes-les-écritures|Valider toutes les écritures]].&lt;br /&gt;
*Si l'objectif est de contrôler, voir de modifier les activités liées à la ressource avant de réellement les valider, alors il faut réactiver temporairement la ressource pour qu'elle apparaisse dans '''Gestion &amp;gt; Activités &amp;gt; Liste''' et ainsi pouvoir contrôler et valider ses activités associées. Pour cela il faut :&lt;br /&gt;
**Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Réservable''' et '''Saisie d'activité''' d'une ressource existante&lt;br /&gt;
**Cocher '''Saisie d'activité''' pour la ressource dont on souhaite contrôler les activités puis les valider&lt;br /&gt;
**valider les activités en allant dans '''Gestion &amp;gt; Activités &amp;gt; Liste'''&lt;br /&gt;
**Revenir sur '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Saisie d'activité''' pour cette ressource&lt;br /&gt;
**Re-cocher '''Réservable''' et '''Saisie d'activité''' pour la ressource qui devait être temporairement décochée&lt;br /&gt;
&lt;br /&gt;
=Valider une activité=&lt;br /&gt;
;Introduction&lt;br /&gt;
La validation des activités doit être effectuée à intervalle régulier comme préconisé dans le [[Bien-débuter-avec-OpenFlyers#Validation-des-écritures|workflow de validation des activités]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe des écritures non validées qui datent de plus de 30 jours, un message d'alerte de configuration s'affiche indiquant ''[[Alertes-de-configuration#Il-y-a-des-activités-non-validées-qui-datent-de-plus-de-30-jours|Il y a des activités non validées qui datent de plus de 30 jours]]''.&lt;br /&gt;
&lt;br /&gt;
Option disponible pour la validation : [[Configuration#Regrouper-les-activités-en-une-facture-lors-de-la-validation|Regrouper les activités en une facture lors de la validation]]&lt;br /&gt;
&lt;br /&gt;
;Procédure pour valider une ou plusieurs activités&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités à valider en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où une activité a été validée alors qu'elle ne devait pas l'être, il est toujours possible d'en [[#Annuler-une-activité-validée|annuler l'effet]].&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une activité incomplète (Pas de pilote ou pas de localisation d'arrivée ou de départ) l'activité ne peut pas être validée il est donc impossible de la pointer. Ce cas ne devrait arriver que pour les activités générées via [[Interfaçage-OpenFlyers-et-Charterware|l'interfaçage avec Charterware]], [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|l'interfaçage avec ClickAndTakeoff]] ou [[Interfaçage-OpenFlyers-et-Foxtrot-Aviation|l'interfaçage avec Foxtrot Aviation]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14131</id>
		<title>Utilisation des réservations internes sur l'interface web</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Utilisation-des-r%C3%A9servations-internes-sur-l%27interface-web&amp;diff=14131"/>
		<updated>2025-12-22T15:05:17Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Couleur d'un créneau de réservation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le planning et le formulaire de réservation de l'[[Présentation-d'OpenFlyers-4#Interface-légère|interface légère]] de la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Aspect du planning de réservation=&lt;br /&gt;
==Activité ouverte==&lt;br /&gt;
Lorsqu'une activité et en cours :&lt;br /&gt;
*Le créneau horaire correspondant est coloré en bleu vif.&lt;br /&gt;
*L'en-tête contenant le nom de la ressource sera coloré du même bleu.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-int-leg-activite-1.png]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des activités réalisées==&lt;br /&gt;
Si le paramètre [[Configuration-des-réservations-internes#Affichage-possible-des-activités-réalisées-dans-le-planning|Affichage possible des activités réalisées dans le planning]] est activé et que l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-activités-de-tous|Voir les activités de tous]], un interrupteur apparaît pour afficher/masquer les lignes et les créneaux des activités réalisées :&lt;br /&gt;
&lt;br /&gt;
[[File:Toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Chaque ligne de ressource et d'instructeur comporte alors deux sous-lignes :  &lt;br /&gt;
*La sous-ligne supérieure affiche les réservations.  &lt;br /&gt;
*La sous-ligne inférieure affiche les activités réalisées.&lt;br /&gt;
&lt;br /&gt;
[[File:Enabled toggle switch to display activities.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Les informations des activités visibles pour les utilisateurs sont les mêmes que pour les réservations.&lt;br /&gt;
&lt;br /&gt;
La visibilité des informations dépend des droits [[Gestion-des-profils#Voir-les-noms-sur-les-réservations,-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations, les activités réalisées et la liste des utilisateurs]] et [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Affichage des images des pilotes sur le menu contextuel==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les images des personnes associées à une réservation sur le menu contextuel lorsqu'on survole ou effectue un clic droit sur une réservation dans le planning.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-images-des-pilotes-sur-le-menu-contextuel|Voir les images des pilotes sur le menu contextuel]].&lt;br /&gt;
&lt;br /&gt;
[[File:images-des-pilots-sur-la-réservation.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Affichage des noms d'activités sur les réservations et les activités réalisées==&lt;br /&gt;
Cette fonctionnalité permet d'afficher les types d'activités associés à une réservation directement sur l'affichage de la réservation ou de l'activité réalisée dans le planning sans avoir besoin de la survoler.&lt;br /&gt;
&lt;br /&gt;
Cet affichage est en place lorsque l'utilisateur connecté dispose du droit [[Gestion-des-profils#Voir-les-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|Voir les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Couleur d'un créneau de réservation==&lt;br /&gt;
===[[Gestion-des-utilisateurs#Changer-la-couleur-d'affichage-des-réservations-d'un-utilisateur|Couleur Par utilisateur]]===&lt;br /&gt;
===[[Gestion-des-types-d%27activités#Affecter-une-couleur-à-un-type-d'activité|Couleur par type d'activité]]===&lt;br /&gt;
La couleur reflète le niveau de spécificité des activités : les activités plus spécifiques sont priorisées dans le choix de la couleur.&lt;br /&gt;
&lt;br /&gt;
;Principe&lt;br /&gt;
*Les activités les plus courantes sont positionnées dans les premiers rangs&lt;br /&gt;
*Les activités les plus spécifiques sont positionnées dans les derniers rangs&lt;br /&gt;
*Lorsqu'une couleur spécifique doit être appliquée, elle doit provenir des activités les plus spécifiques&lt;br /&gt;
&lt;br /&gt;
;Règles&lt;br /&gt;
*Ordonnancement : du commun vers le spécifique&lt;br /&gt;
*Couleur : la couleur finale d'un créneau reflète la spécificité des activités qui le composent&lt;br /&gt;
&lt;br /&gt;
==Créneaux horaires==&lt;br /&gt;
Lorsqu'une réservation ne comporte pas de nom, les intitulés des activités apparaissent sur le créneau de la réservation.&lt;br /&gt;
&lt;br /&gt;
==Places disponibles==&lt;br /&gt;
Lorsqu'une ou plusieurs places sont indiquées comme disponibles pour une réservation, alors un pictogramme représentant un siège apparaît dans le créneau correspond à cette réservation. &lt;br /&gt;
&lt;br /&gt;
Le nombre de places disponibles y est précisé : +1, +2, ou +3.&lt;br /&gt;
&lt;br /&gt;
[[File:places-disponibles.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Planning par type d'activité==&lt;br /&gt;
Lorsqu'un type d'activité est sélectionné, seuls les créneaux horaires réservés avec le type d'activité sélectionné sont affichés. En revanche, les autres plages horaires réservées sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
[[File:planning_By_Activity_Type.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Positionner automatiquement les activités d’un programme de formation==&lt;br /&gt;
Si la plateforme dispose du droit [[Gestion-des-profils#Réservation-de-programmes|réservation de programmes]] et des programmes de formation définis, lorsqu'on survole un créneau horaire dans le planning, un menu contextuel s'affiche, proposant les actions suivantes :&lt;br /&gt;
*'''Ajouter une réservation...''': Cette option permet de réaliser une réservation simple en affichant le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
*'''Ajouter un programme...''': En choisissant cette option, un pop-up s'affiche, permettant de sélectionner un programme de formation à ajouter au planning pour un utilisateur/client spécifique. En cliquant sur &amp;quot;Ajouter&amp;quot;, des créneaux de réservation sont automatiquement générés si des ressources compatibles avec le type d'activité sont disponibles. Dans le cas contraire, ces créneaux sont placés dans une nouvelle ligne appelée &amp;quot;Activité non placée&amp;quot;. Cette ligne est positionnée au début du planning, juste après la barre des heures, et reste fixe en haut de la page lorsque l'on fait défiler la page.&lt;br /&gt;
&lt;br /&gt;
En survolant l'un des créneaux créés, tous les créneaux des réservations et des activités non placées du même programme s'affichent avec un effet de mise en surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer tous les créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer un créneau parmi ceux déjà créés, il est nécessaire d'activer l'interrupteur [[Configuration-des-réservations-internes#Autoriser-la-suppression-partielle-d'éléments-de-réservations|Autoriser la suppression partielle d'éléments de réservations]].&lt;br /&gt;
&lt;br /&gt;
Une fois ce paramètre activé, l'action '''Annuler cet élément du groupe de réservations''' devient disponible. En cliquant sur cette action, le créneau sélectionné sera supprimé du groupe de réservations.&lt;br /&gt;
&lt;br /&gt;
Pour positionner une activité non placée, il est possible de soit la [[#Glisser-déposer-des-réservations|glisser-déposer]]  à l'emplacement souhaité dans le planning, soit de cliquer sur le créneau pour afficher le [[#Formulaire-de-réservation|formulaire de réservation]].&lt;br /&gt;
&lt;br /&gt;
==Ressource n'est pas disponible==&lt;br /&gt;
Si la resource n'est pas disponible sur des plages horaires, ils sont affichées sur fond gris hachuré.&lt;br /&gt;
&lt;br /&gt;
Si la ressource n'est pas disponible à certains créneaux horaires qui ne sont pas affichés sur le planning, et qu'une réservation est saisie sur plusieurs jours, alors un message d'alerte s'affiche pour indiquer à partir de quelle date et heure la ressource devient indisponible.&lt;br /&gt;
&lt;br /&gt;
Le message d’erreur affiché n’est pas bloquant si l’utilisateur possède le droit [[Gestion-des-profils#Surpasser-l'indisponibilité-des-ressources|Surpasser l'indisponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
Pour modifier la disponibilité de la ressource, il convient de suivre la procédure [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-ressources|Gérer la disponibilité des ressources]].&lt;br /&gt;
&lt;br /&gt;
=Créer une réservation avec une activité antérieure/postérieure sans ressource matérielle=&lt;br /&gt;
;prérequis&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[Gestion-des-types-d'activités#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
&lt;br /&gt;
;Fonctionnement&lt;br /&gt;
Dans le formulaire de réservation, lorsque le type d'activité sélectionné possède une activité antérieure/postérieure configurée, des champs supplémentaires apparaissent.&lt;br /&gt;
Ces champs reprennent le nom des types d'activité configurés et permettent de définir une durée spécifique pour chacune d'elles.&lt;br /&gt;
&lt;br /&gt;
[[File:Booking-Form-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Lors de la création de la réservation, le système génère automatiquement trois blocs distincts :&lt;br /&gt;
*Bloc central : la réservation principale (activité normale), affichée seule sur la ligne de la ressource et au centre sur la ligne de l'utilisateur.&lt;br /&gt;
*Bloc antérieur : une réservation pour l'instructeur et l'élève uniquement, sans ressource, positionnée avant l'activité principale (exp: briefing).&lt;br /&gt;
*Bloc postérieur : une réservation pour l’instructeur et l'élève uniquement, sans ressource, positionnée après l'activité principale (exp: débriefing).&lt;br /&gt;
&lt;br /&gt;
Le moteur d'affichage met en évidence les liens entre les trois blocs de réservation (activité antérieure, activité principale, activité postérieure) à l'aide d'un effet de surbrillance jaune.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer l'ensemble des créneaux créés, il suffit de survoler l'un des créneaux de réservation et de cliquer sur l'action '''Annuler le groupe de réservations'''.&lt;br /&gt;
&lt;br /&gt;
[[File:planning-By-Previous-Next-Activity.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
Il est impossible de réserver l'instructeur ou l'élève pendant qu'ils participent à une activité antérieure ou postérieure. En revanche, la ressource matérielle peut être réservée pendant ces périodes.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran tactile=&lt;br /&gt;
==Appui court==&lt;br /&gt;
L'appui court au-dessus d'une réservation affiche le menu contextuel.&lt;br /&gt;
&lt;br /&gt;
==Appui suivi d'un déplacement==&lt;br /&gt;
L'appui sui d'un déplacement peu de temps après l'appui fait déplacer tout le planning.&lt;br /&gt;
&lt;br /&gt;
==Appui long==&lt;br /&gt;
L'appui long au-dessus d'une réservation sans bouger le doigt permet de [[#Glisser-déposer-des-réservations|glisser-déposer]] un créneau de réservation.&lt;br /&gt;
&lt;br /&gt;
==Double-clic==&lt;br /&gt;
Double-clic au-dessus d'une réservation permet d'afficher le formulaire de réservation.&lt;br /&gt;
&lt;br /&gt;
=Ergonomie sur écran non tactile=&lt;br /&gt;
==Clic==&lt;br /&gt;
Un clic sur un créneau vide du planning pour effectuer '''une nouvelle réservation''', ou un clic sur un créneau réservé pour '''modifier une réservation'''.&lt;br /&gt;
&lt;br /&gt;
==Survol et Clic droit==&lt;br /&gt;
Un '''Survol'''/'''Clic droit''' sur une réservation affiche le menu contextuel avec les options suivantes :&lt;br /&gt;
&lt;br /&gt;
[[File:Contextual menu.png|400px]]&lt;br /&gt;
&lt;br /&gt;
;- Annuler/Modifier la réservation&lt;br /&gt;
&lt;br /&gt;
;- Saisir le vol&lt;br /&gt;
&lt;br /&gt;
;- Préparer un vol&lt;br /&gt;
*OpenFlyers est couplé avec [[Airmate]] pour aider les pilotes à préparer leur vol. Ainsi, depuis OpenFlyers il est possible de :&lt;br /&gt;
**coupler une réservation avec une préparation de vol Airmate en survolant la réservation concernée pour faire apparaitre le menu contextuel, puis de sélectionner l'item de menu '''Préparer le vol...'''&lt;br /&gt;
**créer un nouveau vol dans Airmate en cliquant sur l'item de menu '''Préparation vol &amp;gt; Préparer un vol'''&lt;br /&gt;
*Voir la page [[Airmate]] pour les détails concernant l'inscription à Airmate et la synchronisation réservation/vol.&lt;br /&gt;
&lt;br /&gt;
=Glisser-déposer des réservations=&lt;br /&gt;
La fonction de glisser-déposer est active pour tout utilisateur qui dispose du droit de réservation pour lui-même. Dans ce cas, il ne peut effectuer cette opération que pour les réservations qui le concerne.&lt;br /&gt;
&lt;br /&gt;
;Écran non tactile&lt;br /&gt;
*Survoler la réservation qui a besoin d'être déplacée&lt;br /&gt;
Le pointeur de la souris se transforme en &amp;quot;4 flèches&amp;quot;.&lt;br /&gt;
*Appuyer sur le bouton gauche de la souris pour sélectionner la réservation&lt;br /&gt;
*Déplacer la souris tout en maintenant le bouton gauche appuyé afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le bouton gauche afin que la réservation soit mise à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
;Écran tactile&lt;br /&gt;
*Maintenir un appui prolongé avec le doigt sur une réservation qui a besoin d'être déplacée&lt;br /&gt;
Un pictogramme &amp;quot;4 flèches&amp;quot; s'affiche en haut à gauche du rectangle symbolisant la réservation&lt;br /&gt;
*Déplacer son doigt afin de déplacer le créneau de réservation sur le nouvel horaire et/ou la nouvelle ressource souhaités&lt;br /&gt;
*Relâcher le doigt afin que la réservation se mette à jour&lt;br /&gt;
Un pictogramme (roue qui tourne) apparaît en haut à gauche du rectangle de la réservation pour symboliser la mise à jour en base de données.&lt;br /&gt;
&lt;br /&gt;
Lorsque cette mise à jour est effective, le pictogramme est remplacé pendant quelques secondes par une « check » verte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Un utilisateur disposant du droit d'effectuer des réservations pour des tiers peut procéder de la même façon pour toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
;Le déplacement est soumis aux règles suivantes :  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;utlisateur&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;utlisateur&amp;quot;.  &lt;br /&gt;
* Les réservations sur une ligne de type &amp;quot;ressource&amp;quot; ne peuvent être déplacées que vers une autre ligne de type &amp;quot;ressource&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
;Lors du déplacement d'une réservation :&lt;br /&gt;
* si une alerte bloquante est générée elle est affichée et empêche le déplacement de la réservation&lt;br /&gt;
* si une alerte non bloquante est générée, elle n'est affichée que si le paramètre [[Configuration#Afficher-les-alertes-non-bloquantes-lors-des-glisser-déposer|Afficher les alertes non bloquantes lors des glisser-déposer]] est activé.&lt;br /&gt;
&lt;br /&gt;
=Formulaire de réservation=&lt;br /&gt;
Ce formulaire est accessible via plusieurs actions :  &lt;br /&gt;
* Un clic sur un créneau vide du planning pour effectuer une nouvelle réservation, ou un clic sur un créneau réservé pour modifier une réservation.  &lt;br /&gt;
* Via l'action '''&amp;quot;Planning &amp;gt; Planning &amp;gt; Réserver&amp;quot;'''.  &lt;br /&gt;
* En survolant un créneau réservé et en cliquant sur '''&amp;quot;Modifier la réservation&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
[[File:Formulaire_reservation_ancienne_interface.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
==Type d'activité par défaut==&lt;br /&gt;
&lt;br /&gt;
Il est possible de cocher automatiquement un type d'activité sur le formulaire de réservation :&lt;br /&gt;
* Pour définir le type par défaut lors d'une nouvelle réservation ou lorsqu'on sélectionne une personne en première place, [[Configuration#Type-d'activité-par-défaut|suivre cette procédure de paramétrage]]&lt;br /&gt;
* Pour définir le type par défaut lorsqu'on sélectionne une personne en seconde place, [[Configuration#Type-d'activité-par-défaut-pour-la-seconde-place-(ancienne-interface)|suivre cette procédure de paramétrage]]&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14104</id>
		<title>Gestion des types d'activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14104"/>
		<updated>2025-12-17T13:37:16Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Désactiver un type d'activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des types d'activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-du-paramétrage|Gestion du paramétrage]] est nécessaire pour accéder à cette fonctionnalité.&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité antérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing avant une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité antérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité postérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité postérieure sans ressource matérielle, par exemple de définir un temps de débriefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité postérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une couleur à un type d'activité=&lt;br /&gt;
Préambule : pour voir ces couleurs, il faut que dans la configuration soit paramétré le code couleur par type d'activité pour voir ces couleurs.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Aller sur la ligne concernée et cliquer dans la colonne '''Couleur''' où apparait l'icône modifier.&lt;br /&gt;
*Sélectionner une couleur.&lt;br /&gt;
*La validation se fait automatiquement.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur chaque cellule contenant le symbole '''+''' pour&lt;br /&gt;
**Saisir le nom du type d'activité&lt;br /&gt;
**[[#Affecter-une-couleur-à-un-type-d'activité|Affecter une couleur]]&lt;br /&gt;
**L'interrupteur '''Formation''' permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Désactiver un type d'activité=&lt;br /&gt;
Lorsqu'un type d'activité n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type d'activité à désactiver&lt;br /&gt;
&lt;br /&gt;
En cas de suppression d'un type d'activité, la règle associée sera également supprimée des [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]].&lt;br /&gt;
&lt;br /&gt;
=Modifier un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le champ dont le contenu est à modifier de l'activité concernée et qui correspond à l'une des colonnes suivantes :&lt;br /&gt;
**'''Nom''' : nom de l'activité&lt;br /&gt;
**'''[[#Affecter-une-couleur-à-un-type-d'activité|Couleur]]'''&lt;br /&gt;
**'''Formation''' : permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Supprimer des activités antérieures/postérieures à un type d'activité=&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Editer le type d'activité où vous avez rajouté les temps de briefing/débriefing&lt;br /&gt;
*Dans les champs '''Type d'activité''' (antérieure et/ou postérieure), sélectionner ''Aucune activité''&lt;br /&gt;
*Dans les champs '''Durée par défaut''', renseigner : 0&lt;br /&gt;
Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
Désactiver les types d'activités précédemment créés et devenus inutiles :&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la poubelle pour chaque type d'activité qui n'a plus lieu d'être: ⚠️ Si le type d'activité est toujours lié à une activité antérieure ou postérieure, une alerte s'affiche indiquant qu'il est impossible de le supprimer.&lt;br /&gt;
&lt;br /&gt;
=Typer formation un type d'activité=&lt;br /&gt;
Permet de définir un type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la cellule de la colonne '''Formation''' de la ligne du type d'activité concerné&lt;br /&gt;
*Cocher la case à cocher&lt;br /&gt;
Une fois la modification effectuée, il faut cliquer en dehors du tableau pour que la modification soit enregistrée en base de données.&lt;br /&gt;
Attendre que la page se rafraichisse et qu'un 1 apparaisse&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14103</id>
		<title>Gestion des types d'activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14103"/>
		<updated>2025-12-17T13:36:58Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Ajouter un type d'activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des types d'activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-du-paramétrage|Gestion du paramétrage]] est nécessaire pour accéder à cette fonctionnalité.&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité antérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing avant une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité antérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité postérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité postérieure sans ressource matérielle, par exemple de définir un temps de débriefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité postérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une couleur à un type d'activité=&lt;br /&gt;
Préambule : pour voir ces couleurs, il faut que dans la configuration soit paramétré le code couleur par type d'activité pour voir ces couleurs.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Aller sur la ligne concernée et cliquer dans la colonne '''Couleur''' où apparait l'icône modifier.&lt;br /&gt;
*Sélectionner une couleur.&lt;br /&gt;
*La validation se fait automatiquement.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur chaque cellule contenant le symbole '''+''' pour&lt;br /&gt;
**Saisir le nom du type d'activité&lt;br /&gt;
**[[#Affecter-une-couleur-à-un-type-d'activité|Affecter une couleur]]&lt;br /&gt;
**L'interrupteur '''Formation''' permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Désactiver un type d'activité==&lt;br /&gt;
Lorsqu'un type d'activité n'est plus présent, on peut le supprimer sans pour autant perdre l'historique en le désactivant.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une poubelle et intitulée &amp;quot;Supprimer&amp;quot; sur la ligne correspondante au type d'activité à désactiver&lt;br /&gt;
&lt;br /&gt;
En cas de suppression d'un type d'activité, la règle associée sera également supprimée des [[Configuration-des-réservations-internes#Règles-de-saisies-XML|règles de saisie XML]].&lt;br /&gt;
&lt;br /&gt;
=Modifier un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le champ dont le contenu est à modifier de l'activité concernée et qui correspond à l'une des colonnes suivantes :&lt;br /&gt;
**'''Nom''' : nom de l'activité&lt;br /&gt;
**'''[[#Affecter-une-couleur-à-un-type-d'activité|Couleur]]'''&lt;br /&gt;
**'''Formation''' : permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Supprimer des activités antérieures/postérieures à un type d'activité=&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Editer le type d'activité où vous avez rajouté les temps de briefing/débriefing&lt;br /&gt;
*Dans les champs '''Type d'activité''' (antérieure et/ou postérieure), sélectionner ''Aucune activité''&lt;br /&gt;
*Dans les champs '''Durée par défaut''', renseigner : 0&lt;br /&gt;
Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
Désactiver les types d'activités précédemment créés et devenus inutiles :&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la poubelle pour chaque type d'activité qui n'a plus lieu d'être: ⚠️ Si le type d'activité est toujours lié à une activité antérieure ou postérieure, une alerte s'affiche indiquant qu'il est impossible de le supprimer.&lt;br /&gt;
&lt;br /&gt;
=Typer formation un type d'activité=&lt;br /&gt;
Permet de définir un type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la cellule de la colonne '''Formation''' de la ligne du type d'activité concerné&lt;br /&gt;
*Cocher la case à cocher&lt;br /&gt;
Une fois la modification effectuée, il faut cliquer en dehors du tableau pour que la modification soit enregistrée en base de données.&lt;br /&gt;
Attendre que la page se rafraichisse et qu'un 1 apparaisse&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14102</id>
		<title>Gestion des types d'activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-types-d%27activit%C3%A9s&amp;diff=14102"/>
		<updated>2025-12-17T13:22:48Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Supprimer des activités antérieures/postérieures à un type d'activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des types d'activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le droit [[Gestion-des-profils#Gestion-du-paramétrage|Gestion du paramétrage]] est nécessaire pour accéder à cette fonctionnalité.&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité antérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité antérieure sans ressource matérielle, par exemple de définir un temps de briefing avant une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité antérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une activité postérieure sans ressource matérielle=&lt;br /&gt;
Cette fonctionnalité permet d'affecter une activité postérieure sans ressource matérielle, par exemple de définir un temps de débriefing lors d'une réservation avec instructeur.&lt;br /&gt;
&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Avoir [[Gestion-des-types-d'activités#Ajouter-un-type-d'activité|créé un type d'activité]] permettant de nommer l'activité antérieure&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*[[#Ajouter-un-type-d'activité|Ajouter un type d'activité]] ou [[#Modifier-un-type-d'activité|modifier un type d'activité]]&lt;br /&gt;
*Aller sur la colonne '''Activité postérieure sans ressource matérielle'''&lt;br /&gt;
*Sélectionner le '''Type d'activité''' souhaité parmi ceux déjà créés&lt;br /&gt;
*Sélectionner la '''Durée par défaut''' souhaitée (multiple de 15 minutes)&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Affecter une couleur à un type d'activité=&lt;br /&gt;
Préambule : pour voir ces couleurs, il faut que dans la configuration soit paramétré le code couleur par type d'activité pour voir ces couleurs.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Aller sur la ligne concernée et cliquer dans la colonne '''Couleur''' où apparait l'icône modifier.&lt;br /&gt;
*Sélectionner une couleur.&lt;br /&gt;
*La validation se fait automatiquement.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur chaque cellule contenant le symbole '''+''' pour&lt;br /&gt;
**Saisir le nom du type d'activité&lt;br /&gt;
**[[#Affecter-une-couleur-à-un-type-d'activité|Affecter une couleur]]&lt;br /&gt;
**L'interrupteur '''Formation''' permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Modifier un type d'activité=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur le champ dont le contenu est à modifier de l'activité concernée et qui correspond à l'une des colonnes suivantes :&lt;br /&gt;
**'''Nom''' : nom de l'activité&lt;br /&gt;
**'''[[#Affecter-une-couleur-à-un-type-d'activité|Couleur]]'''&lt;br /&gt;
**'''Formation''' : permet de définir le type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
*[[#Affecter-une-activité-antérieure-sans-ressource-matérielle|Affecter une activité antérieure sans ressource matérielle]]&lt;br /&gt;
*[[#Affecter-une-activité-postérieure-sans-ressource-matérielle|Affecter une activité postérieure sans ressource matérielle]]&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Supprimer des activités antérieures/postérieures à un type d'activité=&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Editer le type d'activité où vous avez rajouté les temps de briefing/débriefing&lt;br /&gt;
*Dans les champs '''Type d'activité''' (antérieure et/ou postérieure), sélectionner ''Aucune activité''&lt;br /&gt;
*Dans les champs '''Durée par défaut''', renseigner : 0&lt;br /&gt;
Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
Désactiver les types d'activités précédemment créés et devenus inutiles :&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la poubelle pour chaque type d'activité qui n'a plus lieu d'être: ⚠️ Si le type d'activité est toujours lié à une activité antérieure ou postérieure, une alerte s'affiche indiquant qu'il est impossible de le supprimer.&lt;br /&gt;
&lt;br /&gt;
=Typer formation un type d'activité=&lt;br /&gt;
Permet de définir un type d'activité comme étant un type d'activité formation ce qui permet de [[Gestion-des-activités#Saisir-un-suivi-de-formation|saisir un suivi de formation]] pour chaque activité ayant ce type.&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur la cellule de la colonne '''Formation''' de la ligne du type d'activité concerné&lt;br /&gt;
*Cocher la case à cocher&lt;br /&gt;
Une fois la modification effectuée, il faut cliquer en dehors du tableau pour que la modification soit enregistrée en base de données.&lt;br /&gt;
Attendre que la page se rafraichisse et qu'un 1 apparaisse&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Envoi-des-emails&amp;diff=14098</id>
		<title>Envoi des emails</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Envoi-des-emails&amp;diff=14098"/>
		<updated>2025-12-12T13:29:27Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter l''''envoi automatique des e-mails''' dans la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le tableau ci-dessous indique pour quels types de plateformes l'envoi des e-mails est actif.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!Type d'e-mail!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_de_démonstration|Plateforme de démonstration]]!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_en_test|Plateforme en test]]!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_en_production|Plateforme en production]]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Communication&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[Liste-de-diffusion|Accès à la création d'une liste de diffusion]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-d'actualité-OpenFlyers|Actualité OpenFlyers]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-mailing-de-la-structure|E-mailing de la structure]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Comptabilité&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-rappel-de-solde|Alerte de solde]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-facture|Envoi de facture]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-reçu|Envoi de reçu]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Réservation&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-d'annulation-de-réservation|Annulation de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-modification-de-réservation|Modification de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-notification-de-réservation|Notification de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-rappel-de-réservation|Rappel de réservation]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Validité&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-demande-de-certification-de-validité|Demande de certification de validité]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[Paramétrage-des-validités#Paramétrer-des-rappels-par-e-mail-des-validités-à-échéance|Rappel d'échéance de validité]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
La fiche personnelle de l'utilisateur contient :&lt;br /&gt;
*le champ [[Fiche-personnelle#E-mail|E-mail]] qui permet de renseigner les adresses emails de l'utilisateur&lt;br /&gt;
*le chapitre [[Fiche-personnelle#Notifications|Notifications]] qui permet de paramétrer l'envoi automatique des e-mails&lt;br /&gt;
&lt;br /&gt;
Une structure peut personnaliser les e-mails automatiques en rajoutant un [[Configuration#Message-en-en-tête-des-emails-automatiques|message en en-tête]] et également un autre [[Configuration#Message-en-pied-de-page-des-emails-automatiques|message en pied de page]].&lt;br /&gt;
&lt;br /&gt;
Il est également possible de suivre les emails dans '''Gestion &amp;gt; Communications &amp;gt; [[Suivi des emails|Suivi des e-mails]]'''.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==E-mail d'activités avec champs non vides==&lt;br /&gt;
C'est un e-mail de notification permettant au mécanicien d'être automatiquement informé dès qu'un pilote saisit une activité en ajoutant une remarque relative à la maintenance.&lt;br /&gt;
&lt;br /&gt;
;Cas d'usage&lt;br /&gt;
[[Suivi des remarques de maintenance]].&lt;br /&gt;
&lt;br /&gt;
;Titre&lt;br /&gt;
Notification d'une activité sur OpenFlyers&lt;br /&gt;
&lt;br /&gt;
;Le corps est composé de&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne: ''Vous recevez cet email car vos paramètres sur la plateforme openflyers.com/&amp;lt;Nom_De_La_Plateforme&amp;gt; demandent à vous envoyer un email dès lors qu'une activité est saisie avec les champs suivants non vides: &amp;lt;Liste_Des_Champs&amp;gt;''&lt;br /&gt;
*De la ligne:''Ci-après le détail du contenu de la saisie d'activité:''&lt;br /&gt;
*De la ligne: ''L'activité pour le/la &amp;lt;Nom_De_La_Resource&amp;gt; du &amp;lt;Date_De_Début&amp;gt; à &amp;lt;Heure_De_Début&amp;gt; au &amp;lt;Date_De_Fin&amp;gt; à &amp;lt;Heure_De_Fin&amp;gt;''&lt;br /&gt;
*De la ligne: ''avec &amp;lt;Nom_De_La_Personne_En_Place_Droite&amp;gt; en Place droite''&lt;br /&gt;
*De la ligne: ''avec &amp;lt;Nom_De_La_Personne_En_Place_Gauche&amp;gt; en Place gauche''&lt;br /&gt;
&lt;br /&gt;
;Exemple de corps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bonjour,&lt;br /&gt;
Vous recevez cet email car vos paramètres sur la plateforme openflyers.com/loubna demandent à vous envoyer un email dès lors qu'une activité est saisie avec les champs suivants non vides:&lt;br /&gt;
mechanicAnswer&lt;br /&gt;
&lt;br /&gt;
Ci-après le détail du contenu de la saisie d'activité:&lt;br /&gt;
L'activité pour le/la F-ABCD du 04/04/2025 à 15:38 au 04/04/2025 à 17:08&lt;br /&gt;
avec EL HIDAM Loubna en Place droite&lt;br /&gt;
avec LARATTE Christophe en Place gauche&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Communication=&lt;br /&gt;
==E-mail d'actualité OpenFlyers==&lt;br /&gt;
Voir le chapitre [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|Être informé des nouveautés OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Chaque utilisateur décide de s'abonner ou non aux e-mails d'actualités d'OpenFlyers depuis la page [[Fiche personnelle]] en cochant ou non [[Fiche-personnelle#Etre-informé-des-actualités-OpenFlyers-par-e-mail|Etre informé des actualités OpenFlyers par e-mail]].&lt;br /&gt;
&lt;br /&gt;
==E-mail de mailing de la structure==&lt;br /&gt;
Les gestionnaires de chaque structure peuvent envoyer des e-mails de masse à l'ensemble ou à une partie des utilisateurs enregistrés dans la structure.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Mailing]].&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
==E-mail de facture==&lt;br /&gt;
Un e-mail de facture est automatiquement envoyé lors de la [[Gestion-des-activités#Valider-une-activité|validation d'une activité]] ou d'une vente. L'envoi automatique de cet e-mail dépend de [[Facturation-des-clients#Envoi-automatique-de-chaque-facture-client|la configuration de la plateforme et peut aussi dépendre du choix de l'utilisateur]].&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Facture&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Facture&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne &amp;quot;Ci-joint la facture n°X pour votre achat du [DATE_ACHAT].&amp;quot;&lt;br /&gt;
**'''X''' correspond au numéro de reçu&lt;br /&gt;
**'''[DATE_PAIEMENT]'''correspond à la date où l'achat a été effectué, formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ci-joint la facture n°10 pour votre achatdu 04/02/2018.&lt;br /&gt;
&lt;br /&gt;
Cordialement,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'e-mail est accompagné d'une pièce-jointe au format PDF intitulé :&lt;br /&gt;
*&amp;quot;Facture [NOM_PLATEFORME] n°X.pdf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de renouvellement d'agrégation bancaire==&lt;br /&gt;
Voir également les chapitres :&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Agréger-un-compte-bancaire|Agréger des comptes bancaires]]&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Importer-par-API|Importer par API un relevé bancaire]]&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Renouveler-l'agrégation-des-comptes-bancaires|Renouveler l'agrégation des comptes bancaires]]&lt;br /&gt;
&lt;br /&gt;
C'est un e-mail de notification pour maintenir active l'agrégation bancaire. Le premier email est envoyé 7 jours avant l'échéance, puis 3 jours avant l'échéance, puis tous les jours après l'échéance aux utilisateurs qui disposent du droit de gérer tous les comptes.&lt;br /&gt;
&lt;br /&gt;
Le titre est: '''Renouvellement de l'agrégation bancaire'''&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne: ''Pour continuer à utiliser la fonctionnalité &amp;quot;Importer les relevés bancaires par API&amp;quot; sur la plateforme [Nom_De_La_Plateforme], il faut prolonger l'agrégation des banques suivantes :[Nom_De_La_Banque]''&lt;br /&gt;
*Du lien vers l'interface de l'agrégation : '''Admin &amp;gt; Comptes &amp;gt; Banque &amp;gt; Agréger'''&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Pour continuer à utiliser la fonctionnalité &amp;quot;Importer les relevés bancaires par API&amp;quot; sur la plateforme [Nom_De_La_Plateforme], il faut prolonger l'agrégation des banques suivants: [Nom_De_La_Banque].&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut :&lt;br /&gt;
- Aller dans Admin &amp;gt; Comptes &amp;gt; Banque &amp;gt; Agréger&lt;br /&gt;
- Cliquer sur le bouton de renouvellement de l'agrégation&lt;br /&gt;
&lt;br /&gt;
La procédure complète est décrite ici.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de solde==&lt;br /&gt;
Voir également les chapitres :&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Paramétrage-général-des-comptabilités|Paramétrage général des comptabilités]]&lt;br /&gt;
*[[Formules-de-calcul#Exemples-de-patrons-d'emails-de-rappel-de-solde|Exemples de patrons d'emails de rappel de solde]]&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Alerte seuil de compte : &amp;quot;&lt;br /&gt;
* Suivi du nom du type de compte utilisateur&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Alerte seuil de compte : Membre&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Cher client/adhérent&lt;br /&gt;
&lt;br /&gt;
Votre compte au sein de votre plateforme de démonstration présente un solde de 52,05 € en dessous du seuil minimum de 100 €.&lt;br /&gt;
&lt;br /&gt;
Nous vous remercions par avance pour la régularisation de votre compte.&lt;br /&gt;
&lt;br /&gt;
Le service comptable/trésorier&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
Le contrôle de votre compte et l'envoi de ce message sont effectués de façon automatique&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de reçu==&lt;br /&gt;
Un e-mail de reçu de paiement est automatiquement envoyé lors de la [[Utilisation-de-la-comptabilité#Validation-des-règlements-clients|validation d'un encaissement]] afin d'être [[Normes-et-réglementations#Inaltérabilité-des-données-et-traçabilité-des-encaissements|conforme à la réglementation]].&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Reçu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Reçu&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne &amp;quot;Ci-joint le reçu n°X pour votre paiement du [DATE_PAIEMENT].&amp;quot;&lt;br /&gt;
**'''X''' correspond au numéro de reçu&lt;br /&gt;
**'''[DATE_PAIEMENT]'''correspond à la date où le paiement a été effectué, formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ci-joint le reçu n°10 pour votre paiement du 04/02/2018.&lt;br /&gt;
&lt;br /&gt;
Cordialement,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'e-mail est accompagné d'une pièce-jointe au format PDF intitulé :&lt;br /&gt;
*&amp;quot;Reçu paiement [NOM_PLATEFORME] n°X.pdf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Réservation=&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Activité de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de modification de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une modification de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de modification de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** l'ancien type de ressource et l'ancienne ressource réservés&lt;br /&gt;
** l'ancienne date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** l'ancienne date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant l'ancien commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'ancien utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'ancien utilisateur en seconde place si existant&lt;br /&gt;
* Du texte &amp;quot;est remplacée par&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le nouveau type de ressource et la nouvelle ressource réservés&lt;br /&gt;
** la nouvelle date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la nouvelle date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le nouveau commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant le nouvel utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant le nouvel utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Veuillez ne pas répondre à cet e-mail.&lt;br /&gt;
L'adresse noreply@openflyers.com est uniquement utilisée pour envoyer des e-mails automatiques et la boîte e-mail n'est jamais consultée.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Confirmation d'une modification de réservation sur OpenFlyers&lt;br /&gt;
&lt;br /&gt;
Notification de modification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 26/10/2017 à 15:00 au 26/10/2017 à 16:30&lt;br /&gt;
avec DUPONT Jean en Place gauche est remplacée par&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 26/10/2017 à 15:00 au 26/10/2017 à 17:00&lt;br /&gt;
avec DUPONT Jean en Place gauche&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Veuillez ne pas répondre à cet e-mail.&lt;br /&gt;
L'adresse noreply@openflyers.com est uniquement utilisée pour envoyer des e-mails automatiques et la boîte e-mail n'est jamais consultée. &lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du [[Configuration#Email-de-rappel-des-réservations-de-la-journée|contenu à ajouter avant l'e-mail de rappel des réservations s'il s'agit d'un rappel d'une réservation de la journée]]. Voir le paramètre [[Fiche-personnelle#Rappel-des-réservations-de-la-veille-ou-de-la-journée-par-e-mail|Rappel des réservations de la veille ou de la journée par e-mail]]&lt;br /&gt;
* Suivi du texte &amp;quot;Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Rappel-des-réservations-de-2-jours-d'avance-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Rappel-des-réservations-de-2-jours-d'avance-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout e-mail de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' indépendamment de cette option, chaque utilisateur peut activer dans sa fiche personnelle, la [[Fiche-personnelle#Synchroniser-les-réservations-dans-OpenFlyers-avec-un-agenda-Google|synchronisation de ses réservations avec son agenda Google]].&lt;br /&gt;
&lt;br /&gt;
=Validité=&lt;br /&gt;
==E-mail de demande de certification de validité==&lt;br /&gt;
&lt;br /&gt;
Un E-mail de certification est envoyé chaque fois qu'un utilisateur complète une validité dont la [[Paramétrage-des-validités#Certification|certification est activée]]. Il est envoyé aux utilisateurs ayant la possibilité de certifier le type de validité concerné. L'e-mail contient un  lien qui renvoi vers l'[[Validités#Validités-en-attente-de-certification|interface permettant de certifier les validités en attentes]]&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
*Du nom de la plateforme entre crochet&lt;br /&gt;
*Du texte : &amp;quot;Nouvelle validité en attente de certification&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Nouvelle validité en attente de certification&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps du message suit ce format :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
L'utilisateur [NOM Prénom de l'utilisateur] a complété la validité [nom de la validité].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez certifier cette validité en suivant ce lien :&lt;br /&gt;
[lien vers la page de gestion]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel d'échéance de validité==&lt;br /&gt;
Voir la [[Paramétrage-des-validités#Alerte-échéance-par-email-:-1er-rappel|Gestion des validités]] pour le paramétrage du déclenchement des e-mails.&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Alerte de validité à échéance :&amp;quot;&lt;br /&gt;
* Suivi du nom du type de validité&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Alerte de validité à échéance : Licence&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;La validité Licence de l'utilisateur DUPONT Jean arrive à échéance le 31/12/2017&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ou :&lt;br /&gt;
&amp;lt;pre&amp;gt;La validité Licence de l'utilisateur DUPONT Jean est arrivée à échéance le 31/12/2017&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail d'information des actions des utilisateurs sur des validités==&lt;br /&gt;
Les gestionnaires peuvent être informé des actions effectués par les utilisateurs sur leurs validités.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut que le gestionnaire dispose d'un profil dont les validités concernées soient cochées dans la colonne du droit [[Gestion-des-profils#Alerté-par-e-mail-pour-le-renouvellement-des-validités-de-tous-les-utilisateurs|Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Envoi-des-emails&amp;diff=14097</id>
		<title>Envoi des emails</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Envoi-des-emails&amp;diff=14097"/>
		<updated>2025-12-12T13:27:20Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter l''''envoi automatique des e-mails''' dans la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le tableau ci-dessous indique pour quels types de plateformes l'envoi des e-mails est actif.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!Type d'e-mail!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_de_démonstration|Plateforme de démonstration]]!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_en_test|Plateforme en test]]!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_en_production|Plateforme en production]]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Communication&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[Liste-de-diffusion|Accès à la création d'une liste de diffusion]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-d'actualité-OpenFlyers|Actualité OpenFlyers]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mailing-de-la-structure|E-mailing de la structure]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Comptabilité&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-rappel-de-solde|Alerte de solde]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-facture|Envoi de facture]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-reçu|Envoi de reçu]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Réservation&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-d'annulation-de-réservation|Annulation de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-modification-de-réservation|Modification de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-notification-de-réservation|Notification de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-rappel-de-réservation|Rappel de réservation]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Validité&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-demande-de-certification-de-validité|Demande de certification de validité]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[Paramétrage-des-validités#Paramétrer-des-rappels-par-e-mail-des-validités-à-échéance|Rappel d'échéance de validité]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
La fiche personnelle de l'utilisateur contient :&lt;br /&gt;
*le champ [[Fiche-personnelle#E-mail|E-mail]] qui permet de renseigner les adresses emails de l'utilisateur&lt;br /&gt;
*le chapitre [[Fiche-personnelle#Notifications|Notifications]] qui permet de paramétrer l'envoi automatique des e-mails&lt;br /&gt;
&lt;br /&gt;
Une structure peut personnaliser les e-mails automatiques en rajoutant un [[Configuration#Message-en-en-tête-des-emails-automatiques|message en en-tête]] et également un autre [[Configuration#Message-en-pied-de-page-des-emails-automatiques|message en pied de page]].&lt;br /&gt;
&lt;br /&gt;
Il est également possible de suivre les emails dans '''Gestion &amp;gt; Communications &amp;gt; [[Suivi des emails|Suivi des e-mails]]'''.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==E-mail d'activités avec champs non vides==&lt;br /&gt;
C'est un e-mail de notification permettant au mécanicien d'être automatiquement informé dès qu'un pilote saisit une activité en ajoutant une remarque relative à la maintenance.&lt;br /&gt;
&lt;br /&gt;
;Cas d'usage&lt;br /&gt;
[[Suivi des remarques de maintenance]].&lt;br /&gt;
&lt;br /&gt;
;Titre&lt;br /&gt;
Notification d'une activité sur OpenFlyers&lt;br /&gt;
&lt;br /&gt;
;Le corps est composé de&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne: ''Vous recevez cet email car vos paramètres sur la plateforme openflyers.com/&amp;lt;Nom_De_La_Plateforme&amp;gt; demandent à vous envoyer un email dès lors qu'une activité est saisie avec les champs suivants non vides: &amp;lt;Liste_Des_Champs&amp;gt;''&lt;br /&gt;
*De la ligne:''Ci-après le détail du contenu de la saisie d'activité:''&lt;br /&gt;
*De la ligne: ''L'activité pour le/la &amp;lt;Nom_De_La_Resource&amp;gt; du &amp;lt;Date_De_Début&amp;gt; à &amp;lt;Heure_De_Début&amp;gt; au &amp;lt;Date_De_Fin&amp;gt; à &amp;lt;Heure_De_Fin&amp;gt;''&lt;br /&gt;
*De la ligne: ''avec &amp;lt;Nom_De_La_Personne_En_Place_Droite&amp;gt; en Place droite''&lt;br /&gt;
*De la ligne: ''avec &amp;lt;Nom_De_La_Personne_En_Place_Gauche&amp;gt; en Place gauche''&lt;br /&gt;
&lt;br /&gt;
;Exemple de corps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bonjour,&lt;br /&gt;
Vous recevez cet email car vos paramètres sur la plateforme openflyers.com/loubna demandent à vous envoyer un email dès lors qu'une activité est saisie avec les champs suivants non vides:&lt;br /&gt;
mechanicAnswer&lt;br /&gt;
&lt;br /&gt;
Ci-après le détail du contenu de la saisie d'activité:&lt;br /&gt;
L'activité pour le/la F-ABCD du 04/04/2025 à 15:38 au 04/04/2025 à 17:08&lt;br /&gt;
avec EL HIDAM Loubna en Place droite&lt;br /&gt;
avec LARATTE Christophe en Place gauche&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Communication=&lt;br /&gt;
==E-mail d'actualité OpenFlyers==&lt;br /&gt;
Voir le chapitre [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|Être informé des nouveautés OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Chaque utilisateur décide de s'abonner ou non aux e-mails d'actualités d'OpenFlyers depuis la page [[Fiche personnelle]] en cochant ou non [[Fiche-personnelle#Etre-informé-des-actualités-OpenFlyers-par-e-mail|Etre informé des actualités OpenFlyers par e-mail]].&lt;br /&gt;
&lt;br /&gt;
==E-mail de mailing de la structure==&lt;br /&gt;
Les gestionnaires de chaque structure peuvent envoyer des e-mails de masse à l'ensemble ou à une partie des utilisateurs enregistrés dans la structure.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Mailing]].&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
==E-mail de facture==&lt;br /&gt;
Un e-mail de facture est automatiquement envoyé lors de la [[Gestion-des-activités#Valider-une-activité|validation d'une activité]] ou d'une vente. L'envoi automatique de cet e-mail dépend de [[Facturation-des-clients#Envoi-automatique-de-chaque-facture-client|la configuration de la plateforme et peut aussi dépendre du choix de l'utilisateur]].&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Facture&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Facture&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne &amp;quot;Ci-joint la facture n°X pour votre achat du [DATE_ACHAT].&amp;quot;&lt;br /&gt;
**'''X''' correspond au numéro de reçu&lt;br /&gt;
**'''[DATE_PAIEMENT]'''correspond à la date où l'achat a été effectué, formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ci-joint la facture n°10 pour votre achatdu 04/02/2018.&lt;br /&gt;
&lt;br /&gt;
Cordialement,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'e-mail est accompagné d'une pièce-jointe au format PDF intitulé :&lt;br /&gt;
*&amp;quot;Facture [NOM_PLATEFORME] n°X.pdf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de renouvellement d'agrégation bancaire==&lt;br /&gt;
Voir également les chapitres :&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Agréger-un-compte-bancaire|Agréger des comptes bancaires]]&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Importer-par-API|Importer par API un relevé bancaire]]&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Renouveler-l'agrégation-des-comptes-bancaires|Renouveler l'agrégation des comptes bancaires]]&lt;br /&gt;
&lt;br /&gt;
C'est un e-mail de notification pour maintenir active l'agrégation bancaire. Le premier email est envoyé 7 jours avant l'échéance, puis 3 jours avant l'échéance, puis tous les jours après l'échéance aux utilisateurs qui disposent du droit de gérer tous les comptes.&lt;br /&gt;
&lt;br /&gt;
Le titre est: '''Renouvellement de l'agrégation bancaire'''&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne: ''Pour continuer à utiliser la fonctionnalité &amp;quot;Importer les relevés bancaires par API&amp;quot; sur la plateforme [Nom_De_La_Plateforme], il faut prolonger l'agrégation des banques suivantes :[Nom_De_La_Banque]''&lt;br /&gt;
*Du lien vers l'interface de l'agrégation : '''Admin &amp;gt; Comptes &amp;gt; Banque &amp;gt; Agréger'''&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Pour continuer à utiliser la fonctionnalité &amp;quot;Importer les relevés bancaires par API&amp;quot; sur la plateforme [Nom_De_La_Plateforme], il faut prolonger l'agrégation des banques suivants: [Nom_De_La_Banque].&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut :&lt;br /&gt;
- Aller dans Admin &amp;gt; Comptes &amp;gt; Banque &amp;gt; Agréger&lt;br /&gt;
- Cliquer sur le bouton de renouvellement de l'agrégation&lt;br /&gt;
&lt;br /&gt;
La procédure complète est décrite ici.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de solde==&lt;br /&gt;
Voir également les chapitres :&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Paramétrage-général-des-comptabilités|Paramétrage général des comptabilités]]&lt;br /&gt;
*[[Formules-de-calcul#Exemples-de-patrons-d'emails-de-rappel-de-solde|Exemples de patrons d'emails de rappel de solde]]&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Alerte seuil de compte : &amp;quot;&lt;br /&gt;
* Suivi du nom du type de compte utilisateur&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Alerte seuil de compte : Membre&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Cher client/adhérent&lt;br /&gt;
&lt;br /&gt;
Votre compte au sein de votre plateforme de démonstration présente un solde de 52,05 € en dessous du seuil minimum de 100 €.&lt;br /&gt;
&lt;br /&gt;
Nous vous remercions par avance pour la régularisation de votre compte.&lt;br /&gt;
&lt;br /&gt;
Le service comptable/trésorier&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
Le contrôle de votre compte et l'envoi de ce message sont effectués de façon automatique&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de reçu==&lt;br /&gt;
Un e-mail de reçu de paiement est automatiquement envoyé lors de la [[Utilisation-de-la-comptabilité#Validation-des-règlements-clients|validation d'un encaissement]] afin d'être [[Normes-et-réglementations#Inaltérabilité-des-données-et-traçabilité-des-encaissements|conforme à la réglementation]].&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Reçu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Reçu&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne &amp;quot;Ci-joint le reçu n°X pour votre paiement du [DATE_PAIEMENT].&amp;quot;&lt;br /&gt;
**'''X''' correspond au numéro de reçu&lt;br /&gt;
**'''[DATE_PAIEMENT]'''correspond à la date où le paiement a été effectué, formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ci-joint le reçu n°10 pour votre paiement du 04/02/2018.&lt;br /&gt;
&lt;br /&gt;
Cordialement,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'e-mail est accompagné d'une pièce-jointe au format PDF intitulé :&lt;br /&gt;
*&amp;quot;Reçu paiement [NOM_PLATEFORME] n°X.pdf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Réservation=&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Activité de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de modification de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une modification de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de modification de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** l'ancien type de ressource et l'ancienne ressource réservés&lt;br /&gt;
** l'ancienne date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** l'ancienne date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant l'ancien commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'ancien utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'ancien utilisateur en seconde place si existant&lt;br /&gt;
* Du texte &amp;quot;est remplacée par&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le nouveau type de ressource et la nouvelle ressource réservés&lt;br /&gt;
** la nouvelle date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la nouvelle date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le nouveau commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant le nouvel utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant le nouvel utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Veuillez ne pas répondre à cet e-mail.&lt;br /&gt;
L'adresse noreply@openflyers.com est uniquement utilisée pour envoyer des e-mails automatiques et la boîte e-mail n'est jamais consultée.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Confirmation d'une modification de réservation sur OpenFlyers&lt;br /&gt;
&lt;br /&gt;
Notification de modification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 26/10/2017 à 15:00 au 26/10/2017 à 16:30&lt;br /&gt;
avec DUPONT Jean en Place gauche est remplacée par&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 26/10/2017 à 15:00 au 26/10/2017 à 17:00&lt;br /&gt;
avec DUPONT Jean en Place gauche&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Veuillez ne pas répondre à cet e-mail.&lt;br /&gt;
L'adresse noreply@openflyers.com est uniquement utilisée pour envoyer des e-mails automatiques et la boîte e-mail n'est jamais consultée. &lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du [[Configuration#Email-de-rappel-des-réservations-de-la-journée|contenu à ajouter avant l'e-mail de rappel des réservations s'il s'agit d'un rappel d'une réservation de la journée]]. Voir le paramètre [[Fiche-personnelle#Rappel-des-réservations-de-la-veille-ou-de-la-journée-par-e-mail|Rappel des réservations de la veille ou de la journée par e-mail]]&lt;br /&gt;
* Suivi du texte &amp;quot;Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Rappel-des-réservations-de-2-jours-d'avance-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Rappel-des-réservations-de-2-jours-d'avance-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout e-mail de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' indépendamment de cette option, chaque utilisateur peut activer dans sa fiche personnelle, la [[Fiche-personnelle#Synchroniser-les-réservations-dans-OpenFlyers-avec-un-agenda-Google|synchronisation de ses réservations avec son agenda Google]].&lt;br /&gt;
&lt;br /&gt;
=Validité=&lt;br /&gt;
==E-mail de demande de certification de validité==&lt;br /&gt;
&lt;br /&gt;
Un E-mail de certification est envoyé chaque fois qu'un utilisateur complète une validité dont la [[Paramétrage-des-validités#Certification|certification est activée]]. Il est envoyé aux utilisateurs ayant la possibilité de certifier le type de validité concerné. L'e-mail contient un  lien qui renvoi vers l'[[Validités#Validités-en-attente-de-certification|interface permettant de certifier les validités en attentes]]&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
*Du nom de la plateforme entre crochet&lt;br /&gt;
*Du texte : &amp;quot;Nouvelle validité en attente de certification&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Nouvelle validité en attente de certification&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps du message suit ce format :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
L'utilisateur [NOM Prénom de l'utilisateur] a complété la validité [nom de la validité].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez certifier cette validité en suivant ce lien :&lt;br /&gt;
[lien vers la page de gestion]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel d'échéance de validité==&lt;br /&gt;
Voir la [[Paramétrage-des-validités#Alerte-échéance-par-email-:-1er-rappel|Gestion des validités]] pour le paramétrage du déclenchement des e-mails.&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Alerte de validité à échéance :&amp;quot;&lt;br /&gt;
* Suivi du nom du type de validité&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Alerte de validité à échéance : Licence&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;La validité Licence de l'utilisateur DUPONT Jean arrive à échéance le 31/12/2017&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ou :&lt;br /&gt;
&amp;lt;pre&amp;gt;La validité Licence de l'utilisateur DUPONT Jean est arrivée à échéance le 31/12/2017&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail d'information des actions des utilisateurs sur des validités==&lt;br /&gt;
Les gestionnaires peuvent être informé des actions effectués par les utilisateurs sur leurs validités.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut que le gestionnaire dispose d'un profil dont les validités concernées soient cochées dans la colonne du droit [[Gestion-des-profils#Alerté-par-e-mail-pour-le-renouvellement-des-validités-de-tous-les-utilisateurs|Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=14096</id>
		<title>Gestion des profils</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-profils&amp;diff=14096"/>
		<updated>2025-12-12T11:39:49Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des profils''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Les profils attribués par défaut à un utilisateur créé automatiquement sont définis dans '''Admin &amp;gt; Utilisateurs &amp;gt; Paramètres par défaut'''.&lt;br /&gt;
&lt;br /&gt;
=Définition=&lt;br /&gt;
*Un '''profil''' correspond à un ensemble de '''droits''' qui définissent les actions que peut effectuer un [[Glossaire|utilisateur]] dans l'application OpenFlyers.&lt;br /&gt;
*Un utilisateur peut disposer de '''plusieurs profils'''. L'attribution des profils aux utilisateurs se fait par l'intermédiaire du  [[Gestion des utilisateurs|tableau de gestion des utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
''Exemple de profils : administrateur, pilote, formateur, technicien, mécanicien, trésorier, secrétaire.''&lt;br /&gt;
&lt;br /&gt;
=Icônes symbolisant les droits des profils=&lt;br /&gt;
Dans la page '''Admin &amp;gt; Utilisateurs &amp;gt; Profils''', il faut distinguer deux éléments pour comprendre le principe des icônes. Il y a les droits d'un côté et les profils de l'autre.&lt;br /&gt;
&lt;br /&gt;
Les droits constituent les entêtes du tableau. Chaque entête de colonne correspond à un droit.&lt;br /&gt;
L’icône [[File:Profile-management3.0.x_Userinfo_connected.gif]] a été attribuée à l'ensemble de ces droits sauf deux :&lt;br /&gt;
*[[#Profil-non-sélectionnable-par-l'utilisateur|Profil non sélectionnable par l'utilisateur]] de l'onglet '''Généralités''' à laquelle l'icône [[File:Profile-management3.0.x_ConnectedNoFilling.png]] à été attribuée&lt;br /&gt;
*[[#Voir-les-noms-sur-les-réservations%2C-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations]] de l'onglet '''Réservations''' à laquelle l'icône [[File:Profile-management3.0.x_Userinfo_kiosk.gif]] à été attribuée&lt;br /&gt;
&lt;br /&gt;
Les profils correspondent à chaque ligne du tableau. L'icône d'un profil est variable et dépend des droits qui lui sont attribués.&lt;br /&gt;
#L'icône d'un profil sera [[File:Profile-management3.0.x_ConnectedNoFilling.png]] si le droit [[#Profil-non-sélectionnable-par-l'utilisateur|Profil non sélectionnable par l'utilisateur]] ci-dessus est coché&lt;br /&gt;
#L'icône d'un profil sera [[File:Profile-management3.0.x_Userinfo_kiosk.gif]] si aucun droit n'est attribué au profil à l'exception du droit [[#Voir-les-noms-sur-les-réservations%2C-les-activités-réalisées-et-la-liste-des-utilisateurs|Voir les noms sur les réservations]] ci-dessus qui peut être coché ou non&lt;br /&gt;
#Dans tous les autres cas, l'icône d'un profil sera [[File:Profile-management3.0.x_Userinfo_connected.gif]]&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes représentant des droits==&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_connected.gif]] : Droit qui définit un profil de base.&lt;br /&gt;
:[[File:Profile-management3.0.x_ConnectedNoFilling.png]] : Droit qui rend un profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_kiosk.gif]] : Droit qui rend un profil de type &amp;quot;kiosque&amp;quot; (voir [[Kiosque PC]]) permettant de consulter le planning uniquement. Si au moins un droit de base est activé, le profil devient un profil de base.&lt;br /&gt;
&lt;br /&gt;
==Définition des icônes attribuées aux profils==&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_connected.gif]] : Profil de base&lt;br /&gt;
:[[File:Profile-management3.0.x_ConnectedNoFilling.png]] : Profil non sélectionnable par un utilisateur lors de sa connexion.&lt;br /&gt;
:[[File:Profile-management3.0.x_Userinfo_kiosk.gif]] : Profil de type &amp;quot;kiosque&amp;quot; (voir [[Kiosque PC]]) permettant de consulter le planning uniquement. Toute modification ou saisie par un utilisateur nécessitera une identification par le biais d'une fenêtre &amp;quot;pop-up&amp;quot; demandant à l'utilisateur son propre identifiant et mot de passe.&lt;br /&gt;
&lt;br /&gt;
=Niveau d'accréditation des droits et des profils=&lt;br /&gt;
Les niveaux d'accréditation vont de 0 à 6 :&lt;br /&gt;
*0 représente le niveau le plus bas&lt;br /&gt;
*6 représente le niveau le plus élevé&lt;br /&gt;
&lt;br /&gt;
Chaque droit dispose d'un niveau d'accréditation qui lui est propre : plus le droit permet de faire des actions pouvant avoir des conséquences sur les données, plus le niveau d'accréditation est élevé.&lt;br /&gt;
&lt;br /&gt;
Chaque profil dispose également d'un niveau d'accréditation. Le niveau d'accréditation d'un profil correspond au niveau d'accréditation le plus élevé des droits détenus par le profil.&lt;br /&gt;
&lt;br /&gt;
La page '''Admin &amp;gt; Utilisateurs &amp;gt; Profils''' indique les niveaux d'accréditation à la fois des droits et des profils :&lt;br /&gt;
*Les droits sont indiqués dans les entêtes de chaque colonne. Le niveau d'accréditation du droit est indiqué en dessous du nom du droit dans un cercle.&lt;br /&gt;
*Les profils sont indiqués à chaque ligne du tableau. le niveau d'accréditation du profil est indiqué en dessous du nom du profil dans un cercle.&lt;br /&gt;
Le niveau d'accréditation 6 est affiché en inverse vidéo par rapport aux autres niveaux pour le distinguer.&lt;br /&gt;
&lt;br /&gt;
Un gestionnaire disposant le droit de gérer des utilisateurs ne peut attribuer un profil à un utilisateur qui soit plus élevé que le profil le plus élevé qu'il détient lui-même.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une plateforme dispose de plus de 3 utilisateurs avec le niveau 6, [[Alertes-de-configuration#La-plateforme-a-plus-de-3-utilisateurs-actifs-avec-un-profil-de-niveau-6.-Les-utilisateurs-concernés-sont-:-XXX|une alerte de configuration est affichée]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'un droit de niveau 6 est accordé à un profil, une alerte est générée si cela entraîne plus de 3 utilisateurs de niveau 6.&lt;br /&gt;
&lt;br /&gt;
=Profils=&lt;br /&gt;
La gestion des profils s'effectue depuis le menu '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''.&lt;br /&gt;
&lt;br /&gt;
Le nombre d'onglets disponible dépend du paramétrage de la plateforme OpenFlyers. Par exemple, si la gestion des activités est activée, alors l'onglet ''Activités'' est disponible.&lt;br /&gt;
&lt;br /&gt;
==Généralités==&lt;br /&gt;
&lt;br /&gt;
===Profil non sélectionnable par l'utilisateur===&lt;br /&gt;
&lt;br /&gt;
Lors de la connexion et lorsqu'un utilisateur doit faire le choix entre un profil pour se connecter, les [[Bien-débuter-avec-OpenFlyers#Attribuer-les-profils-aux-utilisateurs|profils non sélectionnables]] ne seront pas proposés parmi la liste. Ce droit ne peut pas être attribué à un profil ayant des droits de gestion.&lt;br /&gt;
&lt;br /&gt;
===Pas de déconnexion automatique===&lt;br /&gt;
Ce droit permet d'éviter la [[Connexion#Automatique|déconnexion automatique de la session]] au bout de 10 minutes et étend la connexion à 2 heures.&lt;br /&gt;
&lt;br /&gt;
===Accès visiteur===&lt;br /&gt;
L'accès visiteur permet de [[Kiosque-PC#Créer-un-compte-utilisateur-Visiteur|créer un compte visiteur]] donnant un accès limité destiné à pouvoir être utilisé par n'importe quelle personne.&lt;br /&gt;
&lt;br /&gt;
Cet accès permet également de créer un lien vers OpenFlyers avec une connexion automatique en passant les identifiants via l'URL.&lt;br /&gt;
&lt;br /&gt;
Si un visiteur [[#Réservation|peut réserver]] - dépend du paramétrage - alors, lors de la création d'une réservation, [[Utilisation-des-réservations-internes-sur-l%27appli-mobile#Créer-automatiquement-un-utilisateur-en-créant-une-réservation|le système va générer automatiquement un compte utilisateur]] à partir des informations que le visiteur aura saisi. Le visiteur sera connecté automatiquement sur ce nouveau compte.&lt;br /&gt;
&lt;br /&gt;
===Mise à jour de sa date de naissance, de son sexe et de sa nationalité===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur de modifier [[Fiche-personnelle#Mettre-à-jour-sa-date-de-naissance,-sa-nationalité-ou-son-sexe|sa date de naissance, sa nationalité et/ou son sexe dans sa fiche personnelle]].&lt;br /&gt;
&lt;br /&gt;
===Voir ses validités===&lt;br /&gt;
&lt;br /&gt;
Permet d'[[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|accéder à ses validités depuis le planning]].&lt;br /&gt;
&lt;br /&gt;
===Ajout et gestion de ses validités===&lt;br /&gt;
&lt;br /&gt;
Permet à un [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|utilisateur de rajouter/supprimer/mettre à jour ses validités]] qui sont dans la liste [[#Type-de-validité-que-l'utilisateur-peut-gérer-pour-lui-même|Type de validité que l'utilisateur peut gérer]] et pour la mise à jour, sous réserve que le type de validité dispose d'informations qui peuvent être mises à jour.&lt;br /&gt;
&lt;br /&gt;
===Gestion de ses validités détenues===&lt;br /&gt;
&lt;br /&gt;
Permet à un [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|utilisateur de mettre à jour/supprimer uniquement les validités]] qui lui sont déjà attribuées et qui sont dans la liste [[#Type-de-validité-que-l'utilisateur-peut-gérer-pour-lui-même|Type de validité que l'utilisateur peut gérer]] et pour la mise à jour, sous réserve que le type de validité dispose d'informations qui peuvent être mises à jour.&lt;br /&gt;
&lt;br /&gt;
===Surpasser les restrictions sur les validités===&lt;br /&gt;
Permet à un utilisateur de surpasser les [[Connexion#Restriction_d'accès|restrictions d'accès]] dues à des validités expirées, incomplétes ou non certifiées qui sont [[Validités#Contrôle-des-validités-à-la-connexion|appliquées à la connexion]].&lt;br /&gt;
&lt;br /&gt;
Voir le chapitre [[Paramétrage-des-validités#Alerte-à-la-connexion|Alerte à la connexion]] pour le paramétrage des restrictions sur les validités.&lt;br /&gt;
&lt;br /&gt;
[[Connexion#Restriction-d'accès-pour-un-administrateur-référent|Ce droit peut être attribué de façon dynamique à la connexion]] par un [[Configuration#Administrateur-référent|administrateur référent]].&lt;br /&gt;
&lt;br /&gt;
===Editer sa photo===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur [[Fiche-personnelle#Editer-sa-photo|d'importer ou de supprimer sa photo dans sa fiche personnelle]].&lt;br /&gt;
&lt;br /&gt;
==Réservation==&lt;br /&gt;
&lt;br /&gt;
===Alertable par e-mail pour toute réservation===&lt;br /&gt;
Permet la [[Fiche-personnelle#Recevoir-un-e-mail-pour-les-réservations-ayant-pour-activité|notification par e-mail pour toute réservation]].&lt;br /&gt;
&lt;br /&gt;
===Champs additionnels visualisables dans les pop-ups de réservation===&lt;br /&gt;
Permet de visualiser le contenu des champs additionnels dans la pop-up de réservation.&lt;br /&gt;
&lt;br /&gt;
===Créer ou modifier une réservation avec une date de début dépassée===&lt;br /&gt;
Autorise à créer ou modifier une réservation dont la date de début est dépassée.&lt;br /&gt;
&lt;br /&gt;
===Etre sur une nouvelle réservation===&lt;br /&gt;
Permet lors d'une nouvelle réservation, que l'utilisateur disposant du profil concerné soit autorisé à être sur une des places. &lt;br /&gt;
&lt;br /&gt;
Permet entre autre à un utilisateur tiers, de pouvoir effectuer de nouvelles réservations pour un utilisateur disposant du profil concerné et n'ayant pas de droit [[#Réservation-en-solo|Réservation solo]], [[#Réservation-pour-des-tiers|Réservation pour des tiers]] ou [[#Réservation-avec-un-instructeur|Réservation avec un instructeur]].&lt;br /&gt;
&lt;br /&gt;
===Gestion des disponibilités des ressources===&lt;br /&gt;
Sur l'ancienne interface, permet de gérer la disponibilité des ressources et de les immobiliser (pour entretien, maintenance, réparation, arrêt d'activité, ...). &lt;br /&gt;
&lt;br /&gt;
Cela se fait comme pour une réservation, une case &amp;quot;immobiliser la ressource&amp;quot; est alors disponible. Sur la frise de réservation, il sera indiqué &amp;quot;Mise en maintenance&amp;quot; pour la période demandée.&lt;br /&gt;
&lt;br /&gt;
===Gestion des disponibilités des tiers===&lt;br /&gt;
Permet de gérer la [[Gestion-des-disponibilités#Gérer-la-disponibilité-des-intervenants|disponibilité des utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
===Personnaliser ses ressources visibles===&lt;br /&gt;
Permet de personnaliser la [[Fiche-personnelle#Paramétrer-les-ressources-et-les-utilisateurs-visibles-sur-le-planning|liste des ressources et utilisateurs visibles dans le planning depuis sa fiche utilisateur]].&lt;br /&gt;
&lt;br /&gt;
===Planning individuel visible pour les autres===&lt;br /&gt;
Permet de rendre disponible son planning aux autres utilisateurs.&lt;br /&gt;
&lt;br /&gt;
===Planning personnel===&lt;br /&gt;
Permet de visualiser son propre planning.&lt;br /&gt;
&lt;br /&gt;
===Réservation de programmes===&lt;br /&gt;
Autorise [[Utilisation-des-réservations-internes-sur-l%27interface-web#Positionner-automatiquement-les-activités-d’un-programme-de-formation|le positionnement automatique des activités d’un programme de formation dans le planning]].&lt;br /&gt;
&lt;br /&gt;
===Réservation en solo===&lt;br /&gt;
Autorise un utilisateur de réserver une ressource avec lui-même en première place.&lt;br /&gt;
&lt;br /&gt;
===Réservation pour des tiers===&lt;br /&gt;
Autorise la réservation d'une ressource pour un autre utilisateur (en solo et/ou double selon les droits du profil de cet utilisateur tiers).&lt;br /&gt;
&lt;br /&gt;
===Réservation avec un instructeur===&lt;br /&gt;
Autorise la réservation d'une ressource avec une personne en seconde place.&lt;br /&gt;
&lt;br /&gt;
===Supprimer une réservation avec une date de début dépassée===&lt;br /&gt;
Autorise à supprimer une réservation dont la date de début est dépassée.&lt;br /&gt;
&lt;br /&gt;
===Surpasser l'indisponibilité des instructeurs=== &lt;br /&gt;
Autorise la réservation d'une ressource avec un instructeur même si celui-ci n'est pas enregistré comme disponible durant la plage horaire de la réservation (Un message d'alerte prévient quand même. Fonction utile pour les instructeurs et le secrétariat).&lt;br /&gt;
&lt;br /&gt;
===Surpasser l'indisponibilité des ressources===&lt;br /&gt;
Autorise la réservation d'une ressource même si celle-ci n'est pas enregistrée comme disponible durant la plage horaire de la réservation (Un message d'alerte prévient quand même).&lt;br /&gt;
&lt;br /&gt;
===Surpasser l'interdiction d'effectuer une réservation dans moins de X temps===&lt;br /&gt;
Autorise la réservation en annulant l'interdiction &amp;quot;d'effectuer une réservation débutant dans moins de&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de durée minimum===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur la durée minimum d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de durée maximum===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur la durée maximum d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de temps===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur la limitation dans le temps des réservations.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limite de nombre===&lt;br /&gt;
Autorise la réservation en annulant la restriction sur le nombre maximum de réservation.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la réservation par type===&lt;br /&gt;
En cas de chevauchement, cela permet de déplacer la réservation sur une autre ressource de type différent.&lt;br /&gt;
&lt;br /&gt;
===Surpasser les formules de saisie===&lt;br /&gt;
Permet de surpasser les règles de saisie sur les réservations.&lt;br /&gt;
&lt;br /&gt;
===Voir les images des pilotes sur le menu contextuel===&lt;br /&gt;
Permet de [[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-images-des-pilotes-sur-le-menu-contextuel|visualiser images des pilotes associés à chaque réservation sur le menu contextuel]] lorsqu'on survole ou effectue un clic droit sur la réservation.&lt;br /&gt;
&lt;br /&gt;
===Voir les noms sur les réservations, les activités réalisées et la liste des utilisateurs===&lt;br /&gt;
Permet de visualiser les noms des utilisateurs sur la page du planning à la fois pour les réservations et les [[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
===Voir les noms d'activités sur les réservations et les activités réalisées===&lt;br /&gt;
Permet d'[[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-noms-d'activités-sur-les-réservations-et-les-activités-réalisées|afficher les noms d'activités sur les réservations et les activités réalisées]].&lt;br /&gt;
&lt;br /&gt;
==Activités==&lt;br /&gt;
&lt;br /&gt;
===Alertable par email pour toute saisie d'activité===&lt;br /&gt;
;Description&lt;br /&gt;
Ce droit permet aux gestionnaires de [[Fiche-personnelle#Recevoir-un-e-mail-pour-les-activités-ayant-les-champs-sélectionnés-non-vide|s'abonner aux notifications par emails dès lors qu'une activité est saisie par un utilisateur en renseignant un champ suivi par le gestionnaire]].&lt;br /&gt;
&lt;br /&gt;
;Cas d'usage&lt;br /&gt;
[[Suivi des remarques de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
Ce droit permet de suivre le renouvellement des validités par les utilisateurs en étant alerté par un [[Envoi-des-emails#E-mail-d'information-des-actions-des-utilisateurs-sur-des-validités|e-mail d'information des actions des utilisateurs sur des validités]] à chaque fois qu'un utilisateur renouvelle une validité sélectionnée dans la liste de la cellule '''Alerté par e-mail pour le renouvellement des types de validités'''. Attention : la mise en place de ce droit peut provoquer la réception de nombreux e-mails.&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
Permet d'attribuer les places auxquelles sont autorisées les utilisateurs de ce profil. Cela impacte sur les listes des utilisateurs qui se nttrouve à la saisie d'une réservation ou d'une activité.&lt;br /&gt;
&lt;br /&gt;
Ces listes sont accessibles depuis '''Planning &amp;gt; Planning &amp;gt; Réserver''' et '''Planning &amp;gt; Activités &amp;gt; Saisir'''.&lt;br /&gt;
&lt;br /&gt;
La page '''Admin &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Elle permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Etre sur une nouvelle fermeture d'activité===&lt;br /&gt;
Permet lors d'une nouvelle fermeture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places.&lt;br /&gt;
&lt;br /&gt;
Permet entre autre à une personne tierce, de pouvoir effectuer de nouvelles fermetures d'activité pour une personne disposant du profil concerné et n'ayant pas le droit [[#Saisie-d'activité-pour-soi-même|Saisie d'activité pour soi-même]] ou [[#Saisie-d'activité-pour-un-tiers|Saisie d'activité pour un tiers]].&lt;br /&gt;
&lt;br /&gt;
===Etre sur une nouvelle ouverture d'activité===&lt;br /&gt;
Permet lors d'une nouvelle ouverture d'activité, que la personne disposant du profil concerné soit autorisée à être sur une des places.&lt;br /&gt;
&lt;br /&gt;
Permet entre autre à une personne tierce, de pouvoir effectuer de nouvelles ouvertures d'activité pour une personne disposant du profil concerné et n'ayant pas le droit [[#Saisie-d'activité-pour-soi-même|Saisie d'activité pour soi-même]] ou [[#Saisie-d'activité-pour-un-tiers|Saisie d'activité pour un tiers]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'activité pour soi-même===&lt;br /&gt;
Autorise la saisie des vols et permet aussi à l'utilisateur de voir son carnet de vols.&lt;br /&gt;
&lt;br /&gt;
Permet également de supprimer ses propres vols depuis son carnet de vol et depuis le [[Carnet-de-route#Modifier-et-supprimer|carnet de route]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'activité pour un tiers===&lt;br /&gt;
Autorise la saisie des vols pour des tiers et permet de voir les carnets de vols des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Permet également de supprimer les vols des tiers depuis le carnet de vol d'un utilisateur et depuis le [[Carnet-de-route#Modifier-et-supprimer|carnet de route]].&lt;br /&gt;
&lt;br /&gt;
===Vérifier la saisie des activités et les modifier===&lt;br /&gt;
Permet de voir les carnets de vols des utilisateurs et de pointer les vols (vérification qui entérine un vol et qui rend ainsi sa modification ou suppression impossible), permet ainsi de voir les &amp;quot;vols oubliés&amp;quot; aussi (trous dans les horamètres).&lt;br /&gt;
&lt;br /&gt;
===Voir les activités de tous===&lt;br /&gt;
Permet :&lt;br /&gt;
*d'accéder au [[Carnet-de-route|carnet de route]] de chaque ressource aéronef&lt;br /&gt;
*de [[Utilisation-des-réservations-internes-sur-l%27interface-web#Affichage-des-activités-réalisées|voir les activités réalisées sur le planning]] si le paramètre [[Configuration-des-réservations-internes#Affichage-possible-des-activités-réalisées-dans-le-planning|Affichage possible des activités réalisées dans le planning]] est activé&lt;br /&gt;
&lt;br /&gt;
===Voir ses activités===&lt;br /&gt;
Autorise l'utilisateur à voir son carnet de vol.&lt;br /&gt;
&lt;br /&gt;
===Visualiser les traces de vol===&lt;br /&gt;
Permet de [[Interfaçage-OpenFlyers-et-Charterware#Récupération-des-traces-de-vols|visualiser les traces d'un vol]].&lt;br /&gt;
&lt;br /&gt;
==Formations==&lt;br /&gt;
===Voir les suivis de formations===&lt;br /&gt;
Autorise l'utilisateur à [[Gestion-des-activités#Consulter-le-suivi-de-formation|voir les suivis de formations]] de tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
===Gestion des formations===&lt;br /&gt;
Ce droit permet la [[Gestion-des-formations|gestion des formations]].&lt;br /&gt;
&lt;br /&gt;
==Comptes==&lt;br /&gt;
&lt;br /&gt;
===Gestion des comptes===&lt;br /&gt;
Couplé à d'autres droits, permet de créer et modifier les intitulés des comptes (boutiques, espèces, etc.) ainsi que d'accéder à la comptabilité.&lt;br /&gt;
&lt;br /&gt;
Permet lors de la [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualisation des écritures]] d'un compte :&lt;br /&gt;
*de pouvoir consulter les écritures des comptes affectés&lt;br /&gt;
*[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|de pouvoir consulter une facture client ou un reçu]]&lt;br /&gt;
*de pouvoir [[Utilisation-de-la-comptabilité#Contrepasser-une-écriture|contrepasser les écritures]]&lt;br /&gt;
*de pouvoir [[Utilisation-de-la-comptabilité#Lettrer-des-écritures-comptables|lettrer les écritures]]&lt;br /&gt;
&lt;br /&gt;
Permet [[Utilisation-de-la-comptabilité#Importer-un-relevé-bancaire|d'importer des relevés bancaires]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce droit inclut les droits '''Gestion des types d'encaissements''' et '''Voir les comptes'''.&lt;br /&gt;
&lt;br /&gt;
===Voir les comptes===&lt;br /&gt;
[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-son-compte-ou-celui-d'un-tiers|Permet de voir tous les comptes]], de [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualiser la liste des mouvements]] et de [[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|consulter les factures clients et les reçus]].&lt;br /&gt;
&lt;br /&gt;
Couplé au droit [[#Saisir-les-encaissements-pour-les-tiers|Saisir les encaissements pour les tiers]], il permet de saisir un encaissement sur tous comptes. Ce droit inclut les privilèges du droit [[#Voir-les-comptes-utilisateurs|Voir les comptes utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
===Voir les comptes utilisateurs===&lt;br /&gt;
[[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-son-compte-ou-celui-d'un-tiers|Permet de voir tous les comptes utilisateurs]] et de [[Gestion-de-la-comptabilité-côté-utilisateur#Consulter-une-facture-client-ou-un-reçu-d'encaissement|consulter les factures clients et les reçus]].&lt;br /&gt;
&lt;br /&gt;
Couplé au droit [[#Saisir-les-encaissements-pour-les-tiers|Saisir les encaissements pour les tiers]], il permet de saisir un encaissement sur les comptes utilisateurs.&lt;br /&gt;
&lt;br /&gt;
===Gestion des comptabilités===&lt;br /&gt;
&lt;br /&gt;
permet la gestion des comptabilités&lt;br /&gt;
&lt;br /&gt;
===Gestion des types d'encaissements===&lt;br /&gt;
Permet la [[Configuration-de-la-comptabilité#Types-d'encaissements|gestion des types d'encaissements]].&lt;br /&gt;
&lt;br /&gt;
===Encaisser ses paiements===&lt;br /&gt;
&lt;br /&gt;
Permet à l'utilisateur de [[FAQ-comptabilité#Comment-autoriser-un-profil-utilisateur-à-saisir-des-encaissements-pour-lui-même-?|saisir ses propres paiements]], de les modifier ou de les supprimer tant qu'ils n'ont pas été validés. L'utilisateur ne peut pas saisir les types d'encaissements qui sont ''Accessible uniquement aux personnes autorisées à saisir pour les tiers''.&lt;br /&gt;
&lt;br /&gt;
===Saisir les encaissements pour les tiers===&lt;br /&gt;
&lt;br /&gt;
Permet à l'utilisateur de saisir, modifier ou supprimer, tant qu'ils n'ont pas été validés, les encaissements d'autres utilisateurs ainsi que les encaissements devant être affectés sur des [[Configuration de la comptabilité#Créer_un_compte_comptable|comptes comptables clients autorisés à recevoir de l'argent]].&lt;br /&gt;
&lt;br /&gt;
===Modifier la date d'un encaissement, d'un flux ou d'un transfert===&lt;br /&gt;
&lt;br /&gt;
autorise la modification de la date d'un encaissement, d'un flux ou d'un transfert s'il peut être modifié&lt;br /&gt;
&lt;br /&gt;
===Valider les encaissements===&lt;br /&gt;
&lt;br /&gt;
pointage des paiements saisis par les pilotes par exemple (Modification ultérieure de cette saisie impossible, en cas de problème il faudra alors faire l'opération inverse). Permet également la suppression d'encaissement.&lt;br /&gt;
&lt;br /&gt;
===Recevoir de l'argent===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur d'être sur la liste des paiements remis. Voir la [[Configuration-de-la-comptabilité#Types-d'encaissements|configuration de la ventilation des types d'encaissements]].&lt;br /&gt;
&lt;br /&gt;
===Transfert de son compte===&lt;br /&gt;
Permet le transfert de compte à compte depuis la page '''Planning &amp;gt; Comptes &amp;gt; Actions &amp;gt; Transférer'''.&lt;br /&gt;
&lt;br /&gt;
Les transferts effectués avec ce seul droit (sans le droit [[#Transfert-de-son-compte-sans-validation|Transfert de son compte sans validation]]) depuis cette page sont validés automatiquement.&lt;br /&gt;
&lt;br /&gt;
===Transfert de son compte sans validation===&lt;br /&gt;
Permet lors d'un transfert de compte à compte, que les flux générés ne soient pas automatiquement validés. Ce droit n'a d'effet que si le droit [[#Transfert-de-son-compte|Transfert de son compte]] est affecté au profil.&lt;br /&gt;
&lt;br /&gt;
'''Conseil OpenFlyers :''' Ce droit a été créé à la demande de clients OpenFlyers. Néanmoins, nous en déconseillons son usage. En effet, avec ce droit, un utilisateur qui &amp;quot;donne&amp;quot; de l'argent à un autre utilisateur peut ensuite reprendre sa donation. Or comme le dit l'expression : &amp;quot;[https://fr.wiktionary.org/wiki/donner_c%E2%80%99est_donner,_reprendre_c%E2%80%99est_voler Donner c'est donner, reprendre c'est voler]&amp;quot;. L'attribution du seul droit [[#Transfert-de-son-compte|Transfert de son compte]] permet un comportement conforme aux fonctionnalités présentes sur les applications bancaires, à savoir que lorsqu'on effectue un virement ce virement est définitif. Si un utilisateur se trompe dans son virement, alors il faut qu'il demande soit à la personne à qui il a donné de lui rendre le trop-perçu, soit à un gestionnaire de la structure pour qu'elle saisisse une écriture corrective. L'intérêt de procéder ainsi est qu'on conserve visuellement et directement sur les comptes la trace des opérations effectuées.&lt;br /&gt;
&lt;br /&gt;
===Saisir tout flux===&lt;br /&gt;
Permet de :&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Saisir-un-flux|saisir des flux]] depuis '''Gestion &amp;gt; Comptes &amp;gt; Flux &amp;gt; Saisir'''&lt;br /&gt;
*de modifier/supprimer des flux non validés&lt;br /&gt;
*de consulter la liste des flux depuis '''Gestion &amp;gt; Comptes &amp;gt; Flux &amp;gt; Valider'''&lt;br /&gt;
*de [[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|visualiser la liste des mouvements]]&lt;br /&gt;
*d'[[Utilisation-de-la-comptabilité#Importer-un-relevé-bancaire|importer des relevés bancaires]]&lt;br /&gt;
&lt;br /&gt;
===Valider tout flux===&lt;br /&gt;
Permet de valider les flux de la page '''Gestion &amp;gt; Comptes &amp;gt; Flux &amp;gt; Valider'''.&lt;br /&gt;
&lt;br /&gt;
Ce droit n'a effet que si le droit [[#Saisir-tout-flux|Saisir tout flux]] est affecté au profil.&lt;br /&gt;
&lt;br /&gt;
===Paramétrage de la facturation===&lt;br /&gt;
Permet de gérer les règles de [[Facturation-des-clients#Facturation-des-activités|facturation des activités]] et de [[Facturation-des-clients#Facturation-périodique|facturation périodique]].&lt;br /&gt;
&lt;br /&gt;
===Saisie des valeurs de facturation===&lt;br /&gt;
&lt;br /&gt;
Permet de gérer les variables et leurs valeurs destinés aux règles de facturation&lt;br /&gt;
&lt;br /&gt;
===Compte sur lequel un utilisateur peut agir===&lt;br /&gt;
&lt;br /&gt;
Permet de définir sur quel compte utilisateur un encaissement ou un transfert peut être réalisé par la personne connectée. Attention : ce droit est pour l'utilisateur connecté et non pas pour l'utilisateur concerné par l'encaissement ou le transfert.&lt;br /&gt;
&lt;br /&gt;
===Surpasser la limitation du solde du compte===&lt;br /&gt;
Permet à un utilisateur disposant de ce droit dans l'un de ses profils de ne pas avoir de [[Connexion#Restriction_d'accès|restriction d'accès]], de saisie de réservation ou de saisie de vol lorsque [[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|une restriction sur les soldes]] est en place. Il aura juste une alerte à la connexion. Ce droit ne permet pas à l'utilisateur concerné X de pouvoir surpasser les restrictions d'un autre utilisateur Y en effectuant par exemple une réservation en son nom alors que Y n'a ni le droit de surpasser ni le solde suffisant.&lt;br /&gt;
&lt;br /&gt;
[[Connexion#Restriction-d'accès-pour-un-administrateur-référent|Ce droit peut être attribué de façon dynamique à la connexion]] par un [[Configuration#Administrateur-référent|administrateur référent]].&lt;br /&gt;
&lt;br /&gt;
===Surpasser le seuil de [[Gestion-de-la-comptabilité-côté-utilisateur#Transférer-de-l'argent|transfert de compte]]===&lt;br /&gt;
&lt;br /&gt;
Permet à un utilisateur disposant de ce droit dans l'un de ses profils de ne pas être bloqué lorsque une [[Configuration-de-la-comptabilité#Paramétrage-général-des-comptabilités|restriction sur les soldes]] est en place et qu'il ne dispose pas d'un solde suffisant.&lt;br /&gt;
&lt;br /&gt;
==Ventes==&lt;br /&gt;
&lt;br /&gt;
===Gestion globale des ventes===&lt;br /&gt;
&lt;br /&gt;
Permet de gérer les produits, la facturation des produits, les stocks et [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]]. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
&lt;br /&gt;
===Achat ventes libres===&lt;br /&gt;
&lt;br /&gt;
Autorise à acheter tous les produits qui sont en vente libre. Permet également de modifier/supprimer des achats de produit.&lt;br /&gt;
&lt;br /&gt;
===Acheter pour les tiers===&lt;br /&gt;
Autorise à effectuer/modifier/supprimer des achats de produit pour un tiers.&lt;br /&gt;
*Couplé au droit [[#Gestion-des-utilisateurs|Gestion des utilisateurs]], il permet de gérer les [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]] d'un tiers.&lt;br /&gt;
*Couplé au droit [[Gestion-des-profils#Vente-de-produit-sans-tarif|Vente de produit sans tarif]], il permet de vendre des [[Gestion-des-produits-et-des-ventes#Configuration-d'un-produit-non-stocké-sans-tarif-défini|produits sans tarif]].&lt;br /&gt;
&lt;br /&gt;
===Vente de produit sans tarif===&lt;br /&gt;
Autorise à rendre disponible et à acheter des produits sans tarif. Nécessite le droit [[#Acheter-pour-les-tiers|Acheter pour les tiers]].&lt;br /&gt;
&lt;br /&gt;
===Débrayage des ventes de validités===&lt;br /&gt;
&lt;br /&gt;
Autorise à ajouter et modifier la date d'expiration d'une [[Validités#Validité-à-vendre|validité à vendre]] sans débiter le compte.&lt;br /&gt;
&lt;br /&gt;
==Achats==&lt;br /&gt;
&lt;br /&gt;
===Gestion des achats===&lt;br /&gt;
Permet la gestion des factures fournisseurs, à en créer, modifier et supprimer.&lt;br /&gt;
&lt;br /&gt;
==Admin==&lt;br /&gt;
===Gestion du paramétrage===&lt;br /&gt;
Ce droit est nécessaire pour accéder aux pages permettant de [[Paramétrage|paramétrer la plateforme]] et fait apparaitre le menu '''Structure''' avec les items :&lt;br /&gt;
*[[Données#Accéder-au-tableau-de-conservation-des-données|'''Admin &amp;gt; Structure &amp;gt; Données &amp;gt; Conservation des données''']]&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Canaux de communications'''&lt;br /&gt;
*[[Configuration#Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Paramétrage|'''Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Paramétrage''']]&lt;br /&gt;
*[[Configuration#Admin-&amp;gt;-Structure-&amp;gt;-Structure-&amp;gt;-Coordonnées|'''Admin &amp;gt; Structure &amp;gt; Structure &amp;gt; Coordonnées''']]&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Définition'''&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Actualisation'''&lt;br /&gt;
*[[Configuration#Structure-&amp;gt;-Champs-métiers|'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers''']]&lt;br /&gt;
*[[Configuration#Structure-&amp;gt;-Export-SQL|'''Admin &amp;gt; Structure &amp;gt; Export SQL &amp;gt; Complet''']]&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Importer-son-modèle-de-facture|'''Admin &amp;gt; Structure &amp;gt; Imports &amp;gt; Templates ODT''']]&lt;br /&gt;
&lt;br /&gt;
Ce droit fait également apparaitre des items utiles au paramétrage mais présents dans d'autres menus :&lt;br /&gt;
*Couplé au droit [[#Gestion-des-utilisateurs|Gestion des utilisateurs]], dans le menu '''Admin &amp;gt; Utilisateurs''' :&lt;br /&gt;
**[[Champs-métiers|'''Admin &amp;gt; Utilisateurs &amp;gt; Champs métiers''']]&lt;br /&gt;
**'''[[Gestion des statuts|Admin &amp;gt; Utilisateurs &amp;gt; Statuts]]'''&lt;br /&gt;
*[[Gestion-des-types-d'activités|'''Admin &amp;gt; Types d'activités &amp;gt; Actifs''']]&lt;br /&gt;
*[[Champs-métiers|'''Admin &amp;gt; Types d'activités &amp;gt; Champs métiers''']]&lt;br /&gt;
*[[Champs-métiers|'''Ventes &amp;gt; Champs métiers &amp;gt; Champs métiers''']]&lt;br /&gt;
&lt;br /&gt;
===Gestion des valeurs===&lt;br /&gt;
&lt;br /&gt;
===Gestion des profils===&lt;br /&gt;
permet de créer et modifier les profils. Attention, laisser cette autorisation à au moins un profil !&lt;br /&gt;
&lt;br /&gt;
===Gestion des utilisateurs===&lt;br /&gt;
&lt;br /&gt;
Permet de modifier les caractéristiques, infos et photos des utilisateurs, les désactiver et gérer leurs validités qui ne correspondent pas à des [[Paramétrage-des-validités#Validité-à-vendre|validités à vendre]]. Couplé au droit [[#Acheter-pour-les-tiers|Acheter pour les tiers]], il permet de gérer les [[Paramétrage-des-validités#Validité-à-vendre|validités qui sont à vendre]].&lt;br /&gt;
&lt;br /&gt;
===Gestion des ressources===&lt;br /&gt;
Permet la gestion complète des types de ressources et des ressources (créer/supprimer/modifier/associer des validités). Autorise également la gestion de navigabilité des ressources aéronefs et la gestion des statuts.&lt;br /&gt;
&lt;br /&gt;
Permet d'accéder à [[Gestion-des-documents|la liste des documents]] qui sont associés aux ressources et leur gestion (Ajouter, modifier, supprimer). Permet aussi de gérer la liste des catégories de ces documents.&lt;br /&gt;
&lt;br /&gt;
===Gestion des rapports===&lt;br /&gt;
Fait apparaître le menu '''[[Gestion-des-rapports|Gestion &amp;gt; Rapports]]''' avec les items :&lt;br /&gt;
* '''Gestion &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Champs métiers'''&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier]]'''&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Visualiser]]'''&lt;br /&gt;
* '''Gestion &amp;gt; Rapports &amp;gt; Rapports spécifiques &amp;gt; Activités et coûts'''&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Gestion &amp;gt; Rapports &amp;gt; Bibliothèque]]'''&lt;br /&gt;
&lt;br /&gt;
Fait apparaître la [[Gestion-des-rapports#Case-à-cocher-Mémoriser-ce-choix|case à cocher '''Mémoriser ce choix''']].&lt;br /&gt;
&lt;br /&gt;
===Voir tous les rapports===&lt;br /&gt;
Fait apparaître le menu '''Rapports''' avec les items :&lt;br /&gt;
* '''[[Gestion-des-rapports#Configurer-les-rapports-visibles-pour-les-utilisateurs|Rapports personnalisés &amp;gt; Visualiser]]'''&lt;br /&gt;
* '''Rapports spécifiques &amp;gt; Vols et coûts'''&lt;br /&gt;
&lt;br /&gt;
Cela permet de consulter l'intégralité des rapports, y compris les favoris.&lt;br /&gt;
&lt;br /&gt;
Fait apparaître la [[Gestion-des-rapports#Case-à-cocher-Mémoriser-ce-choix|case à cocher '''Mémoriser ce choix''']].&lt;br /&gt;
&lt;br /&gt;
===Gestion des logs===&lt;br /&gt;
Fait apparaître le menu '''Admin &amp;gt; Logs''' avec les items :&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Actions effectuées'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Adresses IP bloquées'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Historique d'une réservation'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Identifiants bloqués'''&lt;br /&gt;
*'''Admin &amp;gt; Logs &amp;gt; Requête utilisateur en attente'''&lt;br /&gt;
&lt;br /&gt;
===Envoyer et suivre les e-mails===&lt;br /&gt;
Permet d'accéder à la page [[Mailing|Mailing]] et de [[Suivi-des-emails|suivre les emails]].&lt;br /&gt;
&lt;br /&gt;
===Accès aux tableurs===&lt;br /&gt;
Permet d'accéder aux fichiers [[Tableurs|tableurs]] depuis le menu.&lt;br /&gt;
&lt;br /&gt;
===Gestion des communications===&lt;br /&gt;
Permet de gérer les flux d'informations et leurs canaux.&lt;br /&gt;
&lt;br /&gt;
==Modules désactivés==&lt;br /&gt;
*Un onglet lié à un module désactivé est affiché uniquement si au moins un droit de son groupe reste actif sur au moins un profil utilisateur.&lt;br /&gt;
*Dans ce cas:&lt;br /&gt;
**L'onglet apparaît avec l'indication '''désactivé'''.&lt;br /&gt;
**Les droits non cochés apparaissent en mode inactif (non modifiables), empêchant toute nouvelle attribution.&lt;br /&gt;
**Les droits déjà attribués (cases cochées) restent visibles.&lt;br /&gt;
*Si aucun droit du groupe n'est actif, l'onglet correspondant n'est plus affiché.&lt;br /&gt;
&lt;br /&gt;
=Profils Plus=&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil depuis Profils plus==&lt;br /&gt;
*Cliquer sur une cellule contenant le caractère '''+'''&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
*pour valider cliquer sur la disquette à gauche dans la colonne &amp;quot;Actions&amp;quot;&lt;br /&gt;
*le nouveau profil est placé à la fin du tableau&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil depuis Profils plus==&lt;br /&gt;
*Cliquer sur une cellule du profil à modifier&lt;br /&gt;
*remplissez la cellule puis appuyer sur la touche &amp;quot;Entrée&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Colonnes du tableau Profils Plus==&lt;br /&gt;
===Nom (du profil)===&lt;br /&gt;
Nom du profil&lt;br /&gt;
&lt;br /&gt;
===Type de compte requis===&lt;br /&gt;
Permet de définir les comptes utilisateurs appartenant aux types sélectionnés qui seront créés pour les nouveaux utilisateurs ou ajoutés aux utilisateurs existants à qui on attribuera ce profil&lt;br /&gt;
&lt;br /&gt;
===Champ métier visible par le profil sur le formulaire utilisateur ou sur le planning===&lt;br /&gt;
Permet d'afficher ou de cacher les [[Champs-métiers|champs métiers]] des formulaires présents dans :&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*'''Gestion &amp;gt; Utilisateurs &amp;gt; Utilisateurs &amp;gt; Actifs'''&lt;br /&gt;
*'''Planning &amp;gt; Planning &amp;gt; Réserver'''&lt;br /&gt;
&lt;br /&gt;
===Type de validité que l'utilisateur peut gérer pour lui-même===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce profil peut [[Validités#Consulter-et-gérer-ses-validités-ou-celles-d'un-tiers|ajouter/acheter/mettre/supprimer]] (ex: Licence fédérale, Visite Médicale, Autres licences) pour lui-même. Les validités d'un utilisateur sont accessibles depuis '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Validités'''.&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage-des-validités#Profils-autorisés-à-gérer-pour-eux-mêmes|Lors de l'ajout d'un type de validité, celui-ci est automatiquement affecté aux profils]].&lt;br /&gt;
&lt;br /&gt;
===Types de validités que l'utilisateur peut gérer et certifier===&lt;br /&gt;
Permet de sélectionner les types de validités qu'un utilisateur de ce profil peut gérer et certifier.&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage-des-validités#Profils-autorisés-à-gérer/certifier-pour-les-autres|Lors de l'ajout d'un type de validité, celui-ci est automatiquement affecté aux profils]].&lt;br /&gt;
&lt;br /&gt;
Tous les utilisateurs détenant un profil pouvant certifier un type de validité coché recevront un [[Envoi-des-emails#E-mail-de-demande-de-certification-de-validité|e-mail]] lorsqu'une validité d'un des types choisis sera ajoutée par un utilisateur et [[Validités#Validités-en-attente-de-certification|en attente de certification]].&lt;br /&gt;
&lt;br /&gt;
'''NB''': Pour que la notification soit effective, il faut également que l'utilisateur ait coché l'option '''[[Fiche-personnelle#Recevoir-un-e-mail-pour-chaque-validité-en-attente-de-certification|Recevoir un e-mail pour chaque validité en attente de certification]]''' dans [[Fiche-personnelle#Notifications|sa fiche personnelle (onglet ''Notifications'')]].&lt;br /&gt;
&lt;br /&gt;
===Contrats non requis===&lt;br /&gt;
Voir la définition de [[Paramétrage-des-validités#Validité-contrat|validité-contrat]].&lt;br /&gt;
&lt;br /&gt;
Permet de [[Gestion-des-profils#Modifier-un-profil-depuis-Profils-plus|définir]] les [[Paramétrage-des-validités#Validité-contrat|validités-contrats]] qui ne sont pas requises pour certains profils.&lt;br /&gt;
&lt;br /&gt;
Les utilisateurs ne disposant que de profils exemptés, ne se verront pas demandés la signature des validités-contrats à la connexion. Tous les autres utilisateurs doivent signer chacun des contrats s'ils disposent d'au moins un profil non-exempté ou si la validité-contrat est requise pour tous les profils.&lt;br /&gt;
&lt;br /&gt;
La signature des validités-contrats, se fait juste après l'identification à la connexion. Le formulaire apparait tant qu'il reste au moins un contrat non-signé. L'utilisateur ne peut passer outre ce processus.&lt;br /&gt;
&lt;br /&gt;
===Attribution de place===&lt;br /&gt;
Permet d'attribuer les places auxquelles sont autorisées les utilisateurs de ce profil. Cela impacte sur les listes des utilisateurs que l'on trouve à la saisie d'une réservation ou d'un vol.&lt;br /&gt;
&lt;br /&gt;
Ces listes sont accessibles depuis '''Planning &amp;gt; Planning &amp;gt; Réserver''' et '''Planning &amp;gt; Activités &amp;gt; Saisir une activités'''.&lt;br /&gt;
&lt;br /&gt;
La page '''Admin &amp;gt; Type de ressource &amp;gt; Places''' permet de gérer les places d'un type de ressource. Elle permet également de définir qui a le droit d'être sur telle place en cas de restriction de profil.&lt;br /&gt;
&lt;br /&gt;
===Profils visibles===&lt;br /&gt;
Dans les pages '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle''', '''Gestion &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Paramètres par défaut''', on peut sélectionner les utilisateurs auxquels on souhaite voir leur planning.&lt;br /&gt;
&lt;br /&gt;
La liste des utilisateurs affichés sont ceux possédant un profil ayant les droits [[#Planning-personnel|Planning personnel]] et [[#Planning-individuel-visible-pour-les-autres|Planning individuel visible pour les autres]]. La colonne '''Profils visibles''' permet de restreindre la liste de ces utilisateurs pour ne la limiter qu'aux utilisateurs possédant les profils sélectionnés.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il faut attribuer à un profil au moins une place de 1ère rang (numéro de place 0).&lt;br /&gt;
&lt;br /&gt;
===Types de ressources visibles===&lt;br /&gt;
Dans les pages '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle''', '''Gestion &amp;gt; Utilisateurs &amp;gt; Actifs''' et '''Admin &amp;gt; Utilisateurs &amp;gt; Paramètres par défaut''', on peut sélectionner les ressources dont on souhaite voir le [[Utilisation-des-réservations-internes-sur-l%27appli-mobile|planning]] ou les rendre disponibles dans les formulaires de saisie de réservation et d'activité.&lt;br /&gt;
&lt;br /&gt;
La colonne '''Types de ressources visibles''' permet de restreindre la liste de ces ressources pour ne la limiter qu'aux ressources appartenant aux types de ressources sélectionnés.&lt;br /&gt;
&lt;br /&gt;
===Comptabilités visibles===&lt;br /&gt;
Permet de sélectionner les comptabilités qui sont visibles pour un profil. De plus, les types de compte et les comptes n'étant pas d'une comptabilité sélectionnée ne seront pas visibles.&lt;br /&gt;
&lt;br /&gt;
===Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs===&lt;br /&gt;
Ce droit permet de suivre le renouvellement des validités par les utilisateurs en étant alerté par e-mail à chaque fois qu'un utilisateur renouvelle une validité sélectionnée dans la liste de la cellule '''Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs'''. Attention : la mise en place de ce droit peut provoquer la réception de nombreux e-mails.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
==[[Connexion#Choix_du_profil|Choix du profil à la connexion]]==&lt;br /&gt;
&lt;br /&gt;
==Ajouter un profil==&lt;br /&gt;
&lt;br /&gt;
Depuis l'interface dynamique :&lt;br /&gt;
*Cliquer sur l'icône de menu correspondant à la gestion des profils&lt;br /&gt;
*Ajouter une ligne&lt;br /&gt;
*Compléter les cellules&lt;br /&gt;
*L'ajout est enregistré si les cellules suivantes sont correctement remplies :&lt;br /&gt;
**'''Nom du profil''' : la cellule doit être remplie et le nom ne pas avoir déjà été utilisé comme nom de profil.&lt;br /&gt;
&lt;br /&gt;
Depuis l'interface légère :&lt;br /&gt;
*Aller sur '''Admin &amp;gt; Utilisateurs &amp;gt; Profils'''&lt;br /&gt;
*En-dessous du tableau listant les profils, cliquer sur le bouton '''AJOUTER UN PROFIL'''&lt;br /&gt;
*Renseigner les droits pour chaque onglet&lt;br /&gt;
*Aller sur '''Admin &amp;gt; Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
*Renseigner les colonnes pour la ligne du profil nouvellement créé&lt;br /&gt;
&lt;br /&gt;
===Ajouter un profil qui surpasse la restriction en cas de solde insuffisant===&lt;br /&gt;
*Procéder à l'ajout de ligne dans un tableau.&lt;br /&gt;
*Saisir par exemple comme nom '''Non restreignable'''.&lt;br /&gt;
*Toujours dans '''Admin &amp;gt; Utilisateurs &amp;gt; Profils''', onglet '''Généralités''', cocher pour ce profil le droit [[Gestion des profils#Généralités|Profil non sélectionnable par l'utilisateur]].&lt;br /&gt;
*Dans l'onglet '''Gestion des comptes''', sélectionner le droit [[#Surpasser-la-limitation-du-solde-du-compte|Surpasser la limitation du solde du compte]] pour le profil concerné&lt;br /&gt;
Il suffit ensuite de rajouter ce profil aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
=Créer un profil empêchant tout surpassement=&lt;br /&gt;
Il peut être nécessaire d'empêcher un utilisateur de pouvoir réserver ou saisir une activité même en recourant à l'aide d'un tiers qui disposerait de droits permettant de surpasser des restrictions, que cela soit sur des comptes ou sur des validités.&lt;br /&gt;
&lt;br /&gt;
Cela peut être le cas, par exemple, pour la détention d'une validité ''Cotisation'' périmée ou lorsque le solde du compte utilisateur est insuffisant (cf. [[Configuration-de-la-comptabilité#Restriction-d'accès-en-cas-de-solde-insuffisant|Restriction d'accès en cas de solde insuffisant]]).&lt;br /&gt;
&lt;br /&gt;
Pour mettre en place une telle restriction, il faut :&lt;br /&gt;
*[[Gestion-des-profils#Ajouter-un-profil|Ajouter un profil]] en lui attribuant l'ensemble des droits (ne pas oublier la page '''Admin &amp;gt; Utilisateurs &amp;gt; Profils plus'''&lt;br /&gt;
*[[Gestion-des-profils#Modifier-un-profil|Modifier le profil]] nouvellement créé&lt;br /&gt;
**Si l'utilisateur ne doit pas pouvoir ouvrir un vol : dans l'onglet [[Gestion-des-profils#Activités|Activités]], décocher le droit [[Gestion-des-profils#Etre-sur-une-nouvelle-ouverture-d'activité|Etre sur une nouvelle ouverture d'activité]]&lt;br /&gt;
**Si l'utilisateur ne doit pas pouvoir être sur une réservation : dans l'onglet [[Gestion-des-profils#Réservation|Réservation]], décocher les droits [[Gestion-des-profils#Etre-sur-une-nouvelle-réservation|Etre sur une nouvelle réservation]], [[Gestion-des-profils#Réservation-solo|Réservation solo]] et [[Gestion-des-profils#Réservation-avec-un-instructeur|Réservation avec un instructeur]]&lt;br /&gt;
&lt;br /&gt;
==Droits particuliers==&lt;br /&gt;
*'''GÉNÉRALITÉS / Profil non sélectionnable par l'utilisateur :''' ce droit n'est applicable que si les [[Gestion des utilisateurs|utilisateurs disposant du profil concerné]] possèdent au moins un autre [[Connexion#Sélection_du_profil|profil sélectionnable à la connexion]].&lt;br /&gt;
*'''GÉNÉRALITÉS ADMIN / Gestion des profils :''' au moins un profil doit posséder ce droit.&lt;br /&gt;
&lt;br /&gt;
==Modifier un profil==&lt;br /&gt;
La modification des profils s'effectue selon les règles d'[[Utilisation des tableaux#Édition_des_données#|édition des données d'un tableau]].&lt;br /&gt;
&lt;br /&gt;
==Supprimer un profil==&lt;br /&gt;
*La suppression d'un profil est possible uniquement si les [[Gestion des utilisateurs|utilisateurs disposant de ce profil]] possèdent aussi au moins un autre profil.&lt;br /&gt;
*Procéder à la suppression de ligne dans un tableau.&lt;br /&gt;
&lt;br /&gt;
==Valeurs par défaut lors de la création d'un profil==&lt;br /&gt;
Lors de la création d'un profil, on affecte automatiquement par défaut :&lt;br /&gt;
* Tous les '''Profils visibles'''&lt;br /&gt;
* Tous les '''Types de ressources visibles'''&lt;br /&gt;
* Toutes les '''Comptabilités visibles'''&lt;br /&gt;
* Les '''Attribution de place''' correspondants à la première place de chaque type de ressource&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Fiche-personnelle&amp;diff=14095</id>
		<title>Fiche personnelle</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Fiche-personnelle&amp;diff=14095"/>
		<updated>2025-12-12T11:33:44Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Recevoir un e-mail pour les activités ayant les champs sélectionnés non vide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Fiche_personnelle.png|right|thumb|200px|Fiche personnelle]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''fiche personnelle''' dans la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
=Accès=&lt;br /&gt;
Depuis le [[Utilisation-des-réservations-internes-sur-l%27interface-web|planning de l'interface légère]] :&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
&lt;br /&gt;
=Affichage du menu contextuel=&lt;br /&gt;
Le menu contextuel et un menu déroulant qui apparait lors du survol d'une réservation ou d'un vol ouvert. Ce menu contextuel peut apparaitre :&lt;br /&gt;
*soit automatiquement&lt;br /&gt;
*soit par un clic droit de la souris&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''N'afficher la description des réservations qu'avec le bouton droit de la souris''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
=Afficher les éphémérides=&lt;br /&gt;
Permet sur le [[Utilisation-des-réservations-internes-sur-l%27interface-web|planning de l'interface légère]] :&lt;br /&gt;
* D'afficher la boîte des éphémérides&lt;br /&gt;
* Faire une distinction de couleur sur les créneaux horaires liés aux éphémérides&lt;br /&gt;
&lt;br /&gt;
[[File:Ephemeride_ancienne_interface.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Ce paramétrage est personnalisable pour chaque utilisateur :&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Cocher ou décocher '''Afficher les éphémérides''' selon le comportement souhaité&lt;br /&gt;
*Cliquer sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
=Choisir l'unité de temps=&lt;br /&gt;
Chaque utilisateur peut choisir l'unité de temps qui sert à afficher les heures.&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Choisir dans le champ '''Unité de temps''' parmi :&lt;br /&gt;
**heures minutes&lt;br /&gt;
**heures centièmes&lt;br /&gt;
**heures dixièmes&lt;br /&gt;
*Appuyer sur le bouton '''Sauver'''.&lt;br /&gt;
&lt;br /&gt;
==[[Champs métiers]]==&lt;br /&gt;
En plus des champs habituels, des [[Champs-métiers|champs métiers]] spécifiques à la structure peuvent apparaître dans la fiche personnelle. &lt;br /&gt;
&lt;br /&gt;
Ils sont affichés [[Gestion-des-profils#Généralités|si les droits sont attribués par l'administrateur]] et permettent d'activer des fonctionnalités supplémentaires, par exemple, [[Interfaçage-Aérogligli|l'interfaçage avec Aérogligli]].&lt;br /&gt;
&lt;br /&gt;
=Changer sa langue=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans la colonne '''Accès et interface''', changer la '''langue'''&lt;br /&gt;
*Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Changer son mot de passe=&lt;br /&gt;
&lt;br /&gt;
==Alertes en changeant son mot de passe==&lt;br /&gt;
&lt;br /&gt;
===Vous devez saisir l'ancien mot de passe et deux fois le nouveau===&lt;br /&gt;
&lt;br /&gt;
Lors du changement du mot de passe, cette alerte s'affiche si :&lt;br /&gt;
*L'un des champs du formulaire n'a pas été saisi.&lt;br /&gt;
&lt;br /&gt;
===Vous devez saisir deux fois le même nouveau mot de passe===&lt;br /&gt;
&lt;br /&gt;
Lors du changement du mot de passe, cette alerte s'affiche si :&lt;br /&gt;
*L'un des champs du formulaire n'a pas été saisi et que l'ancien mot de passe n'est pas demandé.&lt;br /&gt;
*Le nouveau mot de passe et sa confirmation ne sont pas identiques.&lt;br /&gt;
&lt;br /&gt;
==Niveau de sécurité du mot de passe==&lt;br /&gt;
&lt;br /&gt;
Lors du changement du mot de passe, une barre montre le niveau de sécurité du mot de passe. Cette barre a 4 niveaux : '''faible''', '''moyen''', '''fort''' et '''excellent'''. Pour évaluer le niveau de sécurité du mot de passe nous regardons son nombre de caractères, s'il y a des lettres minuscules et majuscules, s'il y a des chiffres et s'il y a des caractères de ponctuation.&lt;br /&gt;
&lt;br /&gt;
Plus précisément voici ce que requiert chaque niveau :&lt;br /&gt;
*Faible : le mot de passe doit avoir au moins 1 caractère&lt;br /&gt;
*Moyen : le mot de passe doit avoir au moins 8 caractères et doit être composé de 2 types de caractères (par exemple des lettres minuscules et des lettres majuscules)&lt;br /&gt;
*Fort : le mot de passe doit avoir au moins 8 caractères et doit être composé de 3 types de caractères (par exemple des lettres minuscules, des lettres majuscules et des chiffres)&lt;br /&gt;
*Excellent : le mot de passe doit avoir au moins 14 caractères et doit être composé de 3 types de caractères (par exemple des lettres minuscules, des lettres majuscules et des chiffres)&lt;br /&gt;
&lt;br /&gt;
=Communication=&lt;br /&gt;
== E-mail ==&lt;br /&gt;
&lt;br /&gt;
; Règles de format&lt;br /&gt;
Les adresses e-mails doivent respecter les normes définies par la [https://www.rfc-editor.org/rfc/rfc5322#section-3.4.1 RFC 5322]. Voici les principales règles à suivre :&lt;br /&gt;
&lt;br /&gt;
'''Caractères autorisés dans la partie locale (avant le &amp;quot;@&amp;quot;) :'''&lt;br /&gt;
* Lettres majuscules et minuscules (A–Z, a–z)&lt;br /&gt;
* Chiffres (0–9)&lt;br /&gt;
* Caractères spéciaux : &amp;lt;code&amp;gt;! # $ % &amp;amp; ' * + - / = ? ^ _ ` { | } ~&amp;lt;/code&amp;gt;&lt;br /&gt;
* Le point (&amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt;), à condition qu'il :&lt;br /&gt;
** Ne soit ni en début, ni en fin&lt;br /&gt;
** Ne se suive pas lui-même (pas de &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
'''Caractères autorisés dans le domaine (après le &amp;quot;@&amp;quot;) :'''&lt;br /&gt;
* Lettres majuscules et minuscules (A–Z, a–z)&lt;br /&gt;
* Chiffres (0–9)&lt;br /&gt;
* Tirets (&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;), à condition qu'ils :&lt;br /&gt;
** Ne soient ni en début, ni en fin&lt;br /&gt;
&lt;br /&gt;
'''Exemples d'adresses e-mails valides :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;exemple@domaine.com&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;prenom.nom@domaine.fr&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;utilisateur+tag@domaine.co.uk&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Exemples d'adresses e-mails invalides :'''&lt;br /&gt;
* &amp;lt;code&amp;gt;exemple@domaine..com&amp;lt;/code&amp;gt; (double point consécutif)&lt;br /&gt;
* &amp;lt;code&amp;gt;ç@domaine.com&amp;lt;/code&amp;gt; (caractère &amp;quot;ç&amp;quot; non autorisé dans la partie locale)&lt;br /&gt;
* &amp;lt;code&amp;gt;espace @domaine.com&amp;lt;/code&amp;gt; (espace non autorisé)&lt;br /&gt;
&lt;br /&gt;
; Saisir plusieurs adresses&lt;br /&gt;
Il est possible de renseigner plusieurs adresses e-mails dans ce champ en séparant chaque adresse e-mail par une virgule.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' Il ne faut jamais mettre d’espace : &lt;br /&gt;
* Ni dans l’adresse e-mail elle-même&lt;br /&gt;
* Ni avant ou après les virgules de séparation des adresses e-mails.&lt;br /&gt;
&lt;br /&gt;
'''Exemple correct :'''&lt;br /&gt;
&amp;lt;pre&amp;gt;exemple1@domaine.com,exemple2@domaine.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Exemples incorrects :'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
exemple1@domaine.com , exemple2@domaine.com&lt;br /&gt;
exemple1@domaine.com ,exemple2@domaine.com&lt;br /&gt;
exemple1@domaine.com, exemple2@domaine.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gérer l'abonnement à la liste de diffusion==&lt;br /&gt;
Lorsque une liste de diffusion mailman gérée par OpenFlyers est activée pour la plateforme OpenFlyers, l'utilisateur peut de lui-même gérer son abonnement à la liste de diffusion :&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Formulaire '''Liste de diffusion : nomdelastructure-ml@openflyers.info'''&lt;br /&gt;
*Cocher/décocher le bouton '''Abonné(e)'''&lt;br /&gt;
*Cliquer sur le bouton '''Sauver'''&lt;br /&gt;
&lt;br /&gt;
=Editer sa photo=&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'import ou la suppression d'une photo requiert le droit [[Gestion-des-profils#Editer-sa-photo|Editer sa photo]]. Ce droit n'est pas nécessaire pour rendre sa photo visible pour tous.&lt;br /&gt;
*Lors de l'import, si la photo de profil a une taille supérieure à 600 pixels (de largeur ou de hauteur), elle est automatiquement redimensionner à cette taille. Son poids ne doit pas être supérieur à 100Ko.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour sa date de naissance, sa nationalité ou son sexe=&lt;br /&gt;
Le droit [[Gestion-des-profils#Mise-à-jour-de-sa-date-de-naissance,-de-son-sexe-et-de-sa-nationalité|Mise à jour de sa date de naissance, de son sexe et de sa nationalité]] est requis pour mettre à jour sa date de naissance, sa nationalité ou son sexe.&lt;br /&gt;
&lt;br /&gt;
=Notifications=&lt;br /&gt;
==Etre informé des actualités OpenFlyers par e-mail==&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par e-mail des nouveautés OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Recevoir un e-mail pour chaque facture==&lt;br /&gt;
Cette option permet d'activer ou de désactiver l'[[Envoi-des-emails#E-mail-de-facture|envoi automatique de chaque facture]] appartenant à l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette option apparait lorsque les paramètres [[Paramétrage-des-activités#Envoyer-un-email-pour-chaque-facture|Envoyer un-email pour chaque facture]] et [[Paramétrage-des-activités#Autoriser-les-utilisateurs-à-choisir-de-recevoir-ou-non-un-email-pour-chaque-facture|Autoriser les utilisateurs à choisir de recevoir ou non un-email pour chaque facture]] sont activés. Cf. chapitre [[Facturation-des-clients#Envoi-automatique-de-chaque-facture-client|Envoi automatique de chaque facture client]].&lt;br /&gt;
&lt;br /&gt;
==Recevoir un e-mail pour chaque validité en attente de certification==&lt;br /&gt;
Cette option permet à un utilisateur de recevoir un [[Envoi-des-emails#E-mail-de-demande-de-certification-de-validité|e-mail]] lorsqu'une validité est en attente de certification.&lt;br /&gt;
&lt;br /&gt;
Pour que cela fonctionne, l'utilisateur doit faire partie [[Gestion-des-profils#Types-de-validités-que-l'utilisateur-peut-gérer-et-certifier|d'un profil ayant le droit de certifier le type de validité concerné]].&lt;br /&gt;
&lt;br /&gt;
=Notifications des réservations=&lt;br /&gt;
==Notification des réservations par e-mail==&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[Envoi-des-emails#E-mail-de-notification-de-réservation|e-mail des réservations créées ou modifiées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
==Rappel des réservations de 2 jours d'avance par e-mail==&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non par e-mail un rappel de réservation.&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations débutant entre 2 et 3 jours après.&lt;br /&gt;
&lt;br /&gt;
Les [[Envoi-des-emails#Présentation|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
==Rappel des réservations de la veille ou de la journée par e-mail==&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin de recevoir ou non l'e-mail de rappel de la structure concernant une réservation passée (réservation de la veille ou de la journée). L'e-mail contient un message paramétré par la structure.&lt;br /&gt;
&lt;br /&gt;
Les rappels sont envoyés entre 0h et 6h au fuseau Europe/Paris pour les réservations de la veille.&lt;br /&gt;
&lt;br /&gt;
Les [[Envoi-des-emails#Présentation|rappels ne sont effectifs que sur les plateformes en production]].&lt;br /&gt;
&lt;br /&gt;
==Notification des réservations annulées==&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*L'utilisateur peut cocher ou décocher cette case afin d'être prévenu ou non par [[#E-mail_d'annulation_de_réservation|e-mail des réservations annulées]] le concernant.&lt;br /&gt;
&lt;br /&gt;
==Recevoir un e-mail pour les réservations ayant pour activité==&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Lorsque l'utilisateur dispose d'un profil avec le droit [[Gestion-des-profils#Alertable-par-e-mail-pour-toute-réservation|Alertable par e-mail pour toute réservation]], apparait une liste de case à cocher avec pour label '''Recevoir un e-mail pour les réservations ayant pour activité'''.&lt;br /&gt;
*L'utilisateur peut cocher ou décocher ces cases afin d'être prévenu ou non [[Envoi-des-emails|par e-mail]] lorsqu'une réservation avec l'une de ces [[Gestion-des-activités|activités]] est créée ou modifiée par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
=Notification des activités=&lt;br /&gt;
==Recevoir un e-mail pour les activités ayant les champs sélectionnés non vide==&lt;br /&gt;
;Prérequis&lt;br /&gt;
*Disposé du droit [[Gestion-des-profils#Alertable-par-email-pour-toute-saisie-d'activité|Alertable par email pour toute saisie d'activité]]&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Dans la partie '''Notification des activités''', apparait le champ ''Recevoir un e-mail pour les activités ayant les champs sélectionnés non vide'' avec en-dessous une liste de champs métiers cochables :&lt;br /&gt;
*L'utilisateur coche ou décoche ces cases afin d'être prévenu ou non [[Envoi-des-emails#E-mail-d%27activités-avec-champs-non-vides|par e-mail]] lorsqu'une activité est saisie avec l'un des champs concernés renseigné par n'importe quel utilisateur.&lt;br /&gt;
&lt;br /&gt;
;Cas d'usage&lt;br /&gt;
[[Suivi des remarques de maintenance]].&lt;br /&gt;
&lt;br /&gt;
=Paramétrer les ressources et les utilisateurs visibles sur le planning=&lt;br /&gt;
Depuis la fiche personnelle, il est possible de choisir quelles ressources matérielles et humaines sont visibles sur le planning avec le droit [[Gestion-des-profils#Personnaliser-ses-ressources-visibles|Personnaliser ses ressources visibles]].&lt;br /&gt;
&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans la catégorie '''Options d'affichage''' :&lt;br /&gt;
*Cocher ou décocher les '''Ressources visibles''' ou '''Utilisateurs visibles''' à afficher.&lt;br /&gt;
&lt;br /&gt;
=Synchronisation des réservations=&lt;br /&gt;
==Mettre en place un planning partagé avec Google agenda==&lt;br /&gt;
;Présentation&lt;br /&gt;
L'objectif de cette procédure est de permettre la création d'un planning partagé contenant l'ensemble des réservations d'une plateforme OpenFlyers afin qu'elles soient visibles depuis un agenda Google lui-même partagé entre plusieurs personnes&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*Créer un compte utilisateur ayant un profil disposant du droit [[Gestion-des-profils#Alertable-par-e-mail-pour-toute-réservation|Alertable par e-mail pour toute réservation]]&lt;br /&gt;
Depuis la fiche personnelle de l'utilisateur créé :&lt;br /&gt;
*Suivre la procédure [[#Synchroniser-les-réservations-dans-OpenFlyers-avec-un-agenda-Google|Synchroniser les réservations dans OpenFlyers avec un agenda Google]] &lt;br /&gt;
*Dans '''Recevoir un e-mail pour les réservations ayant pour activité''', cocher les activités pour lesquelles la synchronisation avec le planning partagé Google agenda doit s'effectuer&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
==Synchroniser les réservations dans OpenFlyers avec un agenda Google==&lt;br /&gt;
;Présentation&lt;br /&gt;
L'objectif est de synchroniser ses réservations personnelles présentes sur une plateforme OpenFlyers avec un compte Google agenda&lt;br /&gt;
&lt;br /&gt;
;Procédure&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Sous le titre '''Synchronisation des réservations''' et le sous titre '''avec Google agenda'''&lt;br /&gt;
*Cliquer sur le bouton '''Se connecter avec Google'''&lt;br /&gt;
*Si plusieurs comptes Google sont enregistrés dans le navigateur, une page s'affiche demandant avec quel compte Google il faut se synchroniser. Sélectionner le compte concerné&lt;br /&gt;
*Une fois le compte Google sélectionné, le nom du compte en question s'affiche en dessous du sous titre '''avec Google agenda'''&lt;br /&gt;
Lorsque l'utilisateur a lié son compte Google agenda, une liste d'agendas apparaît lui permettant de choisir dans quel agenda les événements doivent être créés.&lt;br /&gt;
*'''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
Sous le titre '''Synchronisation des réservations''' et le sous titre '''Calendrier'''&lt;br /&gt;
*Choisir un des agendas de la liste&lt;br /&gt;
*Cliquer sur '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
=Synchroniser les activités avec Carnet.aero=&lt;br /&gt;
;Présentation&lt;br /&gt;
L'objectif est de permettre la synchronisation et l'exportation automatiques des données d'activités vers [[Interfaçage OpenFlyers et Carnet.aero|'''Carnet.aero''']].&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
;Prérequis&lt;br /&gt;
&lt;br /&gt;
* Il faut [[Interfaçage-OpenFlyers-et-Carnet.aero#Récupérer-les-identifiants-API-sur-Carnet.aero|disposer les identifiants]] ('''UserId''' et '''UserSecretKey''' ) fournis par '''Carnet.aero.'''&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
;Procédure&lt;br /&gt;
[[File:2025-12-04-11-48-51-Affichage-et-fiche-personnelle---Brave.png|alt=Synchronisation des activités|Synchronisation des activités]]&lt;br /&gt;
&lt;br /&gt;
* '''Planning &amp;gt; Données &amp;gt; Personnelles &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
&lt;br /&gt;
Sous le titre '''Synchronisation des activités''', remplir les champs :&lt;br /&gt;
* '''Identifiant Utilisateur Carnet.aero'''&lt;br /&gt;
* '''Clé secrète utilisateur Carnet.aero'''&lt;br /&gt;
* '''Date de début de synchronisation Carnet.aero'''&lt;br /&gt;
&lt;br /&gt;
Après avoir rempli les champs :  &lt;br /&gt;
&lt;br /&gt;
* Cliquer sur '''Enregistrer''' pour sauvegarder les données.&lt;br /&gt;
&lt;br /&gt;
* Cliquer sur '''Forcer la synchronisation avec Carnet.aero''' pour enregistrer toute modification et synchroniser toutes les activités non encore synchronisées dont la date de début est postérieure à la '''Date de début de synchronisation Carnet.aero.'''&lt;br /&gt;
&lt;br /&gt;
Après avoir enregistré les données '''Carnet.aero''', les vols futurs de l’utilisateur concerné seront automatiquement synchronisés si le statut attribué est configuré avec une [[Gestion des statuts#Fonction Carnet.aero|fonction carnet.aero]].&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
;Retours possibles&lt;br /&gt;
* Aucun vol à synchroniser :&lt;br /&gt;
**Message vert : &amp;quot;Aucun nouveau vol à synchroniser avec Carnet.aero&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Synchronisation réussie :&lt;br /&gt;
**Message vert : &amp;quot;La synchronisation avec Carnet.aero a été effectuée avec succès&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Erreur de configuration - Aucun statut configuré :&lt;br /&gt;
**Message rouge : &amp;quot;Aucun statut n'est configuré avec une fonction Carnet.aero. Veuillez configurer au moins une fonction Carnet.aero pour un statut dans Admin &amp;gt; Utilisateurs &amp;gt; Statuts.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Erreur retournée par Carnet.aero :&lt;br /&gt;
** Message orange : &amp;quot;La mise à jour des données est enregistrée avec succès dans OpenFlyers, mais il y a une erreur avec la synchronisation avec Carnet.aero pour [Nom Pilote] : [Réponse Carnet.aero]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Avertissement de conformité Carnet.aero :&lt;br /&gt;
** Message orange : &amp;quot;La mise à jour des données est enregistrée avec succès dans OpenFlyers, mais il y a un avertissement avec la synchronisation avec Carnet.aero pour [Nom Pilote] : [Avertissements conformité]&amp;quot;&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Envoi-des-emails&amp;diff=14094</id>
		<title>Envoi des emails</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Envoi-des-emails&amp;diff=14094"/>
		<updated>2025-12-12T11:31:13Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* E-mail pour les activités ayant les champs sélectionnés non vide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter l''''envoi automatique des e-mails''' dans la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Le tableau ci-dessous indique pour quels types de plateformes l'envoi des e-mails est actif.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
!Type d'e-mail!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_de_démonstration|Plateforme de démonstration]]!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_en_test|Plateforme en test]]!![[Compte-client-OpenFlyers-et-modèle-commercial#Plateforme_en_production|Plateforme en production]]&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Communication&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[Liste-de-diffusion|Accès à la création d'une liste de diffusion]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#Actualité-OpenFlyers|Actualité OpenFlyers]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mailing-de-la-structure|E-mailing de la structure]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Comptabilité&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-rappel-de-solde|Alerte de solde]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-facture|Envoi de facture]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-reçu|Envoi de reçu]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Réservation&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-d'annulation-de-réservation|Annulation de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-modification-de-réservation|Modification de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-notification-de-réservation|Notification de réservation]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-rappel-de-réservation|Rappel de réservation]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
!style=&amp;quot;text-align:left;&amp;quot; colspan=&amp;quot;4&amp;quot;|Validité&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[#E-mail-de-demande-de-certification-de-validité|Demande de certification de validité]]||-||&amp;amp;#10004;||&amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left;&amp;quot;|[[Paramétrage-des-validités#Paramétrer-des-rappels-par-e-mail-des-validités-à-échéance|Rappel d'échéance de validité]]||-||-||&amp;amp;#10004;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
La fiche personnelle de l'utilisateur contient :&lt;br /&gt;
*le champ [[Fiche-personnelle#E-mail|E-mail]] qui permet de renseigner les adresses emails de l'utilisateur&lt;br /&gt;
*le chapitre [[Fiche-personnelle#Notifications|Notifications]] qui permet de paramétrer l'envoi automatique des e-mails&lt;br /&gt;
&lt;br /&gt;
Une structure peut personnaliser les e-mails automatiques en rajoutant un [[Configuration#Message-en-en-tête-des-emails-automatiques|message en en-tête]] et également un autre [[Configuration#Message-en-pied-de-page-des-emails-automatiques|message en pied de page]].&lt;br /&gt;
&lt;br /&gt;
Il est également possible de suivre les emails dans '''Gestion &amp;gt; Communications &amp;gt; [[Suivi des emails|Suivi des e-mails]]'''.&lt;br /&gt;
&lt;br /&gt;
=Activité=&lt;br /&gt;
==E-mail d'activités avec champs non vides==&lt;br /&gt;
C'est un e-mail de notification permettant au mécanicien d'être automatiquement informé dès qu'un pilote saisit une activité en ajoutant une remarque relative à la maintenance.&lt;br /&gt;
&lt;br /&gt;
;Cas d'usage&lt;br /&gt;
[[Suivi des remarques de maintenance]].&lt;br /&gt;
&lt;br /&gt;
;Titre&lt;br /&gt;
Notification d'une activité sur OpenFlyers&lt;br /&gt;
&lt;br /&gt;
;Le corps est composé de&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne: ''Vous recevez cet email car vos paramètres sur la plateforme openflyers.com/&amp;lt;Nom_De_La_Plateforme&amp;gt; demandent à vous envoyer un email dès lors qu'une activité est saisie avec les champs suivants non vides: &amp;lt;Liste_Des_Champs&amp;gt;''&lt;br /&gt;
*De la ligne:''Ci-après le détail du contenu de la saisie d'activité:''&lt;br /&gt;
*De la ligne: ''L'activité pour le/la &amp;lt;Nom_De_La_Resource&amp;gt; du &amp;lt;Date_De_Début&amp;gt; à &amp;lt;Heure_De_Début&amp;gt; au &amp;lt;Date_De_Fin&amp;gt; à &amp;lt;Heure_De_Fin&amp;gt;''&lt;br /&gt;
*De la ligne: ''avec &amp;lt;Nom_De_La_Personne_En_Place_Droite&amp;gt; en Place droite''&lt;br /&gt;
*De la ligne: ''avec &amp;lt;Nom_De_La_Personne_En_Place_Gauche&amp;gt; en Place gauche''&lt;br /&gt;
&lt;br /&gt;
;Exemple de corps&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bonjour,&lt;br /&gt;
Vous recevez cet email car vos paramètres sur la plateforme openflyers.com/loubna demandent à vous envoyer un email dès lors qu'une activité est saisie avec les champs suivants non vides:&lt;br /&gt;
mechanicAnswer&lt;br /&gt;
&lt;br /&gt;
Ci-après le détail du contenu de la saisie d'activité:&lt;br /&gt;
L'activité pour le/la F-ABCD du 04/04/2025 à 15:38 au 04/04/2025 à 17:08&lt;br /&gt;
avec EL HIDAM Loubna en Place droite&lt;br /&gt;
avec LARATTE Christophe en Place gauche&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Communication=&lt;br /&gt;
==E-mail d'actualité OpenFlyers==&lt;br /&gt;
Voir le chapitre [[Bien-communiquer-avec-OpenFlyers#Être-informé-des-nouveautés-OpenFlyers|Être informé des nouveautés OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
Chaque utilisateur décide de s'abonner ou non aux e-mails d'actualités d'OpenFlyers depuis la page [[Fiche personnelle]] en cochant ou non [[Fiche-personnelle#Etre-informé-des-actualités-OpenFlyers-par-e-mail|Etre informé des actualités OpenFlyers par e-mail]].&lt;br /&gt;
&lt;br /&gt;
==E-mail de mailing de la structure==&lt;br /&gt;
Les gestionnaires de chaque structure peuvent envoyer des e-mails de masse à l'ensemble ou à une partie des utilisateurs enregistrés dans la structure.&lt;br /&gt;
&lt;br /&gt;
Voir la page [[Mailing]].&lt;br /&gt;
&lt;br /&gt;
=Comptabilité=&lt;br /&gt;
==E-mail de facture==&lt;br /&gt;
Un e-mail de facture est automatiquement envoyé lors de la [[Gestion-des-activités#Valider-une-activité|validation d'une activité]] ou d'une vente. L'envoi automatique de cet e-mail dépend de [[Facturation-des-clients#Envoi-automatique-de-chaque-facture-client|la configuration de la plateforme et peut aussi dépendre du choix de l'utilisateur]].&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Facture&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Facture&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne &amp;quot;Ci-joint la facture n°X pour votre achat du [DATE_ACHAT].&amp;quot;&lt;br /&gt;
**'''X''' correspond au numéro de reçu&lt;br /&gt;
**'''[DATE_PAIEMENT]'''correspond à la date où l'achat a été effectué, formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ci-joint la facture n°10 pour votre achatdu 04/02/2018.&lt;br /&gt;
&lt;br /&gt;
Cordialement,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'e-mail est accompagné d'une pièce-jointe au format PDF intitulé :&lt;br /&gt;
*&amp;quot;Facture [NOM_PLATEFORME] n°X.pdf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de renouvellement d'agrégation bancaire==&lt;br /&gt;
Voir également les chapitres :&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Agréger-un-compte-bancaire|Agréger des comptes bancaires]]&lt;br /&gt;
*[[Utilisation-de-la-comptabilité#Importer-par-API|Importer par API un relevé bancaire]]&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Renouveler-l'agrégation-des-comptes-bancaires|Renouveler l'agrégation des comptes bancaires]]&lt;br /&gt;
&lt;br /&gt;
C'est un e-mail de notification pour maintenir active l'agrégation bancaire. Le premier email est envoyé 7 jours avant l'échéance, puis 3 jours avant l'échéance, puis tous les jours après l'échéance aux utilisateurs qui disposent du droit de gérer tous les comptes.&lt;br /&gt;
&lt;br /&gt;
Le titre est: '''Renouvellement de l'agrégation bancaire'''&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne: ''Pour continuer à utiliser la fonctionnalité &amp;quot;Importer les relevés bancaires par API&amp;quot; sur la plateforme [Nom_De_La_Plateforme], il faut prolonger l'agrégation des banques suivantes :[Nom_De_La_Banque]''&lt;br /&gt;
*Du lien vers l'interface de l'agrégation : '''Admin &amp;gt; Comptes &amp;gt; Banque &amp;gt; Agréger'''&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Pour continuer à utiliser la fonctionnalité &amp;quot;Importer les relevés bancaires par API&amp;quot; sur la plateforme [Nom_De_La_Plateforme], il faut prolonger l'agrégation des banques suivants: [Nom_De_La_Banque].&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut :&lt;br /&gt;
- Aller dans Admin &amp;gt; Comptes &amp;gt; Banque &amp;gt; Agréger&lt;br /&gt;
- Cliquer sur le bouton de renouvellement de l'agrégation&lt;br /&gt;
&lt;br /&gt;
La procédure complète est décrite ici.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de solde==&lt;br /&gt;
Voir également les chapitres :&lt;br /&gt;
*[[Configuration-de-la-comptabilité#Paramétrage-général-des-comptabilités|Paramétrage général des comptabilités]]&lt;br /&gt;
*[[Formules-de-calcul#Exemples-de-patrons-d'emails-de-rappel-de-solde|Exemples de patrons d'emails de rappel de solde]]&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Alerte seuil de compte : &amp;quot;&lt;br /&gt;
* Suivi du nom du type de compte utilisateur&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Alerte seuil de compte : Membre&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Cher client/adhérent&lt;br /&gt;
&lt;br /&gt;
Votre compte au sein de votre plateforme de démonstration présente un solde de 52,05 € en dessous du seuil minimum de 100 €.&lt;br /&gt;
&lt;br /&gt;
Nous vous remercions par avance pour la régularisation de votre compte.&lt;br /&gt;
&lt;br /&gt;
Le service comptable/trésorier&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
Le contrôle de votre compte et l'envoi de ce message sont effectués de façon automatique&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de reçu==&lt;br /&gt;
Un e-mail de reçu de paiement est automatiquement envoyé lors de la [[Utilisation-de-la-comptabilité#Validation-des-règlements-clients|validation d'un encaissement]] afin d'être [[Normes-et-réglementations#Inaltérabilité-des-données-et-traçabilité-des-encaissements|conforme à la réglementation]].&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Reçu&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Reçu&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
*Du texte &amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
*De la ligne &amp;quot;Ci-joint le reçu n°X pour votre paiement du [DATE_PAIEMENT].&amp;quot;&lt;br /&gt;
**'''X''' correspond au numéro de reçu&lt;br /&gt;
**'''[DATE_PAIEMENT]'''correspond à la date où le paiement a été effectué, formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ci-joint le reçu n°10 pour votre paiement du 04/02/2018.&lt;br /&gt;
&lt;br /&gt;
Cordialement,&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
L'e-mail est accompagné d'une pièce-jointe au format PDF intitulé :&lt;br /&gt;
*&amp;quot;Reçu paiement [NOM_PLATEFORME] n°X.pdf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Réservation=&lt;br /&gt;
==E-mail d'annulation de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot; : Confirmation d'une annulation de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une annulation de réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est le même que pour l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]].&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Notification d'annulation de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Activité de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est annulée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les annulations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails d'annulation en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-annulées&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de modification de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une modification de réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de modification de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** l'ancien type de ressource et l'ancienne ressource réservés&lt;br /&gt;
** l'ancienne date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** l'ancienne date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant l'ancien commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'ancien utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'ancien utilisateur en seconde place si existant&lt;br /&gt;
* Du texte &amp;quot;est remplacée par&amp;quot;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le nouveau type de ressource et la nouvelle ressource réservés&lt;br /&gt;
** la nouvelle date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la nouvelle date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le nouveau commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant le nouvel utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant le nouvel utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Veuillez ne pas répondre à cet e-mail.&lt;br /&gt;
L'adresse noreply@openflyers.com est uniquement utilisée pour envoyer des e-mails automatiques et la boîte e-mail n'est jamais consultée.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Confirmation d'une modification de réservation sur OpenFlyers&lt;br /&gt;
&lt;br /&gt;
Notification de modification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 26/10/2017 à 15:00 au 26/10/2017 à 16:30&lt;br /&gt;
avec DUPONT Jean en Place gauche est remplacée par&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 26/10/2017 à 15:00 au 26/10/2017 à 17:00&lt;br /&gt;
avec DUPONT Jean en Place gauche&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Veuillez ne pas répondre à cet e-mail.&lt;br /&gt;
L'adresse noreply@openflyers.com est uniquement utilisée pour envoyer des e-mails automatiques et la boîte e-mail n'est jamais consultée. &lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de notification de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Confirmation d'une nouvelle réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Confirmation d'une nouvelle réservation sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Bonjour,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Notification de création de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* D'une ligne indiquant :&lt;br /&gt;
** le type de ressource et la ressource réservés&lt;br /&gt;
** la date de début formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
** la date de fin formatée selon le &amp;quot;Patron de format de date&amp;quot; de la structure et selon le fuseau horaire de l'utilisateur effectuant la réservation&lt;br /&gt;
* D'une ligne indiquant le commentaire de la réservation si existant&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en première place&lt;br /&gt;
* D'une ligne indiquant l'utilisateur en seconde place si existant&lt;br /&gt;
* D'une ligne indiquant qui a effectué l'opération sur la réservation&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
* L'adresse de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Ceci est une notification de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 02/04/2015 à 08:00 au 02/04/2015 à 09:00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Cette opération a été effectuée par DUPONT JEAN&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les créations par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de création en suivant la procédure suivante :&lt;br /&gt;
&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Notification-des-réservations-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&lt;br /&gt;
https://openflyers.com/demo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel de réservation==&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du [[Configuration#Email-de-rappel-des-réservations-de-la-journée|contenu à ajouter avant l'e-mail de rappel des réservations s'il s'agit d'un rappel d'une réservation de la journée]]. Voir le paramètre [[Fiche-personnelle#Rappel-des-réservations-de-la-veille-ou-de-la-journée-par-e-mail|Rappel des réservations de la veille ou de la journée par e-mail]]&lt;br /&gt;
* Suivi du texte &amp;quot;Rappel d'une réservation sur OpenFlyers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Rappel d'une réservation sur OpenFlyers sur OpenFlyers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps est composé :&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du corps de l'[[#E-mail_de_notification_de_réservation|e-mail de notification de réservation]] où les dates sont sous le format &amp;quot;JJ/MM/AAAA/MM à HHhMM&amp;quot; et sous le fuseau horaire de l'utilisateur recevant l'e-mail&lt;br /&gt;
* De la ligne où XXX est remplacé par le fuseau horaire :&lt;br /&gt;
&amp;lt;pre&amp;gt;Les dates et heures indiquées ci-dessus sont dans le fuseau horaire XXX.&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Du texte :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail :&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Rappel-des-réservations-de-2-jours-d'avance-par-e-mail&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Le nom de la structure&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
Rappel de la réservation suivante :&lt;br /&gt;
&lt;br /&gt;
La réservation pour le/la C150 AB F-ABCD du 2015/04/01 à 08h00 au 2015/04/01 à 09h00&lt;br /&gt;
avec comme commentaire : Vol de jour&lt;br /&gt;
avec DUPONT Jean en Pilote est confirmée.&lt;br /&gt;
&lt;br /&gt;
Les dates et heures indiquées ci-dessus sont dans le fuseau horaire Europe/Paris.&lt;br /&gt;
&lt;br /&gt;
Vous recevez cet e-mail automatique car votre fiche utilisateur OpenFlyers est paramétrée pour recevoir les rappels par e-mail.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez activer/désactiver les e-mails de rappel automatique en suivant la procédure suivante :&lt;br /&gt;
https://openflyers.com/fr/doc/of4/Fiche-personnelle#Rappel-des-réservations-de-2-jours-d'avance-par-e-mail&lt;br /&gt;
&lt;br /&gt;
Plateforme de démonstration&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pièce jointe de synchronisation des réservations avec un calendrier==&lt;br /&gt;
Sur les plateformes où l'option est activée, tout e-mail de réservation (création, modification et suppression) contient, en pièce jointe, un fichier de synchronisation. Ce fichier permet d'ajouter, modifier ou supprimer la réservation dans une application de gestion de calendrier selon l'opération effectuée sur OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le fichier, envoyé au format '''ics''', peut être ouvert avec des applications comme '''Microsoft Outlook''', '''Google Calendar''' ou '''iCalendar''' par exemple. Lors de son ouverture, le calendrier sera mis à jour.&lt;br /&gt;
&lt;br /&gt;
Plusieurs informations de la réservation sont attachées à ce fichier :&lt;br /&gt;
*La date et heure de début&lt;br /&gt;
*La date et heure de fin&lt;br /&gt;
*Le lieu (le terrain de départ s'il est renseigné lors de la création de la réservation)&lt;br /&gt;
*La ressource et le nom de la personne en place gauche, constituant le '''nom du fichier'''&lt;br /&gt;
&lt;br /&gt;
Ces différentes informations permettent de définir l'événement dans le calendrier. Ainsi, les dates de début et de fin, le lieu, le nom de la personne et la ressource seront affichés dans l'application de gestion de calendrier.&lt;br /&gt;
&lt;br /&gt;
'''Remarque :''' indépendamment de cette option, chaque utilisateur peut activer dans sa fiche personnelle, la [[Fiche-personnelle#Synchroniser-les-réservations-dans-OpenFlyers-avec-un-agenda-Google|synchronisation de ses réservations avec son agenda Google]].&lt;br /&gt;
&lt;br /&gt;
=Validité=&lt;br /&gt;
==E-mail de demande de certification de validité==&lt;br /&gt;
&lt;br /&gt;
Un E-mail de certification est envoyé chaque fois qu'un utilisateur complète une validité dont la [[Paramétrage-des-validités#Certification|certification est activée]]. Il est envoyé aux utilisateurs ayant la possibilité de certifier le type de validité concerné. L'e-mail contient un  lien qui renvoi vers l'[[Validités#Validités-en-attente-de-certification|interface permettant de certifier les validités en attentes]]&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
*Du nom de la plateforme entre crochet&lt;br /&gt;
*Du texte : &amp;quot;Nouvelle validité en attente de certification&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Nouvelle validité en attente de certification&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le corps du message suit ce format :&lt;br /&gt;
&amp;lt;pre&amp;gt;Bonjour,&lt;br /&gt;
&lt;br /&gt;
L'utilisateur [NOM Prénom de l'utilisateur] a complété la validité [nom de la validité].&lt;br /&gt;
&lt;br /&gt;
Vous pouvez certifier cette validité en suivant ce lien :&lt;br /&gt;
[lien vers la page de gestion]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail de rappel d'échéance de validité==&lt;br /&gt;
Voir la [[Paramétrage-des-validités#Alerte-échéance-par-email-:-1er-rappel|Gestion des validités]] pour le paramétrage du déclenchement des e-mails.&lt;br /&gt;
&lt;br /&gt;
Le titre est composé :&lt;br /&gt;
* Du nom de la plateforme entre crochets&lt;br /&gt;
* Suivi du texte &amp;quot;Alerte de validité à échéance :&amp;quot;&lt;br /&gt;
* Suivi du nom du type de validité&lt;br /&gt;
&lt;br /&gt;
Exemple de titre :&lt;br /&gt;
&amp;lt;pre&amp;gt;[Plateforme de démonstration] Alerte de validité à échéance : Licence&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de corps :&lt;br /&gt;
&amp;lt;pre&amp;gt;La validité Licence de l'utilisateur DUPONT Jean arrive à échéance le 31/12/2017&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ou :&lt;br /&gt;
&amp;lt;pre&amp;gt;La validité Licence de l'utilisateur DUPONT Jean est arrivée à échéance le 31/12/2017&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==E-mail d'information des actions des utilisateurs sur des validités==&lt;br /&gt;
Les gestionnaires peuvent être informé des actions effectués par les utilisateurs sur leurs validités.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut que le gestionnaire dispose d'un profil dont les validités concernées soient cochées dans la colonne du droit [[Gestion-des-profils#Alerté-par-e-mail-pour-le-renouvellement-des-validités-de-tous-les-utilisateurs|Alerté par e-mail pour le renouvellement des validités de tous les utilisateurs]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14093</id>
		<title>Gestion des activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14093"/>
		<updated>2025-12-10T16:13:30Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Lister les activités */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
==Paramétrage des vols solos supervisés==&lt;br /&gt;
La réglementation aéronautique EASA, différencie les instructeurs en 2 catégories : les instructeurs restreints et non restreints. Les instructeurs sont restreints tant qu'ils ont effectués moins de 100 heures d'instruction. Pour le décompte de leurs heures d'instruction, il est possible de prendre en compte les heures solo, effectuées par leurs élèves, heures solos qu'ils ont supervisées. De plus, le rapport annuel de statistiques [[AERAL]] nécessite de faire remonter les heures solos supervisées par instructeur ainsi que par activité.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers déconseille de saisir les heures de solo supervisées en renseignant le nom de l'instructeur dans le champ '''Place droite''' ou '''Instructeur''' afin de ne pas créer d'effets de bords sur l'ensemble du logiciel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenFlyers recommande de paramétrer le suivi des heures solos supervisées de la façon suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un type d'activité ''Solo supervisé''&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
En bas du tableau '''Liste des types d'activités''', sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom''', indiquer ''Solo supervisé''&lt;br /&gt;
*Champ '''Couleur''', sélectionner une couleur, de préférence proche de la couleur pour l'instruction&lt;br /&gt;
*Cliquer sur le bouton avec un pictogramme symbolisant le signe plus&lt;br /&gt;
*Aller à nouveau dans '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs''' pour mettre à jour les autres tableaux&lt;br /&gt;
Dans le tableau '''Types d'activités incompatibles''', rendre incompatible le type d'activité ''Solo supervisé'' avec les autres types d'activités qui doivent être incompatible, notamment ''Instruction'', ''Baptême'', ''Maintenance'', ''Vol découverte'', etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un champ métier &amp;quot;Instructeur superviseur&amp;quot; pour le formulaire de saisie d'activité afin de pouvoir noter le nom de l'instructeur pour les vols solos des élèves&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers'''&lt;br /&gt;
Tout en bas sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom de variable''', indiquer ''supervisor''&lt;br /&gt;
*Champ '''Intitulé''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Champ '''Catégorie''', indiquer ''Activité''&lt;br /&gt;
*Champ '''Type de valeur''', indiquer ''dbObject::Person(Instructeur)''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Mettre à jour le paramétrage [[AERAL#Activité-correspondant-à-Solo-supervisé|Activité correspondant à Solo supervisé]] pour AERAL :&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
Formulaire '''Activité correspondant à Solo supervisé''' :&lt;br /&gt;
*Champ '''Solo supervisé''', indiquer '''Solo supervisé'''&lt;br /&gt;
*Désactiver l'interrupteur '''instructeur en place droite'''&lt;br /&gt;
*Champ '''Champ métier correspondant au superviseur''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut ou en bas à droite de la page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Ensuite, pour chaque vol solo supervisé, il faut dans le formulaire de saisie d'activité&lt;br /&gt;
*Cocher le type d'activité ''Solo supervisé''&lt;br /&gt;
*Renseigner le nom de l'instructeur dans le champ ''Instructeur superviseur''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mettre en place une validité &amp;quot;Élève autorisé solo&amp;quot;&lt;br /&gt;
Dans le cas où la structure met en place des restrictions sur les réservations ou la saisie des vols, un élève en solo supervisé, n'ayant donc pas les validités d'un pilote breveté, peut se retrouver bloqué. Pour contourner ces restrictions, il est recommandé de créer un type de validité &amp;quot;Élève autorisé solo&amp;quot; et de lui permettre de contourner les exigences des autres validités non détenues par un élève.&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter un type de validités'''&lt;br /&gt;
*Champ '''Nom''', indiquer ''Élève autorisé solo''&lt;br /&gt;
*Cliquer sur la case à cocher '''Soumise à échéance'''&lt;br /&gt;
*Champs '''Profils autorisés à gérer pour eux-mêmes''' et '''Profils autorisés à gérer/certifier pour les autres''', cocher les profils ''admin'', ''gestionnaire'' (ou équivalents) et ''instructeur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer&amp;quot;&lt;br /&gt;
*'''Admin &amp;gt; Types de ressource'''&lt;br /&gt;
Pour chaque type de ressource :&lt;br /&gt;
*Cliquer sur le bouton '''Validité'''&lt;br /&gt;
*Pour chaque ligne de validité qui exige une validité qu'un élève n'a pas l'obligation de détenir, cocher le type de validité ''Élève autorisé solo''&lt;br /&gt;
&lt;br /&gt;
=Afficher la vue d'ensemble des activités selon les ressources=&lt;br /&gt;
*Naviguer vers la section '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''.&lt;br /&gt;
&lt;br /&gt;
Une synthèse sous forme de tableau des activités '''actives''' et '''physiques''', s'affiche automatiquement :&lt;br /&gt;
*les ressources actives y figurent toujours.&lt;br /&gt;
*les ressources désactivées ou celles pour lesquelles l'interrupteur '''Saisie d'activité''' (accessible via '''Gestion &amp;gt; Ressources &amp;gt; Actives''') est décoché réapparaissent dès qu'elles possèdent au moins une activité non validée.&lt;br /&gt;
&lt;br /&gt;
Ainsi, aucune action supplémentaire n'est nécessaire pour retrouver les ressources portant encore des validations à effectuer.&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==[[Gestion-armoire-à-clés#Alertes-lors-de-la-saisie-d'une-activité|Alertes générées par le contrôle d'accès]]==&lt;br /&gt;
&lt;br /&gt;
==[[Facturation-des-clients#Alertes-générées-par-le-moteur-de-facturation|Alertes générées par le moteur de facturation]]==&lt;br /&gt;
&lt;br /&gt;
==[[Validités#Alertes-lors-d'une-réservation-ou-une-saisie-d'activité|Alertes générées sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==L'aéronef est déjà en l'air==&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)==&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps d'activité est incompatible avec la valeur calculée par la [[Formules-de-calcul#Temps-d'activité|formule de calcul du temps d'activité]] définie pour la ressource X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer-la-saisie-d'une-durée-d'activité-incompatible-avec-sa-formule-de-calcul|Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
==Le pilote X est déjà en l'air==&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus==&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
==Vous êtes actuellement en l'air==&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Vous ne pouvez ouvrir un vol avec une date de début dépassée==&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Annuler une activité validée=&lt;br /&gt;
Contrairement à la [[#Supprimer-une-activité|suppression des activités non validées]] et du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de supprimer physiquement une activité après [[#Valider-une-activité|sa validation]]. Par contre, la fonction d'annulation de la saisie d'une activité permet d'en annuler son effet.&lt;br /&gt;
&lt;br /&gt;
'''C'est cette fonction qu'il faut utiliser dans le cas où une activité validée doit être corrigée. L'utilisateur assurant la gestion :'''&lt;br /&gt;
#'''Annule l'activité validée qui n'a pas été saisie correctement'''&lt;br /&gt;
#'''Saisie une nouvelle activité avec les bonnes données'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction d'annulation d'activité génère les enregistrements suivants en base de données :&lt;br /&gt;
#Création d'une même activité que l'activité à annuler mais avec une durée opposée. Cela permet de garantir que les totaux d'heures d'activités sont correctement corrigés. De plus, le champ commentaire contient une référence à l'activité ciblée par l'annulation.&lt;br /&gt;
#Création des écritures comptables associées correspondant à l'identique à celles de l'activité à annuler mais de sens opposé (débit au lieu de crédit et vice versa).&lt;br /&gt;
Ces enregistrements sont générées à la date du jour et sont automatiquement validés. Cela permet de garantir la traçabilité des opérations.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : il est possible d'annuler plusieurs fois une même activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser cette fonction :&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Dans la colonne '''Annuler une activité validée''', cliquer sur l’icône rouge symbolisant une flèche qui fait demi-tour&lt;br /&gt;
* Une page listant les activités validées apparait :&lt;br /&gt;
** Dans la colonne '''Annuler''', sélectionner l'activité à annuler&lt;br /&gt;
** Cliquer sur le bouton '''Annuler l'activité sélectionnée (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
=Annuler un vol ouvert=&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
=Lister les activités=&lt;br /&gt;
La liste des activités est accessible depuis:&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Cliquer sur l'icône correspondant à la colonne '''Valider les activités sélectionnées'''.&lt;br /&gt;
* Ou bien Cliquer sur l'icône correspondant à la colonne '''Vérifier la succession des activités'''.&lt;br /&gt;
** la page de Contrôle des compteurs de la resource a apparu.&lt;br /&gt;
** Entrer Le compteur de départ, puis Sélectionner la date de début et de fin de l'intervale que vous voulez visualiser.&lt;br /&gt;
** Cliquer sur le bouton '''Visualiser'''.&lt;br /&gt;
&lt;br /&gt;
La liste des activités synthétise les informations les plus importantes pour l'ensemble des activités dans un intervalle de temps:&lt;br /&gt;
&lt;br /&gt;
* '''Pointer''': contient les deux icônes '''tout cocher''' et '''tout décocher''', aussi les cases à cocher de chaque ligne,  en cochant la case puis en Cliquant sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)''' vous pouvez valider l'activité.&lt;br /&gt;
* '''Date''': date et heure de départ de vol, elle est affichée en fonction des [[Configuration#Patron-de-format-de-date|patrons de format de date]], affichée en rouge lorsque la date est dans le futur ( demain ou plus tard) ou bien lorsque la date de début de l'activité précédente chevauche une activité existante, c'est-à-dire  la date de début de l'activité précédente + sa durée dépasse la date de début de l'activité actuelle. Un interrupteur Date en '''UTC''' permet d'afficher sous la date locale une ligne orange indiquant l'heure '''UTC''' si la conversion reste le même jour, ou la date complète en '''UTC''' lorsque la conversion recule sur la veille.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''0''' (par exemple: place droite, pilote, Elève, Ouvert): la personne attribué au position 0,  affichée en rouge lorsque l'activité n'avait pas de pilote.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''1''' s'il existe (par exemple: place gauche, instructeur, Adhérent): la personne attribué au position 1.&lt;br /&gt;
* '''Activités''' : les types d'activités sélectionnés pour l'activité (par exemple: Voltige, Instruction, Vol technique, ...).&lt;br /&gt;
* '''Temps d'activité''' : la durée de l'activité, elle est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Temps moteur''' : le temps moteur s'affiche  si la ressource appartient à un type de ressource configuré pour utiliser un calcul de temps moteur différent du temps de vol, il est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Départ''' : Terrain de départ affiché en rouge lorsque l'activité n'avait pas de terrain de départ.&lt;br /&gt;
* '''Arrivée''': Terrain d'arrivée affiché en rouge lorsque l'activité n'avait pas de terrain d'arrivée.&lt;br /&gt;
* '''Att.''' : Nombre d'atterrissages.&lt;br /&gt;
* '''Ajouts réservoirs''': Réapprovisionnement de réservoir avant/après vol, ils sont affichées sous format suivante &amp;quot; quantité + Unité (Type de éservoir)&amp;quot;.&lt;br /&gt;
* les éventuelles colonnes correspondant aux champs métiers de type &amp;quot;Activité&amp;quot;.&lt;br /&gt;
* '''Compteurs''': affichés en deux manières ( compteur hexadécimal : HH:MM , compteur décimal: HH,CC ).&lt;br /&gt;
** '''Départ''' : Le compteur de départ, affiché en rouge si le compteur de départ de l'activité actuelle inférieur au compteur d'arrivée de l'activité précédente ou bien si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** '''Arrivée''' : Le compteur d'arrivée. &lt;br /&gt;
** '''Diff.''' : la difference entre les compteurs. affiché en rouge si le compteur de départ de l'activité actuelle dépasse le compteur d'arrivée de l'activité actuelle ou bien si '''(''' le compteur d'arrivée de l'activité actuelle '''-''' le compteur de départ de l'activité actuelle '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
* '''Actions''': L'utilisateur peut effectuer sur une activité les actions suivantes:&lt;br /&gt;
** Modifier : L'utilisateur peut modifier une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Supprimer : L'utilisateur peut supprimer une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Ajouter : L'utilisateur peut ajouter une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** Afficher la trace de vol: L'utilisateur peut afficher la trace de vol s'il est sur le vol ou s'il a le droit de voir les traces de vol.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les entrées comptables associées à des activités non validées=&lt;br /&gt;
Dans le cas où, suite à une saisie d'activité, des changements de facturations ont été fait, il est nécessaire de mettre à jour les entrées comptables associées à celle-ci. &lt;br /&gt;
La mise à jour ne peut se faire que sur les activités non validées ayant au moins un utilisateur et étant associées à une ressource active.&lt;br /&gt;
&lt;br /&gt;
Procédure pour mettre à jour les écritures comptables d'une ou plusieurs activités :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Mettre à jour les entrées comptables des activités non validées'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités dont il est nécessaire de mettre à jour les entrées comptables en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Mettre à jour les activités sélectionnées'''&lt;br /&gt;
&lt;br /&gt;
=Modifier une activité=&lt;br /&gt;
Une activité peut être saisie :&lt;br /&gt;
*Soit à l'état ouvert&lt;br /&gt;
*Soit à l'état fermé&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état ouvert, aucune écriture comptable n'est encore générée. Pour fermer une telle activité, il faut sur le planning de réservation :&lt;br /&gt;
*Soit, cliquer sur le rectangle de la ressource considérée qui doit être sur fond bleu pour indiquer que la ressource est en l'air&lt;br /&gt;
*Soit, cliquer la zone en bleue correspondante à la période du vol ouvert.&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état fermée, pour la modifier, il faut :&lt;br /&gt;
*Soit aller sur le compte de l'un des utilisateurs concerné par l'activité et pour lequel une écriture a été générée&lt;br /&gt;
*Soit aller sur le carnet de vol ou le carnet de route impacté&lt;br /&gt;
Dans tous les cas, il faut ensuite cliquer sur l'icône crayon qui apparait sur la ligne correspondante à l'activité.&lt;br /&gt;
&lt;br /&gt;
Tout activité saisie reste modifiable tant qu'elle n'est pas validée.&lt;br /&gt;
&lt;br /&gt;
Si l'objectif est de mettre à jour des calculs de facturation sur plusieurs activités, alors il est recommandé de suivre la procédure [[#Mettre-à-jour-les-entrées-comptables-associées-à-des-activités-non-validées|Mettre à jour les entrées comptables associées à des activités non validées]] pour gagner du temps.&lt;br /&gt;
&lt;br /&gt;
Si l'activité à modifier est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]] puis saisir une nouvelle activité.&lt;br /&gt;
&lt;br /&gt;
=Saisir une activité=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Activités &amp;gt; Activités &amp;gt; Saisir'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes de traitement&lt;br /&gt;
*[[Formulaires#Valeur-par-défaut|Champs avec des valeurs par défaut]]&lt;br /&gt;
*La [[Formulaires#Valeur-par-défaut|valeur par défaut]] du champ '''terrain de départ''' correspond au '''terrain d'arrivée''' du vol précédent renseigné par l'aéronef sélectionné. Changer la date de début d'activité ou l'aéronef entraîne un rafraîchissement de la page et la valeur par défaut du champ '''terrain de départ''' se met à jour. S'il n'y a pas de vol précédent, la valeur par défaut est le terrain associé à la plateforme.&lt;br /&gt;
*Le compteur de départ par défaut équivaut au compteur d'arrivée du vol précédent renseigné par l'aéronef sélectionné. Changer la date de départ rafraîchi la page si la date de départ est antérieure à la date de départ du vol précédent. Le compteur est mis à jour en fonction. Si le compteur est changé manuellement, le compteur n'est pas mis à jour lors du rafraîchissement. Changer d'aéronef réinitialise ce comportement.&lt;br /&gt;
*Suivant l'activité choisie et le [[Configuration#Terrain-d'arrivée-égal-au-terrain-de-départ,-lorsque-l'une-des-activités-suivantes-est-sélectionnée|paramétrage de la plateforme]], le terrain d'arrivée peut être automatiquement rempli avec la même valeur que celle du terrain de départ.&lt;br /&gt;
*La saisie d'une activité d'une durée inférieure à 15 minutes déclenche l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement l'activité.&lt;br /&gt;
*Lorsqu'un utilisateur est saisi, un champ pour définir son statut apparaît. Ce champ disparaît si l'utilisateur n'est pas défini.&lt;br /&gt;
*Lors de la saisie des utilisateurs, le nombre de personnes à bord se mets automatiquement à jour. Le nombre de personnes à bord est égal au nombre d'utilisateurs saisis. Si le nombre de personnes à bord est défini manuellement, la valeur n'est pas changée automatiquement par la suite.&amp;quot;&lt;br /&gt;
*Lors de la saisie d'un lieu, si aucun lieu correspondant n'est trouvé, [[#Demander-l'ajout-d'un-lieu|une option]] apparait afin de demander à OpenFlyers l'ajout du lieu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie date/heure départ/arrivée&lt;br /&gt;
A gauche du champ de saisie est indiqué le fuseau horaire défini par la structure et dans lequel le couple date/heure (horodatage) doit être saisi.&lt;br /&gt;
&lt;br /&gt;
Les champs de saisie pour l'horodatage de départ et d'arrivée sont conçus pour :&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : la barre oblique entre le jour et le mois ou le mois et l'année ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
En-dessous du champ de saisie de l'horodatage départ/arrivée apparait une ligne qui affiche l'horodatage en UTC.&lt;br /&gt;
&lt;br /&gt;
Tant que l'aéronef n'est pas encore sélectionné, si l'utilisateur ouvre le formulaire de saisie d'activité puis modifie le premier champ (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers recalcule et propose de nouvelles heures par défaut conformément aux deux règles ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Fermeture seulement''' :&lt;br /&gt;
**L'heure de retour proposée correspond à ''l'heure actuelle''.&lt;br /&gt;
**L'heure de départ est automatiquement calculée en soustrayant la durée d'activité par défaut à cette heure de fin.&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Ouverture et fermeture''' :&lt;br /&gt;
*L'heure de départ proposée est ''l'heure actuelle + 10 minutes''&lt;br /&gt;
*L'heure de retour est automatiquement calculée en ajoutant la durée d'activité par défaut à cette heure de début.&lt;br /&gt;
&lt;br /&gt;
Lorsque l'aéronef est sélectionné et que l'utilisateur modifie le premier champ du formulaire (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers conserve les heures déjà renseignées dans les champs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps d'activité]]&lt;br /&gt;
Lorsque le temps d'activité est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps moteur]]&lt;br /&gt;
Ce champ apparaît si le type de ressource de l'aéronef sélectionné est configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&lt;br /&gt;
Lorsque le temps moteur est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Synchronisation d'une saisie avec Gesasso&lt;br /&gt;
Lors de la saisie d'une activité et lorsque la plateforme est configurée pour la synchronisation externe avec [[Interfaçage-OpenFlyers-et-Gesasso|Gesasso]], le bouton de validation a deux affichages possibles :&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer''' : Si la ressource sélectionnée n'a pas de numéro d'immatriculation Gesasso valide, ou si l'un des pilotes ne dispose pas d'une licence FFVP valide, alors la synchronisation avec Gesasso est ignorée dans ce cas.&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer et Synchroniser avec Gesasso''' : indique que les ressources et les pilotes sélectionnés remplissent les critères requis, et que la synchronisation avec Gesasso est effectuée après l'enregistrement de l'activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes d'alertes&lt;br /&gt;
*[[Formulaires#Surbrillance-jaune|Effet de surbrillance jaune]]&lt;br /&gt;
*[[Formulaires#Surbrillance-rouge|Effet de surbrillance rouge]]&lt;br /&gt;
*Des [[Présentation-générale-des-alertes|alertes]] bloquantes ou non bloquantes peuvent être affichées après l'envoi du formulaire nécessitant une action complémentaire de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Page affichée par défaut après la saisie d'une activité&lt;br /&gt;
*Le planning lors d'une ouverture d'activité.&lt;br /&gt;
*La page du [[Gestion-des-activit%C3%A9s#Saisir-un-suivi-de-formation|saisie de progression]] lors d'une fermeture d'activité.&lt;br /&gt;
*A nouveau le formulaire de saisie d'activité lorsque l'activité précédemment saisie l'était en fermeture et que le terrain d'arrivée saisi était différent du terrain par défaut de la structure.&lt;br /&gt;
*Dans les autres cas, l'[[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
*Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
==Demander l'ajout d'un aérodrome==&lt;br /&gt;
Lors de la saisie du terrain de départ, ou d'arrivée, il se peut que le lieu que l'utilisateur souhaite saisir ne soit pas dans nos bases de données. Une proposition apparait alors :&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXX ( Demander l'ajout du lieu à OpenFlyers )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il suffit à l'utilisateur de sélectionner cette option afin d'effectuer la demande d'ajout à OpenFlyers.&lt;br /&gt;
Cette option ne prend en compte que les lieux recensés par l'OACI ou la FFPLUM.&lt;br /&gt;
&lt;br /&gt;
Attention, pour demander l'ajout d'un lieu, il faut saisir uniquement le code OACI (code à 4 lettres) ou FFPLUM (code au format LF + 4 chiffres) du lieu.&lt;br /&gt;
&lt;br /&gt;
Une fois l'option sélectionnée, la demande est enregistrée par OpenFlyers, mais le lieu n'est pas ajouté immédiatement, il faut donc saisir temporairement un autre lieu.&lt;br /&gt;
&lt;br /&gt;
==Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul==&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La-différence-entre-le-temps-de-vol-calculé-et-le-temps-de-vol-saisi-est-de-:-X:XX-heure(s)|temps d'activité incompatible avec la formule de calcul]] associée au type ressource pour lequel on souhaite saisir l'activité.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir l'activité en modifiant le compteur d'arrivé de sorte à obtenir le temps d'activité souhaité.&lt;br /&gt;
*[[Gestion-des-ressources#Changer-la-valeur-du-compteur-en-cours|Changer la valeur du compteur en cours]] de la ressource.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs activités successives doivent être saisies, il est alors judicieux de ne mettre à jour le compteur de la ressource qu'une que toutes les activités ont été saisies.&lt;br /&gt;
&lt;br /&gt;
=Supprimer une activité=&lt;br /&gt;
Si l'activité à supprimer est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Si l'activité à supprimer n'est pas validée, pour effectuer sa suppression il faut :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Dans le tableau qui va lister les activités, cliquer sur l'icône poubelle correspondant à l'activité à supprimer et confirmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités=&lt;br /&gt;
Pour valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités de cochée, il existe 2 solutions :&lt;br /&gt;
*Si l'objectif c'est de clôturer la comptabilité et donc de valider toutes les écritures antérieure à une certaine date, alors la solution la plus simple est de valider toutes les écritures antérieures à cette date en suivant la procédure [[Utilisation-de-la-comptabilité#Valider-toutes-les-écritures|Valider toutes les écritures]].&lt;br /&gt;
*Si l'objectif est de contrôler, voir de modifier les activités liées à la ressource avant de réellement les valider, alors il faut réactiver temporairement la ressource pour qu'elle apparaisse dans '''Gestion &amp;gt; Activités &amp;gt; Liste''' et ainsi pouvoir contrôler et valider ses activités associées. Pour cela il faut :&lt;br /&gt;
**Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Réservable''' et '''Saisie d'activité''' d'une ressource existante&lt;br /&gt;
**Cocher '''Saisie d'activité''' pour la ressource dont on souhaite contrôler les activités puis les valider&lt;br /&gt;
**valider les activités en allant dans '''Gestion &amp;gt; Activités &amp;gt; Liste'''&lt;br /&gt;
**Revenir sur '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Saisie d'activité''' pour cette ressource&lt;br /&gt;
**Re-cocher '''Réservable''' et '''Saisie d'activité''' pour la ressource qui devait être temporairement décochée&lt;br /&gt;
&lt;br /&gt;
=Valider une activité=&lt;br /&gt;
;Introduction&lt;br /&gt;
La validation des activités doit être effectuée à intervalle régulier comme préconisé dans le [[Bien-débuter-avec-OpenFlyers#Validation-des-écritures|workflow de validation des activités]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe des écritures non validées qui datent de plus de 30 jours, un message d'alerte de configuration s'affiche indiquant ''[[Alertes-de-configuration#Il-y-a-des-activités-non-validées-qui-datent-de-plus-de-30-jours|Il y a des activités non validées qui datent de plus de 30 jours]]''.&lt;br /&gt;
&lt;br /&gt;
Option disponible pour la validation : [[Configuration#Regrouper-les-activités-en-une-facture-lors-de-la-validation|Regrouper les activités en une facture lors de la validation]]&lt;br /&gt;
&lt;br /&gt;
;Procédure pour valider une ou plusieurs activités&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités à valider en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où une activité a été validée alors qu'elle ne devait pas l'être, il est toujours possible d'en [[#Annuler-une-activité-validée|annuler l'effet]].&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une activité incomplète (Pas de pilote ou pas de localisation d'arrivée ou de départ) l'activité ne peut pas être validée il est donc impossible de la pointer. Ce cas ne devrait arriver que pour les activités générées via [[Interfaçage-OpenFlyers-et-Charterware|l'interfaçage avec Charterware]] ou [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|l'interfaçage avec ClickAndTakeoff]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14083</id>
		<title>Gestion des activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14083"/>
		<updated>2025-12-09T15:18:25Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Saisir une activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
==Paramétrage des vols solos supervisés==&lt;br /&gt;
La réglementation aéronautique EASA, différencie les instructeurs en 2 catégories : les instructeurs restreints et non restreints. Les instructeurs sont restreints tant qu'ils ont effectués moins de 100 heures d'instruction. Pour le décompte de leurs heures d'instruction, il est possible de prendre en compte les heures solo, effectuées par leurs élèves, heures solos qu'ils ont supervisées. De plus, le rapport annuel de statistiques [[AERAL]] nécessite de faire remonter les heures solos supervisées par instructeur ainsi que par activité.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers déconseille de saisir les heures de solo supervisées en renseignant le nom de l'instructeur dans le champ '''Place droite''' ou '''Instructeur''' afin de ne pas créer d'effets de bords sur l'ensemble du logiciel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenFlyers recommande de paramétrer le suivi des heures solos supervisées de la façon suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un type d'activité ''Solo supervisé''&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
En bas du tableau '''Liste des types d'activités''', sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom''', indiquer ''Solo supervisé''&lt;br /&gt;
*Champ '''Couleur''', sélectionner une couleur, de préférence proche de la couleur pour l'instruction&lt;br /&gt;
*Cliquer sur le bouton avec un pictogramme symbolisant le signe plus&lt;br /&gt;
*Aller à nouveau dans '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs''' pour mettre à jour les autres tableaux&lt;br /&gt;
Dans le tableau '''Types d'activités incompatibles''', rendre incompatible le type d'activité ''Solo supervisé'' avec les autres types d'activités qui doivent être incompatible, notamment ''Instruction'', ''Baptême'', ''Maintenance'', ''Vol découverte'', etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un champ métier &amp;quot;Instructeur superviseur&amp;quot; pour le formulaire de saisie d'activité afin de pouvoir noter le nom de l'instructeur pour les vols solos des élèves&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers'''&lt;br /&gt;
Tout en bas sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom de variable''', indiquer ''supervisor''&lt;br /&gt;
*Champ '''Intitulé''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Champ '''Catégorie''', indiquer ''Activité''&lt;br /&gt;
*Champ '''Type de valeur''', indiquer ''dbObject::Person(Instructeur)''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Mettre à jour le paramétrage [[AERAL#Activité-correspondant-à-Solo-supervisé|Activité correspondant à Solo supervisé]] pour AERAL :&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
Formulaire '''Activité correspondant à Solo supervisé''' :&lt;br /&gt;
*Champ '''Solo supervisé''', indiquer '''Solo supervisé'''&lt;br /&gt;
*Désactiver l'interrupteur '''instructeur en place droite'''&lt;br /&gt;
*Champ '''Champ métier correspondant au superviseur''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut ou en bas à droite de la page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Ensuite, pour chaque vol solo supervisé, il faut dans le formulaire de saisie d'activité&lt;br /&gt;
*Cocher le type d'activité ''Solo supervisé''&lt;br /&gt;
*Renseigner le nom de l'instructeur dans le champ ''Instructeur superviseur''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mettre en place une validité &amp;quot;Élève autorisé solo&amp;quot;&lt;br /&gt;
Dans le cas où la structure met en place des restrictions sur les réservations ou la saisie des vols, un élève en solo supervisé, n'ayant donc pas les validités d'un pilote breveté, peut se retrouver bloqué. Pour contourner ces restrictions, il est recommandé de créer un type de validité &amp;quot;Élève autorisé solo&amp;quot; et de lui permettre de contourner les exigences des autres validités non détenues par un élève.&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter un type de validités'''&lt;br /&gt;
*Champ '''Nom''', indiquer ''Élève autorisé solo''&lt;br /&gt;
*Cliquer sur la case à cocher '''Soumise à échéance'''&lt;br /&gt;
*Champs '''Profils autorisés à gérer pour eux-mêmes''' et '''Profils autorisés à gérer/certifier pour les autres''', cocher les profils ''admin'', ''gestionnaire'' (ou équivalents) et ''instructeur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer&amp;quot;&lt;br /&gt;
*'''Admin &amp;gt; Types de ressource'''&lt;br /&gt;
Pour chaque type de ressource :&lt;br /&gt;
*Cliquer sur le bouton '''Validité'''&lt;br /&gt;
*Pour chaque ligne de validité qui exige une validité qu'un élève n'a pas l'obligation de détenir, cocher le type de validité ''Élève autorisé solo''&lt;br /&gt;
&lt;br /&gt;
=Afficher la vue d'ensemble des activités selon les ressources=&lt;br /&gt;
*Naviguer vers la section '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''.&lt;br /&gt;
&lt;br /&gt;
Une synthèse sous forme de tableau des activités '''actives''' et '''physiques''', s'affiche automatiquement :&lt;br /&gt;
*les ressources actives y figurent toujours.&lt;br /&gt;
*les ressources désactivées ou celles pour lesquelles l'interrupteur '''Saisie d'activité''' (accessible via '''Gestion &amp;gt; Ressources &amp;gt; Actives''') est décoché réapparaissent dès qu'elles possèdent au moins une activité non validée.&lt;br /&gt;
&lt;br /&gt;
Ainsi, aucune action supplémentaire n'est nécessaire pour retrouver les ressources portant encore des validations à effectuer.&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==[[Gestion-armoire-à-clés#Alertes-lors-de-la-saisie-d'une-activité|Alertes générées par le contrôle d'accès]]==&lt;br /&gt;
&lt;br /&gt;
==[[Facturation-des-clients#Alertes-générées-par-le-moteur-de-facturation|Alertes générées par le moteur de facturation]]==&lt;br /&gt;
&lt;br /&gt;
==[[Validités#Alertes-lors-d'une-réservation-ou-une-saisie-d'activité|Alertes générées sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==L'aéronef est déjà en l'air==&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)==&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps d'activité est incompatible avec la valeur calculée par la [[Formules-de-calcul#Temps-d'activité|formule de calcul du temps d'activité]] définie pour la ressource X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer-la-saisie-d'une-durée-d'activité-incompatible-avec-sa-formule-de-calcul|Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
==Le pilote X est déjà en l'air==&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus==&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
==Vous êtes actuellement en l'air==&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Vous ne pouvez ouvrir un vol avec une date de début dépassée==&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Annuler une activité validée=&lt;br /&gt;
Contrairement à la [[#Supprimer-une-activité|suppression des activités non validées]] et du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de supprimer physiquement une activité après [[#Valider-une-activité|sa validation]]. Par contre, la fonction d'annulation de la saisie d'une activité permet d'en annuler son effet.&lt;br /&gt;
&lt;br /&gt;
'''C'est cette fonction qu'il faut utiliser dans le cas où une activité validée doit être corrigée. L'utilisateur assurant la gestion :'''&lt;br /&gt;
#'''Annule l'activité validée qui n'a pas été saisie correctement'''&lt;br /&gt;
#'''Saisie une nouvelle activité avec les bonnes données'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction d'annulation d'activité génère les enregistrements suivants en base de données :&lt;br /&gt;
#Création d'une même activité que l'activité à annuler mais avec une durée opposée. Cela permet de garantir que les totaux d'heures d'activités sont correctement corrigés. De plus, le champ commentaire contient une référence à l'activité ciblée par l'annulation.&lt;br /&gt;
#Création des écritures comptables associées correspondant à l'identique à celles de l'activité à annuler mais de sens opposé (débit au lieu de crédit et vice versa).&lt;br /&gt;
Ces enregistrements sont générées à la date du jour et sont automatiquement validés. Cela permet de garantir la traçabilité des opérations.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : il est possible d'annuler plusieurs fois une même activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser cette fonction :&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Dans la colonne '''Annuler une activité validée''', cliquer sur l’icône rouge symbolisant une flèche qui fait demi-tour&lt;br /&gt;
* Une page listant les activités validées apparait :&lt;br /&gt;
** Dans la colonne '''Annuler''', sélectionner l'activité à annuler&lt;br /&gt;
** Cliquer sur le bouton '''Annuler l'activité sélectionnée (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
=Annuler un vol ouvert=&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
=Lister les activités=&lt;br /&gt;
La liste des activités est accessible depuis:&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Cliquer sur l'icône correspondant à la colonne '''Valider les activités sélectionnées'''.&lt;br /&gt;
* Ou bien Cliquer sur l'icône correspondant à la colonne '''Vérifier la succession des activités'''.&lt;br /&gt;
** la page de Contrôle des compteurs de la resource a apparu.&lt;br /&gt;
** Entrer Le compteur de départ, puis Sélectionner la date de début et de fin de l'intervale que vous voulez visualiser.&lt;br /&gt;
** Cliquer sur le bouton '''Visualiser'''.&lt;br /&gt;
&lt;br /&gt;
La liste des activités synthétise les informations les plus importantes pour l'ensemble des activités dans un intervalle de temps:&lt;br /&gt;
&lt;br /&gt;
* '''Pointer''': contient les deux icônes '''tout cocher''' et '''tout décocher''', aussi les cases à cocher de chaque ligne,  en cochant la case puis en Cliquant sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)''' vous pouvez valider l'activité.&lt;br /&gt;
* '''Date''': date et heure de départ de vol, elle est affichée en fonction des [[Configuration#Patron-de-format-de-date|patrons de format de date]], affichée en rouge lorsque la date est dans le futur ( demain ou plus tard) ou bien lorsque la date de début de l'activité précédente chevauche une activité existante, c'est-à-dire  la date de début de l'activité précédente + sa durée dépasse la date de début de l'activité actuelle. Un interrupteur Date en '''UTC''' permet d'afficher sous la date locale une ligne orange indiquant l'heure '''UTC''' si la conversion reste le même jour, ou la date complète en '''UTC''' lorsque la conversion recule sur la veille.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''0''' (par exemple: place droite, pilote, Elève, Ouvert): la personne attribué au position 0,  affichée en rouge lorsque l'activité n'avait pas de pilote.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''1''' s'il existe (par exemple: place gauche, instructeur, Adhérent): la personne attribué au position 1.&lt;br /&gt;
* '''Activités''' : les types d'activités sélectionnés pour l'activité (par exemple: Voltige, Instruction, Vol technique, ...).&lt;br /&gt;
* '''Durée''' : la durée de l'activité, elle est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Départ''' : Terrain de départ affiché en rouge lorsque l'activité n'avait pas de terrain de départ.&lt;br /&gt;
* '''Arrivée''': Terrain d'arrivée affiché en rouge lorsque l'activité n'avait pas de terrain d'arrivée.&lt;br /&gt;
* '''Att.''' : Nombre d'atterrissages.&lt;br /&gt;
* '''Ajouts réservoirs''': Réapprovisionnement de réservoir avant/après vol, ils sont affichées sous format suivante &amp;quot; quantité + Unité (Type de éservoir)&amp;quot;.&lt;br /&gt;
* les éventuelles colonnes correspondant aux champs métiers de type &amp;quot;Activité&amp;quot;.&lt;br /&gt;
* '''Compteurs''': affichés en deux manières ( compteur hexadécimal : HH:MM , compteur décimal: HH,CC ).&lt;br /&gt;
** '''Départ''' : Le compteur de départ, affiché en rouge si le compteur de départ de l'activité actuelle inférieur au compteur d'arrivée de l'activité précédente ou bien si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** '''Arrivée''' : Le compteur d'arrivée. &lt;br /&gt;
** '''Diff.''' : la difference entre les compteurs. affiché en rouge si le compteur de départ de l'activité actuelle dépasse le compteur d'arrivée de l'activité actuelle ou bien si '''(''' le compteur d'arrivée de l'activité actuelle '''-''' le compteur de départ de l'activité actuelle '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
* '''Actions''': L'utilisateur peut effectuer sur une activité les actions suivantes:&lt;br /&gt;
** Modifier : L'utilisateur peut modifier une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Supprimer : L'utilisateur peut supprimer une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Ajouter : L'utilisateur peut ajouter une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** Afficher la trace de vol: L'utilisateur peut afficher la trace de vol s'il est sur le vol ou s'il a le droit de voir les traces de vol.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les entrées comptables associées à des activités non validées=&lt;br /&gt;
Dans le cas où, suite à une saisie d'activité, des changements de facturations ont été fait, il est nécessaire de mettre à jour les entrées comptables associées à celle-ci. &lt;br /&gt;
La mise à jour ne peut se faire que sur les activités non validées ayant au moins un utilisateur et étant associées à une ressource active.&lt;br /&gt;
&lt;br /&gt;
Procédure pour mettre à jour les écritures comptables d'une ou plusieurs activités :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Mettre à jour les entrées comptables des activités non validées'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités dont il est nécessaire de mettre à jour les entrées comptables en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Mettre à jour les activités sélectionnées'''&lt;br /&gt;
&lt;br /&gt;
=Modifier une activité=&lt;br /&gt;
Une activité peut être saisie :&lt;br /&gt;
*Soit à l'état ouvert&lt;br /&gt;
*Soit à l'état fermé&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état ouvert, aucune écriture comptable n'est encore générée. Pour fermer une telle activité, il faut sur le planning de réservation :&lt;br /&gt;
*Soit, cliquer sur le rectangle de la ressource considérée qui doit être sur fond bleu pour indiquer que la ressource est en l'air&lt;br /&gt;
*Soit, cliquer la zone en bleue correspondante à la période du vol ouvert.&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état fermée, pour la modifier, il faut :&lt;br /&gt;
*Soit aller sur le compte de l'un des utilisateurs concerné par l'activité et pour lequel une écriture a été générée&lt;br /&gt;
*Soit aller sur le carnet de vol ou le carnet de route impacté&lt;br /&gt;
Dans tous les cas, il faut ensuite cliquer sur l'icône crayon qui apparait sur la ligne correspondante à l'activité.&lt;br /&gt;
&lt;br /&gt;
Tout activité saisie reste modifiable tant qu'elle n'est pas validée.&lt;br /&gt;
&lt;br /&gt;
Si l'objectif est de mettre à jour des calculs de facturation sur plusieurs activités, alors il est recommandé de suivre la procédure [[#Mettre-à-jour-les-entrées-comptables-associées-à-des-activités-non-validées|Mettre à jour les entrées comptables associées à des activités non validées]] pour gagner du temps.&lt;br /&gt;
&lt;br /&gt;
Si l'activité à modifier est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]] puis saisir une nouvelle activité.&lt;br /&gt;
&lt;br /&gt;
=Saisir une activité=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Activités &amp;gt; Activités &amp;gt; Saisir'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes de traitement&lt;br /&gt;
*[[Formulaires#Valeur-par-défaut|Champs avec des valeurs par défaut]]&lt;br /&gt;
*La [[Formulaires#Valeur-par-défaut|valeur par défaut]] du champ '''terrain de départ''' correspond au '''terrain d'arrivée''' du vol précédent renseigné par l'aéronef sélectionné. Changer la date de début d'activité ou l'aéronef entraîne un rafraîchissement de la page et la valeur par défaut du champ '''terrain de départ''' se met à jour. S'il n'y a pas de vol précédent, la valeur par défaut est le terrain associé à la plateforme.&lt;br /&gt;
*Le compteur de départ par défaut équivaut au compteur d'arrivée du vol précédent renseigné par l'aéronef sélectionné. Changer la date de départ rafraîchi la page si la date de départ est antérieure à la date de départ du vol précédent. Le compteur est mis à jour en fonction. Si le compteur est changé manuellement, le compteur n'est pas mis à jour lors du rafraîchissement. Changer d'aéronef réinitialise ce comportement.&lt;br /&gt;
*Suivant l'activité choisie et le [[Configuration#Terrain-d'arrivée-égal-au-terrain-de-départ,-lorsque-l'une-des-activités-suivantes-est-sélectionnée|paramétrage de la plateforme]], le terrain d'arrivée peut être automatiquement rempli avec la même valeur que celle du terrain de départ.&lt;br /&gt;
*La saisie d'une activité d'une durée inférieure à 15 minutes déclenche l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement l'activité.&lt;br /&gt;
*Lorsqu'un utilisateur est saisi, un champ pour définir son statut apparaît. Ce champ disparaît si l'utilisateur n'est pas défini.&lt;br /&gt;
*Lors de la saisie des utilisateurs, le nombre de personnes à bord se mets automatiquement à jour. Le nombre de personnes à bord est égal au nombre d'utilisateurs saisis. Si le nombre de personnes à bord est défini manuellement, la valeur n'est pas changée automatiquement par la suite.&amp;quot;&lt;br /&gt;
*Lors de la saisie d'un lieu, si aucun lieu correspondant n'est trouvé, [[#Demander-l'ajout-d'un-lieu|une option]] apparait afin de demander à OpenFlyers l'ajout du lieu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie date/heure départ/arrivée&lt;br /&gt;
A gauche du champ de saisie est indiqué le fuseau horaire défini par la structure et dans lequel le couple date/heure (horodatage) doit être saisi.&lt;br /&gt;
&lt;br /&gt;
Les champs de saisie pour l'horodatage de départ et d'arrivée sont conçus pour :&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : la barre oblique entre le jour et le mois ou le mois et l'année ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
En-dessous du champ de saisie de l'horodatage départ/arrivée apparait une ligne qui affiche l'horodatage en UTC.&lt;br /&gt;
&lt;br /&gt;
Tant que l'aéronef n'est pas encore sélectionné, si l'utilisateur ouvre le formulaire de saisie d'activité puis modifie le premier champ (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers recalcule et propose de nouvelles heures par défaut conformément aux deux règles ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Fermeture seulement''' :&lt;br /&gt;
**L'heure de retour proposée correspond à ''l'heure actuelle''.&lt;br /&gt;
**L'heure de départ est automatiquement calculée en soustrayant la durée d'activité par défaut à cette heure de fin.&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Ouverture et fermeture''' :&lt;br /&gt;
*L'heure de départ proposée est ''l'heure actuelle + 10 minutes''&lt;br /&gt;
*L'heure de retour est automatiquement calculée en ajoutant la durée d'activité par défaut à cette heure de début.&lt;br /&gt;
&lt;br /&gt;
Lorsque l'aéronef est sélectionné et que l'utilisateur modifie le premier champ du formulaire (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers conserve les heures déjà renseignées dans les champs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps d'activité]]&lt;br /&gt;
Lorsque le temps d'activité est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps moteur]]&lt;br /&gt;
Ce champ apparaît si le type de ressource de l'aéronef sélectionné est configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&lt;br /&gt;
Lorsque le temps moteur est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Synchronisation d'une saisie avec Gesasso&lt;br /&gt;
Lors de la saisie d'une activité et lorsque la plateforme est configurée pour la synchronisation externe avec [[Interfaçage-OpenFlyers-et-Gesasso|Gesasso]], le bouton de validation a deux affichages possibles :&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer''' : Si la ressource sélectionnée n'a pas de numéro d'immatriculation Gesasso valide, ou si l'un des pilotes ne dispose pas d'une licence FFVP valide, alors la synchronisation avec Gesasso est ignorée dans ce cas.&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer et Synchroniser avec Gesasso''' : indique que les ressources et les pilotes sélectionnés remplissent les critères requis, et que la synchronisation avec Gesasso est effectuée après l'enregistrement de l'activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes d'alertes&lt;br /&gt;
*[[Formulaires#Surbrillance-jaune|Effet de surbrillance jaune]]&lt;br /&gt;
*[[Formulaires#Surbrillance-rouge|Effet de surbrillance rouge]]&lt;br /&gt;
*Des [[Présentation-générale-des-alertes|alertes]] bloquantes ou non bloquantes peuvent être affichées après l'envoi du formulaire nécessitant une action complémentaire de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Page affichée par défaut après la saisie d'une activité&lt;br /&gt;
*Le planning lors d'une ouverture d'activité.&lt;br /&gt;
*La page du [[Gestion-des-activit%C3%A9s#Saisir-un-suivi-de-formation|saisie de progression]] lors d'une fermeture d'activité.&lt;br /&gt;
*A nouveau le formulaire de saisie d'activité lorsque l'activité précédemment saisie l'était en fermeture et que le terrain d'arrivée saisi était différent du terrain par défaut de la structure.&lt;br /&gt;
*Dans les autres cas, l'[[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
*Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
==Demander l'ajout d'un aérodrome==&lt;br /&gt;
Lors de la saisie du terrain de départ, ou d'arrivée, il se peut que le lieu que l'utilisateur souhaite saisir ne soit pas dans nos bases de données. Une proposition apparait alors :&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXX ( Demander l'ajout du lieu à OpenFlyers )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il suffit à l'utilisateur de sélectionner cette option afin d'effectuer la demande d'ajout à OpenFlyers.&lt;br /&gt;
Cette option ne prend en compte que les lieux recensés par l'OACI ou la FFPLUM.&lt;br /&gt;
&lt;br /&gt;
Attention, pour demander l'ajout d'un lieu, il faut saisir uniquement le code OACI (code à 4 lettres) ou FFPLUM (code au format LF + 4 chiffres) du lieu.&lt;br /&gt;
&lt;br /&gt;
Une fois l'option sélectionnée, la demande est enregistrée par OpenFlyers, mais le lieu n'est pas ajouté immédiatement, il faut donc saisir temporairement un autre lieu.&lt;br /&gt;
&lt;br /&gt;
==Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul==&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La-différence-entre-le-temps-de-vol-calculé-et-le-temps-de-vol-saisi-est-de-:-X:XX-heure(s)|temps d'activité incompatible avec la formule de calcul]] associée au type ressource pour lequel on souhaite saisir l'activité.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir l'activité en modifiant le compteur d'arrivé de sorte à obtenir le temps d'activité souhaité.&lt;br /&gt;
*[[Gestion-des-ressources#Changer-la-valeur-du-compteur-en-cours|Changer la valeur du compteur en cours]] de la ressource.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs activités successives doivent être saisies, il est alors judicieux de ne mettre à jour le compteur de la ressource qu'une que toutes les activités ont été saisies.&lt;br /&gt;
&lt;br /&gt;
=Supprimer une activité=&lt;br /&gt;
Si l'activité à supprimer est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Si l'activité à supprimer n'est pas validée, pour effectuer sa suppression il faut :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Dans le tableau qui va lister les activités, cliquer sur l'icône poubelle correspondant à l'activité à supprimer et confirmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités=&lt;br /&gt;
Pour valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités de cochée, il existe 2 solutions :&lt;br /&gt;
*Si l'objectif c'est de clôturer la comptabilité et donc de valider toutes les écritures antérieure à une certaine date, alors la solution la plus simple est de valider toutes les écritures antérieures à cette date en suivant la procédure [[Utilisation-de-la-comptabilité#Valider-toutes-les-écritures|Valider toutes les écritures]].&lt;br /&gt;
*Si l'objectif est de contrôler, voir de modifier les activités liées à la ressource avant de réellement les valider, alors il faut réactiver temporairement la ressource pour qu'elle apparaisse dans '''Gestion &amp;gt; Activités &amp;gt; Liste''' et ainsi pouvoir contrôler et valider ses activités associées. Pour cela il faut :&lt;br /&gt;
**Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Réservable''' et '''Saisie d'activité''' d'une ressource existante&lt;br /&gt;
**Cocher '''Saisie d'activité''' pour la ressource dont on souhaite contrôler les activités puis les valider&lt;br /&gt;
**valider les activités en allant dans '''Gestion &amp;gt; Activités &amp;gt; Liste'''&lt;br /&gt;
**Revenir sur '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Saisie d'activité''' pour cette ressource&lt;br /&gt;
**Re-cocher '''Réservable''' et '''Saisie d'activité''' pour la ressource qui devait être temporairement décochée&lt;br /&gt;
&lt;br /&gt;
=Valider une activité=&lt;br /&gt;
;Introduction&lt;br /&gt;
La validation des activités doit être effectuée à intervalle régulier comme préconisé dans le [[Bien-débuter-avec-OpenFlyers#Validation-des-écritures|workflow de validation des activités]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe des écritures non validées qui datent de plus de 30 jours, un message d'alerte de configuration s'affiche indiquant ''[[Alertes-de-configuration#Il-y-a-des-activités-non-validées-qui-datent-de-plus-de-30-jours|Il y a des activités non validées qui datent de plus de 30 jours]]''.&lt;br /&gt;
&lt;br /&gt;
Option disponible pour la validation : [[Configuration#Regrouper-les-activités-en-une-facture-lors-de-la-validation|Regrouper les activités en une facture lors de la validation]]&lt;br /&gt;
&lt;br /&gt;
;Procédure pour valider une ou plusieurs activités&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités à valider en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où une activité a été validée alors qu'elle ne devait pas l'être, il est toujours possible d'en [[#Annuler-une-activité-validée|annuler l'effet]].&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une activité incomplète (Pas de pilote ou pas de localisation d'arrivée ou de départ) l'activité ne peut pas être validée il est donc impossible de la pointer. Ce cas ne devrait arriver que pour les activités générées via [[Interfaçage-OpenFlyers-et-Charterware|l'interfaçage avec Charterware]] ou [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|l'interfaçage avec ClickAndTakeoff]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14082</id>
		<title>Gestion des activités</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Gestion-des-activit%C3%A9s&amp;diff=14082"/>
		<updated>2025-12-09T15:17:59Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Saisir une activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter la '''gestion des activités''' sur la [[Accueil|version 4 d'OpenFlyers]].&lt;br /&gt;
&lt;br /&gt;
==Paramétrage des vols solos supervisés==&lt;br /&gt;
La réglementation aéronautique EASA, différencie les instructeurs en 2 catégories : les instructeurs restreints et non restreints. Les instructeurs sont restreints tant qu'ils ont effectués moins de 100 heures d'instruction. Pour le décompte de leurs heures d'instruction, il est possible de prendre en compte les heures solo, effectuées par leurs élèves, heures solos qu'ils ont supervisées. De plus, le rapport annuel de statistiques [[AERAL]] nécessite de faire remonter les heures solos supervisées par instructeur ainsi que par activité.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers déconseille de saisir les heures de solo supervisées en renseignant le nom de l'instructeur dans le champ '''Place droite''' ou '''Instructeur''' afin de ne pas créer d'effets de bords sur l'ensemble du logiciel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenFlyers recommande de paramétrer le suivi des heures solos supervisées de la façon suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un type d'activité ''Solo supervisé''&lt;br /&gt;
*'''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs'''&lt;br /&gt;
En bas du tableau '''Liste des types d'activités''', sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom''', indiquer ''Solo supervisé''&lt;br /&gt;
*Champ '''Couleur''', sélectionner une couleur, de préférence proche de la couleur pour l'instruction&lt;br /&gt;
*Cliquer sur le bouton avec un pictogramme symbolisant le signe plus&lt;br /&gt;
*Aller à nouveau dans '''Admin &amp;gt; Types d'activités &amp;gt; Types d'activités &amp;gt; Actifs''' pour mettre à jour les autres tableaux&lt;br /&gt;
Dans le tableau '''Types d'activités incompatibles''', rendre incompatible le type d'activité ''Solo supervisé'' avec les autres types d'activités qui doivent être incompatible, notamment ''Instruction'', ''Baptême'', ''Maintenance'', ''Vol découverte'', etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Créer un champ métier &amp;quot;Instructeur superviseur&amp;quot; pour le formulaire de saisie d'activité afin de pouvoir noter le nom de l'instructeur pour les vols solos des élèves&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Variables &amp;gt; Champs métiers'''&lt;br /&gt;
Tout en bas sur la dernière ligne qui doit être vide :&lt;br /&gt;
*Champ '''Nom de variable''', indiquer ''supervisor''&lt;br /&gt;
*Champ '''Intitulé''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Champ '''Catégorie''', indiquer ''Activité''&lt;br /&gt;
*Champ '''Type de valeur''', indiquer ''dbObject::Person(Instructeur)''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Mettre à jour le paramétrage [[AERAL#Activité-correspondant-à-Solo-supervisé|Activité correspondant à Solo supervisé]] pour AERAL :&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Export Aeral'''&lt;br /&gt;
Formulaire '''Activité correspondant à Solo supervisé''' :&lt;br /&gt;
*Champ '''Solo supervisé''', indiquer '''Solo supervisé'''&lt;br /&gt;
*Désactiver l'interrupteur '''instructeur en place droite'''&lt;br /&gt;
*Champ '''Champ métier correspondant au superviseur''', indiquer ''Instructeur superviseur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer''' en haut ou en bas à droite de la page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Ensuite, pour chaque vol solo supervisé, il faut dans le formulaire de saisie d'activité&lt;br /&gt;
*Cocher le type d'activité ''Solo supervisé''&lt;br /&gt;
*Renseigner le nom de l'instructeur dans le champ ''Instructeur superviseur''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mettre en place une validité &amp;quot;Élève autorisé solo&amp;quot;&lt;br /&gt;
Dans le cas où la structure met en place des restrictions sur les réservations ou la saisie des vols, un élève en solo supervisé, n'ayant donc pas les validités d'un pilote breveté, peut se retrouver bloqué. Pour contourner ces restrictions, il est recommandé de créer un type de validité &amp;quot;Élève autorisé solo&amp;quot; et de lui permettre de contourner les exigences des autres validités non détenues par un élève.&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter un type de validités'''&lt;br /&gt;
*Champ '''Nom''', indiquer ''Élève autorisé solo''&lt;br /&gt;
*Cliquer sur la case à cocher '''Soumise à échéance'''&lt;br /&gt;
*Champs '''Profils autorisés à gérer pour eux-mêmes''' et '''Profils autorisés à gérer/certifier pour les autres''', cocher les profils ''admin'', ''gestionnaire'' (ou équivalents) et ''instructeur''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer&amp;quot;&lt;br /&gt;
*'''Admin &amp;gt; Types de ressource'''&lt;br /&gt;
Pour chaque type de ressource :&lt;br /&gt;
*Cliquer sur le bouton '''Validité'''&lt;br /&gt;
*Pour chaque ligne de validité qui exige une validité qu'un élève n'a pas l'obligation de détenir, cocher le type de validité ''Élève autorisé solo''&lt;br /&gt;
&lt;br /&gt;
=Afficher la vue d'ensemble des activités selon les ressources=&lt;br /&gt;
*Naviguer vers la section '''Gestion &amp;gt; Activités &amp;gt; Activités &amp;gt; Liste'''.&lt;br /&gt;
&lt;br /&gt;
Une synthèse sous forme de tableau des activités '''actives''' et '''physiques''', s'affiche automatiquement :&lt;br /&gt;
*les ressources actives y figurent toujours.&lt;br /&gt;
*les ressources désactivées ou celles pour lesquelles l'interrupteur '''Saisie d'activité''' (accessible via '''Gestion &amp;gt; Ressources &amp;gt; Actives''') est décoché réapparaissent dès qu'elles possèdent au moins une activité non validée.&lt;br /&gt;
&lt;br /&gt;
Ainsi, aucune action supplémentaire n'est nécessaire pour retrouver les ressources portant encore des validations à effectuer.&lt;br /&gt;
&lt;br /&gt;
=Alertes=&lt;br /&gt;
==[[Gestion-armoire-à-clés#Alertes-lors-de-la-saisie-d'une-activité|Alertes générées par le contrôle d'accès]]==&lt;br /&gt;
&lt;br /&gt;
==[[Facturation-des-clients#Alertes-générées-par-le-moteur-de-facturation|Alertes générées par le moteur de facturation]]==&lt;br /&gt;
&lt;br /&gt;
==[[Validités#Alertes-lors-d'une-réservation-ou-une-saisie-d'activité|Alertes générées sur les validités]]==&lt;br /&gt;
&lt;br /&gt;
==L'aéronef est déjà en l'air==&lt;br /&gt;
Si en tentant d'ouvrir le vol d'un aéronef, apparait une alerte rouge '''L'aéronef est déjà en l'air''' cela veut dire qu'un vol a déjà ouvert avec cet aéronef. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==La différence entre le temps de vol calculé et le temps de vol saisi est de : X:XX heure(s)==&lt;br /&gt;
Cette alerte est suivie du message :&lt;br /&gt;
&amp;lt;pre&amp;gt;Veuillez contacter votre administrateur à propos de l'incompatibilité entre votre saisie et la formule du temps de vol choisie pour le type d'aéronef : X&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette alerte apparait lorsque la valeur saisie du temps d'activité est incompatible avec la valeur calculée par la [[Formules-de-calcul#Temps-d'activité|formule de calcul du temps d'activité]] définie pour la ressource X.&lt;br /&gt;
&lt;br /&gt;
En général elle provient du fait que le temps de vol qui avait été calculé automatiquement dans le formulaire lors de la saisie des champs de compteurs départ/arrivée et/ou des heures de départ/arrivée ont été modifiés manuellement.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'une telle erreur apparait, vous devez :&lt;br /&gt;
*Essayer de reprendre la saisie et essayer de comprendre pourquoi vous saisissez mal les valeurs dans les champs concernés&lt;br /&gt;
*Si vous n'arrivez pas à comprendre la raison, contacter sans délai un gestionnaire de votre structure afin qu'il vous explique les erreurs que vous commettez lorsque le problème vient d'une saisie erronée ou qu'il analyser lui-même le problème.&lt;br /&gt;
*Si vous êtes vous-même un gestionnaire de la plateforme, vous devez également pousser l'analyse pour comprendre en quoi votre saisie est incompatible avec la formule de calcul et le cas échéant faire effectuer une modification du paramétrage.&lt;br /&gt;
&lt;br /&gt;
Voir également, comment [[#Forcer-la-saisie-d'une-durée-d'activité-incompatible-avec-sa-formule-de-calcul|Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul]].&lt;br /&gt;
&lt;br /&gt;
==Le pilote X est déjà en l'air==&lt;br /&gt;
Ce message apparait lorsque vous tentez de saisir un vol en ouverture de vol et que le pilote occupant la position X est déjà enregistré sur un vol ouvert, c'est à dire en l'air.&lt;br /&gt;
&lt;br /&gt;
Cette protection permet de ne pas avoir un utilisateur occupé simultanément sur 2 ressources.&lt;br /&gt;
&lt;br /&gt;
S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Seul le type de vol requis dans le cas de la présence d'un second pilote a été sélectionné, vous devez en sélectionner au moins un autre en plus==&lt;br /&gt;
Lors de la saisie d'un vol, cette alerte s'affiche si la configuration de la plateforme nécessite la saisie d'au moins un type de vol supplémentaire en plus du type de vol obligatoire dans le cas de la présence d'un second pilote.&lt;br /&gt;
&lt;br /&gt;
C'est typiquement le cas pour les vols d'instruction où le paramétrage nécessite généralement de préciser un 2ème type de vol comme &amp;quot;local&amp;quot;, &amp;quot;navigation&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
==Vous êtes actuellement en l'air==&lt;br /&gt;
Si en tentant de saisir un vol, l'alerte '''Vous êtes actuellement en l'air''' apparait cela veut dire qu'il y a déjà un vol d'ouvert à votre nom. S'il s'agit d'un vol qui n'a pas été fermé et qui doit être supprimé, il faut [[#Annuler-un-vol-ouvert|annuler le vol ouvert]].&lt;br /&gt;
&lt;br /&gt;
==Vous ne pouvez ouvrir un vol avec une date de début dépassée==&lt;br /&gt;
Cette protection empêche d'ouvrir une activité avec un horodatage de début antérieur à l'heure actuelle moins 15 minutes.&lt;br /&gt;
&lt;br /&gt;
En général, pour un tel cas, le souhait n'est pas d'ouvrir une activité mais de fermer une activité. Il faut donc penser à passer le champ '''Etat du vol''' en &amp;quot;Retour de vol&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Annuler une activité validée=&lt;br /&gt;
Contrairement à la [[#Supprimer-une-activité|suppression des activités non validées]] et du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de supprimer physiquement une activité après [[#Valider-une-activité|sa validation]]. Par contre, la fonction d'annulation de la saisie d'une activité permet d'en annuler son effet.&lt;br /&gt;
&lt;br /&gt;
'''C'est cette fonction qu'il faut utiliser dans le cas où une activité validée doit être corrigée. L'utilisateur assurant la gestion :'''&lt;br /&gt;
#'''Annule l'activité validée qui n'a pas été saisie correctement'''&lt;br /&gt;
#'''Saisie une nouvelle activité avec les bonnes données'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction d'annulation d'activité génère les enregistrements suivants en base de données :&lt;br /&gt;
#Création d'une même activité que l'activité à annuler mais avec une durée opposée. Cela permet de garantir que les totaux d'heures d'activités sont correctement corrigés. De plus, le champ commentaire contient une référence à l'activité ciblée par l'annulation.&lt;br /&gt;
#Création des écritures comptables associées correspondant à l'identique à celles de l'activité à annuler mais de sens opposé (débit au lieu de crédit et vice versa).&lt;br /&gt;
Ces enregistrements sont générées à la date du jour et sont automatiquement validés. Cela permet de garantir la traçabilité des opérations.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : il est possible d'annuler plusieurs fois une même activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour utiliser cette fonction :&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Dans la colonne '''Annuler une activité validée''', cliquer sur l’icône rouge symbolisant une flèche qui fait demi-tour&lt;br /&gt;
* Une page listant les activités validées apparait :&lt;br /&gt;
** Dans la colonne '''Annuler''', sélectionner l'activité à annuler&lt;br /&gt;
** Cliquer sur le bouton '''Annuler l'activité sélectionnée (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
=Annuler un vol ouvert=&lt;br /&gt;
*Aller sur le planning&lt;br /&gt;
*Cliquer sur le rectangle sur fond bleu correspondant à l'immatriculation de l'aéronef considéré&lt;br /&gt;
*Cliquer sur le bouton '''Annuler le vol''' tout en bas du formulaire.&lt;br /&gt;
&lt;br /&gt;
=Lister les activités=&lt;br /&gt;
La liste des activités est accessible depuis:&lt;br /&gt;
* [[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
* Cliquer sur l'icône correspondant à la colonne '''Valider les activités sélectionnées'''.&lt;br /&gt;
* Ou bien Cliquer sur l'icône correspondant à la colonne '''Vérifier la succession des activités'''.&lt;br /&gt;
** la page de Contrôle des compteurs de la resource a apparu.&lt;br /&gt;
** Entrer Le compteur de départ, puis Sélectionner la date de début et de fin de l'intervale que vous voulez visualiser.&lt;br /&gt;
** Cliquer sur le bouton '''Visualiser'''.&lt;br /&gt;
&lt;br /&gt;
La liste des activités synthétise les informations les plus importantes pour l'ensemble des activités dans un intervalle de temps:&lt;br /&gt;
&lt;br /&gt;
* '''Pointer''': contient les deux icônes '''tout cocher''' et '''tout décocher''', aussi les cases à cocher de chaque ligne,  en cochant la case puis en Cliquant sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)''' vous pouvez valider l'activité.&lt;br /&gt;
* '''Date''': date et heure de départ de vol, elle est affichée en fonction des [[Configuration#Patron-de-format-de-date|patrons de format de date]], affichée en rouge lorsque la date est dans le futur ( demain ou plus tard) ou bien lorsque la date de début de l'activité précédente chevauche une activité existante, c'est-à-dire  la date de début de l'activité précédente + sa durée dépasse la date de début de l'activité actuelle. Un interrupteur Date en '''UTC''' permet d'afficher sous la date locale une ligne orange indiquant l'heure '''UTC''' si la conversion reste le même jour, ou la date complète en '''UTC''' lorsque la conversion recule sur la veille.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''0''' (par exemple: place droite, pilote, Elève, Ouvert): la personne attribué au position 0,  affichée en rouge lorsque l'activité n'avait pas de pilote.&lt;br /&gt;
* le champ place_tag qui permet d'étiqueter le numéro de place '''1''' s'il existe (par exemple: place gauche, instructeur, Adhérent): la personne attribué au position 1.&lt;br /&gt;
* '''Activités''' : les types d'activités sélectionnés pour l'activité (par exemple: Voltige, Instruction, Vol technique, ...).&lt;br /&gt;
* '''Durée''' : la durée de l'activité, elle est affichée en fonction des [[Configuration#Patron-de-format-d'heure|patrons de format d'heure]], en vert pour les activités non validées et en noir gras pour les  activités validées.&lt;br /&gt;
* '''Départ''' : Terrain de départ affiché en rouge lorsque l'activité n'avait pas de terrain de départ.&lt;br /&gt;
* '''Arrivée''': Terrain d'arrivée affiché en rouge lorsque l'activité n'avait pas de terrain d'arrivée.&lt;br /&gt;
* '''Att.''' : Nombre d'atterrissages.&lt;br /&gt;
* '''Ajouts réservoirs''': Réapprovisionnement de réservoir avant/après vol, ils sont affichées sous format suivante &amp;quot; quantité + Unité (Type de éservoir)&amp;quot;.&lt;br /&gt;
* les éventuelles colonnes correspondant aux champs métiers de type &amp;quot;Activité&amp;quot;.&lt;br /&gt;
* '''Compteurs''': affichés en deux manières ( compteur hexadécimal : HH:MM , compteur décimal: HH,CC ).&lt;br /&gt;
** '''Départ''' : Le compteur de départ, affiché en rouge si le compteur de départ de l'activité actuelle inférieur au compteur d'arrivée de l'activité précédente ou bien si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** '''Arrivée''' : Le compteur d'arrivée. &lt;br /&gt;
** '''Diff.''' : la difference entre les compteurs. affiché en rouge si le compteur de départ de l'activité actuelle dépasse le compteur d'arrivée de l'activité actuelle ou bien si '''(''' le compteur d'arrivée de l'activité actuelle '''-''' le compteur de départ de l'activité actuelle '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
* '''Actions''': L'utilisateur peut effectuer sur une activité les actions suivantes:&lt;br /&gt;
** Modifier : L'utilisateur peut modifier une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Supprimer : L'utilisateur peut supprimer une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si l'activité n'est pas validée.&lt;br /&gt;
** Ajouter : L'utilisateur peut ajouter une activité s'il a des autoristations pour gérer ses activités et qu'il est l'instructeur de l'activité ou bien s'il peut gérer les activités des autres utilisteurs. ET si '''(''' le compteur de départ de l'activité actuelle '''-''' le compteur d'arrivée de l'activité précédente '''-''' la tolérance ''') &amp;gt; 1'''.&lt;br /&gt;
** Afficher la trace de vol: L'utilisateur peut afficher la trace de vol s'il est sur le vol ou s'il a le droit de voir les traces de vol.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les entrées comptables associées à des activités non validées=&lt;br /&gt;
Dans le cas où, suite à une saisie d'activité, des changements de facturations ont été fait, il est nécessaire de mettre à jour les entrées comptables associées à celle-ci. &lt;br /&gt;
La mise à jour ne peut se faire que sur les activités non validées ayant au moins un utilisateur et étant associées à une ressource active.&lt;br /&gt;
&lt;br /&gt;
Procédure pour mettre à jour les écritures comptables d'une ou plusieurs activités :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Mettre à jour les entrées comptables des activités non validées'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités dont il est nécessaire de mettre à jour les entrées comptables en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Mettre à jour les activités sélectionnées'''&lt;br /&gt;
&lt;br /&gt;
=Modifier une activité=&lt;br /&gt;
Une activité peut être saisie :&lt;br /&gt;
*Soit à l'état ouvert&lt;br /&gt;
*Soit à l'état fermé&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état ouvert, aucune écriture comptable n'est encore générée. Pour fermer une telle activité, il faut sur le planning de réservation :&lt;br /&gt;
*Soit, cliquer sur le rectangle de la ressource considérée qui doit être sur fond bleu pour indiquer que la ressource est en l'air&lt;br /&gt;
*Soit, cliquer la zone en bleue correspondante à la période du vol ouvert.&lt;br /&gt;
&lt;br /&gt;
Si l'activité est saisie à l'état fermée, pour la modifier, il faut :&lt;br /&gt;
*Soit aller sur le compte de l'un des utilisateurs concerné par l'activité et pour lequel une écriture a été générée&lt;br /&gt;
*Soit aller sur le carnet de vol ou le carnet de route impacté&lt;br /&gt;
Dans tous les cas, il faut ensuite cliquer sur l'icône crayon qui apparait sur la ligne correspondante à l'activité.&lt;br /&gt;
&lt;br /&gt;
Tout activité saisie reste modifiable tant qu'elle n'est pas validée.&lt;br /&gt;
&lt;br /&gt;
Si l'objectif est de mettre à jour des calculs de facturation sur plusieurs activités, alors il est recommandé de suivre la procédure [[#Mettre-à-jour-les-entrées-comptables-associées-à-des-activités-non-validées|Mettre à jour les entrées comptables associées à des activités non validées]] pour gagner du temps.&lt;br /&gt;
&lt;br /&gt;
Si l'activité à modifier est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]] puis saisir une nouvelle activité.&lt;br /&gt;
&lt;br /&gt;
=Saisir une activité=&lt;br /&gt;
*Aller dans '''Planning &amp;gt; Activités &amp;gt; Activités &amp;gt; Saisir'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes de traitement&lt;br /&gt;
*[[Formulaires#Valeur-par-défaut|Champs avec des valeurs par défaut]]&lt;br /&gt;
*La [[Formulaires#Valeur-par-défaut|valeur par défaut]] du champ '''terrain de départ''' correspond au '''terrain d'arrivée''' du vol précédent renseigné par l'aéronef sélectionné. Changer la date de début d'activité ou l'aéronef entraîne un rafraîchissement de la page et la valeur par défaut du champ '''terrain de départ''' se met à jour. S'il n'y a pas de vol précédent, la valeur par défaut est le terrain associé à la plateforme.&lt;br /&gt;
*Le compteur de départ par défaut équivaut au compteur d'arrivée du vol précédent renseigné par l'aéronef sélectionné. Changer la date de départ rafraîchi la page si la date de départ est antérieure à la date de départ du vol précédent. Le compteur est mis à jour en fonction. Si le compteur est changé manuellement, le compteur n'est pas mis à jour lors du rafraîchissement. Changer d'aéronef réinitialise ce comportement.&lt;br /&gt;
*Suivant l'activité choisie et le [[Configuration#Terrain-d'arrivée-égal-au-terrain-de-départ,-lorsque-l'une-des-activités-suivantes-est-sélectionnée|paramétrage de la plateforme]], le terrain d'arrivée peut être automatiquement rempli avec la même valeur que celle du terrain de départ.&lt;br /&gt;
*La saisie d'une activité d'une durée inférieure à 15 minutes déclenche l'affichage d'un message d'avertissement (en orange). Cliquer sur '''Confirmer la validation''' au dessous de ce message pour saisir définitivement l'activité.&lt;br /&gt;
*Lorsqu'un utilisateur est saisi, un champ pour définir son statut apparaît. Ce champ disparaît si l'utilisateur n'est pas défini.&lt;br /&gt;
*Lors de la saisie des utilisateurs, le nombre de personnes à bord se mets automatiquement à jour. Le nombre de personnes à bord est égal au nombre d'utilisateurs saisis. Si le nombre de personnes à bord est défini manuellement, la valeur n'est pas changée automatiquement par la suite.&amp;quot;&lt;br /&gt;
*Lors de la saisie d'un lieu, si aucun lieu correspondant n'est trouvé, [[#Demander-l'ajout-d'un-lieu|une option]] apparait afin de demander à OpenFlyers l'ajout du lieu. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie date/heure départ/arrivée&lt;br /&gt;
A gauche du champ de saisie est indiqué le fuseau horaire défini par la structure et dans lequel le couple date/heure (horodatage) doit être saisi.&lt;br /&gt;
&lt;br /&gt;
Les champs de saisie pour l'horodatage de départ et d'arrivée sont conçus pour :&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : la barre oblique entre le jour et le mois ou le mois et l'année ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
En-dessous du champ de saisie de l'horodatage départ/arrivée apparait une ligne qui affiche l'horodatage en UTC.&lt;br /&gt;
&lt;br /&gt;
Tant que l'aéronef n'est pas encore sélectionné, si l'utilisateur ouvre le formulaire de saisie d'activité puis modifie le premier champ (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers recalcule et propose de nouvelles heures par défaut conformément aux deux règles ci-dessous :&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Fermeture seulement''' :&lt;br /&gt;
**L'heure de retour proposée correspond à ''l'heure actuelle''.&lt;br /&gt;
**L'heure de départ est automatiquement calculée en soustrayant la durée d'activité par défaut à cette heure de fin.&lt;br /&gt;
&lt;br /&gt;
*Lorsque la structure est configurée en mode '''Ouverture et fermeture''' :&lt;br /&gt;
*L'heure de départ proposée est ''l'heure actuelle + 10 minutes''&lt;br /&gt;
*L'heure de retour est automatiquement calculée en ajoutant la durée d'activité par défaut à cette heure de début.&lt;br /&gt;
&lt;br /&gt;
Lorsque l'aéronef est sélectionné et que l'utilisateur modifie le premier champ du formulaire (en passant de '''départ en vol''' à '''retour de vol''' ou l'inverse), OpenFlyers conserve les heures déjà renseignées dans les champs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps d'activité]]&lt;br /&gt;
Lorsque le temps d'activité est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Champs de saisie [[Formules-de-calcul#Temps-d'activité-et-temps-moteur|temps moteur]]&lt;br /&gt;
Ce champ apparaît si le type de ressource de l'aéronef sélectionné est configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&lt;br /&gt;
Lorsque le temps moteur est affiché en unité de temps '''heures minutes''':&lt;br /&gt;
*La saisie optimisée avec un clavier en ne nécessitant de saisir que les informations utiles : les deux points entre l'heure et les minutes ne doit pas être saisie.&lt;br /&gt;
*La saisie avec un écran tactile en affichant, à droite du champ, un pictogramme qu'il faut toucher pour faire apparaitre des zones de saisies dédiées.&lt;br /&gt;
&lt;br /&gt;
Si la durée inclut des jours, un champ numérique (avec les boutons '''+''' et '''–''') apparaît à gauche du champ de type time pour renseigner le nombre de jours. Lorsque la valeur atteint 0, ce champ disparaît.&lt;br /&gt;
&lt;br /&gt;
;Synchronisation d'une saisie avec Gesasso&lt;br /&gt;
Lors de la saisie d'une activité et lorsque la plateforme est configurée pour la synchronisation externe avec [[Interfaçage-OpenFlyers-et-Gesasso|Gesasso]], le bouton de validation a deux affichages possibles :&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer''' : Si la ressource sélectionnée n'a pas de numéro d'immatriculation Gesasso valide, ou si l'un des pilotes ne dispose pas d'une licence FFVP valide, alors la synchronisation avec Gesasso est ignorée dans ce cas.&lt;br /&gt;
&lt;br /&gt;
*'''Enregistrer et Synchroniser avec Gesasso''' : indique que les ressources et les pilotes sélectionnés remplissent les critères requis, et que la synchronisation avec Gesasso est effectuée après l'enregistrement de l'activité.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Mécanismes d'alertes&lt;br /&gt;
*[[Formulaires#Surbrillance-jaune|Effet de surbrillance jaune]]&lt;br /&gt;
*[[Formulaires#Surbrillance-rouge|Effet de surbrillance rouge]]&lt;br /&gt;
*Des [[Présentation-générale-des-alertes|alertes]] bloquantes ou non bloquantes peuvent être affichées après l'envoi du formulaire nécessitant une action complémentaire de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Page affichée par défaut après la saisie d'une activité&lt;br /&gt;
*Le planning lors d'une ouverture d'activité.&lt;br /&gt;
*La page du [[Gestion-des-activit%C3%A9s#Saisir-un-suivi-de-formation|saisie de progression]] lors d'une fermeture d'activité.&lt;br /&gt;
*A nouveau le formulaire de saisie d'activité lorsque l'activité précédemment saisie l'était en fermeture et que le terrain d'arrivée saisi était différent du terrain par défaut de la structure.&lt;br /&gt;
*Dans les autres cas, l'[[Gestion-de-la-comptabilité-côté-utilisateur#Extrait-de-compte|extrait de compte]] de la personne en première place. Si plusieurs comptes sont impactés, c'est le premier compte impacté de la personne qui est choisi.&lt;br /&gt;
*Si l'utilisateur connecté n'a pas le droit de visualiser le compte concerné, alors c'est le carnet de route qui est affiché.&lt;br /&gt;
&lt;br /&gt;
==Demander l'ajout d'un aérodrome==&lt;br /&gt;
Lors de la saisie du terrain de départ, ou d'arrivée, il se peut que le lieu que l'utilisateur souhaite saisir ne soit pas dans nos bases de données. Une proposition apparait alors :&lt;br /&gt;
&amp;lt;pre&amp;gt;XXXX ( Demander l'ajout du lieu à OpenFlyers )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il suffit à l'utilisateur de sélectionner cette option afin d'effectuer la demande d'ajout à OpenFlyers.&lt;br /&gt;
Cette option ne prend en compte que les lieux recensés par l'OACI ou la FFPLUM.&lt;br /&gt;
&lt;br /&gt;
Attention, pour demander l'ajout d'un lieu, il faut saisir uniquement le code OACI (code à 4 lettres) ou FFPLUM (code au format LF + 4 chiffres) du lieu.&lt;br /&gt;
&lt;br /&gt;
Une fois l'option sélectionnée, la demande est enregistrée par OpenFlyers, mais le lieu n'est pas ajouté immédiatement, il faut donc saisir temporairement un autre lieu.&lt;br /&gt;
&lt;br /&gt;
==Forcer la saisie d'une durée d'activité incompatible avec sa formule de calcul==&lt;br /&gt;
Un gestionnaire peut forcer la saisie d'un [[#La-différence-entre-le-temps-de-vol-calculé-et-le-temps-de-vol-saisi-est-de-:-X:XX-heure(s)|temps d'activité incompatible avec la formule de calcul]] associée au type ressource pour lequel on souhaite saisir l'activité.&lt;br /&gt;
&lt;br /&gt;
Pour cela, il doit :&lt;br /&gt;
*Saisir l'activité en modifiant le compteur d'arrivé de sorte à obtenir le temps d'activité souhaité.&lt;br /&gt;
*[[Gestion-des-ressources#Changer-la-valeur-du-compteur-en-cours|Changer la valeur du compteur en cours]] de la ressource.&lt;br /&gt;
&lt;br /&gt;
Dans le cas où plusieurs activités successives doivent être saisies, il est alors judicieux de ne mettre à jour le compteur de la ressource qu'une que toutes les activités ont été saisies.&lt;br /&gt;
&lt;br /&gt;
=Supprimer une activité=&lt;br /&gt;
Si l'activité à supprimer est validée, il faut utiliser la fonction d'[[#Annuler-une-activité-validée|annulation d'une activité validée]].&lt;br /&gt;
&lt;br /&gt;
Si l'activité à supprimer n'est pas validée, pour effectuer sa suppression il faut :&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Dans le tableau qui va lister les activités, cliquer sur l'icône poubelle correspondant à l'activité à supprimer et confirmer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités=&lt;br /&gt;
Pour valider les activités d'une ressource désactivée ou n'ayant plus la saisie des activités de cochée, il existe 2 solutions :&lt;br /&gt;
*Si l'objectif c'est de clôturer la comptabilité et donc de valider toutes les écritures antérieure à une certaine date, alors la solution la plus simple est de valider toutes les écritures antérieures à cette date en suivant la procédure [[Utilisation-de-la-comptabilité#Valider-toutes-les-écritures|Valider toutes les écritures]].&lt;br /&gt;
*Si l'objectif est de contrôler, voir de modifier les activités liées à la ressource avant de réellement les valider, alors il faut réactiver temporairement la ressource pour qu'elle apparaisse dans '''Gestion &amp;gt; Activités &amp;gt; Liste''' et ainsi pouvoir contrôler et valider ses activités associées. Pour cela il faut :&lt;br /&gt;
**Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Réservable''' et '''Saisie d'activité''' d'une ressource existante&lt;br /&gt;
**Cocher '''Saisie d'activité''' pour la ressource dont on souhaite contrôler les activités puis les valider&lt;br /&gt;
**valider les activités en allant dans '''Gestion &amp;gt; Activités &amp;gt; Liste'''&lt;br /&gt;
**Revenir sur '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
**Décocher '''Saisie d'activité''' pour cette ressource&lt;br /&gt;
**Re-cocher '''Réservable''' et '''Saisie d'activité''' pour la ressource qui devait être temporairement décochée&lt;br /&gt;
&lt;br /&gt;
=Valider une activité=&lt;br /&gt;
;Introduction&lt;br /&gt;
La validation des activités doit être effectuée à intervalle régulier comme préconisé dans le [[Bien-débuter-avec-OpenFlyers#Validation-des-écritures|workflow de validation des activités]].&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe des écritures non validées qui datent de plus de 30 jours, un message d'alerte de configuration s'affiche indiquant ''[[Alertes-de-configuration#Il-y-a-des-activités-non-validées-qui-datent-de-plus-de-30-jours|Il y a des activités non validées qui datent de plus de 30 jours]]''.&lt;br /&gt;
&lt;br /&gt;
Option disponible pour la validation : [[Configuration#Regrouper-les-activités-en-une-facture-lors-de-la-validation|Regrouper les activités en une facture lors de la validation]]&lt;br /&gt;
&lt;br /&gt;
;Procédure pour valider une ou plusieurs activités&lt;br /&gt;
*[[Gestion-des-activités#Afficher-la-vue-d'ensemble-des-activités-selon-les-ressources|Afficher la vue d'ensemble des activités selon les ressources]].&lt;br /&gt;
*Cliquer sur l'icône correspondant à la ligne de la ressource et de la colonne '''Valider les activités sélectionnés'''. Si l'icône est grisée alors il n'y a aucune activité non validée.&lt;br /&gt;
*Sélectionner les lignes d'activités à valider en cochant la case à cocher de la ligne correspondante dans la colonne '''Pointer'''.&lt;br /&gt;
*Cliquer sur le bouton '''Pointer les activités sélectionnées (attention cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où une activité a été validée alors qu'elle ne devait pas l'être, il est toujours possible d'en [[#Annuler-une-activité-validée|annuler l'effet]].&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une activité incomplète (Pas de pilote ou pas de localisation d'arrivée ou de départ) l'activité ne peut pas être validée il est donc impossible de la pointer. Ce cas ne devrait arriver que pour les activités générées via [[Interfaçage-OpenFlyers-et-Charterware|l'interfaçage avec Charterware]] ou [[Interfaçage-OpenFlyers-et-ClickAndTakeoff|l'interfaçage avec ClickAndTakeoff]].&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14081</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14081"/>
		<updated>2025-12-09T14:05:43Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Butées de maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le module de suivi de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&lt;br /&gt;
Ce module est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance''' et dispose de plusieurs interfaces :&lt;br /&gt;
*Une page '''[[#Vue-d'ensemble|Vue d'ensemble]]''' récapitulant les informations des aéronefs et les prochaines butées des actions&lt;br /&gt;
*Une page '''[[#Programme|Programme]]''' permettant de définir pour chaque ressource les caractéristiques nécessaire pour le suivi : les éléments, visites, potentiels, etc.&lt;br /&gt;
*Une page '''[[#Suivi|Suivi]]''' permettant de saisir pour chaque ressource les actions effectuées&lt;br /&gt;
&lt;br /&gt;
Cette page présente également le [[#Module-de-suivi-du-potentiel-restant|module de suivi du potentiel restant]]&lt;br /&gt;
&lt;br /&gt;
Lors de l'initialisation du module, il est recommandé de commencer par renseigner tout le programme de maintenance en commençant par les visites les plus importantes pour terminer par les visites les moins importantes.&lt;br /&gt;
&lt;br /&gt;
=Décalage du programme de maintenance=&lt;br /&gt;
Par défaut, le module de suivi de maintenance est prévu pour que '''toutes''' les interventions d'un aéronef soient renseignées dans [[#Suivi|le suivi de la ressource]] et ce, depuis sa mise en circulation.&lt;br /&gt;
&lt;br /&gt;
Si des interventions ont déjà été effectuées sur l'aéronef quand le module est paramétré pour la première fois, ou si les interventions précédentes sont inconnues, il est possible de '''décaler le programme de maintenance'''. De cette manière, on évite de devoir saisir les anciennes actions effectuées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour décaler un programme de maintenance, un paramétrage supplémentaire est nécessaire afin d'optimiser les calculs des butées :&lt;br /&gt;
#Aller dans le [[#Programme|paramétrage du programme de la ressource]]&lt;br /&gt;
#Renseigner les bonnes valeurs dans la colonne '''Premier travaux de référence (horaire et calendaire)'''&lt;br /&gt;
&lt;br /&gt;
Si le programme de maintenance doit démarrer à un certain instant '''t''', les premiers travaux de référence de chaque action correspondent aux '''heures''' et à la '''date''' auxquels l'action a été effectuée pour la dernière fois quand l'aéronef avait '''t''' heures de vol. Pour les visites, on prend en compte le fait qu'elles [[Maintenance-aéronautique#Remarques|s'incluent]].&lt;br /&gt;
&lt;br /&gt;
Par exemple, un aéronef a déjà 2054h de vol et on veut faire démarrer le programme de maintenance à ce moment :&lt;br /&gt;
#La dernière '''Visite 50h''' a été effectuée à 2050h&lt;br /&gt;
#La dernière '''Visite 100h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière '''Visite 500h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière révision du '''Moteur''' était à 2000h&lt;br /&gt;
#etc.&lt;br /&gt;
&lt;br /&gt;
Ces valeurs de référence ne prennent pas en compte les marges de tolérance, donc le retard ou l'avance sur l'action. La valeur peut donc être approximative. En reprenant l'exemple précédent :&lt;br /&gt;
*Par exemple, la dernière '''Visite 50h''' a été effectuée à 2067h.&lt;br /&gt;
*Cette visite aurait dû être effectuée à 2050h, de plus la prochaine est prévue pour 2100h (on additionne les heures lors de la dernière visite plus sa périodicité)&lt;br /&gt;
*En mettant 2067h, la prochaine visite serait calculée à 2117h, donc la bonne valeur à renseigner est '''2050h'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attention, pour la saisie de '''toutes''' les visites horaires et calendaires, '''les butées calculées et affichées''' démarrent '''toutes''' de la plus petite visite (habituellement la '''Visite 50h''' et la '''Visite 1 an''') :&lt;br /&gt;
*Ainsi, les prochaines butées des visites horaires sont, par exemple, calculées à partir de la '''Visite 50h''' de référence&lt;br /&gt;
*Les prochaines butées des visites calendaires sont, par exemple, souvent calculées à partir de la '''Visite 1 an''' de référence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces valeurs de référence entrées, [[#Suivi|le suivi de la ressource]] peut être complété en indiquant toutes les interventions '''après''' ces valeurs de référence. Par exemple, si la valeur de référence de la '''Visite 50h''' est 2050h, le suivi ne doit pas contenir de valeur pour la '''Visite 50h''' à 2050h. Seulement les '''Visites 50h''' suivantes seront renseignées.  Le principe est le même pour les autres visites et toute autre action.&lt;br /&gt;
&lt;br /&gt;
=Programme=&lt;br /&gt;
Pour accéder au programme de chaque ressource :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''&lt;br /&gt;
*Cliquer sur le bouton '''Programme''' de la ressource concernée&lt;br /&gt;
&lt;br /&gt;
Sur cette interface, il est possible d'accéder au programme d'une autre ressource depuis la liste déroulante '''Ressource'''.&lt;br /&gt;
&lt;br /&gt;
Lorsque le programme est vide, en-dessous du tableau, apparait une ligne '''Créer le programme par duplication à partir de''' qui permet de dupliquer le programme de maintenance d'une autre ressource pour la ressource en cours. Dans ce cas, seules les données des colonnes '''Type''', '''Description''', '''Périodicité horaire (heures)''', '''Tolérance horaire''', '''Périodicité calendaire (mois)''', '''Tolérance calendaire''' sont dupliquées.&lt;br /&gt;
&lt;br /&gt;
La page programme d'une ressource contient les caractéristiques nécessaires pour son suivi : éléments, visites, potentiels, etc et sont affichés selon un [[#Ordre-d'affichage-des-composants-du-programme|ordre de priorité]]. Ainsi, chaque ligne du tableau correspond à un élément de la ressource qui est suivi.&lt;br /&gt;
&lt;br /&gt;
Tous les éléments devant être suivis doivent être renseignés et paramétrés. Le paramétrage est nécessaire au bon fonctionnement du [[#Suivi|suivi]]. &lt;br /&gt;
&lt;br /&gt;
Une fois le paramétrage effectué, la page affiche les résultats des calculs obtenus d'après les informations contenues dans [[#Suivi|le suivi]].&lt;br /&gt;
&lt;br /&gt;
Lors du paramétrage des composants, [[#Ajouter-ou-modifier-un-composant|plusieurs champs sont à renseigner]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter ou modifier un composant==&lt;br /&gt;
Pour ajouter un composant, il faut cliquer sur le bouton '''Ajouter''' présent en-dessous du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour modifier un composant, il faut cliquer sur le pictogramme crayon présent dans la colonne '''Actions''' de la ligne concernée.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : un élément de l'appareil (moteur, hélice, etc), une visite (50H, 100H, etc) ou autre (CEN, Pesée, etc)&lt;br /&gt;
*'''Description''' : le nom et les informations détaillées sur le composant. Par exemple la référence du moteur&lt;br /&gt;
*'''Périodicité horaire (heures)''' : si le composant a une périodicité horaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance horaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité horaires, la tolérance doit être en heures.&lt;br /&gt;
*'''Périodicité calendaire (mois)''' : si le composant a une périodicité calendaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance calendaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité calendaire, la tolérance doit être en mois.&lt;br /&gt;
*'''Premiers travaux de référence''' : il s'agit de la date ou des heures cellules des travaux de l'action à utiliser comme référence pour le calcul des valeurs dans [[#Suivi|le suivi]]. Cette colonne permet de [[#Décalage-du-programme-de-maintenance|décaler le programme de maintenance de l'aéronef]]. &lt;br /&gt;
**'''horaire''' : A remplir pour un composant avec périodicité horaire. La valeur doit correspondre aux heures cellules quand l'action a été effectuée pour la dernière fois.&lt;br /&gt;
***Si le programme de maintenance n'est pas décalé, ne rien remplir&lt;br /&gt;
**'''calendaire''' : Le principe est identique aux premier travaux de référence ayant une périodicité horaire, la date des derniers travaux doit être indiquée. &lt;br /&gt;
***&amp;lt;s&amp;gt;Si le programme de maintenance n'est pas décalé, la '''date de mise en circulation''' de l'aéronef doit être renseignée.&amp;lt;/s&amp;gt;&lt;br /&gt;
*'''Cette visite correspond à la révision générale'''&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' tout composant doit être défini avec soit une périodicité horaire soit une périodicité calendaire. Dans le cas où un composant n'a pas de périodicité, il faut créer une périodicité fictive, par exemple en indiquant une butée calendaire de 120 mois.&lt;br /&gt;
&lt;br /&gt;
==Détail du programme==&lt;br /&gt;
Les premières colonnes du programme sont définis lors de l'[[#Ajouter-ou-modifier-un-composant|ajout d'un composant]] :&lt;br /&gt;
*'''Type'''&lt;br /&gt;
*'''Description'''&lt;br /&gt;
*'''Périodicité horaire (heures)'''&lt;br /&gt;
*'''Tolérance horaire'''&lt;br /&gt;
*'''Périodicité calendaire (mois)'''&lt;br /&gt;
*'''Tolérance calendaire'''&lt;br /&gt;
*'''Premiers travaux de référence horaire'''&lt;br /&gt;
*'''Premiers travaux de référence calendaire'''&lt;br /&gt;
&lt;br /&gt;
Les colonnes suivantes et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Heures cellule début travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Date fin travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Temps réalisé (heures)''' : résultat de la différence entre la colonne '''Heures totales''' de la ressource et la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (heures)''' : résultat de la différence entre la colonne '''Butée horaire sans marge''' du composant et la colonne '''Heures totales''' de la ressource&lt;br /&gt;
*'''Butée horaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Heures cellule début travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat de la colonne '''Butée horaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Temps réalisé (mois)''' : résultat de la différence entre la date du jour et de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (mois)''' : résultat de la différence entre la colonne '''Butée calendaire sans marge''' du composant et la date du jour&lt;br /&gt;
*'''Butée calendaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Date fin travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat de la colonne '''Butée calendaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Heures début travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Heures début travaux effective''' du composant et la colonne '''Butée horaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Butée horaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Date fin travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Date fin travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Date fin travaux effective''' du composant et la colonne '''Butée calendaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Groupe de chevauchement''' (calcul intermédiaire) : n'est calculé que si le composant est une visite.&lt;br /&gt;
*#Récupère dans le programme tous les composants qui sont de type visite et qui chevauche le composant pour lequel on détermine son groupe de chevauchement. Dans le cas d'un composant avec une périodicité horaire, pour déterminer que le composant chevauche un autre composant il doit avoir la valeur de la colonne '''Butée horaire intelligente sans marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente avec marge''' de l'autre composant et il doit avoir la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est supérieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Il est également récupéré les visites en retard qui ont la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Dans le cas d'un composant avec une périodicité calendaire le principe est le même mais avec les colonnes '''Butée calendaire intelligente sans et avec marge'''&lt;br /&gt;
*#A partir des composant récupérés, le composant reçoit comme identifiant de groupe de chevauchement l'identifiant du composant qui a la plus petite périodicité horaire ou calendaire. Si le composant n'est chevauché par aucun autre composant ou si c'est lui qui a la plus petite périodicité dans le groupe alors c'est son identifiant qui est utilisé comme identifiant de groupe de chevauchement.&lt;br /&gt;
*'''Cette visite correspond à la révision générale''' (saisi par l'utilisateur mais non visible sur le programme)&lt;br /&gt;
&lt;br /&gt;
==Forcer le rafraichissement des calculs==&lt;br /&gt;
S'il est nécessaire de forcer le recalcule de l'ensemble des butées (calcul intermédiaire), alors il faut saisir une activitéee fictive pour la ressource concernée et ensuite supprimer cette activité.&lt;br /&gt;
&lt;br /&gt;
==Ordre d'affichage des composants du programme==&lt;br /&gt;
L'ordre d'affichage des composants du programme est le suivant :&lt;br /&gt;
#les visites&lt;br /&gt;
#les éléments&lt;br /&gt;
#les inspections&lt;br /&gt;
#les documents&lt;br /&gt;
*Les éléments et les attestations sont triés, dans chaque type, par ordre alphabétique&lt;br /&gt;
*Les visites sont triées ainsi :&lt;br /&gt;
*#Celles avec une périodicité horaire, de la plus petite à la plus grande&lt;br /&gt;
*#Celles avec une périodicité calendaire, par ordre alphabétique&lt;br /&gt;
&lt;br /&gt;
=Suivi=&lt;br /&gt;
Le suivi de chaque ressource est accessible depuis le menu '''Gestion &amp;gt; Resource &amp;gt; Maintenance'''. Dans le tableau, cliquer sur le bouton '''Suivi''' de la resource souhaitée. La page suivi d'une ressource contient toutes les actions effectuées sur l'aéronef. Suite à chaque [[#Ajouter-une-action-effectuée|saisie]], les prochaines butées des actions sont estimées et affichées. &lt;br /&gt;
&lt;br /&gt;
Les actions sont triées par ordre chronologique.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une action effectuée==&lt;br /&gt;
Pour ajouter une action, il faut cliquer sur le bouton '''Ajouter''' présent en dessous du tableau. Pour modifier une action, il faut cliquer sur le pictogramme crayon présent dans la colonne ''Actions''.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : il s'agit d'une liste déroulante contenant les composant définis dans le [[#Programme|programme]] de la ressource. Il faut sélectionner le composant concerné&lt;br /&gt;
*'''Heures cellule début travaux''' : les heures cellule de la ressource au début de l'action effectuée. Le champ est obligatoire si le composant a une périodicité horaire&lt;br /&gt;
*'''Date fin travaux''' : la date lorsque l'action a été effectuée. Le champ est obligatoire si le composant a une périodicité calendaire&lt;br /&gt;
&lt;br /&gt;
'''Attention :'''&lt;br /&gt;
*Si [[#Décalage-du-programme-de-maintenance|le programme de maintenance est décalé]], le suivi doit contenir les actions '''suivant ce décalage'''. Par exemple si les '''Travaux de référence''' du '''Moteur''' sont de '''2000h''' (le suivi du moteur démarre à 2000h), le suivi ne doit pas contenir l'entrée du '''Moteur''' avec '''2000h''', il contiendra les interventions suivantes du moteur.&lt;br /&gt;
&lt;br /&gt;
==Détail du suivi==&lt;br /&gt;
Les premiers champs du suivi sont définis lors de l'[[#Ajouter-une-action-effectuée|ajout d'une action]] :&lt;br /&gt;
*'''Action'''&lt;br /&gt;
*'''Heures cellule début travaux'''&lt;br /&gt;
*'''Date fin travaux'''&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Programme|programme]] :&lt;br /&gt;
*'''Est une visite''' : défini à partir du type du composant&lt;br /&gt;
*'''Type d'action''' : horaire (1), calendaire (2), les deux (0). Défini en fonction de si le composant a une périodicité horaire, calendaire ou les deux.&lt;br /&gt;
*'''Tolérance horaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Tolérance calendaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Butée horaire de référence''' : défini à partir du champ '''Premiers travaux de référence horaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité horaire'''&lt;br /&gt;
*'''Butée calendaire de référence''' : défini à partir du champ '''Premiers travaux de référence calendaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité calendaire'''&lt;br /&gt;
*'''Ligne précédente action horaire liée''' / '''Ligne précédente action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée précédente la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon c'est la visite de référence qui est utilisée&lt;br /&gt;
*'''Ligne prochaine action horaire liée''' / '''Ligne prochaine action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée suivante la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon aucune valeur ne lui est défini&lt;br /&gt;
*'''Butée horaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée horaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée horaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée horaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat du champ '''Butée horaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Heures cellule début travaux''' et du champ '''Butée horaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire avec marge''' : résultat du champ '''Prochaine butée horaire sans marge''' de l'action à qui on ajoute une '''Tolérance horaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance horaire''' de la visite de référence sinon on utilise le champ '''Tolérance horaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance horaire''' de celle-ci qui est utilisé&lt;br /&gt;
*'''Butée calendaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée calendaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée calendaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée calendaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat du champ '''Butée calendaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Date fin travaux''' et du champ '''Butée calendaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire avec marge''' : résultat du champ '''Prochaine butée calendaire sans marge''' de l'action à qui on ajoute une '''Tolérance calendaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance calendaire''' de la visite de référence sinon on utilise le champ '''Tolérance calendaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance calendaire''' de celle-ci qui est utilisé&lt;br /&gt;
&lt;br /&gt;
Une première ligne '''Première visite de référence''' apparait dès lors qu'un composant est ajouté au programme de maintenance. Les cellules suivantes sont initialisées :&lt;br /&gt;
*'''Butée horaire sans marge''' : correspond au champ '''Premiers travaux de référence horaire''' du composant ajouté&lt;br /&gt;
*'''Butée horaire avec marge''' : correspond à la somme des champs ''''''Premiers travaux de référence horaire''' et '''Tolérance horaire''' du composant ajouté&lt;br /&gt;
*'''Butée calendaire sans marge''' : correspond au champ '''Premiers travaux de référence calendaire''' du composant ajouté uniquement si le champ '''Périodicité calendaire''' du composant ajouté est renseigné&lt;br /&gt;
*'''Butée calendaire avec marge''' : correspond à la somme des champs '''Premiers travaux de référence calendaire''' et '''Tolérance calendaire''' du composant ajouté. Si le champ '''Périodicité calendaire''' est laissé vide, alors la date indiquée est le 01/01/1970.&lt;br /&gt;
Si par la suite d'autres composants sont ajoutés, cette première ligne '''Première visite de référence''' se met à jour dès lors que le composant ajouté est d'une périodicité plus faible que les composants déjà présents. En effet, c'est le composant à la périodicité la plus faible qui donne le rythme des actions de maintenance. C'est donc lui qui donne la référence sur la prochaine action. Cf. le chapitre [[#Décalage-du-programme-de-maintenance|Décalage du programme de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Calcul des fenêtres d'action de maintenance : 50h bien positionnée ou trop anticipée===&lt;br /&gt;
[[File:50h bien positionnée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:50h trop anticipée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Programme sans/avec butée calendaire===&lt;br /&gt;
Programme sans visite calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme sans VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi sans butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi sans butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programme avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme avec VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi avec butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
=Vue d'ensemble=&lt;br /&gt;
La vue d'ensemble est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''. Cette page synthétise les informations les plus importantes pour le suivi de maintenance des différentes ressources:&lt;br /&gt;
*'''Heures totales''' : heures totales de la ressource. Cette colonne est automatiquement mise à jour lors de la saisie ou la suppression d'une activité&lt;br /&gt;
*'''Heures depuis RG (Cellule)''' : Cette valeur correspond aux heures totales de la ressource depuis sa Révision Générale (RG). La RG est [[#Programme|paramétrée pour correspondre à une visite]] de la ressource, par exemple la visite 2000h.&lt;br /&gt;
*'''Heures depuis RG (Moteur)''' : La valeur correspond aux heures totales du moteur depuis sa révision, soit depuis ses [[#Programme|'''Heures début travaux''']].&lt;br /&gt;
*'''Heures depuis RG (Hélice)''' : Le principe est le même que pour le moteur, la valeur correspond aux heures totales depuis la révision de l'hélice.&lt;br /&gt;
*'''Potentiel''' : Le '''Potentiel''' est divisé en deux sous colonnes. Une contenant le potentiel restant en heures, une contenant le potentiel restant en mois. Les potentiels affichés sont ceux de la colonne '''Prochaine action'''. Si la prochaine action est une visite alors le potentiel restant affichée se base sur le [[Maintenance-aéronautique#Calcul-de-l'échéance-d'une-visite|calcul de l'échéance d'une visite]]. Il est possible que le potentiel restant de la visite visible dans le [[#Programme|programme]] soit inférieur au potentiel calculé. Dans ce cas on vérifie si une [[Maintenance-aéronautique#Remarques|visite compatible]] avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite affichée. Si c'est le cas alors on affiche le potentiel calculé. Sinon on affiche la potentiel restant de la prochaine visite.&lt;br /&gt;
*'''Prochaine action''' : La '''Prochaine action''', divisée en deux colonnes est un complément de la colonne '''Potentiel'''. Elle contient le nom des deux prochaines actions de la ressource arrivant à échéance, une en heures et une en mois. L'affichage de la '''Prochaine action''' est optimisé quand le [[#Suivi|suivi]] de la ressource est complet. La prochaine action est le composant avec la plus petite butée horaire ou calendaire. Lorsque la prochaine action est une visite on regarde si des visites se chevauchent. Si c'est le cas alors c'est la visite avec la plus grande périodicité qui sera affichée.&lt;br /&gt;
**Le caractère '''*''' est affiché sur les prochaines actions qui incluent un chevauchement de visite&lt;br /&gt;
&lt;br /&gt;
Le potentiel affiché change de couleur selon sa valeur :&lt;br /&gt;
*Au dessus de 10 heures : &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;'''vert'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*Entre 10 heures (inclus) et 5 heures (non inclus) : &amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*En dessous de 5 heures (inclus) : &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actualisation journalière de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Chaque nuit à 06h00 UTC la [[#Vue-d'ensemble|vue d'ensemble]] est actualisée afin de mettre à jour les [[#Détail-de-la-vue-d'ensemble|calculs intermédiaires]] se basant sur la date du jour.&lt;br /&gt;
&lt;br /&gt;
==Détail de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminés à partir des informations contenues dans le [[#Programme|programme]] et dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Cellule - Heures totales''' : heures totales de l'aéronef mises à jour à chaque modification du temps de vol - création, édition ou suppression d'un vol&lt;br /&gt;
*'''Cellule - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Heures cellule début travaux''' de la visite qui correspond à la révision générale&lt;br /&gt;
*'''Moteur - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément moteur.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''72 - Moteur'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
*'''Hélice - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément hélice.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''61 - Hélice'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite horaire''' : recherche la visite avec la plus petite périodicité horaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité horaire. Cette visite sera la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Butée horaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée horaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite horaire''' :&lt;br /&gt;
*#Calcule la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales''' et la compare avec le potentiel restant de la prochaine visite horaire&lt;br /&gt;
*#Si ce dernier est plus petit, vérifie si une visite compatible avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite horaire&lt;br /&gt;
*#Si c'est le cas alors on affiche le résultat de la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales'''. Sinon on affiche la potentiel restant de la prochaine visite horaire&lt;br /&gt;
*'''Prochaine action horaire''' : recherche le composant qui a la '''Butée horaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée horaire action''' : récupère sur le composant correspond à la '''Prochaine action horaire''', le champ '''Butée horaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action horaire''' : résultat de la différence entre le champ '''Butée horaire action''' et le champ '''Cellule - Heures totales'''&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Heures''' qui correspond au champ '''Potentiel prochaine action horaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite horaire''' et '''Potentiel prochaine action horaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
*'''Prochaine action horaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite horaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite horaire''' sinon ce sera celle du champ '''Prochaine action horaire'''&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite calendaire''' : recherche la visite avec la plus petite périodicité calendaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité calendaire. Cette visite sera la '''prochaine visite calendaire'''.&lt;br /&gt;
*'''Butée calendaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée calendaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire visite''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine action calendaire''' : recherche le composant qui a la '''Butée calendaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée calendaire action''' : récupère sur le composant correspond à la '''Prochaine action calendaire''', le champ '''Butée calendaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire action''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Mois''' qui correspond au champ '''Potentiel prochaine action calendaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite calendaire''' et '''Potentiel prochaine action calendaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
*'''Prochaine action calendaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite calendaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite calendaire''' sinon ce sera celle du champ '''Prochaine action calendaire'''&lt;br /&gt;
&lt;br /&gt;
=Module de suivi du potentiel restant=&lt;br /&gt;
==Unité de mesure des heures==&lt;br /&gt;
L'unité de mesure des compteurs d'un aéronef correspond au [[Gestion des ressources#Ajouter_un_type_de_ressource|paramétrage du type de ressource]] correspondant.&lt;br /&gt;
&lt;br /&gt;
Par contre, l'unité de mesure des totaux d'heures correspond au [[Configuration#Gestion-des-vols|paramétrage de l'unité de temps de la plateforme]]. Cela permet d'avoir la tenue des carnets de route des aéronefs dans une seule unité quelque soit l'aéronef. De même pour les calculs des butées pour le suivi de navigabilité cela permet d'avoir une seule unité.&lt;br /&gt;
&lt;br /&gt;
==Activer le module de gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Activités'''&lt;br /&gt;
*Activer l'interrupteur '''[[Paramétrage-des-activités#Gestion-des-potentiels|Gestion des potentiels]]'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des potentiels===&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon)	&lt;br /&gt;
**Dans la partie inférieure '''Données pour la gestion des vols''' on initialise les valeurs :&lt;br /&gt;
**'''Date de début de comptabilisation des heures'''&lt;br /&gt;
**'''Total des heures à la date de début'''&lt;br /&gt;
Il faut indiquer dans ces 2 champs le nombre d'heures de la ressource et à quelle date il y avait ce nombre d'heures. Ainsi, OpenFlyers calculera le nombre d'heures de vols effectuées par l'aéronef à compter de cette date de début et en partant du total renseigné pour cette date. Seules les heures de vols dont la date sera postérieure à cette date de début seront prises en compte pour ce calcul.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' pour un calcul exact du potentiel restant, tous les vols postérieurs à la '''date de début de comptabilisation des heures''' doivent être saisis dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Affichage du potentiel estimé restant dans les créneaux de réservation===&lt;br /&gt;
Cela se fait en activant le champ additionnel spécifique [[Champs-métiers#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des alertes===&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon) :&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les potentiels (exemple 10 h, 0 h et -5 h)&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les dates calendaire (exemple 15 jours, 8 jours et 0 jours)&lt;br /&gt;
&lt;br /&gt;
==Butées de maintenance==&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
::La colonne '''Moteur''' est affichée uniquement si au moins une ressource appartient à un type configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|1200px|Tableau de bord maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*Cliquer sur l'icône Modifier (le crayon) :&lt;br /&gt;
::La colonne '''Heure moteur''' est affichée uniquement si au moins une ressource appartient à un type configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_detail_fr.jpg|1200px|Maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:'''Prochaine butée calendaire''' : c'est la date qui servira de référence pour les alertes calendaires (ex : renouvèlement CDN). En attendant le module de gestion de la maintenance, le mécanicien gère lui-même la butée en mettant la butée selon son programme d'entretien&lt;br /&gt;
:'''Prochaine butée horaire d'activité ''': c'est le compte horaire de vol de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps de vols saisi par les pilotes pour définir le potentiel restant d'activité&lt;br /&gt;
:'''Prochaine butée horaire moteur''': c'est le compte horaire moteur de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps moteur saisi par les pilotes pour définir le potentiel restant moteur&lt;br /&gt;
&lt;br /&gt;
:'''Seuil des alertes''' : Il y a 3 niveaux d'alerte horaire et calendaire à mettre selon les souhaits du mécanicien (Seuil avertissement , Seuil alarme et Seuil stop). L'alerte visualisée sur le cahier de réservation sera la première des échéances atteintes.&lt;br /&gt;
&lt;br /&gt;
:'''Potentiel''' :&lt;br /&gt;
::Le programme calcule à chaque vol le total des heures de vol depuis la date d'initialisation (HdV) et le potentiel restant estimé:&lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel restant d'activité = Prochaine butée horaire d'activité - (Total des heures de vol à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
::Le programme calcule à chaque vol le total des heures moteurs depuis la date d'initialisation (HdV) et le potentiel restant estimé :&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel restant moteur = Prochaine butée horaire moteur - (Total des heures moteur à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
::Le programme affiche le potentiel restant (Pot) à gauche du cahier journalier et affiche sous chaque réservation le potentiel estimé (durée indiquée par l'utilisateur lors de la réservation ou 50% de la durée de la réservation en absence d'information)&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel = min(Potentiel restant d'activité, Potentiel restant moteur)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Le programme surveille ces 2 butées :&lt;br /&gt;
** Alerte visuelle si la date du jour approche les seuils de date calendaire.&lt;br /&gt;
** Alerte visuelle si on approche les seuils de fin de potentiel.&lt;br /&gt;
* Il est conseillé de mettre à jour les valeurs d'initialisation une fois par an&lt;br /&gt;
&lt;br /&gt;
==Gestion des points fixes==&lt;br /&gt;
On appelle un point fixe le fait de faire tourner le moteur d'un aéronef pour en contrôler les paramètres sans que cela soit suivi d'un vol. Il s'agit d'une action prévue pour certaines opérations de maintenance.&lt;br /&gt;
&lt;br /&gt;
Pour les aéronefs équipés d'horamètres, le point fixe &amp;quot;fait tourner l'horamètre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers préconise de ne pas saisir les points fixes en tant que vol car il n'y a pas de vol réalisé. Cela évite de d'impacter inutilement le potentiel de l'aéronef qui est normalement déterminé uniquement par les heures de vols.&lt;br /&gt;
 &lt;br /&gt;
Aussi, à l'issu d'un point fixe, la seule action à effectuer dans OpenFlyers consiste à mettre à jour le compteur :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l’icône &amp;quot;Crayon&amp;quot; dans la colonne '''Actions''' de la ligne de l'aéronef concerné&lt;br /&gt;
*Mettre à jour le champ '''Dernier compteur enregistré'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors de la prochaine saisie d'heure de vol, le compteur départ correspondra au compteur mis à jour. Cela n'empêchera pas l'utilisateur de voir s'afficher ensuite une alerte mais il pourra vérifier sur le carnet de route ou sur tout autre document mis en place par la structure que cet écart est justifié. De la même façon, lors de la [[#Valider-une-activité|validation des activités]], l'écart de compteur ressortira et sera justifiable.&lt;br /&gt;
&lt;br /&gt;
==Modification des butées suite à un vol validé mal saisi==&lt;br /&gt;
Si un vol a été validé et que l'on se rencontre à posteriori qu'il a été mal saisi, il faut alors intervenir pour corriger les erreurs de calcul de potentiel restant qui en résultent. Pour cela, il y a plusieurs possibilités :&lt;br /&gt;
*Si le vol saisi initialement a une durée inférieure au vol réellement effectué : il faut saisir un vol complémentaire dont la durée correspond au temps de vol manquant.&lt;br /&gt;
*Si le vol saisi initialement a une durée supérieure au vol réellement effectué : il faut reprendre la procédure d'[[#Initialisation-de-la-gestion-des-potentiels|initialisation de la gestion des potentiels]] pour enlever au temps cellule initial le temps de vol décompté en trop de sorte à avoir un potentiel restant qui soit juste.&lt;br /&gt;
&lt;br /&gt;
Du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de modifier une écriture validée.&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de [[Utilisation-de-la-comptabilité#Annuler-l'effet-d'une-écriture-comptable|corriger comptablement l'effet des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Types de composants=&lt;br /&gt;
Les types de composants sont répertoriés dans un catalogue tenu à jour par OpenFlyers. Chaque type de composant est caractérisé par son étiquette et sa catégorie. Il existe 4 catégories définies ci-dessous :&lt;br /&gt;
&lt;br /&gt;
==Documents==&lt;br /&gt;
Il s'agit des documents nécessaires pour la gestion et la traçabilité des activités de maintenance. Ils incluent les manuels de maintenance, les bulletins de service, les certificats de conformité, les rapports d'inspection, etc.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Manuels de maintenance de l'aéronef (AMM), Certificat d'Examens de Navigation (CEN), Assurance, Fiche de pesée, etc.&lt;br /&gt;
&lt;br /&gt;
==Éléments==&lt;br /&gt;
Il s'agit des composants physiques individuels ou des parties spécifiques de l'aéronef, comme les pièces de rechange, les sous-ensembles, ou les équipements spécifiques.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Un moteur, un hélice, un train d'atterrissage, des instruments de cockpit, etc.&lt;br /&gt;
&lt;br /&gt;
==Inspections==&lt;br /&gt;
Il s'agit des activités spécifiques de vérification et de contrôle des composants ou des systèmes de l'aéronef pour s'assurer qu'ils sont en bon état de fonctionnement et conformes aux normes de sécurité.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Inspection de pré-vol, inspection de corrosion, contrôle non destructif (CND), etc.&lt;br /&gt;
&lt;br /&gt;
==Visites==&lt;br /&gt;
Il s'agit des visites planifiées pour la maintenance, qui peuvent inclure des vérifications générales, des réparations ou des remplacements de composants.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : (50H, 100H, 600 H / 2 ANS, etc)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14080</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14080"/>
		<updated>2025-12-09T14:03:36Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Butées de maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le module de suivi de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&lt;br /&gt;
Ce module est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance''' et dispose de plusieurs interfaces :&lt;br /&gt;
*Une page '''[[#Vue-d'ensemble|Vue d'ensemble]]''' récapitulant les informations des aéronefs et les prochaines butées des actions&lt;br /&gt;
*Une page '''[[#Programme|Programme]]''' permettant de définir pour chaque ressource les caractéristiques nécessaire pour le suivi : les éléments, visites, potentiels, etc.&lt;br /&gt;
*Une page '''[[#Suivi|Suivi]]''' permettant de saisir pour chaque ressource les actions effectuées&lt;br /&gt;
&lt;br /&gt;
Cette page présente également le [[#Module-de-suivi-du-potentiel-restant|module de suivi du potentiel restant]]&lt;br /&gt;
&lt;br /&gt;
Lors de l'initialisation du module, il est recommandé de commencer par renseigner tout le programme de maintenance en commençant par les visites les plus importantes pour terminer par les visites les moins importantes.&lt;br /&gt;
&lt;br /&gt;
=Décalage du programme de maintenance=&lt;br /&gt;
Par défaut, le module de suivi de maintenance est prévu pour que '''toutes''' les interventions d'un aéronef soient renseignées dans [[#Suivi|le suivi de la ressource]] et ce, depuis sa mise en circulation.&lt;br /&gt;
&lt;br /&gt;
Si des interventions ont déjà été effectuées sur l'aéronef quand le module est paramétré pour la première fois, ou si les interventions précédentes sont inconnues, il est possible de '''décaler le programme de maintenance'''. De cette manière, on évite de devoir saisir les anciennes actions effectuées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour décaler un programme de maintenance, un paramétrage supplémentaire est nécessaire afin d'optimiser les calculs des butées :&lt;br /&gt;
#Aller dans le [[#Programme|paramétrage du programme de la ressource]]&lt;br /&gt;
#Renseigner les bonnes valeurs dans la colonne '''Premier travaux de référence (horaire et calendaire)'''&lt;br /&gt;
&lt;br /&gt;
Si le programme de maintenance doit démarrer à un certain instant '''t''', les premiers travaux de référence de chaque action correspondent aux '''heures''' et à la '''date''' auxquels l'action a été effectuée pour la dernière fois quand l'aéronef avait '''t''' heures de vol. Pour les visites, on prend en compte le fait qu'elles [[Maintenance-aéronautique#Remarques|s'incluent]].&lt;br /&gt;
&lt;br /&gt;
Par exemple, un aéronef a déjà 2054h de vol et on veut faire démarrer le programme de maintenance à ce moment :&lt;br /&gt;
#La dernière '''Visite 50h''' a été effectuée à 2050h&lt;br /&gt;
#La dernière '''Visite 100h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière '''Visite 500h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière révision du '''Moteur''' était à 2000h&lt;br /&gt;
#etc.&lt;br /&gt;
&lt;br /&gt;
Ces valeurs de référence ne prennent pas en compte les marges de tolérance, donc le retard ou l'avance sur l'action. La valeur peut donc être approximative. En reprenant l'exemple précédent :&lt;br /&gt;
*Par exemple, la dernière '''Visite 50h''' a été effectuée à 2067h.&lt;br /&gt;
*Cette visite aurait dû être effectuée à 2050h, de plus la prochaine est prévue pour 2100h (on additionne les heures lors de la dernière visite plus sa périodicité)&lt;br /&gt;
*En mettant 2067h, la prochaine visite serait calculée à 2117h, donc la bonne valeur à renseigner est '''2050h'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attention, pour la saisie de '''toutes''' les visites horaires et calendaires, '''les butées calculées et affichées''' démarrent '''toutes''' de la plus petite visite (habituellement la '''Visite 50h''' et la '''Visite 1 an''') :&lt;br /&gt;
*Ainsi, les prochaines butées des visites horaires sont, par exemple, calculées à partir de la '''Visite 50h''' de référence&lt;br /&gt;
*Les prochaines butées des visites calendaires sont, par exemple, souvent calculées à partir de la '''Visite 1 an''' de référence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces valeurs de référence entrées, [[#Suivi|le suivi de la ressource]] peut être complété en indiquant toutes les interventions '''après''' ces valeurs de référence. Par exemple, si la valeur de référence de la '''Visite 50h''' est 2050h, le suivi ne doit pas contenir de valeur pour la '''Visite 50h''' à 2050h. Seulement les '''Visites 50h''' suivantes seront renseignées.  Le principe est le même pour les autres visites et toute autre action.&lt;br /&gt;
&lt;br /&gt;
=Programme=&lt;br /&gt;
Pour accéder au programme de chaque ressource :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''&lt;br /&gt;
*Cliquer sur le bouton '''Programme''' de la ressource concernée&lt;br /&gt;
&lt;br /&gt;
Sur cette interface, il est possible d'accéder au programme d'une autre ressource depuis la liste déroulante '''Ressource'''.&lt;br /&gt;
&lt;br /&gt;
Lorsque le programme est vide, en-dessous du tableau, apparait une ligne '''Créer le programme par duplication à partir de''' qui permet de dupliquer le programme de maintenance d'une autre ressource pour la ressource en cours. Dans ce cas, seules les données des colonnes '''Type''', '''Description''', '''Périodicité horaire (heures)''', '''Tolérance horaire''', '''Périodicité calendaire (mois)''', '''Tolérance calendaire''' sont dupliquées.&lt;br /&gt;
&lt;br /&gt;
La page programme d'une ressource contient les caractéristiques nécessaires pour son suivi : éléments, visites, potentiels, etc et sont affichés selon un [[#Ordre-d'affichage-des-composants-du-programme|ordre de priorité]]. Ainsi, chaque ligne du tableau correspond à un élément de la ressource qui est suivi.&lt;br /&gt;
&lt;br /&gt;
Tous les éléments devant être suivis doivent être renseignés et paramétrés. Le paramétrage est nécessaire au bon fonctionnement du [[#Suivi|suivi]]. &lt;br /&gt;
&lt;br /&gt;
Une fois le paramétrage effectué, la page affiche les résultats des calculs obtenus d'après les informations contenues dans [[#Suivi|le suivi]].&lt;br /&gt;
&lt;br /&gt;
Lors du paramétrage des composants, [[#Ajouter-ou-modifier-un-composant|plusieurs champs sont à renseigner]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter ou modifier un composant==&lt;br /&gt;
Pour ajouter un composant, il faut cliquer sur le bouton '''Ajouter''' présent en-dessous du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour modifier un composant, il faut cliquer sur le pictogramme crayon présent dans la colonne '''Actions''' de la ligne concernée.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : un élément de l'appareil (moteur, hélice, etc), une visite (50H, 100H, etc) ou autre (CEN, Pesée, etc)&lt;br /&gt;
*'''Description''' : le nom et les informations détaillées sur le composant. Par exemple la référence du moteur&lt;br /&gt;
*'''Périodicité horaire (heures)''' : si le composant a une périodicité horaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance horaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité horaires, la tolérance doit être en heures.&lt;br /&gt;
*'''Périodicité calendaire (mois)''' : si le composant a une périodicité calendaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance calendaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité calendaire, la tolérance doit être en mois.&lt;br /&gt;
*'''Premiers travaux de référence''' : il s'agit de la date ou des heures cellules des travaux de l'action à utiliser comme référence pour le calcul des valeurs dans [[#Suivi|le suivi]]. Cette colonne permet de [[#Décalage-du-programme-de-maintenance|décaler le programme de maintenance de l'aéronef]]. &lt;br /&gt;
**'''horaire''' : A remplir pour un composant avec périodicité horaire. La valeur doit correspondre aux heures cellules quand l'action a été effectuée pour la dernière fois.&lt;br /&gt;
***Si le programme de maintenance n'est pas décalé, ne rien remplir&lt;br /&gt;
**'''calendaire''' : Le principe est identique aux premier travaux de référence ayant une périodicité horaire, la date des derniers travaux doit être indiquée. &lt;br /&gt;
***&amp;lt;s&amp;gt;Si le programme de maintenance n'est pas décalé, la '''date de mise en circulation''' de l'aéronef doit être renseignée.&amp;lt;/s&amp;gt;&lt;br /&gt;
*'''Cette visite correspond à la révision générale'''&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' tout composant doit être défini avec soit une périodicité horaire soit une périodicité calendaire. Dans le cas où un composant n'a pas de périodicité, il faut créer une périodicité fictive, par exemple en indiquant une butée calendaire de 120 mois.&lt;br /&gt;
&lt;br /&gt;
==Détail du programme==&lt;br /&gt;
Les premières colonnes du programme sont définis lors de l'[[#Ajouter-ou-modifier-un-composant|ajout d'un composant]] :&lt;br /&gt;
*'''Type'''&lt;br /&gt;
*'''Description'''&lt;br /&gt;
*'''Périodicité horaire (heures)'''&lt;br /&gt;
*'''Tolérance horaire'''&lt;br /&gt;
*'''Périodicité calendaire (mois)'''&lt;br /&gt;
*'''Tolérance calendaire'''&lt;br /&gt;
*'''Premiers travaux de référence horaire'''&lt;br /&gt;
*'''Premiers travaux de référence calendaire'''&lt;br /&gt;
&lt;br /&gt;
Les colonnes suivantes et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Heures cellule début travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Date fin travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Temps réalisé (heures)''' : résultat de la différence entre la colonne '''Heures totales''' de la ressource et la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (heures)''' : résultat de la différence entre la colonne '''Butée horaire sans marge''' du composant et la colonne '''Heures totales''' de la ressource&lt;br /&gt;
*'''Butée horaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Heures cellule début travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat de la colonne '''Butée horaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Temps réalisé (mois)''' : résultat de la différence entre la date du jour et de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (mois)''' : résultat de la différence entre la colonne '''Butée calendaire sans marge''' du composant et la date du jour&lt;br /&gt;
*'''Butée calendaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Date fin travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat de la colonne '''Butée calendaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Heures début travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Heures début travaux effective''' du composant et la colonne '''Butée horaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Butée horaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Date fin travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Date fin travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Date fin travaux effective''' du composant et la colonne '''Butée calendaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Groupe de chevauchement''' (calcul intermédiaire) : n'est calculé que si le composant est une visite.&lt;br /&gt;
*#Récupère dans le programme tous les composants qui sont de type visite et qui chevauche le composant pour lequel on détermine son groupe de chevauchement. Dans le cas d'un composant avec une périodicité horaire, pour déterminer que le composant chevauche un autre composant il doit avoir la valeur de la colonne '''Butée horaire intelligente sans marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente avec marge''' de l'autre composant et il doit avoir la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est supérieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Il est également récupéré les visites en retard qui ont la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Dans le cas d'un composant avec une périodicité calendaire le principe est le même mais avec les colonnes '''Butée calendaire intelligente sans et avec marge'''&lt;br /&gt;
*#A partir des composant récupérés, le composant reçoit comme identifiant de groupe de chevauchement l'identifiant du composant qui a la plus petite périodicité horaire ou calendaire. Si le composant n'est chevauché par aucun autre composant ou si c'est lui qui a la plus petite périodicité dans le groupe alors c'est son identifiant qui est utilisé comme identifiant de groupe de chevauchement.&lt;br /&gt;
*'''Cette visite correspond à la révision générale''' (saisi par l'utilisateur mais non visible sur le programme)&lt;br /&gt;
&lt;br /&gt;
==Forcer le rafraichissement des calculs==&lt;br /&gt;
S'il est nécessaire de forcer le recalcule de l'ensemble des butées (calcul intermédiaire), alors il faut saisir une activitéee fictive pour la ressource concernée et ensuite supprimer cette activité.&lt;br /&gt;
&lt;br /&gt;
==Ordre d'affichage des composants du programme==&lt;br /&gt;
L'ordre d'affichage des composants du programme est le suivant :&lt;br /&gt;
#les visites&lt;br /&gt;
#les éléments&lt;br /&gt;
#les inspections&lt;br /&gt;
#les documents&lt;br /&gt;
*Les éléments et les attestations sont triés, dans chaque type, par ordre alphabétique&lt;br /&gt;
*Les visites sont triées ainsi :&lt;br /&gt;
*#Celles avec une périodicité horaire, de la plus petite à la plus grande&lt;br /&gt;
*#Celles avec une périodicité calendaire, par ordre alphabétique&lt;br /&gt;
&lt;br /&gt;
=Suivi=&lt;br /&gt;
Le suivi de chaque ressource est accessible depuis le menu '''Gestion &amp;gt; Resource &amp;gt; Maintenance'''. Dans le tableau, cliquer sur le bouton '''Suivi''' de la resource souhaitée. La page suivi d'une ressource contient toutes les actions effectuées sur l'aéronef. Suite à chaque [[#Ajouter-une-action-effectuée|saisie]], les prochaines butées des actions sont estimées et affichées. &lt;br /&gt;
&lt;br /&gt;
Les actions sont triées par ordre chronologique.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une action effectuée==&lt;br /&gt;
Pour ajouter une action, il faut cliquer sur le bouton '''Ajouter''' présent en dessous du tableau. Pour modifier une action, il faut cliquer sur le pictogramme crayon présent dans la colonne ''Actions''.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : il s'agit d'une liste déroulante contenant les composant définis dans le [[#Programme|programme]] de la ressource. Il faut sélectionner le composant concerné&lt;br /&gt;
*'''Heures cellule début travaux''' : les heures cellule de la ressource au début de l'action effectuée. Le champ est obligatoire si le composant a une périodicité horaire&lt;br /&gt;
*'''Date fin travaux''' : la date lorsque l'action a été effectuée. Le champ est obligatoire si le composant a une périodicité calendaire&lt;br /&gt;
&lt;br /&gt;
'''Attention :'''&lt;br /&gt;
*Si [[#Décalage-du-programme-de-maintenance|le programme de maintenance est décalé]], le suivi doit contenir les actions '''suivant ce décalage'''. Par exemple si les '''Travaux de référence''' du '''Moteur''' sont de '''2000h''' (le suivi du moteur démarre à 2000h), le suivi ne doit pas contenir l'entrée du '''Moteur''' avec '''2000h''', il contiendra les interventions suivantes du moteur.&lt;br /&gt;
&lt;br /&gt;
==Détail du suivi==&lt;br /&gt;
Les premiers champs du suivi sont définis lors de l'[[#Ajouter-une-action-effectuée|ajout d'une action]] :&lt;br /&gt;
*'''Action'''&lt;br /&gt;
*'''Heures cellule début travaux'''&lt;br /&gt;
*'''Date fin travaux'''&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Programme|programme]] :&lt;br /&gt;
*'''Est une visite''' : défini à partir du type du composant&lt;br /&gt;
*'''Type d'action''' : horaire (1), calendaire (2), les deux (0). Défini en fonction de si le composant a une périodicité horaire, calendaire ou les deux.&lt;br /&gt;
*'''Tolérance horaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Tolérance calendaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Butée horaire de référence''' : défini à partir du champ '''Premiers travaux de référence horaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité horaire'''&lt;br /&gt;
*'''Butée calendaire de référence''' : défini à partir du champ '''Premiers travaux de référence calendaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité calendaire'''&lt;br /&gt;
*'''Ligne précédente action horaire liée''' / '''Ligne précédente action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée précédente la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon c'est la visite de référence qui est utilisée&lt;br /&gt;
*'''Ligne prochaine action horaire liée''' / '''Ligne prochaine action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée suivante la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon aucune valeur ne lui est défini&lt;br /&gt;
*'''Butée horaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée horaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée horaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée horaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat du champ '''Butée horaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Heures cellule début travaux''' et du champ '''Butée horaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire avec marge''' : résultat du champ '''Prochaine butée horaire sans marge''' de l'action à qui on ajoute une '''Tolérance horaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance horaire''' de la visite de référence sinon on utilise le champ '''Tolérance horaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance horaire''' de celle-ci qui est utilisé&lt;br /&gt;
*'''Butée calendaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée calendaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée calendaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée calendaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat du champ '''Butée calendaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Date fin travaux''' et du champ '''Butée calendaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire avec marge''' : résultat du champ '''Prochaine butée calendaire sans marge''' de l'action à qui on ajoute une '''Tolérance calendaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance calendaire''' de la visite de référence sinon on utilise le champ '''Tolérance calendaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance calendaire''' de celle-ci qui est utilisé&lt;br /&gt;
&lt;br /&gt;
Une première ligne '''Première visite de référence''' apparait dès lors qu'un composant est ajouté au programme de maintenance. Les cellules suivantes sont initialisées :&lt;br /&gt;
*'''Butée horaire sans marge''' : correspond au champ '''Premiers travaux de référence horaire''' du composant ajouté&lt;br /&gt;
*'''Butée horaire avec marge''' : correspond à la somme des champs ''''''Premiers travaux de référence horaire''' et '''Tolérance horaire''' du composant ajouté&lt;br /&gt;
*'''Butée calendaire sans marge''' : correspond au champ '''Premiers travaux de référence calendaire''' du composant ajouté uniquement si le champ '''Périodicité calendaire''' du composant ajouté est renseigné&lt;br /&gt;
*'''Butée calendaire avec marge''' : correspond à la somme des champs '''Premiers travaux de référence calendaire''' et '''Tolérance calendaire''' du composant ajouté. Si le champ '''Périodicité calendaire''' est laissé vide, alors la date indiquée est le 01/01/1970.&lt;br /&gt;
Si par la suite d'autres composants sont ajoutés, cette première ligne '''Première visite de référence''' se met à jour dès lors que le composant ajouté est d'une périodicité plus faible que les composants déjà présents. En effet, c'est le composant à la périodicité la plus faible qui donne le rythme des actions de maintenance. C'est donc lui qui donne la référence sur la prochaine action. Cf. le chapitre [[#Décalage-du-programme-de-maintenance|Décalage du programme de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Calcul des fenêtres d'action de maintenance : 50h bien positionnée ou trop anticipée===&lt;br /&gt;
[[File:50h bien positionnée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:50h trop anticipée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Programme sans/avec butée calendaire===&lt;br /&gt;
Programme sans visite calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme sans VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi sans butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi sans butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programme avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme avec VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi avec butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
=Vue d'ensemble=&lt;br /&gt;
La vue d'ensemble est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''. Cette page synthétise les informations les plus importantes pour le suivi de maintenance des différentes ressources:&lt;br /&gt;
*'''Heures totales''' : heures totales de la ressource. Cette colonne est automatiquement mise à jour lors de la saisie ou la suppression d'une activité&lt;br /&gt;
*'''Heures depuis RG (Cellule)''' : Cette valeur correspond aux heures totales de la ressource depuis sa Révision Générale (RG). La RG est [[#Programme|paramétrée pour correspondre à une visite]] de la ressource, par exemple la visite 2000h.&lt;br /&gt;
*'''Heures depuis RG (Moteur)''' : La valeur correspond aux heures totales du moteur depuis sa révision, soit depuis ses [[#Programme|'''Heures début travaux''']].&lt;br /&gt;
*'''Heures depuis RG (Hélice)''' : Le principe est le même que pour le moteur, la valeur correspond aux heures totales depuis la révision de l'hélice.&lt;br /&gt;
*'''Potentiel''' : Le '''Potentiel''' est divisé en deux sous colonnes. Une contenant le potentiel restant en heures, une contenant le potentiel restant en mois. Les potentiels affichés sont ceux de la colonne '''Prochaine action'''. Si la prochaine action est une visite alors le potentiel restant affichée se base sur le [[Maintenance-aéronautique#Calcul-de-l'échéance-d'une-visite|calcul de l'échéance d'une visite]]. Il est possible que le potentiel restant de la visite visible dans le [[#Programme|programme]] soit inférieur au potentiel calculé. Dans ce cas on vérifie si une [[Maintenance-aéronautique#Remarques|visite compatible]] avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite affichée. Si c'est le cas alors on affiche le potentiel calculé. Sinon on affiche la potentiel restant de la prochaine visite.&lt;br /&gt;
*'''Prochaine action''' : La '''Prochaine action''', divisée en deux colonnes est un complément de la colonne '''Potentiel'''. Elle contient le nom des deux prochaines actions de la ressource arrivant à échéance, une en heures et une en mois. L'affichage de la '''Prochaine action''' est optimisé quand le [[#Suivi|suivi]] de la ressource est complet. La prochaine action est le composant avec la plus petite butée horaire ou calendaire. Lorsque la prochaine action est une visite on regarde si des visites se chevauchent. Si c'est le cas alors c'est la visite avec la plus grande périodicité qui sera affichée.&lt;br /&gt;
**Le caractère '''*''' est affiché sur les prochaines actions qui incluent un chevauchement de visite&lt;br /&gt;
&lt;br /&gt;
Le potentiel affiché change de couleur selon sa valeur :&lt;br /&gt;
*Au dessus de 10 heures : &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;'''vert'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*Entre 10 heures (inclus) et 5 heures (non inclus) : &amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*En dessous de 5 heures (inclus) : &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actualisation journalière de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Chaque nuit à 06h00 UTC la [[#Vue-d'ensemble|vue d'ensemble]] est actualisée afin de mettre à jour les [[#Détail-de-la-vue-d'ensemble|calculs intermédiaires]] se basant sur la date du jour.&lt;br /&gt;
&lt;br /&gt;
==Détail de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminés à partir des informations contenues dans le [[#Programme|programme]] et dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Cellule - Heures totales''' : heures totales de l'aéronef mises à jour à chaque modification du temps de vol - création, édition ou suppression d'un vol&lt;br /&gt;
*'''Cellule - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Heures cellule début travaux''' de la visite qui correspond à la révision générale&lt;br /&gt;
*'''Moteur - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément moteur.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''72 - Moteur'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
*'''Hélice - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément hélice.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''61 - Hélice'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite horaire''' : recherche la visite avec la plus petite périodicité horaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité horaire. Cette visite sera la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Butée horaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée horaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite horaire''' :&lt;br /&gt;
*#Calcule la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales''' et la compare avec le potentiel restant de la prochaine visite horaire&lt;br /&gt;
*#Si ce dernier est plus petit, vérifie si une visite compatible avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite horaire&lt;br /&gt;
*#Si c'est le cas alors on affiche le résultat de la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales'''. Sinon on affiche la potentiel restant de la prochaine visite horaire&lt;br /&gt;
*'''Prochaine action horaire''' : recherche le composant qui a la '''Butée horaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée horaire action''' : récupère sur le composant correspond à la '''Prochaine action horaire''', le champ '''Butée horaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action horaire''' : résultat de la différence entre le champ '''Butée horaire action''' et le champ '''Cellule - Heures totales'''&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Heures''' qui correspond au champ '''Potentiel prochaine action horaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite horaire''' et '''Potentiel prochaine action horaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
*'''Prochaine action horaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite horaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite horaire''' sinon ce sera celle du champ '''Prochaine action horaire'''&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite calendaire''' : recherche la visite avec la plus petite périodicité calendaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité calendaire. Cette visite sera la '''prochaine visite calendaire'''.&lt;br /&gt;
*'''Butée calendaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée calendaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire visite''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine action calendaire''' : recherche le composant qui a la '''Butée calendaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée calendaire action''' : récupère sur le composant correspond à la '''Prochaine action calendaire''', le champ '''Butée calendaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire action''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Mois''' qui correspond au champ '''Potentiel prochaine action calendaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite calendaire''' et '''Potentiel prochaine action calendaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
*'''Prochaine action calendaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite calendaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite calendaire''' sinon ce sera celle du champ '''Prochaine action calendaire'''&lt;br /&gt;
&lt;br /&gt;
=Module de suivi du potentiel restant=&lt;br /&gt;
==Unité de mesure des heures==&lt;br /&gt;
L'unité de mesure des compteurs d'un aéronef correspond au [[Gestion des ressources#Ajouter_un_type_de_ressource|paramétrage du type de ressource]] correspondant.&lt;br /&gt;
&lt;br /&gt;
Par contre, l'unité de mesure des totaux d'heures correspond au [[Configuration#Gestion-des-vols|paramétrage de l'unité de temps de la plateforme]]. Cela permet d'avoir la tenue des carnets de route des aéronefs dans une seule unité quelque soit l'aéronef. De même pour les calculs des butées pour le suivi de navigabilité cela permet d'avoir une seule unité.&lt;br /&gt;
&lt;br /&gt;
==Activer le module de gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Activités'''&lt;br /&gt;
*Activer l'interrupteur '''[[Paramétrage-des-activités#Gestion-des-potentiels|Gestion des potentiels]]'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des potentiels===&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon)	&lt;br /&gt;
**Dans la partie inférieure '''Données pour la gestion des vols''' on initialise les valeurs :&lt;br /&gt;
**'''Date de début de comptabilisation des heures'''&lt;br /&gt;
**'''Total des heures à la date de début'''&lt;br /&gt;
Il faut indiquer dans ces 2 champs le nombre d'heures de la ressource et à quelle date il y avait ce nombre d'heures. Ainsi, OpenFlyers calculera le nombre d'heures de vols effectuées par l'aéronef à compter de cette date de début et en partant du total renseigné pour cette date. Seules les heures de vols dont la date sera postérieure à cette date de début seront prises en compte pour ce calcul.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' pour un calcul exact du potentiel restant, tous les vols postérieurs à la '''date de début de comptabilisation des heures''' doivent être saisis dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Affichage du potentiel estimé restant dans les créneaux de réservation===&lt;br /&gt;
Cela se fait en activant le champ additionnel spécifique [[Champs-métiers#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des alertes===&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon) :&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les potentiels (exemple 10 h, 0 h et -5 h)&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les dates calendaire (exemple 15 jours, 8 jours et 0 jours)&lt;br /&gt;
&lt;br /&gt;
==Butées de maintenance==&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
::La colonne '''Moteur''' est affichée uniquement si au moins une ressource appartient à un type configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|1200px|Tableau de bord maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*Cliquer sur l'icône Modifier (le crayon) :&lt;br /&gt;
::La colonne '''Heure moteur''' est affichée uniquement si au moins une ressource appartient à un type configuré pour utiliser un calcul de temps moteur différent du temps de vol.&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_detail_fr.jpg|1200px|Maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:'''Prochaine butée calendaire''' : c'est la date qui servira de référence pour les alertes calendaires (ex : renouvèlement CDN). En attendant le module de gestion de la maintenance, le mécanicien gère lui-même la butée en mettant la butée selon son programme d'entretien&lt;br /&gt;
:'''Prochaine butée horaire d'activité ''': c'est le compte horaire de vol de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps de vols saisi par les pilotes pour définir le potentiel restant d'activité&lt;br /&gt;
:'''Prochaine butée horaire moteur''': c'est le compte horaire moteur de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps moteur saisi par les pilotes pour définir le potentiel restant moteur&lt;br /&gt;
&lt;br /&gt;
:'''Seuil des alertes''' : Il y a 3 niveaux d'alerte horaire et calendaire à mettre selon les souhaits du mécanicien (Seuil avertissement , Seuil alarme et Seuil stop). L'alerte visualisée sur le cahier de réservation sera la première des échéances atteintes.&lt;br /&gt;
&lt;br /&gt;
Le programme calcule à chaque vol le total des heures de vol depuis la date d'initialisation (HdV) et le potentiel restant estimé:&lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel restant d'activité = Prochaine butée horaire d'activité - (Total des heures de vol à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
Le programme calcule à chaque vol le total des heures moteurs depuis la date d'initialisation (HdV) et le potentiel restant estimé :&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel restant moteur = Prochaine butée horaire moteur - (Total des heures moteur à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
Le programme affiche le potentiel restant (Pot) à gauche du cahier journalier et affiche sous chaque réservation le potentiel estimé (durée indiquée par l'utilisateur lors de la réservation ou 50% de la durée de la réservation en absence d'information)&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel = min(Potentiel restant d'activité, Potentiel restant moteur)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Le programme surveille ces 2 butées :&lt;br /&gt;
** Alerte visuelle si la date du jour approche les seuils de date calendaire.&lt;br /&gt;
** Alerte visuelle si on approche les seuils de fin de potentiel.&lt;br /&gt;
* Il est conseillé de mettre à jour les valeurs d'initialisation une fois par an&lt;br /&gt;
&lt;br /&gt;
==Gestion des points fixes==&lt;br /&gt;
On appelle un point fixe le fait de faire tourner le moteur d'un aéronef pour en contrôler les paramètres sans que cela soit suivi d'un vol. Il s'agit d'une action prévue pour certaines opérations de maintenance.&lt;br /&gt;
&lt;br /&gt;
Pour les aéronefs équipés d'horamètres, le point fixe &amp;quot;fait tourner l'horamètre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers préconise de ne pas saisir les points fixes en tant que vol car il n'y a pas de vol réalisé. Cela évite de d'impacter inutilement le potentiel de l'aéronef qui est normalement déterminé uniquement par les heures de vols.&lt;br /&gt;
 &lt;br /&gt;
Aussi, à l'issu d'un point fixe, la seule action à effectuer dans OpenFlyers consiste à mettre à jour le compteur :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l’icône &amp;quot;Crayon&amp;quot; dans la colonne '''Actions''' de la ligne de l'aéronef concerné&lt;br /&gt;
*Mettre à jour le champ '''Dernier compteur enregistré'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors de la prochaine saisie d'heure de vol, le compteur départ correspondra au compteur mis à jour. Cela n'empêchera pas l'utilisateur de voir s'afficher ensuite une alerte mais il pourra vérifier sur le carnet de route ou sur tout autre document mis en place par la structure que cet écart est justifié. De la même façon, lors de la [[#Valider-une-activité|validation des activités]], l'écart de compteur ressortira et sera justifiable.&lt;br /&gt;
&lt;br /&gt;
==Modification des butées suite à un vol validé mal saisi==&lt;br /&gt;
Si un vol a été validé et que l'on se rencontre à posteriori qu'il a été mal saisi, il faut alors intervenir pour corriger les erreurs de calcul de potentiel restant qui en résultent. Pour cela, il y a plusieurs possibilités :&lt;br /&gt;
*Si le vol saisi initialement a une durée inférieure au vol réellement effectué : il faut saisir un vol complémentaire dont la durée correspond au temps de vol manquant.&lt;br /&gt;
*Si le vol saisi initialement a une durée supérieure au vol réellement effectué : il faut reprendre la procédure d'[[#Initialisation-de-la-gestion-des-potentiels|initialisation de la gestion des potentiels]] pour enlever au temps cellule initial le temps de vol décompté en trop de sorte à avoir un potentiel restant qui soit juste.&lt;br /&gt;
&lt;br /&gt;
Du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de modifier une écriture validée.&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de [[Utilisation-de-la-comptabilité#Annuler-l'effet-d'une-écriture-comptable|corriger comptablement l'effet des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Types de composants=&lt;br /&gt;
Les types de composants sont répertoriés dans un catalogue tenu à jour par OpenFlyers. Chaque type de composant est caractérisé par son étiquette et sa catégorie. Il existe 4 catégories définies ci-dessous :&lt;br /&gt;
&lt;br /&gt;
==Documents==&lt;br /&gt;
Il s'agit des documents nécessaires pour la gestion et la traçabilité des activités de maintenance. Ils incluent les manuels de maintenance, les bulletins de service, les certificats de conformité, les rapports d'inspection, etc.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Manuels de maintenance de l'aéronef (AMM), Certificat d'Examens de Navigation (CEN), Assurance, Fiche de pesée, etc.&lt;br /&gt;
&lt;br /&gt;
==Éléments==&lt;br /&gt;
Il s'agit des composants physiques individuels ou des parties spécifiques de l'aéronef, comme les pièces de rechange, les sous-ensembles, ou les équipements spécifiques.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Un moteur, un hélice, un train d'atterrissage, des instruments de cockpit, etc.&lt;br /&gt;
&lt;br /&gt;
==Inspections==&lt;br /&gt;
Il s'agit des activités spécifiques de vérification et de contrôle des composants ou des systèmes de l'aéronef pour s'assurer qu'ils sont en bon état de fonctionnement et conformes aux normes de sécurité.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Inspection de pré-vol, inspection de corrosion, contrôle non destructif (CND), etc.&lt;br /&gt;
&lt;br /&gt;
==Visites==&lt;br /&gt;
Il s'agit des visites planifiées pour la maintenance, qui peuvent inclure des vérifications générales, des réparations ou des remplacements de composants.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : (50H, 100H, 600 H / 2 ANS, etc)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14079</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14079"/>
		<updated>2025-12-09T14:00:30Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Butées de maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le module de suivi de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&lt;br /&gt;
Ce module est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance''' et dispose de plusieurs interfaces :&lt;br /&gt;
*Une page '''[[#Vue-d'ensemble|Vue d'ensemble]]''' récapitulant les informations des aéronefs et les prochaines butées des actions&lt;br /&gt;
*Une page '''[[#Programme|Programme]]''' permettant de définir pour chaque ressource les caractéristiques nécessaire pour le suivi : les éléments, visites, potentiels, etc.&lt;br /&gt;
*Une page '''[[#Suivi|Suivi]]''' permettant de saisir pour chaque ressource les actions effectuées&lt;br /&gt;
&lt;br /&gt;
Cette page présente également le [[#Module-de-suivi-du-potentiel-restant|module de suivi du potentiel restant]]&lt;br /&gt;
&lt;br /&gt;
Lors de l'initialisation du module, il est recommandé de commencer par renseigner tout le programme de maintenance en commençant par les visites les plus importantes pour terminer par les visites les moins importantes.&lt;br /&gt;
&lt;br /&gt;
=Décalage du programme de maintenance=&lt;br /&gt;
Par défaut, le module de suivi de maintenance est prévu pour que '''toutes''' les interventions d'un aéronef soient renseignées dans [[#Suivi|le suivi de la ressource]] et ce, depuis sa mise en circulation.&lt;br /&gt;
&lt;br /&gt;
Si des interventions ont déjà été effectuées sur l'aéronef quand le module est paramétré pour la première fois, ou si les interventions précédentes sont inconnues, il est possible de '''décaler le programme de maintenance'''. De cette manière, on évite de devoir saisir les anciennes actions effectuées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour décaler un programme de maintenance, un paramétrage supplémentaire est nécessaire afin d'optimiser les calculs des butées :&lt;br /&gt;
#Aller dans le [[#Programme|paramétrage du programme de la ressource]]&lt;br /&gt;
#Renseigner les bonnes valeurs dans la colonne '''Premier travaux de référence (horaire et calendaire)'''&lt;br /&gt;
&lt;br /&gt;
Si le programme de maintenance doit démarrer à un certain instant '''t''', les premiers travaux de référence de chaque action correspondent aux '''heures''' et à la '''date''' auxquels l'action a été effectuée pour la dernière fois quand l'aéronef avait '''t''' heures de vol. Pour les visites, on prend en compte le fait qu'elles [[Maintenance-aéronautique#Remarques|s'incluent]].&lt;br /&gt;
&lt;br /&gt;
Par exemple, un aéronef a déjà 2054h de vol et on veut faire démarrer le programme de maintenance à ce moment :&lt;br /&gt;
#La dernière '''Visite 50h''' a été effectuée à 2050h&lt;br /&gt;
#La dernière '''Visite 100h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière '''Visite 500h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière révision du '''Moteur''' était à 2000h&lt;br /&gt;
#etc.&lt;br /&gt;
&lt;br /&gt;
Ces valeurs de référence ne prennent pas en compte les marges de tolérance, donc le retard ou l'avance sur l'action. La valeur peut donc être approximative. En reprenant l'exemple précédent :&lt;br /&gt;
*Par exemple, la dernière '''Visite 50h''' a été effectuée à 2067h.&lt;br /&gt;
*Cette visite aurait dû être effectuée à 2050h, de plus la prochaine est prévue pour 2100h (on additionne les heures lors de la dernière visite plus sa périodicité)&lt;br /&gt;
*En mettant 2067h, la prochaine visite serait calculée à 2117h, donc la bonne valeur à renseigner est '''2050h'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attention, pour la saisie de '''toutes''' les visites horaires et calendaires, '''les butées calculées et affichées''' démarrent '''toutes''' de la plus petite visite (habituellement la '''Visite 50h''' et la '''Visite 1 an''') :&lt;br /&gt;
*Ainsi, les prochaines butées des visites horaires sont, par exemple, calculées à partir de la '''Visite 50h''' de référence&lt;br /&gt;
*Les prochaines butées des visites calendaires sont, par exemple, souvent calculées à partir de la '''Visite 1 an''' de référence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces valeurs de référence entrées, [[#Suivi|le suivi de la ressource]] peut être complété en indiquant toutes les interventions '''après''' ces valeurs de référence. Par exemple, si la valeur de référence de la '''Visite 50h''' est 2050h, le suivi ne doit pas contenir de valeur pour la '''Visite 50h''' à 2050h. Seulement les '''Visites 50h''' suivantes seront renseignées.  Le principe est le même pour les autres visites et toute autre action.&lt;br /&gt;
&lt;br /&gt;
=Programme=&lt;br /&gt;
Pour accéder au programme de chaque ressource :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''&lt;br /&gt;
*Cliquer sur le bouton '''Programme''' de la ressource concernée&lt;br /&gt;
&lt;br /&gt;
Sur cette interface, il est possible d'accéder au programme d'une autre ressource depuis la liste déroulante '''Ressource'''.&lt;br /&gt;
&lt;br /&gt;
Lorsque le programme est vide, en-dessous du tableau, apparait une ligne '''Créer le programme par duplication à partir de''' qui permet de dupliquer le programme de maintenance d'une autre ressource pour la ressource en cours. Dans ce cas, seules les données des colonnes '''Type''', '''Description''', '''Périodicité horaire (heures)''', '''Tolérance horaire''', '''Périodicité calendaire (mois)''', '''Tolérance calendaire''' sont dupliquées.&lt;br /&gt;
&lt;br /&gt;
La page programme d'une ressource contient les caractéristiques nécessaires pour son suivi : éléments, visites, potentiels, etc et sont affichés selon un [[#Ordre-d'affichage-des-composants-du-programme|ordre de priorité]]. Ainsi, chaque ligne du tableau correspond à un élément de la ressource qui est suivi.&lt;br /&gt;
&lt;br /&gt;
Tous les éléments devant être suivis doivent être renseignés et paramétrés. Le paramétrage est nécessaire au bon fonctionnement du [[#Suivi|suivi]]. &lt;br /&gt;
&lt;br /&gt;
Une fois le paramétrage effectué, la page affiche les résultats des calculs obtenus d'après les informations contenues dans [[#Suivi|le suivi]].&lt;br /&gt;
&lt;br /&gt;
Lors du paramétrage des composants, [[#Ajouter-ou-modifier-un-composant|plusieurs champs sont à renseigner]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter ou modifier un composant==&lt;br /&gt;
Pour ajouter un composant, il faut cliquer sur le bouton '''Ajouter''' présent en-dessous du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour modifier un composant, il faut cliquer sur le pictogramme crayon présent dans la colonne '''Actions''' de la ligne concernée.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : un élément de l'appareil (moteur, hélice, etc), une visite (50H, 100H, etc) ou autre (CEN, Pesée, etc)&lt;br /&gt;
*'''Description''' : le nom et les informations détaillées sur le composant. Par exemple la référence du moteur&lt;br /&gt;
*'''Périodicité horaire (heures)''' : si le composant a une périodicité horaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance horaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité horaires, la tolérance doit être en heures.&lt;br /&gt;
*'''Périodicité calendaire (mois)''' : si le composant a une périodicité calendaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance calendaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité calendaire, la tolérance doit être en mois.&lt;br /&gt;
*'''Premiers travaux de référence''' : il s'agit de la date ou des heures cellules des travaux de l'action à utiliser comme référence pour le calcul des valeurs dans [[#Suivi|le suivi]]. Cette colonne permet de [[#Décalage-du-programme-de-maintenance|décaler le programme de maintenance de l'aéronef]]. &lt;br /&gt;
**'''horaire''' : A remplir pour un composant avec périodicité horaire. La valeur doit correspondre aux heures cellules quand l'action a été effectuée pour la dernière fois.&lt;br /&gt;
***Si le programme de maintenance n'est pas décalé, ne rien remplir&lt;br /&gt;
**'''calendaire''' : Le principe est identique aux premier travaux de référence ayant une périodicité horaire, la date des derniers travaux doit être indiquée. &lt;br /&gt;
***&amp;lt;s&amp;gt;Si le programme de maintenance n'est pas décalé, la '''date de mise en circulation''' de l'aéronef doit être renseignée.&amp;lt;/s&amp;gt;&lt;br /&gt;
*'''Cette visite correspond à la révision générale'''&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' tout composant doit être défini avec soit une périodicité horaire soit une périodicité calendaire. Dans le cas où un composant n'a pas de périodicité, il faut créer une périodicité fictive, par exemple en indiquant une butée calendaire de 120 mois.&lt;br /&gt;
&lt;br /&gt;
==Détail du programme==&lt;br /&gt;
Les premières colonnes du programme sont définis lors de l'[[#Ajouter-ou-modifier-un-composant|ajout d'un composant]] :&lt;br /&gt;
*'''Type'''&lt;br /&gt;
*'''Description'''&lt;br /&gt;
*'''Périodicité horaire (heures)'''&lt;br /&gt;
*'''Tolérance horaire'''&lt;br /&gt;
*'''Périodicité calendaire (mois)'''&lt;br /&gt;
*'''Tolérance calendaire'''&lt;br /&gt;
*'''Premiers travaux de référence horaire'''&lt;br /&gt;
*'''Premiers travaux de référence calendaire'''&lt;br /&gt;
&lt;br /&gt;
Les colonnes suivantes et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Heures cellule début travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Date fin travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Temps réalisé (heures)''' : résultat de la différence entre la colonne '''Heures totales''' de la ressource et la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (heures)''' : résultat de la différence entre la colonne '''Butée horaire sans marge''' du composant et la colonne '''Heures totales''' de la ressource&lt;br /&gt;
*'''Butée horaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Heures cellule début travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat de la colonne '''Butée horaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Temps réalisé (mois)''' : résultat de la différence entre la date du jour et de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (mois)''' : résultat de la différence entre la colonne '''Butée calendaire sans marge''' du composant et la date du jour&lt;br /&gt;
*'''Butée calendaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Date fin travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat de la colonne '''Butée calendaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Heures début travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Heures début travaux effective''' du composant et la colonne '''Butée horaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Butée horaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Date fin travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Date fin travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Date fin travaux effective''' du composant et la colonne '''Butée calendaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Groupe de chevauchement''' (calcul intermédiaire) : n'est calculé que si le composant est une visite.&lt;br /&gt;
*#Récupère dans le programme tous les composants qui sont de type visite et qui chevauche le composant pour lequel on détermine son groupe de chevauchement. Dans le cas d'un composant avec une périodicité horaire, pour déterminer que le composant chevauche un autre composant il doit avoir la valeur de la colonne '''Butée horaire intelligente sans marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente avec marge''' de l'autre composant et il doit avoir la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est supérieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Il est également récupéré les visites en retard qui ont la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Dans le cas d'un composant avec une périodicité calendaire le principe est le même mais avec les colonnes '''Butée calendaire intelligente sans et avec marge'''&lt;br /&gt;
*#A partir des composant récupérés, le composant reçoit comme identifiant de groupe de chevauchement l'identifiant du composant qui a la plus petite périodicité horaire ou calendaire. Si le composant n'est chevauché par aucun autre composant ou si c'est lui qui a la plus petite périodicité dans le groupe alors c'est son identifiant qui est utilisé comme identifiant de groupe de chevauchement.&lt;br /&gt;
*'''Cette visite correspond à la révision générale''' (saisi par l'utilisateur mais non visible sur le programme)&lt;br /&gt;
&lt;br /&gt;
==Forcer le rafraichissement des calculs==&lt;br /&gt;
S'il est nécessaire de forcer le recalcule de l'ensemble des butées (calcul intermédiaire), alors il faut saisir une activitéee fictive pour la ressource concernée et ensuite supprimer cette activité.&lt;br /&gt;
&lt;br /&gt;
==Ordre d'affichage des composants du programme==&lt;br /&gt;
L'ordre d'affichage des composants du programme est le suivant :&lt;br /&gt;
#les visites&lt;br /&gt;
#les éléments&lt;br /&gt;
#les inspections&lt;br /&gt;
#les documents&lt;br /&gt;
*Les éléments et les attestations sont triés, dans chaque type, par ordre alphabétique&lt;br /&gt;
*Les visites sont triées ainsi :&lt;br /&gt;
*#Celles avec une périodicité horaire, de la plus petite à la plus grande&lt;br /&gt;
*#Celles avec une périodicité calendaire, par ordre alphabétique&lt;br /&gt;
&lt;br /&gt;
=Suivi=&lt;br /&gt;
Le suivi de chaque ressource est accessible depuis le menu '''Gestion &amp;gt; Resource &amp;gt; Maintenance'''. Dans le tableau, cliquer sur le bouton '''Suivi''' de la resource souhaitée. La page suivi d'une ressource contient toutes les actions effectuées sur l'aéronef. Suite à chaque [[#Ajouter-une-action-effectuée|saisie]], les prochaines butées des actions sont estimées et affichées. &lt;br /&gt;
&lt;br /&gt;
Les actions sont triées par ordre chronologique.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une action effectuée==&lt;br /&gt;
Pour ajouter une action, il faut cliquer sur le bouton '''Ajouter''' présent en dessous du tableau. Pour modifier une action, il faut cliquer sur le pictogramme crayon présent dans la colonne ''Actions''.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : il s'agit d'une liste déroulante contenant les composant définis dans le [[#Programme|programme]] de la ressource. Il faut sélectionner le composant concerné&lt;br /&gt;
*'''Heures cellule début travaux''' : les heures cellule de la ressource au début de l'action effectuée. Le champ est obligatoire si le composant a une périodicité horaire&lt;br /&gt;
*'''Date fin travaux''' : la date lorsque l'action a été effectuée. Le champ est obligatoire si le composant a une périodicité calendaire&lt;br /&gt;
&lt;br /&gt;
'''Attention :'''&lt;br /&gt;
*Si [[#Décalage-du-programme-de-maintenance|le programme de maintenance est décalé]], le suivi doit contenir les actions '''suivant ce décalage'''. Par exemple si les '''Travaux de référence''' du '''Moteur''' sont de '''2000h''' (le suivi du moteur démarre à 2000h), le suivi ne doit pas contenir l'entrée du '''Moteur''' avec '''2000h''', il contiendra les interventions suivantes du moteur.&lt;br /&gt;
&lt;br /&gt;
==Détail du suivi==&lt;br /&gt;
Les premiers champs du suivi sont définis lors de l'[[#Ajouter-une-action-effectuée|ajout d'une action]] :&lt;br /&gt;
*'''Action'''&lt;br /&gt;
*'''Heures cellule début travaux'''&lt;br /&gt;
*'''Date fin travaux'''&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Programme|programme]] :&lt;br /&gt;
*'''Est une visite''' : défini à partir du type du composant&lt;br /&gt;
*'''Type d'action''' : horaire (1), calendaire (2), les deux (0). Défini en fonction de si le composant a une périodicité horaire, calendaire ou les deux.&lt;br /&gt;
*'''Tolérance horaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Tolérance calendaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Butée horaire de référence''' : défini à partir du champ '''Premiers travaux de référence horaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité horaire'''&lt;br /&gt;
*'''Butée calendaire de référence''' : défini à partir du champ '''Premiers travaux de référence calendaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité calendaire'''&lt;br /&gt;
*'''Ligne précédente action horaire liée''' / '''Ligne précédente action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée précédente la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon c'est la visite de référence qui est utilisée&lt;br /&gt;
*'''Ligne prochaine action horaire liée''' / '''Ligne prochaine action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée suivante la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon aucune valeur ne lui est défini&lt;br /&gt;
*'''Butée horaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée horaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée horaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée horaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat du champ '''Butée horaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Heures cellule début travaux''' et du champ '''Butée horaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire avec marge''' : résultat du champ '''Prochaine butée horaire sans marge''' de l'action à qui on ajoute une '''Tolérance horaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance horaire''' de la visite de référence sinon on utilise le champ '''Tolérance horaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance horaire''' de celle-ci qui est utilisé&lt;br /&gt;
*'''Butée calendaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée calendaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée calendaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée calendaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat du champ '''Butée calendaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Date fin travaux''' et du champ '''Butée calendaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire avec marge''' : résultat du champ '''Prochaine butée calendaire sans marge''' de l'action à qui on ajoute une '''Tolérance calendaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance calendaire''' de la visite de référence sinon on utilise le champ '''Tolérance calendaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance calendaire''' de celle-ci qui est utilisé&lt;br /&gt;
&lt;br /&gt;
Une première ligne '''Première visite de référence''' apparait dès lors qu'un composant est ajouté au programme de maintenance. Les cellules suivantes sont initialisées :&lt;br /&gt;
*'''Butée horaire sans marge''' : correspond au champ '''Premiers travaux de référence horaire''' du composant ajouté&lt;br /&gt;
*'''Butée horaire avec marge''' : correspond à la somme des champs ''''''Premiers travaux de référence horaire''' et '''Tolérance horaire''' du composant ajouté&lt;br /&gt;
*'''Butée calendaire sans marge''' : correspond au champ '''Premiers travaux de référence calendaire''' du composant ajouté uniquement si le champ '''Périodicité calendaire''' du composant ajouté est renseigné&lt;br /&gt;
*'''Butée calendaire avec marge''' : correspond à la somme des champs '''Premiers travaux de référence calendaire''' et '''Tolérance calendaire''' du composant ajouté. Si le champ '''Périodicité calendaire''' est laissé vide, alors la date indiquée est le 01/01/1970.&lt;br /&gt;
Si par la suite d'autres composants sont ajoutés, cette première ligne '''Première visite de référence''' se met à jour dès lors que le composant ajouté est d'une périodicité plus faible que les composants déjà présents. En effet, c'est le composant à la périodicité la plus faible qui donne le rythme des actions de maintenance. C'est donc lui qui donne la référence sur la prochaine action. Cf. le chapitre [[#Décalage-du-programme-de-maintenance|Décalage du programme de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Calcul des fenêtres d'action de maintenance : 50h bien positionnée ou trop anticipée===&lt;br /&gt;
[[File:50h bien positionnée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:50h trop anticipée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Programme sans/avec butée calendaire===&lt;br /&gt;
Programme sans visite calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme sans VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi sans butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi sans butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programme avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme avec VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi avec butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
=Vue d'ensemble=&lt;br /&gt;
La vue d'ensemble est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''. Cette page synthétise les informations les plus importantes pour le suivi de maintenance des différentes ressources:&lt;br /&gt;
*'''Heures totales''' : heures totales de la ressource. Cette colonne est automatiquement mise à jour lors de la saisie ou la suppression d'une activité&lt;br /&gt;
*'''Heures depuis RG (Cellule)''' : Cette valeur correspond aux heures totales de la ressource depuis sa Révision Générale (RG). La RG est [[#Programme|paramétrée pour correspondre à une visite]] de la ressource, par exemple la visite 2000h.&lt;br /&gt;
*'''Heures depuis RG (Moteur)''' : La valeur correspond aux heures totales du moteur depuis sa révision, soit depuis ses [[#Programme|'''Heures début travaux''']].&lt;br /&gt;
*'''Heures depuis RG (Hélice)''' : Le principe est le même que pour le moteur, la valeur correspond aux heures totales depuis la révision de l'hélice.&lt;br /&gt;
*'''Potentiel''' : Le '''Potentiel''' est divisé en deux sous colonnes. Une contenant le potentiel restant en heures, une contenant le potentiel restant en mois. Les potentiels affichés sont ceux de la colonne '''Prochaine action'''. Si la prochaine action est une visite alors le potentiel restant affichée se base sur le [[Maintenance-aéronautique#Calcul-de-l'échéance-d'une-visite|calcul de l'échéance d'une visite]]. Il est possible que le potentiel restant de la visite visible dans le [[#Programme|programme]] soit inférieur au potentiel calculé. Dans ce cas on vérifie si une [[Maintenance-aéronautique#Remarques|visite compatible]] avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite affichée. Si c'est le cas alors on affiche le potentiel calculé. Sinon on affiche la potentiel restant de la prochaine visite.&lt;br /&gt;
*'''Prochaine action''' : La '''Prochaine action''', divisée en deux colonnes est un complément de la colonne '''Potentiel'''. Elle contient le nom des deux prochaines actions de la ressource arrivant à échéance, une en heures et une en mois. L'affichage de la '''Prochaine action''' est optimisé quand le [[#Suivi|suivi]] de la ressource est complet. La prochaine action est le composant avec la plus petite butée horaire ou calendaire. Lorsque la prochaine action est une visite on regarde si des visites se chevauchent. Si c'est le cas alors c'est la visite avec la plus grande périodicité qui sera affichée.&lt;br /&gt;
**Le caractère '''*''' est affiché sur les prochaines actions qui incluent un chevauchement de visite&lt;br /&gt;
&lt;br /&gt;
Le potentiel affiché change de couleur selon sa valeur :&lt;br /&gt;
*Au dessus de 10 heures : &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;'''vert'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*Entre 10 heures (inclus) et 5 heures (non inclus) : &amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*En dessous de 5 heures (inclus) : &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actualisation journalière de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Chaque nuit à 06h00 UTC la [[#Vue-d'ensemble|vue d'ensemble]] est actualisée afin de mettre à jour les [[#Détail-de-la-vue-d'ensemble|calculs intermédiaires]] se basant sur la date du jour.&lt;br /&gt;
&lt;br /&gt;
==Détail de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminés à partir des informations contenues dans le [[#Programme|programme]] et dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Cellule - Heures totales''' : heures totales de l'aéronef mises à jour à chaque modification du temps de vol - création, édition ou suppression d'un vol&lt;br /&gt;
*'''Cellule - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Heures cellule début travaux''' de la visite qui correspond à la révision générale&lt;br /&gt;
*'''Moteur - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément moteur.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''72 - Moteur'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
*'''Hélice - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément hélice.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''61 - Hélice'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite horaire''' : recherche la visite avec la plus petite périodicité horaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité horaire. Cette visite sera la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Butée horaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée horaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite horaire''' :&lt;br /&gt;
*#Calcule la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales''' et la compare avec le potentiel restant de la prochaine visite horaire&lt;br /&gt;
*#Si ce dernier est plus petit, vérifie si une visite compatible avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite horaire&lt;br /&gt;
*#Si c'est le cas alors on affiche le résultat de la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales'''. Sinon on affiche la potentiel restant de la prochaine visite horaire&lt;br /&gt;
*'''Prochaine action horaire''' : recherche le composant qui a la '''Butée horaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée horaire action''' : récupère sur le composant correspond à la '''Prochaine action horaire''', le champ '''Butée horaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action horaire''' : résultat de la différence entre le champ '''Butée horaire action''' et le champ '''Cellule - Heures totales'''&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Heures''' qui correspond au champ '''Potentiel prochaine action horaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite horaire''' et '''Potentiel prochaine action horaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
*'''Prochaine action horaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite horaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite horaire''' sinon ce sera celle du champ '''Prochaine action horaire'''&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite calendaire''' : recherche la visite avec la plus petite périodicité calendaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité calendaire. Cette visite sera la '''prochaine visite calendaire'''.&lt;br /&gt;
*'''Butée calendaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée calendaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire visite''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine action calendaire''' : recherche le composant qui a la '''Butée calendaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée calendaire action''' : récupère sur le composant correspond à la '''Prochaine action calendaire''', le champ '''Butée calendaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire action''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Mois''' qui correspond au champ '''Potentiel prochaine action calendaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite calendaire''' et '''Potentiel prochaine action calendaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
*'''Prochaine action calendaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite calendaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite calendaire''' sinon ce sera celle du champ '''Prochaine action calendaire'''&lt;br /&gt;
&lt;br /&gt;
=Module de suivi du potentiel restant=&lt;br /&gt;
==Unité de mesure des heures==&lt;br /&gt;
L'unité de mesure des compteurs d'un aéronef correspond au [[Gestion des ressources#Ajouter_un_type_de_ressource|paramétrage du type de ressource]] correspondant.&lt;br /&gt;
&lt;br /&gt;
Par contre, l'unité de mesure des totaux d'heures correspond au [[Configuration#Gestion-des-vols|paramétrage de l'unité de temps de la plateforme]]. Cela permet d'avoir la tenue des carnets de route des aéronefs dans une seule unité quelque soit l'aéronef. De même pour les calculs des butées pour le suivi de navigabilité cela permet d'avoir une seule unité.&lt;br /&gt;
&lt;br /&gt;
==Activer le module de gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Activités'''&lt;br /&gt;
*Activer l'interrupteur '''[[Paramétrage-des-activités#Gestion-des-potentiels|Gestion des potentiels]]'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des potentiels===&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon)	&lt;br /&gt;
**Dans la partie inférieure '''Données pour la gestion des vols''' on initialise les valeurs :&lt;br /&gt;
**'''Date de début de comptabilisation des heures'''&lt;br /&gt;
**'''Total des heures à la date de début'''&lt;br /&gt;
Il faut indiquer dans ces 2 champs le nombre d'heures de la ressource et à quelle date il y avait ce nombre d'heures. Ainsi, OpenFlyers calculera le nombre d'heures de vols effectuées par l'aéronef à compter de cette date de début et en partant du total renseigné pour cette date. Seules les heures de vols dont la date sera postérieure à cette date de début seront prises en compte pour ce calcul.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' pour un calcul exact du potentiel restant, tous les vols postérieurs à la '''date de début de comptabilisation des heures''' doivent être saisis dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Affichage du potentiel estimé restant dans les créneaux de réservation===&lt;br /&gt;
Cela se fait en activant le champ additionnel spécifique [[Champs-métiers#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des alertes===&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon) :&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les potentiels (exemple 10 h, 0 h et -5 h)&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les dates calendaire (exemple 15 jours, 8 jours et 0 jours)&lt;br /&gt;
&lt;br /&gt;
==Butées de maintenance==&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|1200px|Tableau de bord maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*Cliquer sur l'icône Modifier (le crayon) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_detail_fr.jpg|1200px|Maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:'''Prochaine butée calendaire''' : c'est la date qui servira de référence pour les alertes calendaires (ex : renouvèlement CDN). En attendant le module de gestion de la maintenance, le mécanicien gère lui-même la butée en mettant la butée selon son programme d'entretien&lt;br /&gt;
:'''Prochaine butée horaire d'activité ''': c'est le compte horaire de vol de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps de vols saisi par les pilotes pour définir le potentiel restant d'activité&lt;br /&gt;
:'''Prochaine butée horaire moteur''': c'est le compte horaire moteur de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps moteur saisi par les pilotes pour définir le potentiel restant moteur&lt;br /&gt;
&lt;br /&gt;
:'''Seuil des alertes''' : Il y a 3 niveaux d'alerte horaire et calendaire à mettre selon les souhaits du mécanicien (Seuil avertissement , Seuil alarme et Seuil stop). L'alerte visualisée sur le cahier de réservation sera la première des échéances atteintes.&lt;br /&gt;
&lt;br /&gt;
Le programme calcule à chaque vol le total des heures de vol depuis la date d'initialisation (HdV) et le potentiel restant estimé:&lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel restant d'activité = Prochaine butée horaire d'activité - (Total des heures de vol à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
Le programme calcule à chaque vol le total des heures moteurs depuis la date d'initialisation (HdV) et le potentiel restant estimé :&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel restant moteur = Prochaine butée horaire moteur - (Total des heures moteur à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
Le programme affiche le potentiel restant (Pot) à gauche du cahier journalier et affiche sous chaque réservation le potentiel estimé (durée indiquée par l'utilisateur lors de la réservation ou 50% de la durée de la réservation en absence d'information)&lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel = min(Potentiel restant d'activité, Potentiel restant moteur)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Le programme surveille ces 2 butées :&lt;br /&gt;
** Alerte visuelle si la date du jour approche les seuils de date calendaire.&lt;br /&gt;
** Alerte visuelle si on approche les seuils de fin de potentiel.&lt;br /&gt;
* Il est conseillé de mettre à jour les valeurs d'initialisation une fois par an&lt;br /&gt;
&lt;br /&gt;
==Gestion des points fixes==&lt;br /&gt;
On appelle un point fixe le fait de faire tourner le moteur d'un aéronef pour en contrôler les paramètres sans que cela soit suivi d'un vol. Il s'agit d'une action prévue pour certaines opérations de maintenance.&lt;br /&gt;
&lt;br /&gt;
Pour les aéronefs équipés d'horamètres, le point fixe &amp;quot;fait tourner l'horamètre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers préconise de ne pas saisir les points fixes en tant que vol car il n'y a pas de vol réalisé. Cela évite de d'impacter inutilement le potentiel de l'aéronef qui est normalement déterminé uniquement par les heures de vols.&lt;br /&gt;
 &lt;br /&gt;
Aussi, à l'issu d'un point fixe, la seule action à effectuer dans OpenFlyers consiste à mettre à jour le compteur :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l’icône &amp;quot;Crayon&amp;quot; dans la colonne '''Actions''' de la ligne de l'aéronef concerné&lt;br /&gt;
*Mettre à jour le champ '''Dernier compteur enregistré'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors de la prochaine saisie d'heure de vol, le compteur départ correspondra au compteur mis à jour. Cela n'empêchera pas l'utilisateur de voir s'afficher ensuite une alerte mais il pourra vérifier sur le carnet de route ou sur tout autre document mis en place par la structure que cet écart est justifié. De la même façon, lors de la [[#Valider-une-activité|validation des activités]], l'écart de compteur ressortira et sera justifiable.&lt;br /&gt;
&lt;br /&gt;
==Modification des butées suite à un vol validé mal saisi==&lt;br /&gt;
Si un vol a été validé et que l'on se rencontre à posteriori qu'il a été mal saisi, il faut alors intervenir pour corriger les erreurs de calcul de potentiel restant qui en résultent. Pour cela, il y a plusieurs possibilités :&lt;br /&gt;
*Si le vol saisi initialement a une durée inférieure au vol réellement effectué : il faut saisir un vol complémentaire dont la durée correspond au temps de vol manquant.&lt;br /&gt;
*Si le vol saisi initialement a une durée supérieure au vol réellement effectué : il faut reprendre la procédure d'[[#Initialisation-de-la-gestion-des-potentiels|initialisation de la gestion des potentiels]] pour enlever au temps cellule initial le temps de vol décompté en trop de sorte à avoir un potentiel restant qui soit juste.&lt;br /&gt;
&lt;br /&gt;
Du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de modifier une écriture validée.&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de [[Utilisation-de-la-comptabilité#Annuler-l'effet-d'une-écriture-comptable|corriger comptablement l'effet des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Types de composants=&lt;br /&gt;
Les types de composants sont répertoriés dans un catalogue tenu à jour par OpenFlyers. Chaque type de composant est caractérisé par son étiquette et sa catégorie. Il existe 4 catégories définies ci-dessous :&lt;br /&gt;
&lt;br /&gt;
==Documents==&lt;br /&gt;
Il s'agit des documents nécessaires pour la gestion et la traçabilité des activités de maintenance. Ils incluent les manuels de maintenance, les bulletins de service, les certificats de conformité, les rapports d'inspection, etc.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Manuels de maintenance de l'aéronef (AMM), Certificat d'Examens de Navigation (CEN), Assurance, Fiche de pesée, etc.&lt;br /&gt;
&lt;br /&gt;
==Éléments==&lt;br /&gt;
Il s'agit des composants physiques individuels ou des parties spécifiques de l'aéronef, comme les pièces de rechange, les sous-ensembles, ou les équipements spécifiques.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Un moteur, un hélice, un train d'atterrissage, des instruments de cockpit, etc.&lt;br /&gt;
&lt;br /&gt;
==Inspections==&lt;br /&gt;
Il s'agit des activités spécifiques de vérification et de contrôle des composants ou des systèmes de l'aéronef pour s'assurer qu'ils sont en bon état de fonctionnement et conformes aux normes de sécurité.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Inspection de pré-vol, inspection de corrosion, contrôle non destructif (CND), etc.&lt;br /&gt;
&lt;br /&gt;
==Visites==&lt;br /&gt;
Il s'agit des visites planifiées pour la maintenance, qui peuvent inclure des vérifications générales, des réparations ou des remplacements de composants.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : (50H, 100H, 600 H / 2 ANS, etc)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14077</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14077"/>
		<updated>2025-12-09T13:10:10Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Butées de maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le module de suivi de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&lt;br /&gt;
Ce module est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance''' et dispose de plusieurs interfaces :&lt;br /&gt;
*Une page '''[[#Vue-d'ensemble|Vue d'ensemble]]''' récapitulant les informations des aéronefs et les prochaines butées des actions&lt;br /&gt;
*Une page '''[[#Programme|Programme]]''' permettant de définir pour chaque ressource les caractéristiques nécessaire pour le suivi : les éléments, visites, potentiels, etc.&lt;br /&gt;
*Une page '''[[#Suivi|Suivi]]''' permettant de saisir pour chaque ressource les actions effectuées&lt;br /&gt;
&lt;br /&gt;
Cette page présente également le [[#Module-de-suivi-du-potentiel-restant|module de suivi du potentiel restant]]&lt;br /&gt;
&lt;br /&gt;
Lors de l'initialisation du module, il est recommandé de commencer par renseigner tout le programme de maintenance en commençant par les visites les plus importantes pour terminer par les visites les moins importantes.&lt;br /&gt;
&lt;br /&gt;
=Décalage du programme de maintenance=&lt;br /&gt;
Par défaut, le module de suivi de maintenance est prévu pour que '''toutes''' les interventions d'un aéronef soient renseignées dans [[#Suivi|le suivi de la ressource]] et ce, depuis sa mise en circulation.&lt;br /&gt;
&lt;br /&gt;
Si des interventions ont déjà été effectuées sur l'aéronef quand le module est paramétré pour la première fois, ou si les interventions précédentes sont inconnues, il est possible de '''décaler le programme de maintenance'''. De cette manière, on évite de devoir saisir les anciennes actions effectuées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour décaler un programme de maintenance, un paramétrage supplémentaire est nécessaire afin d'optimiser les calculs des butées :&lt;br /&gt;
#Aller dans le [[#Programme|paramétrage du programme de la ressource]]&lt;br /&gt;
#Renseigner les bonnes valeurs dans la colonne '''Premier travaux de référence (horaire et calendaire)'''&lt;br /&gt;
&lt;br /&gt;
Si le programme de maintenance doit démarrer à un certain instant '''t''', les premiers travaux de référence de chaque action correspondent aux '''heures''' et à la '''date''' auxquels l'action a été effectuée pour la dernière fois quand l'aéronef avait '''t''' heures de vol. Pour les visites, on prend en compte le fait qu'elles [[Maintenance-aéronautique#Remarques|s'incluent]].&lt;br /&gt;
&lt;br /&gt;
Par exemple, un aéronef a déjà 2054h de vol et on veut faire démarrer le programme de maintenance à ce moment :&lt;br /&gt;
#La dernière '''Visite 50h''' a été effectuée à 2050h&lt;br /&gt;
#La dernière '''Visite 100h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière '''Visite 500h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière révision du '''Moteur''' était à 2000h&lt;br /&gt;
#etc.&lt;br /&gt;
&lt;br /&gt;
Ces valeurs de référence ne prennent pas en compte les marges de tolérance, donc le retard ou l'avance sur l'action. La valeur peut donc être approximative. En reprenant l'exemple précédent :&lt;br /&gt;
*Par exemple, la dernière '''Visite 50h''' a été effectuée à 2067h.&lt;br /&gt;
*Cette visite aurait dû être effectuée à 2050h, de plus la prochaine est prévue pour 2100h (on additionne les heures lors de la dernière visite plus sa périodicité)&lt;br /&gt;
*En mettant 2067h, la prochaine visite serait calculée à 2117h, donc la bonne valeur à renseigner est '''2050h'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attention, pour la saisie de '''toutes''' les visites horaires et calendaires, '''les butées calculées et affichées''' démarrent '''toutes''' de la plus petite visite (habituellement la '''Visite 50h''' et la '''Visite 1 an''') :&lt;br /&gt;
*Ainsi, les prochaines butées des visites horaires sont, par exemple, calculées à partir de la '''Visite 50h''' de référence&lt;br /&gt;
*Les prochaines butées des visites calendaires sont, par exemple, souvent calculées à partir de la '''Visite 1 an''' de référence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces valeurs de référence entrées, [[#Suivi|le suivi de la ressource]] peut être complété en indiquant toutes les interventions '''après''' ces valeurs de référence. Par exemple, si la valeur de référence de la '''Visite 50h''' est 2050h, le suivi ne doit pas contenir de valeur pour la '''Visite 50h''' à 2050h. Seulement les '''Visites 50h''' suivantes seront renseignées.  Le principe est le même pour les autres visites et toute autre action.&lt;br /&gt;
&lt;br /&gt;
=Programme=&lt;br /&gt;
Pour accéder au programme de chaque ressource :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''&lt;br /&gt;
*Cliquer sur le bouton '''Programme''' de la ressource concernée&lt;br /&gt;
&lt;br /&gt;
Sur cette interface, il est possible d'accéder au programme d'une autre ressource depuis la liste déroulante '''Ressource'''.&lt;br /&gt;
&lt;br /&gt;
Lorsque le programme est vide, en-dessous du tableau, apparait une ligne '''Créer le programme par duplication à partir de''' qui permet de dupliquer le programme de maintenance d'une autre ressource pour la ressource en cours. Dans ce cas, seules les données des colonnes '''Type''', '''Description''', '''Périodicité horaire (heures)''', '''Tolérance horaire''', '''Périodicité calendaire (mois)''', '''Tolérance calendaire''' sont dupliquées.&lt;br /&gt;
&lt;br /&gt;
La page programme d'une ressource contient les caractéristiques nécessaires pour son suivi : éléments, visites, potentiels, etc et sont affichés selon un [[#Ordre-d'affichage-des-composants-du-programme|ordre de priorité]]. Ainsi, chaque ligne du tableau correspond à un élément de la ressource qui est suivi.&lt;br /&gt;
&lt;br /&gt;
Tous les éléments devant être suivis doivent être renseignés et paramétrés. Le paramétrage est nécessaire au bon fonctionnement du [[#Suivi|suivi]]. &lt;br /&gt;
&lt;br /&gt;
Une fois le paramétrage effectué, la page affiche les résultats des calculs obtenus d'après les informations contenues dans [[#Suivi|le suivi]].&lt;br /&gt;
&lt;br /&gt;
Lors du paramétrage des composants, [[#Ajouter-ou-modifier-un-composant|plusieurs champs sont à renseigner]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter ou modifier un composant==&lt;br /&gt;
Pour ajouter un composant, il faut cliquer sur le bouton '''Ajouter''' présent en-dessous du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour modifier un composant, il faut cliquer sur le pictogramme crayon présent dans la colonne '''Actions''' de la ligne concernée.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : un élément de l'appareil (moteur, hélice, etc), une visite (50H, 100H, etc) ou autre (CEN, Pesée, etc)&lt;br /&gt;
*'''Description''' : le nom et les informations détaillées sur le composant. Par exemple la référence du moteur&lt;br /&gt;
*'''Périodicité horaire (heures)''' : si le composant a une périodicité horaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance horaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité horaires, la tolérance doit être en heures.&lt;br /&gt;
*'''Périodicité calendaire (mois)''' : si le composant a une périodicité calendaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance calendaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité calendaire, la tolérance doit être en mois.&lt;br /&gt;
*'''Premiers travaux de référence''' : il s'agit de la date ou des heures cellules des travaux de l'action à utiliser comme référence pour le calcul des valeurs dans [[#Suivi|le suivi]]. Cette colonne permet de [[#Décalage-du-programme-de-maintenance|décaler le programme de maintenance de l'aéronef]]. &lt;br /&gt;
**'''horaire''' : A remplir pour un composant avec périodicité horaire. La valeur doit correspondre aux heures cellules quand l'action a été effectuée pour la dernière fois.&lt;br /&gt;
***Si le programme de maintenance n'est pas décalé, ne rien remplir&lt;br /&gt;
**'''calendaire''' : Le principe est identique aux premier travaux de référence ayant une périodicité horaire, la date des derniers travaux doit être indiquée. &lt;br /&gt;
***&amp;lt;s&amp;gt;Si le programme de maintenance n'est pas décalé, la '''date de mise en circulation''' de l'aéronef doit être renseignée.&amp;lt;/s&amp;gt;&lt;br /&gt;
*'''Cette visite correspond à la révision générale'''&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' tout composant doit être défini avec soit une périodicité horaire soit une périodicité calendaire. Dans le cas où un composant n'a pas de périodicité, il faut créer une périodicité fictive, par exemple en indiquant une butée calendaire de 120 mois.&lt;br /&gt;
&lt;br /&gt;
==Détail du programme==&lt;br /&gt;
Les premières colonnes du programme sont définis lors de l'[[#Ajouter-ou-modifier-un-composant|ajout d'un composant]] :&lt;br /&gt;
*'''Type'''&lt;br /&gt;
*'''Description'''&lt;br /&gt;
*'''Périodicité horaire (heures)'''&lt;br /&gt;
*'''Tolérance horaire'''&lt;br /&gt;
*'''Périodicité calendaire (mois)'''&lt;br /&gt;
*'''Tolérance calendaire'''&lt;br /&gt;
*'''Premiers travaux de référence horaire'''&lt;br /&gt;
*'''Premiers travaux de référence calendaire'''&lt;br /&gt;
&lt;br /&gt;
Les colonnes suivantes et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Heures cellule début travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Date fin travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Temps réalisé (heures)''' : résultat de la différence entre la colonne '''Heures totales''' de la ressource et la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (heures)''' : résultat de la différence entre la colonne '''Butée horaire sans marge''' du composant et la colonne '''Heures totales''' de la ressource&lt;br /&gt;
*'''Butée horaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Heures cellule début travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat de la colonne '''Butée horaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Temps réalisé (mois)''' : résultat de la différence entre la date du jour et de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (mois)''' : résultat de la différence entre la colonne '''Butée calendaire sans marge''' du composant et la date du jour&lt;br /&gt;
*'''Butée calendaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Date fin travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat de la colonne '''Butée calendaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Heures début travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Heures début travaux effective''' du composant et la colonne '''Butée horaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Butée horaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Date fin travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Date fin travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Date fin travaux effective''' du composant et la colonne '''Butée calendaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Groupe de chevauchement''' (calcul intermédiaire) : n'est calculé que si le composant est une visite.&lt;br /&gt;
*#Récupère dans le programme tous les composants qui sont de type visite et qui chevauche le composant pour lequel on détermine son groupe de chevauchement. Dans le cas d'un composant avec une périodicité horaire, pour déterminer que le composant chevauche un autre composant il doit avoir la valeur de la colonne '''Butée horaire intelligente sans marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente avec marge''' de l'autre composant et il doit avoir la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est supérieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Il est également récupéré les visites en retard qui ont la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Dans le cas d'un composant avec une périodicité calendaire le principe est le même mais avec les colonnes '''Butée calendaire intelligente sans et avec marge'''&lt;br /&gt;
*#A partir des composant récupérés, le composant reçoit comme identifiant de groupe de chevauchement l'identifiant du composant qui a la plus petite périodicité horaire ou calendaire. Si le composant n'est chevauché par aucun autre composant ou si c'est lui qui a la plus petite périodicité dans le groupe alors c'est son identifiant qui est utilisé comme identifiant de groupe de chevauchement.&lt;br /&gt;
*'''Cette visite correspond à la révision générale''' (saisi par l'utilisateur mais non visible sur le programme)&lt;br /&gt;
&lt;br /&gt;
==Forcer le rafraichissement des calculs==&lt;br /&gt;
S'il est nécessaire de forcer le recalcule de l'ensemble des butées (calcul intermédiaire), alors il faut saisir une activitéee fictive pour la ressource concernée et ensuite supprimer cette activité.&lt;br /&gt;
&lt;br /&gt;
==Ordre d'affichage des composants du programme==&lt;br /&gt;
L'ordre d'affichage des composants du programme est le suivant :&lt;br /&gt;
#les visites&lt;br /&gt;
#les éléments&lt;br /&gt;
#les inspections&lt;br /&gt;
#les documents&lt;br /&gt;
*Les éléments et les attestations sont triés, dans chaque type, par ordre alphabétique&lt;br /&gt;
*Les visites sont triées ainsi :&lt;br /&gt;
*#Celles avec une périodicité horaire, de la plus petite à la plus grande&lt;br /&gt;
*#Celles avec une périodicité calendaire, par ordre alphabétique&lt;br /&gt;
&lt;br /&gt;
=Suivi=&lt;br /&gt;
Le suivi de chaque ressource est accessible depuis le menu '''Gestion &amp;gt; Resource &amp;gt; Maintenance'''. Dans le tableau, cliquer sur le bouton '''Suivi''' de la resource souhaitée. La page suivi d'une ressource contient toutes les actions effectuées sur l'aéronef. Suite à chaque [[#Ajouter-une-action-effectuée|saisie]], les prochaines butées des actions sont estimées et affichées. &lt;br /&gt;
&lt;br /&gt;
Les actions sont triées par ordre chronologique.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une action effectuée==&lt;br /&gt;
Pour ajouter une action, il faut cliquer sur le bouton '''Ajouter''' présent en dessous du tableau. Pour modifier une action, il faut cliquer sur le pictogramme crayon présent dans la colonne ''Actions''.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : il s'agit d'une liste déroulante contenant les composant définis dans le [[#Programme|programme]] de la ressource. Il faut sélectionner le composant concerné&lt;br /&gt;
*'''Heures cellule début travaux''' : les heures cellule de la ressource au début de l'action effectuée. Le champ est obligatoire si le composant a une périodicité horaire&lt;br /&gt;
*'''Date fin travaux''' : la date lorsque l'action a été effectuée. Le champ est obligatoire si le composant a une périodicité calendaire&lt;br /&gt;
&lt;br /&gt;
'''Attention :'''&lt;br /&gt;
*Si [[#Décalage-du-programme-de-maintenance|le programme de maintenance est décalé]], le suivi doit contenir les actions '''suivant ce décalage'''. Par exemple si les '''Travaux de référence''' du '''Moteur''' sont de '''2000h''' (le suivi du moteur démarre à 2000h), le suivi ne doit pas contenir l'entrée du '''Moteur''' avec '''2000h''', il contiendra les interventions suivantes du moteur.&lt;br /&gt;
&lt;br /&gt;
==Détail du suivi==&lt;br /&gt;
Les premiers champs du suivi sont définis lors de l'[[#Ajouter-une-action-effectuée|ajout d'une action]] :&lt;br /&gt;
*'''Action'''&lt;br /&gt;
*'''Heures cellule début travaux'''&lt;br /&gt;
*'''Date fin travaux'''&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Programme|programme]] :&lt;br /&gt;
*'''Est une visite''' : défini à partir du type du composant&lt;br /&gt;
*'''Type d'action''' : horaire (1), calendaire (2), les deux (0). Défini en fonction de si le composant a une périodicité horaire, calendaire ou les deux.&lt;br /&gt;
*'''Tolérance horaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Tolérance calendaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Butée horaire de référence''' : défini à partir du champ '''Premiers travaux de référence horaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité horaire'''&lt;br /&gt;
*'''Butée calendaire de référence''' : défini à partir du champ '''Premiers travaux de référence calendaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité calendaire'''&lt;br /&gt;
*'''Ligne précédente action horaire liée''' / '''Ligne précédente action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée précédente la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon c'est la visite de référence qui est utilisée&lt;br /&gt;
*'''Ligne prochaine action horaire liée''' / '''Ligne prochaine action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée suivante la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon aucune valeur ne lui est défini&lt;br /&gt;
*'''Butée horaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée horaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée horaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée horaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat du champ '''Butée horaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Heures cellule début travaux''' et du champ '''Butée horaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire avec marge''' : résultat du champ '''Prochaine butée horaire sans marge''' de l'action à qui on ajoute une '''Tolérance horaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance horaire''' de la visite de référence sinon on utilise le champ '''Tolérance horaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance horaire''' de celle-ci qui est utilisé&lt;br /&gt;
*'''Butée calendaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée calendaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée calendaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée calendaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat du champ '''Butée calendaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Date fin travaux''' et du champ '''Butée calendaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire avec marge''' : résultat du champ '''Prochaine butée calendaire sans marge''' de l'action à qui on ajoute une '''Tolérance calendaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance calendaire''' de la visite de référence sinon on utilise le champ '''Tolérance calendaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance calendaire''' de celle-ci qui est utilisé&lt;br /&gt;
&lt;br /&gt;
Une première ligne '''Première visite de référence''' apparait dès lors qu'un composant est ajouté au programme de maintenance. Les cellules suivantes sont initialisées :&lt;br /&gt;
*'''Butée horaire sans marge''' : correspond au champ '''Premiers travaux de référence horaire''' du composant ajouté&lt;br /&gt;
*'''Butée horaire avec marge''' : correspond à la somme des champs ''''''Premiers travaux de référence horaire''' et '''Tolérance horaire''' du composant ajouté&lt;br /&gt;
*'''Butée calendaire sans marge''' : correspond au champ '''Premiers travaux de référence calendaire''' du composant ajouté uniquement si le champ '''Périodicité calendaire''' du composant ajouté est renseigné&lt;br /&gt;
*'''Butée calendaire avec marge''' : correspond à la somme des champs '''Premiers travaux de référence calendaire''' et '''Tolérance calendaire''' du composant ajouté. Si le champ '''Périodicité calendaire''' est laissé vide, alors la date indiquée est le 01/01/1970.&lt;br /&gt;
Si par la suite d'autres composants sont ajoutés, cette première ligne '''Première visite de référence''' se met à jour dès lors que le composant ajouté est d'une périodicité plus faible que les composants déjà présents. En effet, c'est le composant à la périodicité la plus faible qui donne le rythme des actions de maintenance. C'est donc lui qui donne la référence sur la prochaine action. Cf. le chapitre [[#Décalage-du-programme-de-maintenance|Décalage du programme de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Calcul des fenêtres d'action de maintenance : 50h bien positionnée ou trop anticipée===&lt;br /&gt;
[[File:50h bien positionnée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:50h trop anticipée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Programme sans/avec butée calendaire===&lt;br /&gt;
Programme sans visite calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme sans VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi sans butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi sans butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programme avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme avec VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi avec butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
=Vue d'ensemble=&lt;br /&gt;
La vue d'ensemble est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''. Cette page synthétise les informations les plus importantes pour le suivi de maintenance des différentes ressources:&lt;br /&gt;
*'''Heures totales''' : heures totales de la ressource. Cette colonne est automatiquement mise à jour lors de la saisie ou la suppression d'une activité&lt;br /&gt;
*'''Heures depuis RG (Cellule)''' : Cette valeur correspond aux heures totales de la ressource depuis sa Révision Générale (RG). La RG est [[#Programme|paramétrée pour correspondre à une visite]] de la ressource, par exemple la visite 2000h.&lt;br /&gt;
*'''Heures depuis RG (Moteur)''' : La valeur correspond aux heures totales du moteur depuis sa révision, soit depuis ses [[#Programme|'''Heures début travaux''']].&lt;br /&gt;
*'''Heures depuis RG (Hélice)''' : Le principe est le même que pour le moteur, la valeur correspond aux heures totales depuis la révision de l'hélice.&lt;br /&gt;
*'''Potentiel''' : Le '''Potentiel''' est divisé en deux sous colonnes. Une contenant le potentiel restant en heures, une contenant le potentiel restant en mois. Les potentiels affichés sont ceux de la colonne '''Prochaine action'''. Si la prochaine action est une visite alors le potentiel restant affichée se base sur le [[Maintenance-aéronautique#Calcul-de-l'échéance-d'une-visite|calcul de l'échéance d'une visite]]. Il est possible que le potentiel restant de la visite visible dans le [[#Programme|programme]] soit inférieur au potentiel calculé. Dans ce cas on vérifie si une [[Maintenance-aéronautique#Remarques|visite compatible]] avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite affichée. Si c'est le cas alors on affiche le potentiel calculé. Sinon on affiche la potentiel restant de la prochaine visite.&lt;br /&gt;
*'''Prochaine action''' : La '''Prochaine action''', divisée en deux colonnes est un complément de la colonne '''Potentiel'''. Elle contient le nom des deux prochaines actions de la ressource arrivant à échéance, une en heures et une en mois. L'affichage de la '''Prochaine action''' est optimisé quand le [[#Suivi|suivi]] de la ressource est complet. La prochaine action est le composant avec la plus petite butée horaire ou calendaire. Lorsque la prochaine action est une visite on regarde si des visites se chevauchent. Si c'est le cas alors c'est la visite avec la plus grande périodicité qui sera affichée.&lt;br /&gt;
**Le caractère '''*''' est affiché sur les prochaines actions qui incluent un chevauchement de visite&lt;br /&gt;
&lt;br /&gt;
Le potentiel affiché change de couleur selon sa valeur :&lt;br /&gt;
*Au dessus de 10 heures : &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;'''vert'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*Entre 10 heures (inclus) et 5 heures (non inclus) : &amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*En dessous de 5 heures (inclus) : &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actualisation journalière de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Chaque nuit à 06h00 UTC la [[#Vue-d'ensemble|vue d'ensemble]] est actualisée afin de mettre à jour les [[#Détail-de-la-vue-d'ensemble|calculs intermédiaires]] se basant sur la date du jour.&lt;br /&gt;
&lt;br /&gt;
==Détail de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminés à partir des informations contenues dans le [[#Programme|programme]] et dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Cellule - Heures totales''' : heures totales de l'aéronef mises à jour à chaque modification du temps de vol - création, édition ou suppression d'un vol&lt;br /&gt;
*'''Cellule - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Heures cellule début travaux''' de la visite qui correspond à la révision générale&lt;br /&gt;
*'''Moteur - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément moteur.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''72 - Moteur'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
*'''Hélice - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément hélice.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''61 - Hélice'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite horaire''' : recherche la visite avec la plus petite périodicité horaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité horaire. Cette visite sera la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Butée horaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée horaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite horaire''' :&lt;br /&gt;
*#Calcule la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales''' et la compare avec le potentiel restant de la prochaine visite horaire&lt;br /&gt;
*#Si ce dernier est plus petit, vérifie si une visite compatible avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite horaire&lt;br /&gt;
*#Si c'est le cas alors on affiche le résultat de la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales'''. Sinon on affiche la potentiel restant de la prochaine visite horaire&lt;br /&gt;
*'''Prochaine action horaire''' : recherche le composant qui a la '''Butée horaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée horaire action''' : récupère sur le composant correspond à la '''Prochaine action horaire''', le champ '''Butée horaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action horaire''' : résultat de la différence entre le champ '''Butée horaire action''' et le champ '''Cellule - Heures totales'''&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Heures''' qui correspond au champ '''Potentiel prochaine action horaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite horaire''' et '''Potentiel prochaine action horaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
*'''Prochaine action horaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite horaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite horaire''' sinon ce sera celle du champ '''Prochaine action horaire'''&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite calendaire''' : recherche la visite avec la plus petite périodicité calendaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité calendaire. Cette visite sera la '''prochaine visite calendaire'''.&lt;br /&gt;
*'''Butée calendaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée calendaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire visite''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine action calendaire''' : recherche le composant qui a la '''Butée calendaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée calendaire action''' : récupère sur le composant correspond à la '''Prochaine action calendaire''', le champ '''Butée calendaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire action''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Mois''' qui correspond au champ '''Potentiel prochaine action calendaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite calendaire''' et '''Potentiel prochaine action calendaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
*'''Prochaine action calendaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite calendaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite calendaire''' sinon ce sera celle du champ '''Prochaine action calendaire'''&lt;br /&gt;
&lt;br /&gt;
=Module de suivi du potentiel restant=&lt;br /&gt;
==Unité de mesure des heures==&lt;br /&gt;
L'unité de mesure des compteurs d'un aéronef correspond au [[Gestion des ressources#Ajouter_un_type_de_ressource|paramétrage du type de ressource]] correspondant.&lt;br /&gt;
&lt;br /&gt;
Par contre, l'unité de mesure des totaux d'heures correspond au [[Configuration#Gestion-des-vols|paramétrage de l'unité de temps de la plateforme]]. Cela permet d'avoir la tenue des carnets de route des aéronefs dans une seule unité quelque soit l'aéronef. De même pour les calculs des butées pour le suivi de navigabilité cela permet d'avoir une seule unité.&lt;br /&gt;
&lt;br /&gt;
==Activer le module de gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Activités'''&lt;br /&gt;
*Activer l'interrupteur '''[[Paramétrage-des-activités#Gestion-des-potentiels|Gestion des potentiels]]'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des potentiels===&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon)	&lt;br /&gt;
**Dans la partie inférieure '''Données pour la gestion des vols''' on initialise les valeurs :&lt;br /&gt;
**'''Date de début de comptabilisation des heures'''&lt;br /&gt;
**'''Total des heures à la date de début'''&lt;br /&gt;
Il faut indiquer dans ces 2 champs le nombre d'heures de la ressource et à quelle date il y avait ce nombre d'heures. Ainsi, OpenFlyers calculera le nombre d'heures de vols effectuées par l'aéronef à compter de cette date de début et en partant du total renseigné pour cette date. Seules les heures de vols dont la date sera postérieure à cette date de début seront prises en compte pour ce calcul.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' pour un calcul exact du potentiel restant, tous les vols postérieurs à la '''date de début de comptabilisation des heures''' doivent être saisis dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Affichage du potentiel estimé restant dans les créneaux de réservation===&lt;br /&gt;
Cela se fait en activant le champ additionnel spécifique [[Champs-métiers#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des alertes===&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon) :&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les potentiels (exemple 10 h, 0 h et -5 h)&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les dates calendaire (exemple 15 jours, 8 jours et 0 jours)&lt;br /&gt;
&lt;br /&gt;
==Butées de maintenance==&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|1200px|Tableau de bord maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*Cliquer sur l'icône Modifier (le crayon) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_detail_fr.jpg|1200px|Maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:'''Prochaine butée calendaire''' : c'est la date qui servira de référence pour les alertes calendaires (ex : renouvèlement CDN). En attendant le module de gestion de la maintenance, le mécanicien gère lui-même la butée en mettant la butée selon son programme d'entretien&lt;br /&gt;
:'''Prochaine butée horaire d'activité ''': c'est le compte horaire de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps de vols saisi par les pilotes pour définir le potentiel restant&lt;br /&gt;
:'''Seuil des alertes''' : Il y a 3 niveaux d'alerte horaire et calendaire à mettre selon les souhaits du mécanicien (Seuil avertissement , Seuil alarme et Seuil stop). L'alerte visualisée sur le cahier de réservation sera la première des échéances atteintes.&lt;br /&gt;
&lt;br /&gt;
Le programme calcule à chaque vol le total des heures de vol depuis la date d'initialisation (HdV) et affiche le potentiel restant (Pot) à gauche du cahier journalier et affiche sous chaque réservation le potentiel estimé (durée indiquée par l'utilisateur lors de la réservation ou 50% de la durée de la réservation en absence d'information)&lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel = Prochaine butée horaire - (Total des heures à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Le programme surveille ces 2 butées :&lt;br /&gt;
** Alerte visuelle si la date du jour approche les seuils de date calendaire.&lt;br /&gt;
** Alerte visuelle si on approche les seuils de fin de potentiel.&lt;br /&gt;
&lt;br /&gt;
Le survol de la souris sur le voyant indique si c'est la date ou le potentiel (ou les deux) qui a déclenché l'alerte&lt;br /&gt;
&lt;br /&gt;
* Il est conseillé de mettre à jour les valeurs d'initialisation une fois par an&lt;br /&gt;
&lt;br /&gt;
==Gestion des points fixes==&lt;br /&gt;
On appelle un point fixe le fait de faire tourner le moteur d'un aéronef pour en contrôler les paramètres sans que cela soit suivi d'un vol. Il s'agit d'une action prévue pour certaines opérations de maintenance.&lt;br /&gt;
&lt;br /&gt;
Pour les aéronefs équipés d'horamètres, le point fixe &amp;quot;fait tourner l'horamètre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers préconise de ne pas saisir les points fixes en tant que vol car il n'y a pas de vol réalisé. Cela évite de d'impacter inutilement le potentiel de l'aéronef qui est normalement déterminé uniquement par les heures de vols.&lt;br /&gt;
 &lt;br /&gt;
Aussi, à l'issu d'un point fixe, la seule action à effectuer dans OpenFlyers consiste à mettre à jour le compteur :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l’icône &amp;quot;Crayon&amp;quot; dans la colonne '''Actions''' de la ligne de l'aéronef concerné&lt;br /&gt;
*Mettre à jour le champ '''Dernier compteur enregistré'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors de la prochaine saisie d'heure de vol, le compteur départ correspondra au compteur mis à jour. Cela n'empêchera pas l'utilisateur de voir s'afficher ensuite une alerte mais il pourra vérifier sur le carnet de route ou sur tout autre document mis en place par la structure que cet écart est justifié. De la même façon, lors de la [[#Valider-une-activité|validation des activités]], l'écart de compteur ressortira et sera justifiable.&lt;br /&gt;
&lt;br /&gt;
==Modification des butées suite à un vol validé mal saisi==&lt;br /&gt;
Si un vol a été validé et que l'on se rencontre à posteriori qu'il a été mal saisi, il faut alors intervenir pour corriger les erreurs de calcul de potentiel restant qui en résultent. Pour cela, il y a plusieurs possibilités :&lt;br /&gt;
*Si le vol saisi initialement a une durée inférieure au vol réellement effectué : il faut saisir un vol complémentaire dont la durée correspond au temps de vol manquant.&lt;br /&gt;
*Si le vol saisi initialement a une durée supérieure au vol réellement effectué : il faut reprendre la procédure d'[[#Initialisation-de-la-gestion-des-potentiels|initialisation de la gestion des potentiels]] pour enlever au temps cellule initial le temps de vol décompté en trop de sorte à avoir un potentiel restant qui soit juste.&lt;br /&gt;
&lt;br /&gt;
Du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de modifier une écriture validée.&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de [[Utilisation-de-la-comptabilité#Annuler-l'effet-d'une-écriture-comptable|corriger comptablement l'effet des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Types de composants=&lt;br /&gt;
Les types de composants sont répertoriés dans un catalogue tenu à jour par OpenFlyers. Chaque type de composant est caractérisé par son étiquette et sa catégorie. Il existe 4 catégories définies ci-dessous :&lt;br /&gt;
&lt;br /&gt;
==Documents==&lt;br /&gt;
Il s'agit des documents nécessaires pour la gestion et la traçabilité des activités de maintenance. Ils incluent les manuels de maintenance, les bulletins de service, les certificats de conformité, les rapports d'inspection, etc.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Manuels de maintenance de l'aéronef (AMM), Certificat d'Examens de Navigation (CEN), Assurance, Fiche de pesée, etc.&lt;br /&gt;
&lt;br /&gt;
==Éléments==&lt;br /&gt;
Il s'agit des composants physiques individuels ou des parties spécifiques de l'aéronef, comme les pièces de rechange, les sous-ensembles, ou les équipements spécifiques.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Un moteur, un hélice, un train d'atterrissage, des instruments de cockpit, etc.&lt;br /&gt;
&lt;br /&gt;
==Inspections==&lt;br /&gt;
Il s'agit des activités spécifiques de vérification et de contrôle des composants ou des systèmes de l'aéronef pour s'assurer qu'ils sont en bon état de fonctionnement et conformes aux normes de sécurité.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Inspection de pré-vol, inspection de corrosion, contrôle non destructif (CND), etc.&lt;br /&gt;
&lt;br /&gt;
==Visites==&lt;br /&gt;
Il s'agit des visites planifiées pour la maintenance, qui peuvent inclure des vérifications générales, des réparations ou des remplacements de composants.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : (50H, 100H, 600 H / 2 ANS, etc)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14075</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14075"/>
		<updated>2025-12-09T13:07:01Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Butées de maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le module de suivi de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&lt;br /&gt;
Ce module est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance''' et dispose de plusieurs interfaces :&lt;br /&gt;
*Une page '''[[#Vue-d'ensemble|Vue d'ensemble]]''' récapitulant les informations des aéronefs et les prochaines butées des actions&lt;br /&gt;
*Une page '''[[#Programme|Programme]]''' permettant de définir pour chaque ressource les caractéristiques nécessaire pour le suivi : les éléments, visites, potentiels, etc.&lt;br /&gt;
*Une page '''[[#Suivi|Suivi]]''' permettant de saisir pour chaque ressource les actions effectuées&lt;br /&gt;
&lt;br /&gt;
Cette page présente également le [[#Module-de-suivi-du-potentiel-restant|module de suivi du potentiel restant]]&lt;br /&gt;
&lt;br /&gt;
Lors de l'initialisation du module, il est recommandé de commencer par renseigner tout le programme de maintenance en commençant par les visites les plus importantes pour terminer par les visites les moins importantes.&lt;br /&gt;
&lt;br /&gt;
=Décalage du programme de maintenance=&lt;br /&gt;
Par défaut, le module de suivi de maintenance est prévu pour que '''toutes''' les interventions d'un aéronef soient renseignées dans [[#Suivi|le suivi de la ressource]] et ce, depuis sa mise en circulation.&lt;br /&gt;
&lt;br /&gt;
Si des interventions ont déjà été effectuées sur l'aéronef quand le module est paramétré pour la première fois, ou si les interventions précédentes sont inconnues, il est possible de '''décaler le programme de maintenance'''. De cette manière, on évite de devoir saisir les anciennes actions effectuées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour décaler un programme de maintenance, un paramétrage supplémentaire est nécessaire afin d'optimiser les calculs des butées :&lt;br /&gt;
#Aller dans le [[#Programme|paramétrage du programme de la ressource]]&lt;br /&gt;
#Renseigner les bonnes valeurs dans la colonne '''Premier travaux de référence (horaire et calendaire)'''&lt;br /&gt;
&lt;br /&gt;
Si le programme de maintenance doit démarrer à un certain instant '''t''', les premiers travaux de référence de chaque action correspondent aux '''heures''' et à la '''date''' auxquels l'action a été effectuée pour la dernière fois quand l'aéronef avait '''t''' heures de vol. Pour les visites, on prend en compte le fait qu'elles [[Maintenance-aéronautique#Remarques|s'incluent]].&lt;br /&gt;
&lt;br /&gt;
Par exemple, un aéronef a déjà 2054h de vol et on veut faire démarrer le programme de maintenance à ce moment :&lt;br /&gt;
#La dernière '''Visite 50h''' a été effectuée à 2050h&lt;br /&gt;
#La dernière '''Visite 100h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière '''Visite 500h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière révision du '''Moteur''' était à 2000h&lt;br /&gt;
#etc.&lt;br /&gt;
&lt;br /&gt;
Ces valeurs de référence ne prennent pas en compte les marges de tolérance, donc le retard ou l'avance sur l'action. La valeur peut donc être approximative. En reprenant l'exemple précédent :&lt;br /&gt;
*Par exemple, la dernière '''Visite 50h''' a été effectuée à 2067h.&lt;br /&gt;
*Cette visite aurait dû être effectuée à 2050h, de plus la prochaine est prévue pour 2100h (on additionne les heures lors de la dernière visite plus sa périodicité)&lt;br /&gt;
*En mettant 2067h, la prochaine visite serait calculée à 2117h, donc la bonne valeur à renseigner est '''2050h'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attention, pour la saisie de '''toutes''' les visites horaires et calendaires, '''les butées calculées et affichées''' démarrent '''toutes''' de la plus petite visite (habituellement la '''Visite 50h''' et la '''Visite 1 an''') :&lt;br /&gt;
*Ainsi, les prochaines butées des visites horaires sont, par exemple, calculées à partir de la '''Visite 50h''' de référence&lt;br /&gt;
*Les prochaines butées des visites calendaires sont, par exemple, souvent calculées à partir de la '''Visite 1 an''' de référence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces valeurs de référence entrées, [[#Suivi|le suivi de la ressource]] peut être complété en indiquant toutes les interventions '''après''' ces valeurs de référence. Par exemple, si la valeur de référence de la '''Visite 50h''' est 2050h, le suivi ne doit pas contenir de valeur pour la '''Visite 50h''' à 2050h. Seulement les '''Visites 50h''' suivantes seront renseignées.  Le principe est le même pour les autres visites et toute autre action.&lt;br /&gt;
&lt;br /&gt;
=Programme=&lt;br /&gt;
Pour accéder au programme de chaque ressource :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''&lt;br /&gt;
*Cliquer sur le bouton '''Programme''' de la ressource concernée&lt;br /&gt;
&lt;br /&gt;
Sur cette interface, il est possible d'accéder au programme d'une autre ressource depuis la liste déroulante '''Ressource'''.&lt;br /&gt;
&lt;br /&gt;
Lorsque le programme est vide, en-dessous du tableau, apparait une ligne '''Créer le programme par duplication à partir de''' qui permet de dupliquer le programme de maintenance d'une autre ressource pour la ressource en cours. Dans ce cas, seules les données des colonnes '''Type''', '''Description''', '''Périodicité horaire (heures)''', '''Tolérance horaire''', '''Périodicité calendaire (mois)''', '''Tolérance calendaire''' sont dupliquées.&lt;br /&gt;
&lt;br /&gt;
La page programme d'une ressource contient les caractéristiques nécessaires pour son suivi : éléments, visites, potentiels, etc et sont affichés selon un [[#Ordre-d'affichage-des-composants-du-programme|ordre de priorité]]. Ainsi, chaque ligne du tableau correspond à un élément de la ressource qui est suivi.&lt;br /&gt;
&lt;br /&gt;
Tous les éléments devant être suivis doivent être renseignés et paramétrés. Le paramétrage est nécessaire au bon fonctionnement du [[#Suivi|suivi]]. &lt;br /&gt;
&lt;br /&gt;
Une fois le paramétrage effectué, la page affiche les résultats des calculs obtenus d'après les informations contenues dans [[#Suivi|le suivi]].&lt;br /&gt;
&lt;br /&gt;
Lors du paramétrage des composants, [[#Ajouter-ou-modifier-un-composant|plusieurs champs sont à renseigner]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter ou modifier un composant==&lt;br /&gt;
Pour ajouter un composant, il faut cliquer sur le bouton '''Ajouter''' présent en-dessous du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour modifier un composant, il faut cliquer sur le pictogramme crayon présent dans la colonne '''Actions''' de la ligne concernée.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : un élément de l'appareil (moteur, hélice, etc), une visite (50H, 100H, etc) ou autre (CEN, Pesée, etc)&lt;br /&gt;
*'''Description''' : le nom et les informations détaillées sur le composant. Par exemple la référence du moteur&lt;br /&gt;
*'''Périodicité horaire (heures)''' : si le composant a une périodicité horaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance horaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité horaires, la tolérance doit être en heures.&lt;br /&gt;
*'''Périodicité calendaire (mois)''' : si le composant a une périodicité calendaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance calendaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité calendaire, la tolérance doit être en mois.&lt;br /&gt;
*'''Premiers travaux de référence''' : il s'agit de la date ou des heures cellules des travaux de l'action à utiliser comme référence pour le calcul des valeurs dans [[#Suivi|le suivi]]. Cette colonne permet de [[#Décalage-du-programme-de-maintenance|décaler le programme de maintenance de l'aéronef]]. &lt;br /&gt;
**'''horaire''' : A remplir pour un composant avec périodicité horaire. La valeur doit correspondre aux heures cellules quand l'action a été effectuée pour la dernière fois.&lt;br /&gt;
***Si le programme de maintenance n'est pas décalé, ne rien remplir&lt;br /&gt;
**'''calendaire''' : Le principe est identique aux premier travaux de référence ayant une périodicité horaire, la date des derniers travaux doit être indiquée. &lt;br /&gt;
***&amp;lt;s&amp;gt;Si le programme de maintenance n'est pas décalé, la '''date de mise en circulation''' de l'aéronef doit être renseignée.&amp;lt;/s&amp;gt;&lt;br /&gt;
*'''Cette visite correspond à la révision générale'''&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' tout composant doit être défini avec soit une périodicité horaire soit une périodicité calendaire. Dans le cas où un composant n'a pas de périodicité, il faut créer une périodicité fictive, par exemple en indiquant une butée calendaire de 120 mois.&lt;br /&gt;
&lt;br /&gt;
==Détail du programme==&lt;br /&gt;
Les premières colonnes du programme sont définis lors de l'[[#Ajouter-ou-modifier-un-composant|ajout d'un composant]] :&lt;br /&gt;
*'''Type'''&lt;br /&gt;
*'''Description'''&lt;br /&gt;
*'''Périodicité horaire (heures)'''&lt;br /&gt;
*'''Tolérance horaire'''&lt;br /&gt;
*'''Périodicité calendaire (mois)'''&lt;br /&gt;
*'''Tolérance calendaire'''&lt;br /&gt;
*'''Premiers travaux de référence horaire'''&lt;br /&gt;
*'''Premiers travaux de référence calendaire'''&lt;br /&gt;
&lt;br /&gt;
Les colonnes suivantes et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Heures cellule début travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Date fin travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Temps réalisé (heures)''' : résultat de la différence entre la colonne '''Heures totales''' de la ressource et la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (heures)''' : résultat de la différence entre la colonne '''Butée horaire sans marge''' du composant et la colonne '''Heures totales''' de la ressource&lt;br /&gt;
*'''Butée horaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Heures cellule début travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat de la colonne '''Butée horaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Temps réalisé (mois)''' : résultat de la différence entre la date du jour et de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (mois)''' : résultat de la différence entre la colonne '''Butée calendaire sans marge''' du composant et la date du jour&lt;br /&gt;
*'''Butée calendaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Date fin travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat de la colonne '''Butée calendaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Heures début travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Heures début travaux effective''' du composant et la colonne '''Butée horaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Butée horaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Date fin travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Date fin travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Date fin travaux effective''' du composant et la colonne '''Butée calendaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Groupe de chevauchement''' (calcul intermédiaire) : n'est calculé que si le composant est une visite.&lt;br /&gt;
*#Récupère dans le programme tous les composants qui sont de type visite et qui chevauche le composant pour lequel on détermine son groupe de chevauchement. Dans le cas d'un composant avec une périodicité horaire, pour déterminer que le composant chevauche un autre composant il doit avoir la valeur de la colonne '''Butée horaire intelligente sans marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente avec marge''' de l'autre composant et il doit avoir la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est supérieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Il est également récupéré les visites en retard qui ont la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Dans le cas d'un composant avec une périodicité calendaire le principe est le même mais avec les colonnes '''Butée calendaire intelligente sans et avec marge'''&lt;br /&gt;
*#A partir des composant récupérés, le composant reçoit comme identifiant de groupe de chevauchement l'identifiant du composant qui a la plus petite périodicité horaire ou calendaire. Si le composant n'est chevauché par aucun autre composant ou si c'est lui qui a la plus petite périodicité dans le groupe alors c'est son identifiant qui est utilisé comme identifiant de groupe de chevauchement.&lt;br /&gt;
*'''Cette visite correspond à la révision générale''' (saisi par l'utilisateur mais non visible sur le programme)&lt;br /&gt;
&lt;br /&gt;
==Forcer le rafraichissement des calculs==&lt;br /&gt;
S'il est nécessaire de forcer le recalcule de l'ensemble des butées (calcul intermédiaire), alors il faut saisir une activitéee fictive pour la ressource concernée et ensuite supprimer cette activité.&lt;br /&gt;
&lt;br /&gt;
==Ordre d'affichage des composants du programme==&lt;br /&gt;
L'ordre d'affichage des composants du programme est le suivant :&lt;br /&gt;
#les visites&lt;br /&gt;
#les éléments&lt;br /&gt;
#les inspections&lt;br /&gt;
#les documents&lt;br /&gt;
*Les éléments et les attestations sont triés, dans chaque type, par ordre alphabétique&lt;br /&gt;
*Les visites sont triées ainsi :&lt;br /&gt;
*#Celles avec une périodicité horaire, de la plus petite à la plus grande&lt;br /&gt;
*#Celles avec une périodicité calendaire, par ordre alphabétique&lt;br /&gt;
&lt;br /&gt;
=Suivi=&lt;br /&gt;
Le suivi de chaque ressource est accessible depuis le menu '''Gestion &amp;gt; Resource &amp;gt; Maintenance'''. Dans le tableau, cliquer sur le bouton '''Suivi''' de la resource souhaitée. La page suivi d'une ressource contient toutes les actions effectuées sur l'aéronef. Suite à chaque [[#Ajouter-une-action-effectuée|saisie]], les prochaines butées des actions sont estimées et affichées. &lt;br /&gt;
&lt;br /&gt;
Les actions sont triées par ordre chronologique.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une action effectuée==&lt;br /&gt;
Pour ajouter une action, il faut cliquer sur le bouton '''Ajouter''' présent en dessous du tableau. Pour modifier une action, il faut cliquer sur le pictogramme crayon présent dans la colonne ''Actions''.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : il s'agit d'une liste déroulante contenant les composant définis dans le [[#Programme|programme]] de la ressource. Il faut sélectionner le composant concerné&lt;br /&gt;
*'''Heures cellule début travaux''' : les heures cellule de la ressource au début de l'action effectuée. Le champ est obligatoire si le composant a une périodicité horaire&lt;br /&gt;
*'''Date fin travaux''' : la date lorsque l'action a été effectuée. Le champ est obligatoire si le composant a une périodicité calendaire&lt;br /&gt;
&lt;br /&gt;
'''Attention :'''&lt;br /&gt;
*Si [[#Décalage-du-programme-de-maintenance|le programme de maintenance est décalé]], le suivi doit contenir les actions '''suivant ce décalage'''. Par exemple si les '''Travaux de référence''' du '''Moteur''' sont de '''2000h''' (le suivi du moteur démarre à 2000h), le suivi ne doit pas contenir l'entrée du '''Moteur''' avec '''2000h''', il contiendra les interventions suivantes du moteur.&lt;br /&gt;
&lt;br /&gt;
==Détail du suivi==&lt;br /&gt;
Les premiers champs du suivi sont définis lors de l'[[#Ajouter-une-action-effectuée|ajout d'une action]] :&lt;br /&gt;
*'''Action'''&lt;br /&gt;
*'''Heures cellule début travaux'''&lt;br /&gt;
*'''Date fin travaux'''&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Programme|programme]] :&lt;br /&gt;
*'''Est une visite''' : défini à partir du type du composant&lt;br /&gt;
*'''Type d'action''' : horaire (1), calendaire (2), les deux (0). Défini en fonction de si le composant a une périodicité horaire, calendaire ou les deux.&lt;br /&gt;
*'''Tolérance horaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Tolérance calendaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Butée horaire de référence''' : défini à partir du champ '''Premiers travaux de référence horaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité horaire'''&lt;br /&gt;
*'''Butée calendaire de référence''' : défini à partir du champ '''Premiers travaux de référence calendaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité calendaire'''&lt;br /&gt;
*'''Ligne précédente action horaire liée''' / '''Ligne précédente action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée précédente la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon c'est la visite de référence qui est utilisée&lt;br /&gt;
*'''Ligne prochaine action horaire liée''' / '''Ligne prochaine action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée suivante la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon aucune valeur ne lui est défini&lt;br /&gt;
*'''Butée horaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée horaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée horaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée horaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat du champ '''Butée horaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Heures cellule début travaux''' et du champ '''Butée horaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire avec marge''' : résultat du champ '''Prochaine butée horaire sans marge''' de l'action à qui on ajoute une '''Tolérance horaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance horaire''' de la visite de référence sinon on utilise le champ '''Tolérance horaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance horaire''' de celle-ci qui est utilisé&lt;br /&gt;
*'''Butée calendaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée calendaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée calendaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée calendaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat du champ '''Butée calendaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Date fin travaux''' et du champ '''Butée calendaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire avec marge''' : résultat du champ '''Prochaine butée calendaire sans marge''' de l'action à qui on ajoute une '''Tolérance calendaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance calendaire''' de la visite de référence sinon on utilise le champ '''Tolérance calendaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance calendaire''' de celle-ci qui est utilisé&lt;br /&gt;
&lt;br /&gt;
Une première ligne '''Première visite de référence''' apparait dès lors qu'un composant est ajouté au programme de maintenance. Les cellules suivantes sont initialisées :&lt;br /&gt;
*'''Butée horaire sans marge''' : correspond au champ '''Premiers travaux de référence horaire''' du composant ajouté&lt;br /&gt;
*'''Butée horaire avec marge''' : correspond à la somme des champs ''''''Premiers travaux de référence horaire''' et '''Tolérance horaire''' du composant ajouté&lt;br /&gt;
*'''Butée calendaire sans marge''' : correspond au champ '''Premiers travaux de référence calendaire''' du composant ajouté uniquement si le champ '''Périodicité calendaire''' du composant ajouté est renseigné&lt;br /&gt;
*'''Butée calendaire avec marge''' : correspond à la somme des champs '''Premiers travaux de référence calendaire''' et '''Tolérance calendaire''' du composant ajouté. Si le champ '''Périodicité calendaire''' est laissé vide, alors la date indiquée est le 01/01/1970.&lt;br /&gt;
Si par la suite d'autres composants sont ajoutés, cette première ligne '''Première visite de référence''' se met à jour dès lors que le composant ajouté est d'une périodicité plus faible que les composants déjà présents. En effet, c'est le composant à la périodicité la plus faible qui donne le rythme des actions de maintenance. C'est donc lui qui donne la référence sur la prochaine action. Cf. le chapitre [[#Décalage-du-programme-de-maintenance|Décalage du programme de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Calcul des fenêtres d'action de maintenance : 50h bien positionnée ou trop anticipée===&lt;br /&gt;
[[File:50h bien positionnée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:50h trop anticipée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Programme sans/avec butée calendaire===&lt;br /&gt;
Programme sans visite calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme sans VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi sans butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi sans butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programme avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme avec VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi avec butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
=Vue d'ensemble=&lt;br /&gt;
La vue d'ensemble est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''. Cette page synthétise les informations les plus importantes pour le suivi de maintenance des différentes ressources:&lt;br /&gt;
*'''Heures totales''' : heures totales de la ressource. Cette colonne est automatiquement mise à jour lors de la saisie ou la suppression d'une activité&lt;br /&gt;
*'''Heures depuis RG (Cellule)''' : Cette valeur correspond aux heures totales de la ressource depuis sa Révision Générale (RG). La RG est [[#Programme|paramétrée pour correspondre à une visite]] de la ressource, par exemple la visite 2000h.&lt;br /&gt;
*'''Heures depuis RG (Moteur)''' : La valeur correspond aux heures totales du moteur depuis sa révision, soit depuis ses [[#Programme|'''Heures début travaux''']].&lt;br /&gt;
*'''Heures depuis RG (Hélice)''' : Le principe est le même que pour le moteur, la valeur correspond aux heures totales depuis la révision de l'hélice.&lt;br /&gt;
*'''Potentiel''' : Le '''Potentiel''' est divisé en deux sous colonnes. Une contenant le potentiel restant en heures, une contenant le potentiel restant en mois. Les potentiels affichés sont ceux de la colonne '''Prochaine action'''. Si la prochaine action est une visite alors le potentiel restant affichée se base sur le [[Maintenance-aéronautique#Calcul-de-l'échéance-d'une-visite|calcul de l'échéance d'une visite]]. Il est possible que le potentiel restant de la visite visible dans le [[#Programme|programme]] soit inférieur au potentiel calculé. Dans ce cas on vérifie si une [[Maintenance-aéronautique#Remarques|visite compatible]] avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite affichée. Si c'est le cas alors on affiche le potentiel calculé. Sinon on affiche la potentiel restant de la prochaine visite.&lt;br /&gt;
*'''Prochaine action''' : La '''Prochaine action''', divisée en deux colonnes est un complément de la colonne '''Potentiel'''. Elle contient le nom des deux prochaines actions de la ressource arrivant à échéance, une en heures et une en mois. L'affichage de la '''Prochaine action''' est optimisé quand le [[#Suivi|suivi]] de la ressource est complet. La prochaine action est le composant avec la plus petite butée horaire ou calendaire. Lorsque la prochaine action est une visite on regarde si des visites se chevauchent. Si c'est le cas alors c'est la visite avec la plus grande périodicité qui sera affichée.&lt;br /&gt;
**Le caractère '''*''' est affiché sur les prochaines actions qui incluent un chevauchement de visite&lt;br /&gt;
&lt;br /&gt;
Le potentiel affiché change de couleur selon sa valeur :&lt;br /&gt;
*Au dessus de 10 heures : &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;'''vert'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*Entre 10 heures (inclus) et 5 heures (non inclus) : &amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*En dessous de 5 heures (inclus) : &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actualisation journalière de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Chaque nuit à 06h00 UTC la [[#Vue-d'ensemble|vue d'ensemble]] est actualisée afin de mettre à jour les [[#Détail-de-la-vue-d'ensemble|calculs intermédiaires]] se basant sur la date du jour.&lt;br /&gt;
&lt;br /&gt;
==Détail de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminés à partir des informations contenues dans le [[#Programme|programme]] et dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Cellule - Heures totales''' : heures totales de l'aéronef mises à jour à chaque modification du temps de vol - création, édition ou suppression d'un vol&lt;br /&gt;
*'''Cellule - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Heures cellule début travaux''' de la visite qui correspond à la révision générale&lt;br /&gt;
*'''Moteur - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément moteur.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''72 - Moteur'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
*'''Hélice - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément hélice.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''61 - Hélice'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite horaire''' : recherche la visite avec la plus petite périodicité horaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité horaire. Cette visite sera la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Butée horaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée horaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite horaire''' :&lt;br /&gt;
*#Calcule la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales''' et la compare avec le potentiel restant de la prochaine visite horaire&lt;br /&gt;
*#Si ce dernier est plus petit, vérifie si une visite compatible avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite horaire&lt;br /&gt;
*#Si c'est le cas alors on affiche le résultat de la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales'''. Sinon on affiche la potentiel restant de la prochaine visite horaire&lt;br /&gt;
*'''Prochaine action horaire''' : recherche le composant qui a la '''Butée horaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée horaire action''' : récupère sur le composant correspond à la '''Prochaine action horaire''', le champ '''Butée horaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action horaire''' : résultat de la différence entre le champ '''Butée horaire action''' et le champ '''Cellule - Heures totales'''&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Heures''' qui correspond au champ '''Potentiel prochaine action horaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite horaire''' et '''Potentiel prochaine action horaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
*'''Prochaine action horaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite horaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite horaire''' sinon ce sera celle du champ '''Prochaine action horaire'''&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite calendaire''' : recherche la visite avec la plus petite périodicité calendaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité calendaire. Cette visite sera la '''prochaine visite calendaire'''.&lt;br /&gt;
*'''Butée calendaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée calendaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire visite''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine action calendaire''' : recherche le composant qui a la '''Butée calendaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée calendaire action''' : récupère sur le composant correspond à la '''Prochaine action calendaire''', le champ '''Butée calendaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire action''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Mois''' qui correspond au champ '''Potentiel prochaine action calendaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite calendaire''' et '''Potentiel prochaine action calendaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
*'''Prochaine action calendaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite calendaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite calendaire''' sinon ce sera celle du champ '''Prochaine action calendaire'''&lt;br /&gt;
&lt;br /&gt;
=Module de suivi du potentiel restant=&lt;br /&gt;
==Unité de mesure des heures==&lt;br /&gt;
L'unité de mesure des compteurs d'un aéronef correspond au [[Gestion des ressources#Ajouter_un_type_de_ressource|paramétrage du type de ressource]] correspondant.&lt;br /&gt;
&lt;br /&gt;
Par contre, l'unité de mesure des totaux d'heures correspond au [[Configuration#Gestion-des-vols|paramétrage de l'unité de temps de la plateforme]]. Cela permet d'avoir la tenue des carnets de route des aéronefs dans une seule unité quelque soit l'aéronef. De même pour les calculs des butées pour le suivi de navigabilité cela permet d'avoir une seule unité.&lt;br /&gt;
&lt;br /&gt;
==Activer le module de gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Activités'''&lt;br /&gt;
*Activer l'interrupteur '''[[Paramétrage-des-activités#Gestion-des-potentiels|Gestion des potentiels]]'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des potentiels===&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon)	&lt;br /&gt;
**Dans la partie inférieure '''Données pour la gestion des vols''' on initialise les valeurs :&lt;br /&gt;
**'''Date de début de comptabilisation des heures'''&lt;br /&gt;
**'''Total des heures à la date de début'''&lt;br /&gt;
Il faut indiquer dans ces 2 champs le nombre d'heures de la ressource et à quelle date il y avait ce nombre d'heures. Ainsi, OpenFlyers calculera le nombre d'heures de vols effectuées par l'aéronef à compter de cette date de début et en partant du total renseigné pour cette date. Seules les heures de vols dont la date sera postérieure à cette date de début seront prises en compte pour ce calcul.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' pour un calcul exact du potentiel restant, tous les vols postérieurs à la '''date de début de comptabilisation des heures''' doivent être saisis dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Affichage du potentiel estimé restant dans les créneaux de réservation===&lt;br /&gt;
Cela se fait en activant le champ additionnel spécifique [[Champs-métiers#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des alertes===&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon) :&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les potentiels (exemple 10 h, 0 h et -5 h)&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les dates calendaire (exemple 15 jours, 8 jours et 0 jours)&lt;br /&gt;
&lt;br /&gt;
==Butées de maintenance==&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|1200px|Tableau de bord maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*Cliquer sur l'icône Modifier (le crayon) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_detail_fr.jpg|1200px|Maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:'''Prochaine butée calendaire''' : c'est la date qui servira de référence pour les alertes calendaires (ex : renouvèlement CDN). En attendant le module de gestion de la maintenance, le mécanicien gère lui-même la butée en mettant la butée selon son programme d'entretien&lt;br /&gt;
:'''Prochaine butée horaire d'activité ''': c'est le compte horaire de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps de vols saisi par les pilotes pour définir le potentiel restant&lt;br /&gt;
:'''Seuil des alertes''' : Il y a 3 niveaux d'alerte horaire et calendaire à mettre selon les souhaits du mécanicien. L'alerte visualisée sur le cahier de réservation sera la première des échéances atteintes&lt;br /&gt;
Le programme calcule à chaque vol le total des heures de vol depuis la date d'initialisation (HdV) et affiche le potentiel restant (Pot) à gauche du cahier journalier et affiche sous chaque réservation le potentiel estimé (durée indiquée par l'utilisateur lors de la réservation ou 50% de la durée de la réservation en absence d'information)&lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;Potentiel = Prochaine butée horaire - (Total des heures à la date de début + HdV)&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Le programme surveille ces 2 butées :&lt;br /&gt;
** Alerte visuelle si la date du jour approche les seuils de date calendaire.&lt;br /&gt;
** Alerte visuelle si on approche les seuils de fin de potentiel.&lt;br /&gt;
&lt;br /&gt;
Le survol de la souris sur le voyant indique si c'est la date ou le potentiel (ou les deux) qui a déclenché l'alerte&lt;br /&gt;
&lt;br /&gt;
* Il est conseillé de mettre à jour les valeurs d'initialisation une fois par an&lt;br /&gt;
&lt;br /&gt;
==Gestion des points fixes==&lt;br /&gt;
On appelle un point fixe le fait de faire tourner le moteur d'un aéronef pour en contrôler les paramètres sans que cela soit suivi d'un vol. Il s'agit d'une action prévue pour certaines opérations de maintenance.&lt;br /&gt;
&lt;br /&gt;
Pour les aéronefs équipés d'horamètres, le point fixe &amp;quot;fait tourner l'horamètre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers préconise de ne pas saisir les points fixes en tant que vol car il n'y a pas de vol réalisé. Cela évite de d'impacter inutilement le potentiel de l'aéronef qui est normalement déterminé uniquement par les heures de vols.&lt;br /&gt;
 &lt;br /&gt;
Aussi, à l'issu d'un point fixe, la seule action à effectuer dans OpenFlyers consiste à mettre à jour le compteur :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l’icône &amp;quot;Crayon&amp;quot; dans la colonne '''Actions''' de la ligne de l'aéronef concerné&lt;br /&gt;
*Mettre à jour le champ '''Dernier compteur enregistré'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors de la prochaine saisie d'heure de vol, le compteur départ correspondra au compteur mis à jour. Cela n'empêchera pas l'utilisateur de voir s'afficher ensuite une alerte mais il pourra vérifier sur le carnet de route ou sur tout autre document mis en place par la structure que cet écart est justifié. De la même façon, lors de la [[#Valider-une-activité|validation des activités]], l'écart de compteur ressortira et sera justifiable.&lt;br /&gt;
&lt;br /&gt;
==Modification des butées suite à un vol validé mal saisi==&lt;br /&gt;
Si un vol a été validé et que l'on se rencontre à posteriori qu'il a été mal saisi, il faut alors intervenir pour corriger les erreurs de calcul de potentiel restant qui en résultent. Pour cela, il y a plusieurs possibilités :&lt;br /&gt;
*Si le vol saisi initialement a une durée inférieure au vol réellement effectué : il faut saisir un vol complémentaire dont la durée correspond au temps de vol manquant.&lt;br /&gt;
*Si le vol saisi initialement a une durée supérieure au vol réellement effectué : il faut reprendre la procédure d'[[#Initialisation-de-la-gestion-des-potentiels|initialisation de la gestion des potentiels]] pour enlever au temps cellule initial le temps de vol décompté en trop de sorte à avoir un potentiel restant qui soit juste.&lt;br /&gt;
&lt;br /&gt;
Du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de modifier une écriture validée.&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de [[Utilisation-de-la-comptabilité#Annuler-l'effet-d'une-écriture-comptable|corriger comptablement l'effet des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Types de composants=&lt;br /&gt;
Les types de composants sont répertoriés dans un catalogue tenu à jour par OpenFlyers. Chaque type de composant est caractérisé par son étiquette et sa catégorie. Il existe 4 catégories définies ci-dessous :&lt;br /&gt;
&lt;br /&gt;
==Documents==&lt;br /&gt;
Il s'agit des documents nécessaires pour la gestion et la traçabilité des activités de maintenance. Ils incluent les manuels de maintenance, les bulletins de service, les certificats de conformité, les rapports d'inspection, etc.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Manuels de maintenance de l'aéronef (AMM), Certificat d'Examens de Navigation (CEN), Assurance, Fiche de pesée, etc.&lt;br /&gt;
&lt;br /&gt;
==Éléments==&lt;br /&gt;
Il s'agit des composants physiques individuels ou des parties spécifiques de l'aéronef, comme les pièces de rechange, les sous-ensembles, ou les équipements spécifiques.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Un moteur, un hélice, un train d'atterrissage, des instruments de cockpit, etc.&lt;br /&gt;
&lt;br /&gt;
==Inspections==&lt;br /&gt;
Il s'agit des activités spécifiques de vérification et de contrôle des composants ou des systèmes de l'aéronef pour s'assurer qu'ils sont en bon état de fonctionnement et conformes aux normes de sécurité.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Inspection de pré-vol, inspection de corrosion, contrôle non destructif (CND), etc.&lt;br /&gt;
&lt;br /&gt;
==Visites==&lt;br /&gt;
Il s'agit des visites planifiées pour la maintenance, qui peuvent inclure des vérifications générales, des réparations ou des remplacements de composants.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : (50H, 100H, 600 H / 2 ANS, etc)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
	<entry>
		<id>https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14071</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc4-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=14071"/>
		<updated>2025-12-09T11:53:21Z</updated>

		<summary type="html">&lt;p&gt;Lelhidam: /* Butées de maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter le module de suivi de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&lt;br /&gt;
Ce module est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance''' et dispose de plusieurs interfaces :&lt;br /&gt;
*Une page '''[[#Vue-d'ensemble|Vue d'ensemble]]''' récapitulant les informations des aéronefs et les prochaines butées des actions&lt;br /&gt;
*Une page '''[[#Programme|Programme]]''' permettant de définir pour chaque ressource les caractéristiques nécessaire pour le suivi : les éléments, visites, potentiels, etc.&lt;br /&gt;
*Une page '''[[#Suivi|Suivi]]''' permettant de saisir pour chaque ressource les actions effectuées&lt;br /&gt;
&lt;br /&gt;
Cette page présente également le [[#Module-de-suivi-du-potentiel-restant|module de suivi du potentiel restant]]&lt;br /&gt;
&lt;br /&gt;
Lors de l'initialisation du module, il est recommandé de commencer par renseigner tout le programme de maintenance en commençant par les visites les plus importantes pour terminer par les visites les moins importantes.&lt;br /&gt;
&lt;br /&gt;
=Décalage du programme de maintenance=&lt;br /&gt;
Par défaut, le module de suivi de maintenance est prévu pour que '''toutes''' les interventions d'un aéronef soient renseignées dans [[#Suivi|le suivi de la ressource]] et ce, depuis sa mise en circulation.&lt;br /&gt;
&lt;br /&gt;
Si des interventions ont déjà été effectuées sur l'aéronef quand le module est paramétré pour la première fois, ou si les interventions précédentes sont inconnues, il est possible de '''décaler le programme de maintenance'''. De cette manière, on évite de devoir saisir les anciennes actions effectuées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour décaler un programme de maintenance, un paramétrage supplémentaire est nécessaire afin d'optimiser les calculs des butées :&lt;br /&gt;
#Aller dans le [[#Programme|paramétrage du programme de la ressource]]&lt;br /&gt;
#Renseigner les bonnes valeurs dans la colonne '''Premier travaux de référence (horaire et calendaire)'''&lt;br /&gt;
&lt;br /&gt;
Si le programme de maintenance doit démarrer à un certain instant '''t''', les premiers travaux de référence de chaque action correspondent aux '''heures''' et à la '''date''' auxquels l'action a été effectuée pour la dernière fois quand l'aéronef avait '''t''' heures de vol. Pour les visites, on prend en compte le fait qu'elles [[Maintenance-aéronautique#Remarques|s'incluent]].&lt;br /&gt;
&lt;br /&gt;
Par exemple, un aéronef a déjà 2054h de vol et on veut faire démarrer le programme de maintenance à ce moment :&lt;br /&gt;
#La dernière '''Visite 50h''' a été effectuée à 2050h&lt;br /&gt;
#La dernière '''Visite 100h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière '''Visite 500h''' a été effectuée à 2000h (inclue dans la '''Visite 2000h''')&lt;br /&gt;
#La dernière révision du '''Moteur''' était à 2000h&lt;br /&gt;
#etc.&lt;br /&gt;
&lt;br /&gt;
Ces valeurs de référence ne prennent pas en compte les marges de tolérance, donc le retard ou l'avance sur l'action. La valeur peut donc être approximative. En reprenant l'exemple précédent :&lt;br /&gt;
*Par exemple, la dernière '''Visite 50h''' a été effectuée à 2067h.&lt;br /&gt;
*Cette visite aurait dû être effectuée à 2050h, de plus la prochaine est prévue pour 2100h (on additionne les heures lors de la dernière visite plus sa périodicité)&lt;br /&gt;
*En mettant 2067h, la prochaine visite serait calculée à 2117h, donc la bonne valeur à renseigner est '''2050h'''. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attention, pour la saisie de '''toutes''' les visites horaires et calendaires, '''les butées calculées et affichées''' démarrent '''toutes''' de la plus petite visite (habituellement la '''Visite 50h''' et la '''Visite 1 an''') :&lt;br /&gt;
*Ainsi, les prochaines butées des visites horaires sont, par exemple, calculées à partir de la '''Visite 50h''' de référence&lt;br /&gt;
*Les prochaines butées des visites calendaires sont, par exemple, souvent calculées à partir de la '''Visite 1 an''' de référence&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois ces valeurs de référence entrées, [[#Suivi|le suivi de la ressource]] peut être complété en indiquant toutes les interventions '''après''' ces valeurs de référence. Par exemple, si la valeur de référence de la '''Visite 50h''' est 2050h, le suivi ne doit pas contenir de valeur pour la '''Visite 50h''' à 2050h. Seulement les '''Visites 50h''' suivantes seront renseignées.  Le principe est le même pour les autres visites et toute autre action.&lt;br /&gt;
&lt;br /&gt;
=Programme=&lt;br /&gt;
Pour accéder au programme de chaque ressource :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''&lt;br /&gt;
*Cliquer sur le bouton '''Programme''' de la ressource concernée&lt;br /&gt;
&lt;br /&gt;
Sur cette interface, il est possible d'accéder au programme d'une autre ressource depuis la liste déroulante '''Ressource'''.&lt;br /&gt;
&lt;br /&gt;
Lorsque le programme est vide, en-dessous du tableau, apparait une ligne '''Créer le programme par duplication à partir de''' qui permet de dupliquer le programme de maintenance d'une autre ressource pour la ressource en cours. Dans ce cas, seules les données des colonnes '''Type''', '''Description''', '''Périodicité horaire (heures)''', '''Tolérance horaire''', '''Périodicité calendaire (mois)''', '''Tolérance calendaire''' sont dupliquées.&lt;br /&gt;
&lt;br /&gt;
La page programme d'une ressource contient les caractéristiques nécessaires pour son suivi : éléments, visites, potentiels, etc et sont affichés selon un [[#Ordre-d'affichage-des-composants-du-programme|ordre de priorité]]. Ainsi, chaque ligne du tableau correspond à un élément de la ressource qui est suivi.&lt;br /&gt;
&lt;br /&gt;
Tous les éléments devant être suivis doivent être renseignés et paramétrés. Le paramétrage est nécessaire au bon fonctionnement du [[#Suivi|suivi]]. &lt;br /&gt;
&lt;br /&gt;
Une fois le paramétrage effectué, la page affiche les résultats des calculs obtenus d'après les informations contenues dans [[#Suivi|le suivi]].&lt;br /&gt;
&lt;br /&gt;
Lors du paramétrage des composants, [[#Ajouter-ou-modifier-un-composant|plusieurs champs sont à renseigner]].&lt;br /&gt;
&lt;br /&gt;
==Ajouter ou modifier un composant==&lt;br /&gt;
Pour ajouter un composant, il faut cliquer sur le bouton '''Ajouter''' présent en-dessous du tableau.&lt;br /&gt;
&lt;br /&gt;
Pour modifier un composant, il faut cliquer sur le pictogramme crayon présent dans la colonne '''Actions''' de la ligne concernée.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : un élément de l'appareil (moteur, hélice, etc), une visite (50H, 100H, etc) ou autre (CEN, Pesée, etc)&lt;br /&gt;
*'''Description''' : le nom et les informations détaillées sur le composant. Par exemple la référence du moteur&lt;br /&gt;
*'''Périodicité horaire (heures)''' : si le composant a une périodicité horaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance horaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité horaires, la tolérance doit être en heures.&lt;br /&gt;
*'''Périodicité calendaire (mois)''' : si le composant a une périodicité calendaire il faut remplir cette colonne&lt;br /&gt;
*'''Tolérance calendaire''' : la tolérance d'un composant permet de calculer [[Maintenance-aéronautique#Schémas-:-calcul-d'échéances|la fenêtre de la butée optimale]]. Pour les composants avec une périodicité calendaire, la tolérance doit être en mois.&lt;br /&gt;
*'''Premiers travaux de référence''' : il s'agit de la date ou des heures cellules des travaux de l'action à utiliser comme référence pour le calcul des valeurs dans [[#Suivi|le suivi]]. Cette colonne permet de [[#Décalage-du-programme-de-maintenance|décaler le programme de maintenance de l'aéronef]]. &lt;br /&gt;
**'''horaire''' : A remplir pour un composant avec périodicité horaire. La valeur doit correspondre aux heures cellules quand l'action a été effectuée pour la dernière fois.&lt;br /&gt;
***Si le programme de maintenance n'est pas décalé, ne rien remplir&lt;br /&gt;
**'''calendaire''' : Le principe est identique aux premier travaux de référence ayant une périodicité horaire, la date des derniers travaux doit être indiquée. &lt;br /&gt;
***&amp;lt;s&amp;gt;Si le programme de maintenance n'est pas décalé, la '''date de mise en circulation''' de l'aéronef doit être renseignée.&amp;lt;/s&amp;gt;&lt;br /&gt;
*'''Cette visite correspond à la révision générale'''&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' tout composant doit être défini avec soit une périodicité horaire soit une périodicité calendaire. Dans le cas où un composant n'a pas de périodicité, il faut créer une périodicité fictive, par exemple en indiquant une butée calendaire de 120 mois.&lt;br /&gt;
&lt;br /&gt;
==Détail du programme==&lt;br /&gt;
Les premières colonnes du programme sont définis lors de l'[[#Ajouter-ou-modifier-un-composant|ajout d'un composant]] :&lt;br /&gt;
*'''Type'''&lt;br /&gt;
*'''Description'''&lt;br /&gt;
*'''Périodicité horaire (heures)'''&lt;br /&gt;
*'''Tolérance horaire'''&lt;br /&gt;
*'''Périodicité calendaire (mois)'''&lt;br /&gt;
*'''Tolérance calendaire'''&lt;br /&gt;
*'''Premiers travaux de référence horaire'''&lt;br /&gt;
*'''Premiers travaux de référence calendaire'''&lt;br /&gt;
&lt;br /&gt;
Les colonnes suivantes et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Heures cellule début travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Date fin travaux''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Temps réalisé (heures)''' : résultat de la différence entre la colonne '''Heures totales''' de la ressource et la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (heures)''' : résultat de la différence entre la colonne '''Butée horaire sans marge''' du composant et la colonne '''Heures totales''' de la ressource&lt;br /&gt;
*'''Butée horaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Heures cellule début travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat de la colonne '''Butée horaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Temps réalisé (mois)''' : résultat de la différence entre la date du jour et de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Potentiel restant (mois)''' : résultat de la différence entre la colonne '''Butée calendaire sans marge''' du composant et la date du jour&lt;br /&gt;
*'''Butée calendaire sans marge''' : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Résultat de la valeur la plus petite entre celle que l'on vient de récupérer et la colonne '''Date fin travaux''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat de la colonne '''Butée calendaire sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Heures début travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée horaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Heures cellule début travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence horaire''' du composant&lt;br /&gt;
*'''Butée horaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Heures début travaux effective''' du composant et la colonne '''Butée horaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Heures cellule début travaux''' du composant&lt;br /&gt;
*'''Butée horaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité horaire''' du composant&lt;br /&gt;
*'''Butée horaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée horaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance horaire''' du composant&lt;br /&gt;
*'''Date fin travaux effective''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Date fin travaux'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Date fin travaux'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale théorique''' (calcul intermédiaire) :&lt;br /&gt;
**Si le composant est une visite : récupère sur la dernière visite enregistrée [[Maintenance-aéronautique#Remarques|compatible avec le composant]] dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si aucune entrée n'est compatible dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
**Si le composant n'est pas une visite : récupère sur la dernière entrée du composant dans le suivi la valeur de la colonne '''Butée calendaire sans marge'''. Si le composant n'a pas d'entrée dans le suivi, récupère la valeur de la colonne '''Premiers travaux de référence calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire originale intelligente''' (calcul intermédiaire) : Si ces valeurs sont présentes, récupère la valeur la plus petite entre la colonne '''Date fin travaux effective''' du composant et la colonne '''Butée calendaire originale théorique''' du composant. Sinon récupère la valeur de la colonne '''Date fin travaux''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente sans marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire originale intelligente''' du composant à laquelle on ajoute la valeur de la colonne '''Périodicité calendaire''' du composant&lt;br /&gt;
*'''Butée calendaire intelligente avec marge''' (calcul intermédiaire) : résultat de la valeur de la colonne '''Butée calendaire intelligente sans marge''' du composant à laquelle on ajoute la valeur de la colonne '''Tolérance calendaire''' du composant&lt;br /&gt;
*'''Groupe de chevauchement''' (calcul intermédiaire) : n'est calculé que si le composant est une visite.&lt;br /&gt;
*#Récupère dans le programme tous les composants qui sont de type visite et qui chevauche le composant pour lequel on détermine son groupe de chevauchement. Dans le cas d'un composant avec une périodicité horaire, pour déterminer que le composant chevauche un autre composant il doit avoir la valeur de la colonne '''Butée horaire intelligente sans marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente avec marge''' de l'autre composant et il doit avoir la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est supérieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Il est également récupéré les visites en retard qui ont la valeur de la colonne '''Butée horaire intelligente avec marge''' qui est inférieure ou égale à la valeur de la colonne '''Butée horaire intelligente sans marge''' de l'autre composant. Dans le cas d'un composant avec une périodicité calendaire le principe est le même mais avec les colonnes '''Butée calendaire intelligente sans et avec marge'''&lt;br /&gt;
*#A partir des composant récupérés, le composant reçoit comme identifiant de groupe de chevauchement l'identifiant du composant qui a la plus petite périodicité horaire ou calendaire. Si le composant n'est chevauché par aucun autre composant ou si c'est lui qui a la plus petite périodicité dans le groupe alors c'est son identifiant qui est utilisé comme identifiant de groupe de chevauchement.&lt;br /&gt;
*'''Cette visite correspond à la révision générale''' (saisi par l'utilisateur mais non visible sur le programme)&lt;br /&gt;
&lt;br /&gt;
==Forcer le rafraichissement des calculs==&lt;br /&gt;
S'il est nécessaire de forcer le recalcule de l'ensemble des butées (calcul intermédiaire), alors il faut saisir une activitéee fictive pour la ressource concernée et ensuite supprimer cette activité.&lt;br /&gt;
&lt;br /&gt;
==Ordre d'affichage des composants du programme==&lt;br /&gt;
L'ordre d'affichage des composants du programme est le suivant :&lt;br /&gt;
#les visites&lt;br /&gt;
#les éléments&lt;br /&gt;
#les inspections&lt;br /&gt;
#les documents&lt;br /&gt;
*Les éléments et les attestations sont triés, dans chaque type, par ordre alphabétique&lt;br /&gt;
*Les visites sont triées ainsi :&lt;br /&gt;
*#Celles avec une périodicité horaire, de la plus petite à la plus grande&lt;br /&gt;
*#Celles avec une périodicité calendaire, par ordre alphabétique&lt;br /&gt;
&lt;br /&gt;
=Suivi=&lt;br /&gt;
Le suivi de chaque ressource est accessible depuis le menu '''Gestion &amp;gt; Resource &amp;gt; Maintenance'''. Dans le tableau, cliquer sur le bouton '''Suivi''' de la resource souhaitée. La page suivi d'une ressource contient toutes les actions effectuées sur l'aéronef. Suite à chaque [[#Ajouter-une-action-effectuée|saisie]], les prochaines butées des actions sont estimées et affichées. &lt;br /&gt;
&lt;br /&gt;
Les actions sont triées par ordre chronologique.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une action effectuée==&lt;br /&gt;
Pour ajouter une action, il faut cliquer sur le bouton '''Ajouter''' présent en dessous du tableau. Pour modifier une action, il faut cliquer sur le pictogramme crayon présent dans la colonne ''Actions''.&lt;br /&gt;
&lt;br /&gt;
Dans le formulaire il faut saisir les champs :&lt;br /&gt;
*'''[[#Types-de-composants|Type de composant]]''' : il s'agit d'une liste déroulante contenant les composant définis dans le [[#Programme|programme]] de la ressource. Il faut sélectionner le composant concerné&lt;br /&gt;
*'''Heures cellule début travaux''' : les heures cellule de la ressource au début de l'action effectuée. Le champ est obligatoire si le composant a une périodicité horaire&lt;br /&gt;
*'''Date fin travaux''' : la date lorsque l'action a été effectuée. Le champ est obligatoire si le composant a une périodicité calendaire&lt;br /&gt;
&lt;br /&gt;
'''Attention :'''&lt;br /&gt;
*Si [[#Décalage-du-programme-de-maintenance|le programme de maintenance est décalé]], le suivi doit contenir les actions '''suivant ce décalage'''. Par exemple si les '''Travaux de référence''' du '''Moteur''' sont de '''2000h''' (le suivi du moteur démarre à 2000h), le suivi ne doit pas contenir l'entrée du '''Moteur''' avec '''2000h''', il contiendra les interventions suivantes du moteur.&lt;br /&gt;
&lt;br /&gt;
==Détail du suivi==&lt;br /&gt;
Les premiers champs du suivi sont définis lors de l'[[#Ajouter-une-action-effectuée|ajout d'une action]] :&lt;br /&gt;
*'''Action'''&lt;br /&gt;
*'''Heures cellule début travaux'''&lt;br /&gt;
*'''Date fin travaux'''&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminées à partir des premières colonnes et des informations contenues dans le [[#Programme|programme]] :&lt;br /&gt;
*'''Est une visite''' : défini à partir du type du composant&lt;br /&gt;
*'''Type d'action''' : horaire (1), calendaire (2), les deux (0). Défini en fonction de si le composant a une périodicité horaire, calendaire ou les deux.&lt;br /&gt;
*'''Tolérance horaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Tolérance calendaire''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire de l'action''' : si l'action est une visite, la valeur est défini à partir du champ correspondant dans la visite de référence sinon elle est défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité horaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Périodicité calendaire du composant''' : défini à partir du champ correspondant dans le composant&lt;br /&gt;
*'''Butée horaire de référence''' : défini à partir du champ '''Premiers travaux de référence horaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité horaire'''&lt;br /&gt;
*'''Butée calendaire de référence''' : défini à partir du champ '''Premiers travaux de référence calendaire''' dans le composant. Si l'action est une visite il lui est ajouté la valeur du champ '''Périodicité calendaire'''&lt;br /&gt;
*'''Ligne précédente action horaire liée''' / '''Ligne précédente action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée précédente la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon c'est la visite de référence qui est utilisée&lt;br /&gt;
*'''Ligne prochaine action horaire liée''' / '''Ligne prochaine action calendaire liée''' :&lt;br /&gt;
**les lignes sont triées par ordre croissant selon le champ '''Heures cellule début travaux''' puis par ordre chronologique selon le champ '''Date fin travaux'''&lt;br /&gt;
**si c'est une visite le moteur recherche parmi les visites l'entrée suivante la plus proche, sinon il recherche parmi les entrées qui concernent le même composant&lt;br /&gt;
**si une entrée a été trouvée elle est est défini comme ligne précédente sinon aucune valeur ne lui est défini&lt;br /&gt;
*'''Butée horaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée horaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée horaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée horaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée horaire avec marge''' : résultat du champ '''Butée horaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Heures cellule début travaux''' et du champ '''Butée horaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité horaire''' de l'action&lt;br /&gt;
*'''Prochaine butée horaire avec marge''' : résultat du champ '''Prochaine butée horaire sans marge''' de l'action à qui on ajoute une '''Tolérance horaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance horaire''' de la visite de référence sinon on utilise le champ '''Tolérance horaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance horaire''' de celle-ci qui est utilisé&lt;br /&gt;
*'''Butée calendaire sans marge''' :&lt;br /&gt;
**s'il s'agit d'une visite ou que la ligne précédente ne correspond pas à la visite de référence&lt;br /&gt;
***si la ligne précédente correspond à la visite de référence, le champ '''Butée calendaire sans marge''' de la visite de référence est utilisé&lt;br /&gt;
***sinon, le champ '''Prochaine butée calendaire sans marge''' de la ligne précédente est utilisé&lt;br /&gt;
**sinon, le champ '''Butée calendaire de référence''' de l'action est utilisé&lt;br /&gt;
*'''Butée calendaire avec marge''' : résultat du champ '''Butée calendaire sans marge''' de l'action à qui on ajoute la valeur du champ '''Tolérance calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire sans marge''' : résultat de la valeur la plus petite entre celle du champ '''Date fin travaux''' et du champ '''Butée calendaire sans marge''' à qui on ajoute la valeur du champ '''Périodicité calendaire''' de l'action&lt;br /&gt;
*'''Prochaine butée calendaire avec marge''' : résultat du champ '''Prochaine butée calendaire sans marge''' de l'action à qui on ajoute une '''Tolérance calendaire''' qu'il faut déterminer. Si l'action n'a pas de prochaine ligne alors si c'est une visite on utilise le champ '''Tolérance calendaire''' de la visite de référence sinon on utilise le champ '''Tolérance calendaire''' de l'action. Si l'action a une prochaine ligne de défini alors c'est le champ '''Tolérance calendaire''' de celle-ci qui est utilisé&lt;br /&gt;
&lt;br /&gt;
Une première ligne '''Première visite de référence''' apparait dès lors qu'un composant est ajouté au programme de maintenance. Les cellules suivantes sont initialisées :&lt;br /&gt;
*'''Butée horaire sans marge''' : correspond au champ '''Premiers travaux de référence horaire''' du composant ajouté&lt;br /&gt;
*'''Butée horaire avec marge''' : correspond à la somme des champs ''''''Premiers travaux de référence horaire''' et '''Tolérance horaire''' du composant ajouté&lt;br /&gt;
*'''Butée calendaire sans marge''' : correspond au champ '''Premiers travaux de référence calendaire''' du composant ajouté uniquement si le champ '''Périodicité calendaire''' du composant ajouté est renseigné&lt;br /&gt;
*'''Butée calendaire avec marge''' : correspond à la somme des champs '''Premiers travaux de référence calendaire''' et '''Tolérance calendaire''' du composant ajouté. Si le champ '''Périodicité calendaire''' est laissé vide, alors la date indiquée est le 01/01/1970.&lt;br /&gt;
Si par la suite d'autres composants sont ajoutés, cette première ligne '''Première visite de référence''' se met à jour dès lors que le composant ajouté est d'une périodicité plus faible que les composants déjà présents. En effet, c'est le composant à la périodicité la plus faible qui donne le rythme des actions de maintenance. C'est donc lui qui donne la référence sur la prochaine action. Cf. le chapitre [[#Décalage-du-programme-de-maintenance|Décalage du programme de maintenance]].&lt;br /&gt;
&lt;br /&gt;
===Calcul des fenêtres d'action de maintenance : 50h bien positionnée ou trop anticipée===&lt;br /&gt;
[[File:50h bien positionnée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:50h trop anticipée.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
===Programme sans/avec butée calendaire===&lt;br /&gt;
Programme sans visite calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme sans VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi sans butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi sans butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programme avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Programme avec VP calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
Affichage du suivi avec butée calendaire :&lt;br /&gt;
&lt;br /&gt;
[[File:Suivi avec butée calendaire.jpg|800px]]&lt;br /&gt;
&lt;br /&gt;
=Vue d'ensemble=&lt;br /&gt;
La vue d'ensemble est accessible depuis le menu '''Gestion &amp;gt; Ressources &amp;gt; Maintenance'''. Cette page synthétise les informations les plus importantes pour le suivi de maintenance des différentes ressources:&lt;br /&gt;
*'''Heures totales''' : heures totales de la ressource. Cette colonne est automatiquement mise à jour lors de la saisie ou la suppression d'une activité&lt;br /&gt;
*'''Heures depuis RG (Cellule)''' : Cette valeur correspond aux heures totales de la ressource depuis sa Révision Générale (RG). La RG est [[#Programme|paramétrée pour correspondre à une visite]] de la ressource, par exemple la visite 2000h.&lt;br /&gt;
*'''Heures depuis RG (Moteur)''' : La valeur correspond aux heures totales du moteur depuis sa révision, soit depuis ses [[#Programme|'''Heures début travaux''']].&lt;br /&gt;
*'''Heures depuis RG (Hélice)''' : Le principe est le même que pour le moteur, la valeur correspond aux heures totales depuis la révision de l'hélice.&lt;br /&gt;
*'''Potentiel''' : Le '''Potentiel''' est divisé en deux sous colonnes. Une contenant le potentiel restant en heures, une contenant le potentiel restant en mois. Les potentiels affichés sont ceux de la colonne '''Prochaine action'''. Si la prochaine action est une visite alors le potentiel restant affichée se base sur le [[Maintenance-aéronautique#Calcul-de-l'échéance-d'une-visite|calcul de l'échéance d'une visite]]. Il est possible que le potentiel restant de la visite visible dans le [[#Programme|programme]] soit inférieur au potentiel calculé. Dans ce cas on vérifie si une [[Maintenance-aéronautique#Remarques|visite compatible]] avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite affichée. Si c'est le cas alors on affiche le potentiel calculé. Sinon on affiche la potentiel restant de la prochaine visite.&lt;br /&gt;
*'''Prochaine action''' : La '''Prochaine action''', divisée en deux colonnes est un complément de la colonne '''Potentiel'''. Elle contient le nom des deux prochaines actions de la ressource arrivant à échéance, une en heures et une en mois. L'affichage de la '''Prochaine action''' est optimisé quand le [[#Suivi|suivi]] de la ressource est complet. La prochaine action est le composant avec la plus petite butée horaire ou calendaire. Lorsque la prochaine action est une visite on regarde si des visites se chevauchent. Si c'est le cas alors c'est la visite avec la plus grande périodicité qui sera affichée.&lt;br /&gt;
**Le caractère '''*''' est affiché sur les prochaines actions qui incluent un chevauchement de visite&lt;br /&gt;
&lt;br /&gt;
Le potentiel affiché change de couleur selon sa valeur :&lt;br /&gt;
*Au dessus de 10 heures : &amp;lt;span style=&amp;quot;color: green;&amp;quot;&amp;gt;'''vert'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*Entre 10 heures (inclus) et 5 heures (non inclus) : &amp;lt;span style=&amp;quot;color: orange;&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;&lt;br /&gt;
*En dessous de 5 heures (inclus) : &amp;lt;span style=&amp;quot;color: red;&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Actualisation journalière de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Chaque nuit à 06h00 UTC la [[#Vue-d'ensemble|vue d'ensemble]] est actualisée afin de mettre à jour les [[#Détail-de-la-vue-d'ensemble|calculs intermédiaires]] se basant sur la date du jour.&lt;br /&gt;
&lt;br /&gt;
==Détail de la vue d'ensemble==&lt;br /&gt;
&lt;br /&gt;
Les champs suivants et calculs intermédiaires non visibles sont déterminés à partir des informations contenues dans le [[#Programme|programme]] et dans le [[#Suivi|suivi]] :&lt;br /&gt;
*'''Cellule - Heures totales''' : heures totales de l'aéronef mises à jour à chaque modification du temps de vol - création, édition ou suppression d'un vol&lt;br /&gt;
*'''Cellule - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Heures cellule début travaux''' de la visite qui correspond à la révision générale&lt;br /&gt;
*'''Moteur - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément moteur.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''72 - Moteur'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
*'''Hélice - Heures depuis RG''' : résultat de la différence entre le champ '''Cellule - Heures totales''' et le champ '''Temps réalisé (heures) ''' de l'élément hélice.&lt;br /&gt;
Pour que cette case contienne une valeur, il faut qu'un composant de type ''61 - Hélice'' soit renseigné dans le programme de l'aéronef et qu'une entrée soit saisie dans le suivi de l'aéronef lié à ce composant&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite horaire''' : recherche la visite avec la plus petite périodicité horaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité horaire. Cette visite sera la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Butée horaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée horaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite horaire''' :&lt;br /&gt;
*#Calcule la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales''' et la compare avec le potentiel restant de la prochaine visite horaire&lt;br /&gt;
*#Si ce dernier est plus petit, vérifie si une visite compatible avec une périodicité supérieure a été réalisé depuis la dernière révision de la prochaine visite horaire&lt;br /&gt;
*#Si c'est le cas alors on affiche le résultat de la différence entre le champ '''Butée horaire visite''' et le champ '''Cellule - Heures totales'''. Sinon on affiche la potentiel restant de la prochaine visite horaire&lt;br /&gt;
*'''Prochaine action horaire''' : recherche le composant qui a la '''Butée horaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée horaire action''' : récupère sur le composant correspond à la '''Prochaine action horaire''', le champ '''Butée horaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action horaire''' : résultat de la différence entre le champ '''Butée horaire action''' et le champ '''Cellule - Heures totales'''&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Heures''' qui correspond au champ '''Potentiel prochaine action horaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite horaire''' et '''Potentiel prochaine action horaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action horaire prioritaire'''&lt;br /&gt;
*'''Prochaine action horaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite horaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite horaire''' sinon ce sera celle du champ '''Prochaine action horaire'''&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine visite calendaire''' : recherche la visite avec la plus petite périodicité calendaire. A partir du champ '''Groupe de chevauchement''', recherche parmi les visites qui sont dans ce groupe la visite avec la plus grande périodicité calendaire. Cette visite sera la '''prochaine visite calendaire'''.&lt;br /&gt;
*'''Butée calendaire visite''' : recherche parmi le suivi de la ressource, la visite avec la valeur la plus grande pour le champ '''Prochaine butée calendaire sans marge'''. Si une visite est trouvée, récupère la valeur de ce champ. Sinon récupère la valeur de ce champ dans le programme sur la visite défini comme étant la '''prochaine visite horaire'''.&lt;br /&gt;
*'''Potentiel prochaine visite calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire visite''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Prochaine action calendaire''' : recherche le composant qui a la '''Butée calendaire sans marge''' la plus petite&lt;br /&gt;
*'''Butée calendaire action''' : récupère sur le composant correspond à la '''Prochaine action calendaire''', le champ '''Butée calendaire sans marge'''&lt;br /&gt;
*'''Potentiel prochaine action calendaire ''' : résultat en mois de la différence entre le champ '''Butée calendaire action''' et la date du jour&lt;br /&gt;
&lt;br /&gt;
*'''Potentiel - Mois''' qui correspond au champ '''Potentiel prochaine action calendaire prioritaire''' :&lt;br /&gt;
**si les champs '''Potentiel prochaine visite calendaire''' et '''Potentiel prochaine action calendaire''' sont définis, le champ avec la plus petite valeur sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
**si un seul des deux champs est défini ce sera celui utilisé pour définir le champ '''Potentiel prochaine action calendaire prioritaire'''&lt;br /&gt;
*'''Prochaine action calendaire prioritaire''' : si c'est le champ '''Potentiel prochaine visite calendaire''' qui a été retenu, la prochaine action sera donc celle correspondant au champ '''Prochaine visite calendaire''' sinon ce sera celle du champ '''Prochaine action calendaire'''&lt;br /&gt;
&lt;br /&gt;
=Module de suivi du potentiel restant=&lt;br /&gt;
==Unité de mesure des heures==&lt;br /&gt;
L'unité de mesure des compteurs d'un aéronef correspond au [[Gestion des ressources#Ajouter_un_type_de_ressource|paramétrage du type de ressource]] correspondant.&lt;br /&gt;
&lt;br /&gt;
Par contre, l'unité de mesure des totaux d'heures correspond au [[Configuration#Gestion-des-vols|paramétrage de l'unité de temps de la plateforme]]. Cela permet d'avoir la tenue des carnets de route des aéronefs dans une seule unité quelque soit l'aéronef. De même pour les calculs des butées pour le suivi de navigabilité cela permet d'avoir une seule unité.&lt;br /&gt;
&lt;br /&gt;
==Activer le module de gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Structure &amp;gt; Paramétrage &amp;gt; Activités'''&lt;br /&gt;
*Activer l'interrupteur '''[[Paramétrage-des-activités#Gestion-des-potentiels|Gestion des potentiels]]'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des potentiels===&lt;br /&gt;
*Aller dans '''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon)	&lt;br /&gt;
**Dans la partie inférieure '''Données pour la gestion des vols''' on initialise les valeurs :&lt;br /&gt;
**'''Date de début de comptabilisation des heures'''&lt;br /&gt;
**'''Total des heures à la date de début'''&lt;br /&gt;
Il faut indiquer dans ces 2 champs le nombre d'heures de la ressource et à quelle date il y avait ce nombre d'heures. Ainsi, OpenFlyers calculera le nombre d'heures de vols effectuées par l'aéronef à compter de cette date de début et en partant du total renseigné pour cette date. Seules les heures de vols dont la date sera postérieure à cette date de début seront prises en compte pour ce calcul.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' pour un calcul exact du potentiel restant, tous les vols postérieurs à la '''date de début de comptabilisation des heures''' doivent être saisis dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Affichage du potentiel estimé restant dans les créneaux de réservation===&lt;br /&gt;
Cela se fait en activant le champ additionnel spécifique [[Champs-métiers#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
===Initialisation de la gestion des alertes===&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
*Cliquer sur l'icône Édition (le crayon) :&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les potentiels (exemple 10 h, 0 h et -5 h)&lt;br /&gt;
**Régler les 3 seuils d'alerte pour les dates calendaire (exemple 15 jours, 8 jours et 0 jours)&lt;br /&gt;
&lt;br /&gt;
==Butées de maintenance==&lt;br /&gt;
*Aller sur '''Gestion &amp;gt; Ressources &amp;gt; Navigabilité'''&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|1200px|Tableau de bord maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
*Cliquer sur l'icône Modifier (le crayon) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_detail_fr.jpg|1200px|Maintenance]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:Prochaine butée calendaire : c'est la date qui servira de référence pour les alertes calendaires (ex : renouvèlement CDN). En attendant le module de gestion de la maintenance, le mécanicien gère lui-même la butée en mettant la butée selon son programme d'entretien&lt;br /&gt;
:Prochaine butée horaire : c'est le compte horaire de référence. Le programme soustrait de cette valeur le nombre d'heure de référence indiqué dans la page Aéronef et le temps de vols saisi par les pilotes pour définir le potentiel restant&lt;br /&gt;
:Seuil des alertes : Il y a 3 niveaux d'alerte horaire et calendaire à mettre selon les souhaits du mécanicien. L'alerte visualisée sur le cahier de réservation sera la première des échéances atteintes&lt;br /&gt;
Le programme calcule à chaque vol le total des heures de vol depuis la date d'initialisation (HdV) et affiche le potentiel restant (Pot) à gauche du cahier journalier et affiche sous chaque réservation le potentiel estimé (durée indiquée par l'utilisateur lors de la réservation ou 50% de la durée de la réservation en absence d'information)&lt;br /&gt;
	&amp;lt;SQL&amp;gt;Potentiel = Prochaine butée horaire - (Total des heures à la date de début + HdV)&amp;lt;/SQL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Le programme surveille ces 2 butées :&lt;br /&gt;
** Alerte visuelle si la date du jour approche les seuils de date calendaire.&lt;br /&gt;
** Alerte visuelle si on approche les seuils de fin de potentiel.&lt;br /&gt;
&lt;br /&gt;
Le survol de la souris sur le voyant indique si c'est la date ou le potentiel (ou les deux) qui a déclenché l'alerte&lt;br /&gt;
&lt;br /&gt;
* Il est conseillé de mettre à jour les valeurs d'initialisation une fois par an&lt;br /&gt;
&lt;br /&gt;
==Gestion des points fixes==&lt;br /&gt;
On appelle un point fixe le fait de faire tourner le moteur d'un aéronef pour en contrôler les paramètres sans que cela soit suivi d'un vol. Il s'agit d'une action prévue pour certaines opérations de maintenance.&lt;br /&gt;
&lt;br /&gt;
Pour les aéronefs équipés d'horamètres, le point fixe &amp;quot;fait tourner l'horamètre&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers préconise de ne pas saisir les points fixes en tant que vol car il n'y a pas de vol réalisé. Cela évite de d'impacter inutilement le potentiel de l'aéronef qui est normalement déterminé uniquement par les heures de vols.&lt;br /&gt;
 &lt;br /&gt;
Aussi, à l'issu d'un point fixe, la seule action à effectuer dans OpenFlyers consiste à mettre à jour le compteur :&lt;br /&gt;
*'''Gestion &amp;gt; Ressources &amp;gt; Actives'''&lt;br /&gt;
*Cliquer sur l’icône &amp;quot;Crayon&amp;quot; dans la colonne '''Actions''' de la ligne de l'aéronef concerné&lt;br /&gt;
*Mettre à jour le champ '''Dernier compteur enregistré'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors de la prochaine saisie d'heure de vol, le compteur départ correspondra au compteur mis à jour. Cela n'empêchera pas l'utilisateur de voir s'afficher ensuite une alerte mais il pourra vérifier sur le carnet de route ou sur tout autre document mis en place par la structure que cet écart est justifié. De la même façon, lors de la [[#Valider-une-activité|validation des activités]], l'écart de compteur ressortira et sera justifiable.&lt;br /&gt;
&lt;br /&gt;
==Modification des butées suite à un vol validé mal saisi==&lt;br /&gt;
Si un vol a été validé et que l'on se rencontre à posteriori qu'il a été mal saisi, il faut alors intervenir pour corriger les erreurs de calcul de potentiel restant qui en résultent. Pour cela, il y a plusieurs possibilités :&lt;br /&gt;
*Si le vol saisi initialement a une durée inférieure au vol réellement effectué : il faut saisir un vol complémentaire dont la durée correspond au temps de vol manquant.&lt;br /&gt;
*Si le vol saisi initialement a une durée supérieure au vol réellement effectué : il faut reprendre la procédure d'[[#Initialisation-de-la-gestion-des-potentiels|initialisation de la gestion des potentiels]] pour enlever au temps cellule initial le temps de vol décompté en trop de sorte à avoir un potentiel restant qui soit juste.&lt;br /&gt;
&lt;br /&gt;
Du fait de l'[[Comptabilité#Inaltérabilité-des-données|inaltérabilité des données]], il n'est pas possible de modifier une écriture validée.&lt;br /&gt;
&lt;br /&gt;
Il ne faut pas oublier de [[Utilisation-de-la-comptabilité#Annuler-l'effet-d'une-écriture-comptable|corriger comptablement l'effet des écritures]].&lt;br /&gt;
&lt;br /&gt;
=Types de composants=&lt;br /&gt;
Les types de composants sont répertoriés dans un catalogue tenu à jour par OpenFlyers. Chaque type de composant est caractérisé par son étiquette et sa catégorie. Il existe 4 catégories définies ci-dessous :&lt;br /&gt;
&lt;br /&gt;
==Documents==&lt;br /&gt;
Il s'agit des documents nécessaires pour la gestion et la traçabilité des activités de maintenance. Ils incluent les manuels de maintenance, les bulletins de service, les certificats de conformité, les rapports d'inspection, etc.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Manuels de maintenance de l'aéronef (AMM), Certificat d'Examens de Navigation (CEN), Assurance, Fiche de pesée, etc.&lt;br /&gt;
&lt;br /&gt;
==Éléments==&lt;br /&gt;
Il s'agit des composants physiques individuels ou des parties spécifiques de l'aéronef, comme les pièces de rechange, les sous-ensembles, ou les équipements spécifiques.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Un moteur, un hélice, un train d'atterrissage, des instruments de cockpit, etc.&lt;br /&gt;
&lt;br /&gt;
==Inspections==&lt;br /&gt;
Il s'agit des activités spécifiques de vérification et de contrôle des composants ou des systèmes de l'aéronef pour s'assurer qu'ils sont en bon état de fonctionnement et conformes aux normes de sécurité.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : Inspection de pré-vol, inspection de corrosion, contrôle non destructif (CND), etc.&lt;br /&gt;
&lt;br /&gt;
==Visites==&lt;br /&gt;
Il s'agit des visites planifiées pour la maintenance, qui peuvent inclure des vérifications générales, des réparations ou des remplacements de composants.&lt;br /&gt;
&lt;br /&gt;
'''Exemples''' : (50H, 100H, 600 H / 2 ANS, etc)&lt;/div&gt;</summary>
		<author><name>Lelhidam</name></author>
	</entry>
</feed>