<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://doc3-fr.openflyers.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Claratte</id>
		<title>Documentation de la solution web de gestion OpenFlyers version 3 - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://doc3-fr.openflyers.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Claratte"/>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/Sp%C3%A9cial:Contributions/Claratte"/>
		<updated>2026-05-25T01:47:00Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15286</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15286"/>
				<updated>2018-04-12T09:19:28Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-maintenance|Suivi de maintenance]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
*[[Structure de la base de données]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Contr%C3%B4le-d%27identification-par-OpenFlyers-pour-un-logiciel-tiers&amp;diff=15284</id>
		<title>Contrôle d'identification par OpenFlyers pour un logiciel tiers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Contr%C3%B4le-d%27identification-par-OpenFlyers-pour-un-logiciel-tiers&amp;diff=15284"/>
				<updated>2018-03-12T08:47:32Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Exemple de code PHP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page explique comment vérifier qu'un couple identifiant/mot de passe envoyé, par vos propres scripts, est conforme à la base de données d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le script retourne une valeur indiquant si la connexion, avec des identifiants données, a réussi et son état. Un cookie OpenFlyers est aussi retourné, permettant de gérer une session utilisateur sur votre site, en utilisant le compte utilisateur OpenFlyers de l'utilisateur connecté.&lt;br /&gt;
&lt;br /&gt;
=Comment ça marche=&lt;br /&gt;
Si votre plateforme OpenFlyers se situe sur le lien http://openflyers.com/nom-plateforme/, envoyez simplement une requête POST sur le lien http://openflyers.com/nom-plateforme/checkIdent.php avec comme paramètres les variables '''login''' et '''rawPassword'''.&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' Les versions 2 d'OpenFlyers ou plus nécessitent un mot de passe chiffré en MD5 (cf. la ligne $postData commentée ci-dessous, dans le script PHP).&lt;br /&gt;
&lt;br /&gt;
==Valeurs de retour possibles==&lt;br /&gt;
Le script retourne un chiffre parmi les suivant :&lt;br /&gt;
*0: OK&lt;br /&gt;
*1: OK mais plusieurs profils disponibles. OpenFlyers sélectionne automatiquement le meilleur profil.&lt;br /&gt;
*2: Expiré mais autorisé&lt;br /&gt;
*3: Expiré mais autorisé, avec un profil expiré&lt;br /&gt;
*4: Abonnement expiré, refusé&lt;br /&gt;
*5: Mauvais identifiants, refusé&lt;br /&gt;
*6: IP ou identifiants bloqués, refusé&lt;br /&gt;
*7: Aucun identifiant donné, ils sont demandés&lt;br /&gt;
&lt;br /&gt;
Nous vous recommandons de considérer un code de retour entre 0 et 2 comme bon et mauvais entre 3 et 7.&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' Vous devez filtrer les identifiants de connexion libres (sans droits) puisque pour OpenFlyers, ils correspondent à des accès autorisés !!!&lt;br /&gt;
&lt;br /&gt;
=JavaScript=&lt;br /&gt;
Si vous utilisez votre propre formulaire d'authentification, utilisez la fonction javascript submit_pwd() située dans \javascript\submitPwd.js .&lt;br /&gt;
&lt;br /&gt;
=Exemple de code PHP=&lt;br /&gt;
Voici un exemple de code PHP permettant d'envoyer une requête POST :&lt;br /&gt;
&amp;lt;php&amp;gt;// PHP 5.6 is required&lt;br /&gt;
function httpPostRequest($host, $path, $postData) {&lt;br /&gt;
    $result= &amp;quot;&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    $request = &amp;quot;POST $path HTTP/1.1\n&amp;quot;.&lt;br /&gt;
    &amp;quot;Host: $host\n&amp;quot;.&lt;br /&gt;
    (isset($referer) ? &amp;quot;Referer: $referer\n&amp;quot; : &amp;quot;&amp;quot;).&lt;br /&gt;
    &amp;quot;Content-type: Application/x-www-form-urlencoded\n&amp;quot;.&lt;br /&gt;
    &amp;quot;Content-length: &amp;quot;.strlen($postData).&amp;quot;\n&amp;quot;.&lt;br /&gt;
    &amp;quot;Connection: close\n\n&amp;quot;.&lt;br /&gt;
    $postData.&amp;quot;\n&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    // Some debug informations:&lt;br /&gt;
    print(&amp;quot;&amp;lt;pre&amp;gt;Request:\n&amp;quot;.htmlentities($request).&amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
    if ($fp = fsockopen($host, 443, $errno, $errstr, 3)) {&lt;br /&gt;
        // Set cryptology method&lt;br /&gt;
        // @link http://php.net/manual/en/function.stream-socket-enable-crypto.php&lt;br /&gt;
        if (!defined('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT')) {&lt;br /&gt;
            die('STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT IS REQUIRED');&lt;br /&gt;
        }&lt;br /&gt;
        $cryptoMethod = STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT;&lt;br /&gt;
        // Activate encryption while authenticating&lt;br /&gt;
        stream_socket_enable_crypto($fp, true, $cryptoMethod);&lt;br /&gt;
        if (fputs($fp, $request)) {&lt;br /&gt;
            while(! feof($fp)) {&lt;br /&gt;
                $result.= fgets($fp, 128);&lt;br /&gt;
            }&lt;br /&gt;
            // Deactivate encryption once authenticating done&lt;br /&gt;
            stream_socket_enable_crypto($fp, false);&lt;br /&gt;
            fclose($fp);&lt;br /&gt;
            //print($result);&lt;br /&gt;
            return $result;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$postData   = 'login=jbond&amp;amp;rawPassword='.md5('007');&lt;br /&gt;
$rawContent = httpPostRequest('openflyers.com','https://openflyers.com/plateform-name/checkIdent.php',$postData);&lt;br /&gt;
&lt;br /&gt;
list($header, $content) = explode(&amp;quot;\r\n\r\n&amp;quot;, $rawContent, 2);&lt;br /&gt;
list($byteQty, $realContent, $dummy) = explode(&amp;quot;\r\n&amp;quot;, $content, 3);&lt;br /&gt;
&lt;br /&gt;
// the answer is in $realContent&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Plugin d'authentification Joomla=&lt;br /&gt;
Si vous avez un site Joomla et que vous désirer de permettre aux utilisateurs OpenFlyers de se connecter à votre espace restreint Joomla, vous devriez ajouter ce plugin de manière à avoir une unique base de données de comptes utilisateurs : celle d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Vous n'avez pas besoin de mettre à jour votre base de données Joomla, ce plugin interroge directement OpenFlyers grâce au script PHP CheckIdent.php.&lt;br /&gt;
&lt;br /&gt;
*[[Media:Joomla_authentication_plugin.zip|Joomla plugin for OpenFlyers]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15283</id>
		<title>Bien débuter avec OpenFlyers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15283"/>
				<updated>2018-01-04T13:48:31Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Terminal de paiement électronique virtuel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chronologie parametrage 700px.png|right|link=#Chronologie-du-forfait-paramétrage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
La solution OpenFlyers permet de gérer l'ensemble de l'activité d'une structure autour de 2 éléments principaux :&lt;br /&gt;
*La réservation&lt;br /&gt;
*La gestion de l'activité réalisée (c'est à dire la gestion des heures de vols dans le cadre d'une activité aéronautique)&lt;br /&gt;
&lt;br /&gt;
La mise en place d'OpenFlyers au sein d'une structure peut se découper en 2 phases :&lt;br /&gt;
#La mise en place de la réservation qui est relativement simple à appréhender&lt;br /&gt;
#La mise en place de la gestion de l'activité qui nécessite un travail de fond pour bien définir les règles de gestion de la structure aussi bien en terme de politique de relation client qu'en terme de gestion comptable.&lt;br /&gt;
&lt;br /&gt;
=Recommandations=&lt;br /&gt;
==Attribuer les profils aux utilisateurs==&lt;br /&gt;
*Chaque utilisateur doit disposer d'au moins un profil. Il est recommandé de limiter le nombre de profils par utilisateur à 1 dans la mesure du possible sauf pour des cas particuliers et notamment pour l'attribution de profils &amp;quot;transparents&amp;quot; pour les utilisateurs qui appartiennent à des groupements comme les Comités d’Établissements (C.E.) ou représentant une catégorie spécifique devant être identifiée comme telle (exemple : les formateurs).&lt;br /&gt;
*Il ne faut jamais rester seul avec un profil &amp;quot;Admin&amp;quot;. Il est recommandé d'être 2 ou 3 personnes à disposer de ce profil. C'est une bonne pratique qui permet d'assurer la continuité d'activité en cas de problème. C'est même une question de bonne gouvernance.&lt;br /&gt;
*Il ne faut pas être plus de 2 ou 3 à disposer d'un profil &amp;quot;Admin&amp;quot;. En effet, il n'y a pas de raison qu'il y ait plus de 2 ou 3 personnes à disposer des droits pour intervenir sur l'intégralité de la plateforme. Cela crée des risques qu'une personne ne disposant pas de l'expertise fasse de mauvaises manipulations entrainant des coûts de restauration voir de perte de données si le problème n'est pas détecté suffisamment tôt.&lt;br /&gt;
*De même, les personnes disposant de profils de gestion larges (&amp;quot;Bureau&amp;quot;, &amp;quot;Gestionnaire&amp;quot;, etc.) doivent être en nombre limité. En général pas plus de 4 ou 5 personnes. Si les tâches de gestion doivent être réparties entre plusieurs personnes alors il vaut mieux scinder les droits sur des profils spécifiques. Exemple : un profil &amp;quot;Trésorier&amp;quot; ou &amp;quot;Comptable&amp;quot; d'un côté et un profil &amp;quot;Secrétariat&amp;quot; de l'autre.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la réservation=&lt;br /&gt;
La mise en place de la réservation nécessite de définir uniquement :&lt;br /&gt;
*Les profils et droits associés pour les utilisateurs&lt;br /&gt;
*Les règles concernant les réservations&lt;br /&gt;
*Les ressources (les aéronefs dans le cas d'une activité aéronautique)&lt;br /&gt;
*Éventuellement les validités afin de générer des alertes pour les utilisateurs à la connexion et/ou à la réservation &lt;br /&gt;
Le paramétrage et la mise en production de cette phase peut être très rapide et ne nécessite pas de date clé comme pour la mise en place de la gestion d'activité.&lt;br /&gt;
&lt;br /&gt;
L'import de données externe est également limité à importer uniquement le fichier des utilisateurs. Cependant, plus ce fichier sera complet au moment de l'import et moins de reprises manuelles seront nécessaires. Ainsi, des données comme l'adresse, la date de naissance ou le sexe de chaque utilisateur peuvent être incluses dans le fichier d'import.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en production des réservations est quasiment nul car il n'y a aucun mouvement comptable de généré et il n'y a pas d'export à effectuer par la suite : les réservations tournent en vase clos.&lt;br /&gt;
&lt;br /&gt;
La mise en place des réservations peut être effectuée indifféremment par l'équipe OpenFlyers dans le cadre du forfait paramétrage ou par un administrateur au sein de la structure cliente.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers=&lt;br /&gt;
La mise en place de la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers se fait à n'importe quel moment de l'année. Le passage en production se fait idéalement au 1er janvier pour bénéficier du changement d'exercice comptable et de la clôture de l'exercice précédent pour récupérer les à nouveaux des comptes, notamment ceux des comptes clients.&lt;br /&gt;
&lt;br /&gt;
La mise en place de la gestion d'activité doit être bien préparée. Car une fois en production, les données qui seront saisies généreront des écritures comptables qui seront éventuellement exportées vers un logiciel de comptabilité. Un mauvais paramétrage ou une mauvaise définition des besoins peut engendrer des erreurs latentes qui n'apparaitront pour certaines qu'à la fin du 1er exercice comptable si aucune vérification n'est effectuée d'ici là. Il sera alors difficile d'en retrouver l'origine et la correction des mauvaises écritures sera une tâche laborieuse et fastidieuse.&lt;br /&gt;
&lt;br /&gt;
C'est la raison pour laquelle nous avons défini un ordre chronologique des actions à effectuer afin de limiter tout risque d'erreur.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en place de la gestion d'activité restent également limités : OpenFlyers n'effectue aucune opération sur des comptes bancaires réels. Par conséquent toute erreur d'écriture comptable peut être corrigée à n'importe quel moment par une contre-écriture. Le point le plus critique que nous avons identifié concerne pour l'aéronautique le décompte des heures de vols par OpenFlyers qui permet de déterminer les visites de maintenance. De ce fait, il est important de bien tester et valider le mode de calcul et de décompte. Le logiciel en lui-même est largement éprouvé puisqu'il approche les 300.000 vols saisis en 5 ans sans aucun problème.&lt;br /&gt;
&lt;br /&gt;
La chronologie pour la mise en place de la gestion d'activité est présentée dans les paragraphes qui suivent.&lt;br /&gt;
==Définir le périmètre comptable géré par OpenFlyers==&lt;br /&gt;
OpenFlyers peut être utilisé de 3 façons différentes pour la gestion comptable.&lt;br /&gt;
===Gestion du chiffre d'affaire dans OpenFlyers===&lt;br /&gt;
La saisie de l'activité, et donc la génération du chiffre d'affaire au travers des factures clients et des écritures comptables, se fait dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Les comptes clients sont gérés par OpenFlyers.&lt;br /&gt;
===Gestion des charges dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire dans OpenFlyers]], dans ce cas, les factures fournisseurs sont également saisies dans OpenFlyers. L'ensemble des écritures courantes, c'est à dire celles qui impactent le compte d'exploitation, sont saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que les comptes de tiers sont à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Gestion comptable complète dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire]] et de la [[#Gestion_des_charges_dans_OpenFlyers|gestion des charges]] dans OpenFlyers, les écritures du bilan sont également saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que l'intégralité du plan comptable de la structure soit à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Impact sur les exports===&lt;br /&gt;
A noter que quelque soit le périmètre choisi, OpenFlyers pourra générer l'export comptable vers le logiciel comptable utilisé pour saisir les &amp;quot;autres&amp;quot; écritures. Il faut donc bien avoir conscience que la bonne et unique façon de fonctionner est la suivante :&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers n'est saisi '''que''' dans OpenFlyers&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers est saisi '''avant''' tout export&lt;br /&gt;
*On n'importe '''jamais''' dans OpenFlyers des données saisies dans un logiciel de comptabilité&lt;br /&gt;
Cela peut se résumer au principe d'hygiène de &amp;quot;la marche en avant&amp;quot; appliqué dans les cuisines pour les aliments : les données ne doivent jamais rebrousser chemin et ne doivent jamais se croiser.&lt;br /&gt;
&lt;br /&gt;
==Paramétrer la plateforme==&lt;br /&gt;
Nous recommandons vivement de déléguer cette opération à l'équipe OpenFlyers au travers du [[FAQ-client#Comment-fonctionne-le-forfait-paramétrage-?|forfait paramétrage]]. Les avantages sont les suivants :&lt;br /&gt;
*Vous gagnez du temps&lt;br /&gt;
*Vous tirez profit d'un paramétrage adapté à votre structure grâce à notre connaissance de votre métier&lt;br /&gt;
*Vous tirez profit de la puissance de la solution OpenFlyers grâce à notre maitrise de ses fonctionnalités&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez effectuer vous-même ce paramétrage, alors vous devez avoir reçu au préalable une [[Formations OpenFlyers|formation]] par la SARL OpenFlyers. Cette formation est indispensable afin d'avoir la garantie que le paramétrage que vous mettrez en œuvre sera fait dans l'esprit du logiciel OpenFlyers. Cela garantie la pérennité de votre paramétrage lors des mises à jour d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Forfait paramétrage===&lt;br /&gt;
Nous proposons un forfait paramétrage qui s'appuie sur un questionnaire détaillé complété par la structure cliente. Ce questionnaire est sous la forme d'un fichier tableur communiqué sous 2 formats (Excel et OpenOffice).&lt;br /&gt;
&lt;br /&gt;
Ce forfait paramétrage inclut toute la configuration d'OpenFlyers :&lt;br /&gt;
*Mise en place des ressources ;&lt;br /&gt;
*Création des profils utilisateurs ;&lt;br /&gt;
*Paramétrage du décompte du temps vol ;&lt;br /&gt;
*Mise en place de la comptabilité :&lt;br /&gt;
**Module de vente des produits ;&lt;br /&gt;
**Moteur de création des écritures comptables associées aux ventes (heures de vols, produits) ;&lt;br /&gt;
*Définition des validités (licences, qualifications, échéances administratives, légales, médicales, etc.) ;&lt;br /&gt;
*Mise en place des rapports types parmi ceux [http://doc-en.openflyers.com/index.php?title=Export_generator publiés].&lt;br /&gt;
&lt;br /&gt;
Nous attirons votre attention sur le moteur de création des écritures comptables qui permet d'automatiser toutes les écritures comptables qui doivent être générées lors d'une vente de produit. Grâce à sa puissance, nous mettons en place la ventilation automatique des facturations de groupement de clients comme les comités d'entreprises par exemple ou l'application de remises pour des catégories de clients.&lt;br /&gt;
&lt;br /&gt;
Le forfait paramétrage inclut également l'import des utilisateurs par le biais d'un fichier informatique au format OpenOffice ou Excel que nous vous communiquons et que vous nous retournez rempli. Il est possible de personnaliser cet import en reprenant tout ou partie, selon la compatibilité des champs, des extractions en provenance d'un autre logiciel de gestion. Dans ce cas, l'import des champs additionnels nécessite un travail supplémentaire, hors forfait paramétrage, qui est déduit des heures de bonus assistance/développement.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez retrouver le tarif du forfait paramétrage dans notre [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire] si vous êtes en abonnement &amp;quot;First Price&amp;quot;. Pour les abonnements supérieurs, le forfait paramétrage est inclus.&lt;br /&gt;
&lt;br /&gt;
====Chronologie du forfait paramétrage====&lt;br /&gt;
La procédure pour profiter du forfait paramétrage est la suivante :&lt;br /&gt;
#*Dans le cas où vous disposiez déjà d'un abonnement à une ancienne version 1.3 ou 2.1 d'OpenFlyers, vous devez d'abord nous demander de migrer votre plateforme sous version 3&lt;br /&gt;
#*Dans le cas où vous disposiez pas déjà d'une plateforme OpenFlyers, il vous faut d'abord la [[Créer-une-plateforme-OpenFlyers-pour-sa-structure|créer]].&lt;br /&gt;
#*Dans le cas où vous disposiez d'une plateforme OpenFlyers sous version à jour, il n'y a pas d'étape 1.&lt;br /&gt;
#Dans tous les cas, vous [[Créer-une-plateforme-OpenFlyers-pour-sa-structure#Prise_d'abonnement|créez les factures]] correspondantes le cas échéant (selon votre abonnement) puis vous les payez.&lt;br /&gt;
#Une fois que les factures générées sont acquittées (cela peut être immédiat en payant par carte bancaire) vous nous envoyez un e-mail pour nous en informer et on vous transmet par retour d'e-mail un questionnaire. Parallèlement à cela, si vous êtes en version 1.3 ou 2.1 nous programmons avec vous une mise à jour de votre plateforme.&lt;br /&gt;
#Vous nous retournez le questionnaire paramétrage rempli.&lt;br /&gt;
#Nous parcourons le questionnaire pour vérifier qu'il est complet. Si ce n'est pas le cas, nous vous demandons des précisions.&lt;br /&gt;
#Une fois que le questionnaire est retourné complet et que votre plateforme est sous version 3, nous nous engageons à mettre en place le paramétrage initial sous 15 jours hors période du 21 décembre au 5 janvier. Ainsi, si la période de paramétrage comprend une partie de cette période, alors la date limite de mise en place du paramétrage est reportée de 15 jours. Exemple : une date limite initiale qui tombe le 26/12 sera reportée au 10/01.&lt;br /&gt;
#Ce paramétrage sera suivi par une [[#Tester_la_configuration|validation par vos soins]] (en général des ajustements sont nécessaires). Nous vous enverrons un e-mail vous demandant de bien vouloir nous confirmer que le paramétrage effectué correspond à vos attentes. A défaut de réponse dans un délai de 1 mois, nous considérerons que le paramétrage effectué est bon.&lt;br /&gt;
#Une fois que vous aurez terminé la validation du paramétrage, nous pourrons procéder, à votre demande et sans frais supplémentaire, à une [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|suppression complète des écritures comptables et d'activités]] qui auront été saisies pour tester le paramétrage. Ce nettoyage peut être étendu aux réservations et/ou aux validités.&lt;br /&gt;
#Enfin, postérieurement au passage en production, nous vous enverrons, sur votre demande, un fichier .csv contenant la liste des utilisateurs pour que vous puissiez nous le retourner complété des soldes de compte afin que nous procédions à [[#Rapatrier_les_à_nouveaux_des_comptes_clients|l'import des à nouveaux des comptes clients]]. C'est aussi après le passage en production que vous pourrez initialiser les compteurs et potentiels des aéronefs.&lt;br /&gt;
&lt;br /&gt;
==Tester la configuration==&lt;br /&gt;
Avant de passer en production, il faut vérifier qu'il n'y a pas de &amp;quot;grosses erreurs&amp;quot;. Ces tests doivent se porter essentiellement sur les actions suivantes :&lt;br /&gt;
*Création d'utilisateurs&lt;br /&gt;
*Vérification que les comptes associés aux utilisateurs sont automatiquement créés&lt;br /&gt;
*Saisie des écritures types de l'activité&lt;br /&gt;
Dans le cas d'une activité aéronautique, cette saisie consiste à saisir des vols&lt;br /&gt;
*Vérification que les factures générées sont conformes à ce que l'on attend.&lt;br /&gt;
&lt;br /&gt;
En cas d'écart constaté, il faut nous remonter les anomalies par e-mail de façon la plus précise possible en suivant le [[Bien communiquer avec OpenFlyers#Rapporter_un_écart_de_paramétrage|guide de rapport d'anomalie de paramétrage]].&lt;br /&gt;
&lt;br /&gt;
Il est déconseillé d'utiliser le profil &amp;quot;Admin&amp;quot; pendant la période de test du paramétrage afin d'être certain de ne pas modifier ce qui a été configuré. Sans quoi, l'équipe OpenFlyers n'assure pas le support sur le travail réalisé. Il est néanmoins possible de se connecter avec le profil &amp;quot;Admin&amp;quot; pour &amp;quot;jeter un œil&amp;quot; sur le paramétrage.&lt;br /&gt;
&lt;br /&gt;
Une fois en production, le gestionnaire à toute latitude pour ne garder que le profil &amp;quot;Admin&amp;quot;. Néanmoins, là encore, il est déconseillé d'effectuer des modifications du paramétrage sans en maitriser les conséquences. Il vaut mieux demander à l'équipe OpenFlyers d'intervenir, notamment dans le cadre des [[Modèle commercial et compte client OpenFlyers#Bonus_assistance/développement|heures d'assistance]] ou réaliser des tests sur une [[#Plateforme_supplémentaire_de_test|plateforme &amp;quot;sandbox&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
==Nettoyer la base de données avant le passage en production==&lt;br /&gt;
Cette opération est effectuée par l'équipe OpenFlyers dans le cadre du forfait paramétrage. Elle consiste à supprimer toutes les écritures comptables, toutes les écritures d'activités (vols dans le cas d'une structure aéronautique) créées durant les tests de validation du paramétrage.&lt;br /&gt;
&lt;br /&gt;
De plus, il est également possible de réinitialiser les validités. Cela consiste à supprimer toutes les validités détenues par les utilisateurs. Cette opération n'est faisable que lorsqu'il s'agit d'une nouvelle plateforme qui n'était donc pas déjà en production sur la gestion des validités. De même, cette réinitialisation ne peut être effectuée si lors de l'import des utilisateurs, il a été procédé à l'import additionnel de validités.&lt;br /&gt;
&lt;br /&gt;
Enfin, si la structure n'était pas en production sur les réservations et que seules des réservations fictives ont été saisies, alors il est possible de réinitialiser également toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
Une fois ce nettoyage effectué, la structure est considérée comme en production et nous n'intervenons plus directement sur la base de données  pour y modifier ou supprimer des écritures comptables. [[Comptabilité#Traçabilité_des_écritures|Ce principe permet de garantir la confiance entre les parties prenantes]].&lt;br /&gt;
&lt;br /&gt;
Ce nettoyage doit être anticipé de plusieurs jours avant la date de mise en production théorique afin de laisser le temps à l'équipe OpenFlyers d'effectuer cette opération avec sérénité. Dans le cas où le passage en production réel est programmé pour le 1er janvier, alors il est recommandé de demander la réinitialisation de la base de données au moins une semaine avant la période des vacances de noël. En effet, '''pendant la période des vacances de Noël nous effectuons un embargo sur les réinitialisations de base de données''' car nous travaillons en effectif réduit et gardons un maximum de disponibilité pour assurer le suivi des clients en production. De plus, les jours fériés venant s'ajouter aux week-ends il est difficile de trouver des jours qui ne soient pas la veille d'un jour férié ou d'un week-end. Enfin, par expérience, toute réinitialisation effectuée sous la pression engendre des problèmes dues à des erreurs de traitement. Par conséquent, il vaut mieux retarder cette opération pour pouvoir l'effectuer sereinement plutôt que de générer des problèmes et des inquiétudes alors que les disponibilités et la concentration de chacun sont réduites du fait des fêtes de fin d'année.&lt;br /&gt;
&lt;br /&gt;
==Passer en production==&lt;br /&gt;
Le passage en production doit se faire à une date donnée et définie à l'avance, par exemple un 1er janvier. Cependant :&lt;br /&gt;
*Le 1er janvier personne ne travaille chez OpenFlyers et en général dans les structures clientes d'OpenFlyers. Il s'agit donc d'une date théorique.&lt;br /&gt;
*Le passage en production côté OpenFlyers est considéré à partir du moment où [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|la réinitialisation de la base de données a été faite]]. Cela peut remonter à plusieurs semaines à l'avance et il est recommandé d'[[#Nettoyer_la_base_de_données_avant_le_passage_en_production|anticiper cette phase]].&lt;br /&gt;
*Le passage en production côté structure peut avoir lieu en pratique que le 2, 3 ou 4 janvier pour une mise en production au 1er janvier. Les écritures comptables et d'activités seront saisies rétroactivement.&lt;br /&gt;
&lt;br /&gt;
Comptablement, cela suppose :&lt;br /&gt;
*Qu'avant cette date théorique, toutes les écritures ont été saisies dans l'ancien système de gestion utilisé&lt;br /&gt;
*A partir de cette date théorique, toutes les écritures seront saisies dans OpenFlyers&lt;br /&gt;
Il est primordiale de bien comprendre que les écritures comptables ne doivent être saisies que dans un seul système.&lt;br /&gt;
&lt;br /&gt;
Attention : A la date réelle du passage en production (par exemple 3 jours après la date théorique), il n'est pas encore possible d'exporter les soldes des comptes clients de l'ancien système de gestion car les écritures de l'exercice précédent n'ont pas encore été consolidées. Aussi, nous recommandons fortement de ne pas se précipiter pour rapatrier les soldes des comptes clients et de procéder en 2 temps :&lt;br /&gt;
#Passer en production sur la saisie des vols à la date convenue avec des à nouveaux de comptes clients à 0 (donc faux).&lt;br /&gt;
#Rapatrier ultérieurement les à nouveaux correspondant à la date de début d'exercice. Les à nouveaux s'inséreront dans les relevés de compte en début d'exercice correctement et les soldes des comptes clients deviendront alors juste.&lt;br /&gt;
&lt;br /&gt;
Le passage en production ne nécessite aucune action particulière si ce n'est de donner les droits de saisie aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Pour l'activité aéronautique :&lt;br /&gt;
*les premières saisies d'heures de vols mettront automatiquement à jour les compteurs des aéronefs.&lt;br /&gt;
*les validités avec expérience récente (par exemple &amp;quot;un vol tous les 3 mois&amp;quot;) ne devront être paramétrés comme bloquant que lorsque le passage en production sera effectif depuis une durée supérieure à la période de calcul des validités avec expérience récente (par exemple 3 mois dans l'exemple donné).&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, tant que les à nouveaux des comptes clients n'auront pas été rapatriés, le calcul du solde de leur compte sera faux. Il ne faut donc pas activer les blocages pour les soldes insuffisants, si cela est prévu, tant que les [[#Rapatrier_les_à_nouveaux|à nouveaux ne seront pas mis à jour]].&lt;br /&gt;
&lt;br /&gt;
Enfin, si la date de passage en production est prévue pour un 1er janvier, pensez au fait que votre structure n'est pas la seule dans ce cas. C'est la raison pour laquelle il faut prévoir un délai côté OpenFlyers pour la réinitialisation, un délai dans l'import des à nouveaux après cette date et également un délai dans le traitement des demandes de dernière minute.&lt;br /&gt;
&lt;br /&gt;
==Rapatrier les à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]]==&lt;br /&gt;
Le rapatriement des à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]] ne doit être effectué qu'une fois que la comptabilité de l'exercice précédent a été consolidée et validée. Cette opération s'effectue donc après le passage en production et peut nécessiter plusieurs semaines dans le cas de consolidation ou de vérifications nécessitant du temps sur l'ancien système de gestion.&lt;br /&gt;
&lt;br /&gt;
L'étendu des soldes de comptes à importer diffère suivant le [[#Définir_le_périmètre_comptable_géré_par_OpenFlyers|périmètre de gestion par OpenFlyers retenu par la structure]] :&lt;br /&gt;
#Dans le cas où [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|OpenFlyers gère seulement le chiffre d'affaire]], il faut importer uniquement les à nouveaux des comptes clients&lt;br /&gt;
#Dans le cas où [[#Gestion_des_charges_dans_OpenFlyers|OpenFlyers gère en plus les charges]], il faut importer également les à nouveaux des comptes fournisseurs et des comptes financiers&lt;br /&gt;
#Dans le cas où [[#Gestion_comptable_complète_dans_OpenFlyers|OpenFlyers gère toute la comptabilité]], il faut importer l'intégralité des comptes du bilan&lt;br /&gt;
&lt;br /&gt;
Dans les cas 2 et 3, l'import des comptes de bilan qui ne sont pas des comptes clients, doit s'[[Écritures comptables#Solde_de_compte_de_bilan|effectuer manuellement]].&lt;br /&gt;
&lt;br /&gt;
Dans le 3ème cas, les comptes du bilan qui ne correspondent pas aux clients, fournisseurs ou aux comptes financier peuvent être importés ultérieurement. En effet, il n'y a besoin d'effectuer des contrôles réguliers que sur les comptes financiers et les comptes de tiers.&lt;br /&gt;
===Rapatrier les à nouveaux des comptes clients===&lt;br /&gt;
La meilleure méthode pour initialiser le solde des comptes clients est d'importer un fichier csv contenant le solde de chaque compte client avec les références du client.&lt;br /&gt;
&lt;br /&gt;
Dans le cadre du forfait paramétrage, nous recommandons de confier cette opération à l'équipe OpenFlyers. Nous vous communiquerons un fichier préformaté au format csv. Il vous faudra juste nous le retourner en ayant renseigné les soldes des comptes clients et en nous indiquant la date comptable retenue pour l'import.&lt;br /&gt;
&lt;br /&gt;
Le rapatriement des à nouveaux s'effectue conformément à la pratique comptable : il s'agit d'une [[Écritures comptables#Solde_de_compte_de_bilan|écriture qui vient débiter ou créditer le compte de l'utilisateur concerné à une date comptable choisie et dont la contre-partie va sur le compte de report à nouveau]].&lt;br /&gt;
&lt;br /&gt;
Voici un exemple :&lt;br /&gt;
&lt;br /&gt;
*La structure passe en production au 1er mai. A cette date, l'import n'est pas effectué. Les soldes de tous les comptes sont à 0 car aucune écriture comptable n'a encore été enregistrée.&lt;br /&gt;
*Un utilisateur X effectue une activité le 3 mai qui génère une facture client et donc un débit sur son compte de 200 €.&lt;br /&gt;
Ainsi, le compte de l'utilisateur X au 3 mai se présente ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!200.00 €!!000.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*L'import des à nouveaux s'effectue réellement le 15 mai à la date comptable du 1er mai. Dans la comptabilité précédente, l'utilisateur X présentait au 30 avril un solde positif de 300 €. L'import va donc générer une écriture au crédit sur son compte de 300 € à la date du 1er mai. Après import des à nouveaux, le compte de l'utilisateur X se présentera ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|01/05/xx||Import à nouveau||000.00 €||300.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!000.00 €!!100.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[[#Workflow|Mettre en place un workflow adapté à OpenFlyers]]==&lt;br /&gt;
Une fois en production, OpenFlyers recommande de [[#Workflow|mettre en place un workflow adapté au logiciel]] afin d'en faciliter l'usage et de respecter les bonnes pratiques en terme de suivi d'activité.&lt;br /&gt;
&lt;br /&gt;
=Terminal de paiement électronique virtuel=&lt;br /&gt;
[[OF_doc4-fr:Bien-débuter-avec-OpenFlyers#Terminal-de-paiement-électronique-virtuel|Voir la documentation de la version 4]].&lt;br /&gt;
&lt;br /&gt;
=Workflow=&lt;br /&gt;
L'utilisation du logiciel OpenFlyers nécessite la mise en place d'une chronologie des actions quotidiennes et annuelles.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions quotidiennes==&lt;br /&gt;
*Le première action chronologique concerne la réservation qui intervient en amont de la réalisation d'une activité.&lt;br /&gt;
*Ensuite, vient la saisie d'activité qui se fait soit :&lt;br /&gt;
**en 2 phases :&lt;br /&gt;
***Ouverture de l'activité avant de débuter l'activité&lt;br /&gt;
***Puis fermeture de l'activité après la réalisation de l'activité&lt;br /&gt;
**en 1 phase :&lt;br /&gt;
***Fermeture de l'activité qui se fait à l'issue de la réalisation de l'activité&lt;br /&gt;
&lt;br /&gt;
Dans le cas des activités aéronautiques, nous recommandons de donner comme consigne aux pilotes de saisir les vols dans OpenFlyers et ensuite de recopier les valeurs affichées par OpenFlyers sur le carnet de route. En effet, le document qui fait foi est le carnet de route. Cependant, c'est OpenFlyers qui est normalement utilisé pour faire le total des heures dans le cadre du suivi de la maintenance. De ce fait, il est important que les données dans OpenFlyers et sur le carnet de route correspondent rigoureusement. Or, le risque d'erreur est plus faible lorsqu'on recopie des éléments affichés sur un écran plutôt que si on recopie sur un écran des éléments écrits sur un papier. En plus, OpenFlyers fait des calculs automatiquement. En saisissant d'abord sur OpenFlyers, le pilote n'a plus à faire de calcul. Il s'évite ainsi une source d'erreur.&lt;br /&gt;
&lt;br /&gt;
Quelque soit le mode de saisie (ouverture+fermeture ou fermeture uniquement), c'est la saisie de la fermeture qui déclenche la facturation. L'ouverture de l'activité permet d'informer les autres utilisateurs :&lt;br /&gt;
*de la prise en compte d'une ressource et donc de son indisponibilité pour une autre activité&lt;br /&gt;
*des intentions au cours de la réalisation de l'activité&lt;br /&gt;
*du temps d'utilisation prévu (et donc de l'horaire de retour prévu)&lt;br /&gt;
*du trajet prévu&lt;br /&gt;
Ces informations peuvent être utiles dans un but de sécurité.&lt;br /&gt;
&lt;br /&gt;
A noter que la facturation peut être déclenchée en amont au vu des réservations et non pas de la réalisation de l'activité.&lt;br /&gt;
&lt;br /&gt;
Un autre élément du workflow concerne l'encaissement des paiements des utilisateurs ou la vente de produits. Ces opérations sont déconnectées de la chronologie réservation/réalisation d'une activité.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions hebdomadaires/mensuelles==&lt;br /&gt;
En aval de la réalisation de l'activité, intervient les actions liées à la comptabilité. Il est indispensable de suivre la démarche suivante pour garantir la confiance des parties prenantes (utilisateurs, gestionnaires et l'éditeur du logiciel OpenFlyers).&lt;br /&gt;
&lt;br /&gt;
===Validation des écritures===&lt;br /&gt;
Il faut valider régulièrement l'ensemble des écritures par pointage systématique. Cela concerne :&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_de_l'activité|validation des saisies d'activités]]&lt;br /&gt;
*La [[Gestion des produits et des ventes#Validation_d'un_panier_par_un_utilisateur|validation des ventes de produits]].&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_des_encaissements|validation des encaissements]]&lt;br /&gt;
*La [[Utilisation de la comptabilité#Validation_d'un_flux|validation des saisies de flux comptables divers]].&lt;br /&gt;
Cette validation doit être adaptée en fonction de la taille de la structure et des ressources humaines disponibles pour effectuer cette tâche. Dans une petite structure, une validation tous les mois est acceptable, dans une grande structure, une validation toutes les semaines est recommandée. &lt;br /&gt;
&lt;br /&gt;
Concernant la validation des saisies d'activités comme par exemple les vols effectués sur les aéronefs, cette dernière doit être effectuée au plus tard, pour un aéronef considéré, avant la pose d'une APRS (Approbation Pour Remise en Service) afin de garantir le bon calcul des heures de vols de l'aéronef concerné.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des ventes de produits, cette dernière doit être faite en fonction du type de produit vendu. S'il s'agit d'un produit physique remis en main propre, alors la validation devrait avoir lieu lors de la remise du produit. S'il s'agit d'un produit immatériel, comme des packs d'heures d'activité, alors la validation devrait être décaler de quelques jours, voir d'une semaine, afin de permettre au client d'exercer son droit de rétractation. Néanmoins, cette validation doit intervenir à intervalle régulier pour éviter toute abus de la part des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des encaissements, cette dernière s'effectue normalement lors du pointage du type d'encaissement considéré. Ainsi pour les chèques, cela permet de générer le bordereau de remise pour la banque.&lt;br /&gt;
&lt;br /&gt;
Concernant les flux comptables divers, dès qu'ils touchent un compte client, ils devraient être validés au plus tôt afin de garantir au client qu'il n'y aura pas de &amp;quot;disparition&amp;quot; à posteriori de ce flux. Si par la suite une erreur est détectée sur ce flux, il suffira de saisir un flux correctif permettant d'annuler l'erreur. Cette pratique assure la traçabilité des écritures.&lt;br /&gt;
&lt;br /&gt;
===Saisie des factures/paiements fournisseurs===&lt;br /&gt;
La saisie des factures fournisseurs et de leur paiement sont à effectuer si la structure a décidé de [[#Gestion_des_charges_dans_OpenFlyers|gérer les charges]] dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Nous recommandons :&lt;br /&gt;
*De [[Gestion des achats#Saisie_d'une_facture_fournisseur|saisir les factures fournisseurs après leur paiement]].&lt;br /&gt;
*D'effectuer la [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisie des paiements fournisseurs au vu du relevé de banque]], donc normalement, une fois par mois.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions annuelles==&lt;br /&gt;
===Validation des charges===&lt;br /&gt;
Lorsque les charges sont gérées dans OpenFlyers, nous recommandons de valider les factures et les paiements fournisseurs juste avant la clôture de la comptabilité.&lt;br /&gt;
&lt;br /&gt;
En effet, il n'est pas utile de les valider plus tôt car :&lt;br /&gt;
*Ils n'ont pas d'impact sur les utilisateurs.&lt;br /&gt;
*Il est préférable d'attendre que les comptes de trésorerie soient réputés exactes et que le solde des comptes fournisseurs aient été vérifiés. Cela laisse la possibilité de modifier une saisie de facture ou de paiement fournisseur qui aurait été mal ventilée.&lt;br /&gt;
&lt;br /&gt;
===Clôture/ouverture de l'exercice comptable===&lt;br /&gt;
Lors du changement d'exercice comptable, il est nécessaire d'effectuer certaines opérations comptables dans OpenFlyers et de procéder à la clôture de l'exercice précédent.&lt;br /&gt;
&lt;br /&gt;
Ces opérations n'ont pas besoin d'être effectuées dès le changement d'exercice. En effet, il est possible de continuer à saisir sur le nouvel exercice sans que le précédent soit clôturer.&lt;br /&gt;
&lt;br /&gt;
De plus, ces opérations nécessitent un paramétrage préalable de la plateforme afin de garantir que les écritures comptables seront correctement exportées dans un ou plusieurs fichiers en vu de leur archivage ou de leur import dans un logiciel de comptabilité.&lt;br /&gt;
&lt;br /&gt;
Un mécanisme de vérification en place dans le logiciel OpenFlyers empêche de désactiver tout compte dont le solde n'est pas nul et dont les écritures n'ont pas été exportées. Cela permet de garantir qu'on garde la &amp;quot;vue&amp;quot; sur tout ce qui impacte le compte d'exploitation en cours et le bilan.&lt;br /&gt;
&lt;br /&gt;
En corolaire, il n'est donc possible de désactiver des utilisateurs ou des ressources que lorsque leurs comptes sont eux-mêmes désactivables.&lt;br /&gt;
&lt;br /&gt;
Aussi, nous recommandons de fixer une politique de gestion des utilisateurs consistant à n'effectuer d'opération de &amp;quot;désactivation&amp;quot; qu'après un décalage d'une ou plusieurs années sans présence dans la structure. Il est judicieux de fixer ce décalage dans tout document contractuel comme les conditions générales de ventes, les statuts ou règlements intérieurs. Ainsi, la &amp;quot;mise à 0&amp;quot; du solde du compte en passant en &amp;quot;pertes et profits&amp;quot; ne pourra être remis en cause par l'utilisateur ou le client à posteriori.&lt;br /&gt;
&lt;br /&gt;
[[Utilisation de la comptabilité#Actions_à_effectuer_par_ordre_chronologique|Voir les procédures correspondantes]].&lt;br /&gt;
&lt;br /&gt;
=[[Créer une plateforme OpenFlyers pour sa structure]]=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15282</id>
		<title>Bien débuter avec OpenFlyers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15282"/>
				<updated>2018-01-04T13:47:33Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* TPE virtuel et test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chronologie parametrage 700px.png|right|link=#Chronologie-du-forfait-paramétrage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
La solution OpenFlyers permet de gérer l'ensemble de l'activité d'une structure autour de 2 éléments principaux :&lt;br /&gt;
*La réservation&lt;br /&gt;
*La gestion de l'activité réalisée (c'est à dire la gestion des heures de vols dans le cadre d'une activité aéronautique)&lt;br /&gt;
&lt;br /&gt;
La mise en place d'OpenFlyers au sein d'une structure peut se découper en 2 phases :&lt;br /&gt;
#La mise en place de la réservation qui est relativement simple à appréhender&lt;br /&gt;
#La mise en place de la gestion de l'activité qui nécessite un travail de fond pour bien définir les règles de gestion de la structure aussi bien en terme de politique de relation client qu'en terme de gestion comptable.&lt;br /&gt;
&lt;br /&gt;
=Recommandations=&lt;br /&gt;
==Attribuer les profils aux utilisateurs==&lt;br /&gt;
*Chaque utilisateur doit disposer d'au moins un profil. Il est recommandé de limiter le nombre de profils par utilisateur à 1 dans la mesure du possible sauf pour des cas particuliers et notamment pour l'attribution de profils &amp;quot;transparents&amp;quot; pour les utilisateurs qui appartiennent à des groupements comme les Comités d’Établissements (C.E.) ou représentant une catégorie spécifique devant être identifiée comme telle (exemple : les formateurs).&lt;br /&gt;
*Il ne faut jamais rester seul avec un profil &amp;quot;Admin&amp;quot;. Il est recommandé d'être 2 ou 3 personnes à disposer de ce profil. C'est une bonne pratique qui permet d'assurer la continuité d'activité en cas de problème. C'est même une question de bonne gouvernance.&lt;br /&gt;
*Il ne faut pas être plus de 2 ou 3 à disposer d'un profil &amp;quot;Admin&amp;quot;. En effet, il n'y a pas de raison qu'il y ait plus de 2 ou 3 personnes à disposer des droits pour intervenir sur l'intégralité de la plateforme. Cela crée des risques qu'une personne ne disposant pas de l'expertise fasse de mauvaises manipulations entrainant des coûts de restauration voir de perte de données si le problème n'est pas détecté suffisamment tôt.&lt;br /&gt;
*De même, les personnes disposant de profils de gestion larges (&amp;quot;Bureau&amp;quot;, &amp;quot;Gestionnaire&amp;quot;, etc.) doivent être en nombre limité. En général pas plus de 4 ou 5 personnes. Si les tâches de gestion doivent être réparties entre plusieurs personnes alors il vaut mieux scinder les droits sur des profils spécifiques. Exemple : un profil &amp;quot;Trésorier&amp;quot; ou &amp;quot;Comptable&amp;quot; d'un côté et un profil &amp;quot;Secrétariat&amp;quot; de l'autre.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la réservation=&lt;br /&gt;
La mise en place de la réservation nécessite de définir uniquement :&lt;br /&gt;
*Les profils et droits associés pour les utilisateurs&lt;br /&gt;
*Les règles concernant les réservations&lt;br /&gt;
*Les ressources (les aéronefs dans le cas d'une activité aéronautique)&lt;br /&gt;
*Éventuellement les validités afin de générer des alertes pour les utilisateurs à la connexion et/ou à la réservation &lt;br /&gt;
Le paramétrage et la mise en production de cette phase peut être très rapide et ne nécessite pas de date clé comme pour la mise en place de la gestion d'activité.&lt;br /&gt;
&lt;br /&gt;
L'import de données externe est également limité à importer uniquement le fichier des utilisateurs. Cependant, plus ce fichier sera complet au moment de l'import et moins de reprises manuelles seront nécessaires. Ainsi, des données comme l'adresse, la date de naissance ou le sexe de chaque utilisateur peuvent être incluses dans le fichier d'import.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en production des réservations est quasiment nul car il n'y a aucun mouvement comptable de généré et il n'y a pas d'export à effectuer par la suite : les réservations tournent en vase clos.&lt;br /&gt;
&lt;br /&gt;
La mise en place des réservations peut être effectuée indifféremment par l'équipe OpenFlyers dans le cadre du forfait paramétrage ou par un administrateur au sein de la structure cliente.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers=&lt;br /&gt;
La mise en place de la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers se fait à n'importe quel moment de l'année. Le passage en production se fait idéalement au 1er janvier pour bénéficier du changement d'exercice comptable et de la clôture de l'exercice précédent pour récupérer les à nouveaux des comptes, notamment ceux des comptes clients.&lt;br /&gt;
&lt;br /&gt;
La mise en place de la gestion d'activité doit être bien préparée. Car une fois en production, les données qui seront saisies généreront des écritures comptables qui seront éventuellement exportées vers un logiciel de comptabilité. Un mauvais paramétrage ou une mauvaise définition des besoins peut engendrer des erreurs latentes qui n'apparaitront pour certaines qu'à la fin du 1er exercice comptable si aucune vérification n'est effectuée d'ici là. Il sera alors difficile d'en retrouver l'origine et la correction des mauvaises écritures sera une tâche laborieuse et fastidieuse.&lt;br /&gt;
&lt;br /&gt;
C'est la raison pour laquelle nous avons défini un ordre chronologique des actions à effectuer afin de limiter tout risque d'erreur.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en place de la gestion d'activité restent également limités : OpenFlyers n'effectue aucune opération sur des comptes bancaires réels. Par conséquent toute erreur d'écriture comptable peut être corrigée à n'importe quel moment par une contre-écriture. Le point le plus critique que nous avons identifié concerne pour l'aéronautique le décompte des heures de vols par OpenFlyers qui permet de déterminer les visites de maintenance. De ce fait, il est important de bien tester et valider le mode de calcul et de décompte. Le logiciel en lui-même est largement éprouvé puisqu'il approche les 300.000 vols saisis en 5 ans sans aucun problème.&lt;br /&gt;
&lt;br /&gt;
La chronologie pour la mise en place de la gestion d'activité est présentée dans les paragraphes qui suivent.&lt;br /&gt;
==Définir le périmètre comptable géré par OpenFlyers==&lt;br /&gt;
OpenFlyers peut être utilisé de 3 façons différentes pour la gestion comptable.&lt;br /&gt;
===Gestion du chiffre d'affaire dans OpenFlyers===&lt;br /&gt;
La saisie de l'activité, et donc la génération du chiffre d'affaire au travers des factures clients et des écritures comptables, se fait dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Les comptes clients sont gérés par OpenFlyers.&lt;br /&gt;
===Gestion des charges dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire dans OpenFlyers]], dans ce cas, les factures fournisseurs sont également saisies dans OpenFlyers. L'ensemble des écritures courantes, c'est à dire celles qui impactent le compte d'exploitation, sont saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que les comptes de tiers sont à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Gestion comptable complète dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire]] et de la [[#Gestion_des_charges_dans_OpenFlyers|gestion des charges]] dans OpenFlyers, les écritures du bilan sont également saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que l'intégralité du plan comptable de la structure soit à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Impact sur les exports===&lt;br /&gt;
A noter que quelque soit le périmètre choisi, OpenFlyers pourra générer l'export comptable vers le logiciel comptable utilisé pour saisir les &amp;quot;autres&amp;quot; écritures. Il faut donc bien avoir conscience que la bonne et unique façon de fonctionner est la suivante :&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers n'est saisi '''que''' dans OpenFlyers&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers est saisi '''avant''' tout export&lt;br /&gt;
*On n'importe '''jamais''' dans OpenFlyers des données saisies dans un logiciel de comptabilité&lt;br /&gt;
Cela peut se résumer au principe d'hygiène de &amp;quot;la marche en avant&amp;quot; appliqué dans les cuisines pour les aliments : les données ne doivent jamais rebrousser chemin et ne doivent jamais se croiser.&lt;br /&gt;
&lt;br /&gt;
==Paramétrer la plateforme==&lt;br /&gt;
Nous recommandons vivement de déléguer cette opération à l'équipe OpenFlyers au travers du [[FAQ-client#Comment-fonctionne-le-forfait-paramétrage-?|forfait paramétrage]]. Les avantages sont les suivants :&lt;br /&gt;
*Vous gagnez du temps&lt;br /&gt;
*Vous tirez profit d'un paramétrage adapté à votre structure grâce à notre connaissance de votre métier&lt;br /&gt;
*Vous tirez profit de la puissance de la solution OpenFlyers grâce à notre maitrise de ses fonctionnalités&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez effectuer vous-même ce paramétrage, alors vous devez avoir reçu au préalable une [[Formations OpenFlyers|formation]] par la SARL OpenFlyers. Cette formation est indispensable afin d'avoir la garantie que le paramétrage que vous mettrez en œuvre sera fait dans l'esprit du logiciel OpenFlyers. Cela garantie la pérennité de votre paramétrage lors des mises à jour d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Forfait paramétrage===&lt;br /&gt;
Nous proposons un forfait paramétrage qui s'appuie sur un questionnaire détaillé complété par la structure cliente. Ce questionnaire est sous la forme d'un fichier tableur communiqué sous 2 formats (Excel et OpenOffice).&lt;br /&gt;
&lt;br /&gt;
Ce forfait paramétrage inclut toute la configuration d'OpenFlyers :&lt;br /&gt;
*Mise en place des ressources ;&lt;br /&gt;
*Création des profils utilisateurs ;&lt;br /&gt;
*Paramétrage du décompte du temps vol ;&lt;br /&gt;
*Mise en place de la comptabilité :&lt;br /&gt;
**Module de vente des produits ;&lt;br /&gt;
**Moteur de création des écritures comptables associées aux ventes (heures de vols, produits) ;&lt;br /&gt;
*Définition des validités (licences, qualifications, échéances administratives, légales, médicales, etc.) ;&lt;br /&gt;
*Mise en place des rapports types parmi ceux [http://doc-en.openflyers.com/index.php?title=Export_generator publiés].&lt;br /&gt;
&lt;br /&gt;
Nous attirons votre attention sur le moteur de création des écritures comptables qui permet d'automatiser toutes les écritures comptables qui doivent être générées lors d'une vente de produit. Grâce à sa puissance, nous mettons en place la ventilation automatique des facturations de groupement de clients comme les comités d'entreprises par exemple ou l'application de remises pour des catégories de clients.&lt;br /&gt;
&lt;br /&gt;
Le forfait paramétrage inclut également l'import des utilisateurs par le biais d'un fichier informatique au format OpenOffice ou Excel que nous vous communiquons et que vous nous retournez rempli. Il est possible de personnaliser cet import en reprenant tout ou partie, selon la compatibilité des champs, des extractions en provenance d'un autre logiciel de gestion. Dans ce cas, l'import des champs additionnels nécessite un travail supplémentaire, hors forfait paramétrage, qui est déduit des heures de bonus assistance/développement.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez retrouver le tarif du forfait paramétrage dans notre [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire] si vous êtes en abonnement &amp;quot;First Price&amp;quot;. Pour les abonnements supérieurs, le forfait paramétrage est inclus.&lt;br /&gt;
&lt;br /&gt;
====Chronologie du forfait paramétrage====&lt;br /&gt;
La procédure pour profiter du forfait paramétrage est la suivante :&lt;br /&gt;
#*Dans le cas où vous disposiez déjà d'un abonnement à une ancienne version 1.3 ou 2.1 d'OpenFlyers, vous devez d'abord nous demander de migrer votre plateforme sous version 3&lt;br /&gt;
#*Dans le cas où vous disposiez pas déjà d'une plateforme OpenFlyers, il vous faut d'abord la [[Créer-une-plateforme-OpenFlyers-pour-sa-structure|créer]].&lt;br /&gt;
#*Dans le cas où vous disposiez d'une plateforme OpenFlyers sous version à jour, il n'y a pas d'étape 1.&lt;br /&gt;
#Dans tous les cas, vous [[Créer-une-plateforme-OpenFlyers-pour-sa-structure#Prise_d'abonnement|créez les factures]] correspondantes le cas échéant (selon votre abonnement) puis vous les payez.&lt;br /&gt;
#Une fois que les factures générées sont acquittées (cela peut être immédiat en payant par carte bancaire) vous nous envoyez un e-mail pour nous en informer et on vous transmet par retour d'e-mail un questionnaire. Parallèlement à cela, si vous êtes en version 1.3 ou 2.1 nous programmons avec vous une mise à jour de votre plateforme.&lt;br /&gt;
#Vous nous retournez le questionnaire paramétrage rempli.&lt;br /&gt;
#Nous parcourons le questionnaire pour vérifier qu'il est complet. Si ce n'est pas le cas, nous vous demandons des précisions.&lt;br /&gt;
#Une fois que le questionnaire est retourné complet et que votre plateforme est sous version 3, nous nous engageons à mettre en place le paramétrage initial sous 15 jours hors période du 21 décembre au 5 janvier. Ainsi, si la période de paramétrage comprend une partie de cette période, alors la date limite de mise en place du paramétrage est reportée de 15 jours. Exemple : une date limite initiale qui tombe le 26/12 sera reportée au 10/01.&lt;br /&gt;
#Ce paramétrage sera suivi par une [[#Tester_la_configuration|validation par vos soins]] (en général des ajustements sont nécessaires). Nous vous enverrons un e-mail vous demandant de bien vouloir nous confirmer que le paramétrage effectué correspond à vos attentes. A défaut de réponse dans un délai de 1 mois, nous considérerons que le paramétrage effectué est bon.&lt;br /&gt;
#Une fois que vous aurez terminé la validation du paramétrage, nous pourrons procéder, à votre demande et sans frais supplémentaire, à une [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|suppression complète des écritures comptables et d'activités]] qui auront été saisies pour tester le paramétrage. Ce nettoyage peut être étendu aux réservations et/ou aux validités.&lt;br /&gt;
#Enfin, postérieurement au passage en production, nous vous enverrons, sur votre demande, un fichier .csv contenant la liste des utilisateurs pour que vous puissiez nous le retourner complété des soldes de compte afin que nous procédions à [[#Rapatrier_les_à_nouveaux_des_comptes_clients|l'import des à nouveaux des comptes clients]]. C'est aussi après le passage en production que vous pourrez initialiser les compteurs et potentiels des aéronefs.&lt;br /&gt;
&lt;br /&gt;
==Tester la configuration==&lt;br /&gt;
Avant de passer en production, il faut vérifier qu'il n'y a pas de &amp;quot;grosses erreurs&amp;quot;. Ces tests doivent se porter essentiellement sur les actions suivantes :&lt;br /&gt;
*Création d'utilisateurs&lt;br /&gt;
*Vérification que les comptes associés aux utilisateurs sont automatiquement créés&lt;br /&gt;
*Saisie des écritures types de l'activité&lt;br /&gt;
Dans le cas d'une activité aéronautique, cette saisie consiste à saisir des vols&lt;br /&gt;
*Vérification que les factures générées sont conformes à ce que l'on attend.&lt;br /&gt;
&lt;br /&gt;
En cas d'écart constaté, il faut nous remonter les anomalies par e-mail de façon la plus précise possible en suivant le [[Bien communiquer avec OpenFlyers#Rapporter_un_écart_de_paramétrage|guide de rapport d'anomalie de paramétrage]].&lt;br /&gt;
&lt;br /&gt;
Il est déconseillé d'utiliser le profil &amp;quot;Admin&amp;quot; pendant la période de test du paramétrage afin d'être certain de ne pas modifier ce qui a été configuré. Sans quoi, l'équipe OpenFlyers n'assure pas le support sur le travail réalisé. Il est néanmoins possible de se connecter avec le profil &amp;quot;Admin&amp;quot; pour &amp;quot;jeter un œil&amp;quot; sur le paramétrage.&lt;br /&gt;
&lt;br /&gt;
Une fois en production, le gestionnaire à toute latitude pour ne garder que le profil &amp;quot;Admin&amp;quot;. Néanmoins, là encore, il est déconseillé d'effectuer des modifications du paramétrage sans en maitriser les conséquences. Il vaut mieux demander à l'équipe OpenFlyers d'intervenir, notamment dans le cadre des [[Modèle commercial et compte client OpenFlyers#Bonus_assistance/développement|heures d'assistance]] ou réaliser des tests sur une [[#Plateforme_supplémentaire_de_test|plateforme &amp;quot;sandbox&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
==Nettoyer la base de données avant le passage en production==&lt;br /&gt;
Cette opération est effectuée par l'équipe OpenFlyers dans le cadre du forfait paramétrage. Elle consiste à supprimer toutes les écritures comptables, toutes les écritures d'activités (vols dans le cas d'une structure aéronautique) créées durant les tests de validation du paramétrage.&lt;br /&gt;
&lt;br /&gt;
De plus, il est également possible de réinitialiser les validités. Cela consiste à supprimer toutes les validités détenues par les utilisateurs. Cette opération n'est faisable que lorsqu'il s'agit d'une nouvelle plateforme qui n'était donc pas déjà en production sur la gestion des validités. De même, cette réinitialisation ne peut être effectuée si lors de l'import des utilisateurs, il a été procédé à l'import additionnel de validités.&lt;br /&gt;
&lt;br /&gt;
Enfin, si la structure n'était pas en production sur les réservations et que seules des réservations fictives ont été saisies, alors il est possible de réinitialiser également toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
Une fois ce nettoyage effectué, la structure est considérée comme en production et nous n'intervenons plus directement sur la base de données  pour y modifier ou supprimer des écritures comptables. [[Comptabilité#Traçabilité_des_écritures|Ce principe permet de garantir la confiance entre les parties prenantes]].&lt;br /&gt;
&lt;br /&gt;
Ce nettoyage doit être anticipé de plusieurs jours avant la date de mise en production théorique afin de laisser le temps à l'équipe OpenFlyers d'effectuer cette opération avec sérénité. Dans le cas où le passage en production réel est programmé pour le 1er janvier, alors il est recommandé de demander la réinitialisation de la base de données au moins une semaine avant la période des vacances de noël. En effet, '''pendant la période des vacances de Noël nous effectuons un embargo sur les réinitialisations de base de données''' car nous travaillons en effectif réduit et gardons un maximum de disponibilité pour assurer le suivi des clients en production. De plus, les jours fériés venant s'ajouter aux week-ends il est difficile de trouver des jours qui ne soient pas la veille d'un jour férié ou d'un week-end. Enfin, par expérience, toute réinitialisation effectuée sous la pression engendre des problèmes dues à des erreurs de traitement. Par conséquent, il vaut mieux retarder cette opération pour pouvoir l'effectuer sereinement plutôt que de générer des problèmes et des inquiétudes alors que les disponibilités et la concentration de chacun sont réduites du fait des fêtes de fin d'année.&lt;br /&gt;
&lt;br /&gt;
==Passer en production==&lt;br /&gt;
Le passage en production doit se faire à une date donnée et définie à l'avance, par exemple un 1er janvier. Cependant :&lt;br /&gt;
*Le 1er janvier personne ne travaille chez OpenFlyers et en général dans les structures clientes d'OpenFlyers. Il s'agit donc d'une date théorique.&lt;br /&gt;
*Le passage en production côté OpenFlyers est considéré à partir du moment où [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|la réinitialisation de la base de données a été faite]]. Cela peut remonter à plusieurs semaines à l'avance et il est recommandé d'[[#Nettoyer_la_base_de_données_avant_le_passage_en_production|anticiper cette phase]].&lt;br /&gt;
*Le passage en production côté structure peut avoir lieu en pratique que le 2, 3 ou 4 janvier pour une mise en production au 1er janvier. Les écritures comptables et d'activités seront saisies rétroactivement.&lt;br /&gt;
&lt;br /&gt;
Comptablement, cela suppose :&lt;br /&gt;
*Qu'avant cette date théorique, toutes les écritures ont été saisies dans l'ancien système de gestion utilisé&lt;br /&gt;
*A partir de cette date théorique, toutes les écritures seront saisies dans OpenFlyers&lt;br /&gt;
Il est primordiale de bien comprendre que les écritures comptables ne doivent être saisies que dans un seul système.&lt;br /&gt;
&lt;br /&gt;
Attention : A la date réelle du passage en production (par exemple 3 jours après la date théorique), il n'est pas encore possible d'exporter les soldes des comptes clients de l'ancien système de gestion car les écritures de l'exercice précédent n'ont pas encore été consolidées. Aussi, nous recommandons fortement de ne pas se précipiter pour rapatrier les soldes des comptes clients et de procéder en 2 temps :&lt;br /&gt;
#Passer en production sur la saisie des vols à la date convenue avec des à nouveaux de comptes clients à 0 (donc faux).&lt;br /&gt;
#Rapatrier ultérieurement les à nouveaux correspondant à la date de début d'exercice. Les à nouveaux s'inséreront dans les relevés de compte en début d'exercice correctement et les soldes des comptes clients deviendront alors juste.&lt;br /&gt;
&lt;br /&gt;
Le passage en production ne nécessite aucune action particulière si ce n'est de donner les droits de saisie aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Pour l'activité aéronautique :&lt;br /&gt;
*les premières saisies d'heures de vols mettront automatiquement à jour les compteurs des aéronefs.&lt;br /&gt;
*les validités avec expérience récente (par exemple &amp;quot;un vol tous les 3 mois&amp;quot;) ne devront être paramétrés comme bloquant que lorsque le passage en production sera effectif depuis une durée supérieure à la période de calcul des validités avec expérience récente (par exemple 3 mois dans l'exemple donné).&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, tant que les à nouveaux des comptes clients n'auront pas été rapatriés, le calcul du solde de leur compte sera faux. Il ne faut donc pas activer les blocages pour les soldes insuffisants, si cela est prévu, tant que les [[#Rapatrier_les_à_nouveaux|à nouveaux ne seront pas mis à jour]].&lt;br /&gt;
&lt;br /&gt;
Enfin, si la date de passage en production est prévue pour un 1er janvier, pensez au fait que votre structure n'est pas la seule dans ce cas. C'est la raison pour laquelle il faut prévoir un délai côté OpenFlyers pour la réinitialisation, un délai dans l'import des à nouveaux après cette date et également un délai dans le traitement des demandes de dernière minute.&lt;br /&gt;
&lt;br /&gt;
==Rapatrier les à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]]==&lt;br /&gt;
Le rapatriement des à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]] ne doit être effectué qu'une fois que la comptabilité de l'exercice précédent a été consolidée et validée. Cette opération s'effectue donc après le passage en production et peut nécessiter plusieurs semaines dans le cas de consolidation ou de vérifications nécessitant du temps sur l'ancien système de gestion.&lt;br /&gt;
&lt;br /&gt;
L'étendu des soldes de comptes à importer diffère suivant le [[#Définir_le_périmètre_comptable_géré_par_OpenFlyers|périmètre de gestion par OpenFlyers retenu par la structure]] :&lt;br /&gt;
#Dans le cas où [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|OpenFlyers gère seulement le chiffre d'affaire]], il faut importer uniquement les à nouveaux des comptes clients&lt;br /&gt;
#Dans le cas où [[#Gestion_des_charges_dans_OpenFlyers|OpenFlyers gère en plus les charges]], il faut importer également les à nouveaux des comptes fournisseurs et des comptes financiers&lt;br /&gt;
#Dans le cas où [[#Gestion_comptable_complète_dans_OpenFlyers|OpenFlyers gère toute la comptabilité]], il faut importer l'intégralité des comptes du bilan&lt;br /&gt;
&lt;br /&gt;
Dans les cas 2 et 3, l'import des comptes de bilan qui ne sont pas des comptes clients, doit s'[[Écritures comptables#Solde_de_compte_de_bilan|effectuer manuellement]].&lt;br /&gt;
&lt;br /&gt;
Dans le 3ème cas, les comptes du bilan qui ne correspondent pas aux clients, fournisseurs ou aux comptes financier peuvent être importés ultérieurement. En effet, il n'y a besoin d'effectuer des contrôles réguliers que sur les comptes financiers et les comptes de tiers.&lt;br /&gt;
===Rapatrier les à nouveaux des comptes clients===&lt;br /&gt;
La meilleure méthode pour initialiser le solde des comptes clients est d'importer un fichier csv contenant le solde de chaque compte client avec les références du client.&lt;br /&gt;
&lt;br /&gt;
Dans le cadre du forfait paramétrage, nous recommandons de confier cette opération à l'équipe OpenFlyers. Nous vous communiquerons un fichier préformaté au format csv. Il vous faudra juste nous le retourner en ayant renseigné les soldes des comptes clients et en nous indiquant la date comptable retenue pour l'import.&lt;br /&gt;
&lt;br /&gt;
Le rapatriement des à nouveaux s'effectue conformément à la pratique comptable : il s'agit d'une [[Écritures comptables#Solde_de_compte_de_bilan|écriture qui vient débiter ou créditer le compte de l'utilisateur concerné à une date comptable choisie et dont la contre-partie va sur le compte de report à nouveau]].&lt;br /&gt;
&lt;br /&gt;
Voici un exemple :&lt;br /&gt;
&lt;br /&gt;
*La structure passe en production au 1er mai. A cette date, l'import n'est pas effectué. Les soldes de tous les comptes sont à 0 car aucune écriture comptable n'a encore été enregistrée.&lt;br /&gt;
*Un utilisateur X effectue une activité le 3 mai qui génère une facture client et donc un débit sur son compte de 200 €.&lt;br /&gt;
Ainsi, le compte de l'utilisateur X au 3 mai se présente ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!200.00 €!!000.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*L'import des à nouveaux s'effectue réellement le 15 mai à la date comptable du 1er mai. Dans la comptabilité précédente, l'utilisateur X présentait au 30 avril un solde positif de 300 €. L'import va donc générer une écriture au crédit sur son compte de 300 € à la date du 1er mai. Après import des à nouveaux, le compte de l'utilisateur X se présentera ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|01/05/xx||Import à nouveau||000.00 €||300.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!000.00 €!!100.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[[#Workflow|Mettre en place un workflow adapté à OpenFlyers]]==&lt;br /&gt;
Une fois en production, OpenFlyers recommande de [[#Workflow|mettre en place un workflow adapté au logiciel]] afin d'en faciliter l'usage et de respecter les bonnes pratiques en terme de suivi d'activité.&lt;br /&gt;
&lt;br /&gt;
=Terminal de paiement électronique virtuel=&lt;br /&gt;
==Principe de fonctionnement du couplage entre OpenFlyers et un TPE virtuel==&lt;br /&gt;
Lorsque une plateforme OpenFlyers est couplée à un terminal de paiement par internet fourni par une banque voici la chronologie de son utilisation :&lt;br /&gt;
#Un utilisateur autorisé, se connecte à OpenFlyers.&lt;br /&gt;
#Il va sur la page OpenFlyers lui permettant de [[Utilisation de la comptabilité#Saisir_un_encaissement|saisir un encaissement]].&lt;br /&gt;
#Il sélectionne le type de paiement &amp;quot;carte bancaire en ligne&amp;quot; (l'intitulé est modifiable pour chaque plateforme)&lt;br /&gt;
#Il saisit le montant qu'il souhaite verser sur son compte client.&lt;br /&gt;
#Il valide le formulaire de saisie de l'approvisionnement et se retrouve dirigé sur l'interface du terminal de paiement électronique de la banque&lt;br /&gt;
#Là, il saisit ses coordonnées bancaires : elles ne sont donc pas transmises à OpenFlyers&lt;br /&gt;
#Si la transaction est acceptée par la banque, le serveur OpenFlyers hébergeant la plateforme est automatiquement informé&lt;br /&gt;
#Le compte de l'utilisateur est crédité du montant correspondant et la contre-partie va sur le compte de trésorerie correspondant à ce mode de paiement. Cette écriture est automatiquement validée car elle a été sécurisée.&lt;br /&gt;
Il n'y a donc rien à faire côté gestion.&lt;br /&gt;
Sur le compte de trésorerie, le mouvement apparait comme pour les autres mouvements qui correspondent à des encaissements :&lt;br /&gt;
*Dans la colonne '''Compte affecté''' est indiqué le nom du compte de contre-partie, c'est à dire le compte de l'utilisateur avec son nom et prénom.&lt;br /&gt;
*Dans la colonne '''Commentaire''' apparait le type de paiement, par exemple &amp;quot;carte bancaire en ligne&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Mettre en place un TPE virtuel==&lt;br /&gt;
[[OF_doc4-fr:Bien-débuter-avec-OpenFlyers#Mettre-en-place-un-TPE-virtuel|Voir la documentation de la version 4]].&lt;br /&gt;
&lt;br /&gt;
==Liste des systèmes implémentés par OpenFlyers==&lt;br /&gt;
OpenFlyers a implémenté jusqu'à présent les interfaces suivantes. Attention, pour certaines banques, il existe plusieurs interfaces. Cela peut dépendre de la région géographique ou d'une évolution au niveau de la banque qui lui fait abandonner un ancien système au profit d'un plus récent.&lt;br /&gt;
*CMCIC version 1.2open et version 3.5 utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Mutuel&lt;br /&gt;
**CIC&lt;br /&gt;
*PAYBOX utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Agricole (e-transactions). ''A noter que la [[#Procédure_Paybox_Vision|procédure de mise en place &amp;quot;Paybox Vision&amp;quot;]] est lourde et impose des actions de la part du gestionnaire de la structure. De plus, elle nécessite de disposer d'une adresse qui ne soit pas en @free.fr ou @orange.fr.''&lt;br /&gt;
**Crédit Coopératif&lt;br /&gt;
*PAYLINE utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Mutuel (citélis)&lt;br /&gt;
*SIPS ATOS utilisé par les banques suivantes :&lt;br /&gt;
**Banque Populaire (cyberplus paiement)&lt;br /&gt;
**BNP Paribas (mercanet)&lt;br /&gt;
**Crédit du Nord (webaffaires)&lt;br /&gt;
**Crédit Lyonnais (sherlocks)&lt;br /&gt;
**Crédit Mutuel&lt;br /&gt;
**HSBC (elysnet)&lt;br /&gt;
**La Poste (scellius)&lt;br /&gt;
**Société Générale (sogenactif)&lt;br /&gt;
*SP PLUS utilisé par les banques suivantes :&lt;br /&gt;
**Caisse d'Epargne&lt;br /&gt;
&lt;br /&gt;
==Procédures TPE==&lt;br /&gt;
===Procédure CMCICv3===&lt;br /&gt;
*Aller sur [https://www.cmcicpaiement.fr/fr/identification/default.cgi l'interface d'administration]&lt;br /&gt;
*Dans le champ '''Identifiant''' saisir l'identifiant communiqué par e-mail par la banque&lt;br /&gt;
*Dans le champ '''Mot de passe''' saisir le mot de passe communiqué par e-mail par la banque&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''&lt;br /&gt;
Une fois connecté, vous êtes soit sur l'interface back-office de production soit sur l'interface back-office de test. L'interface back-office de test est reconnaissable aux mots &amp;quot;test&amp;quot; qui apparaissent un peu partout dans le bandeau supérieur de l'interface.&lt;br /&gt;
*Si l'interface indique ''Votre identifiant n'est associé à aucun TPE sur l'environnement de XXX'', basculer sur l'autre interface en cliquant à droite dans la boite '''Environnement''' sur le lien '''Cliquez ici pour basculer vers le Tableau de Bord de XXX.'''&lt;br /&gt;
*Cliquer sur le menu '''Paramétrage'''.&lt;br /&gt;
*Cliquer sur le sous-menu '''Clé de sécurité'''.&lt;br /&gt;
*Sélectionner l'e-mail sur lequel vous souhaitez recevoir le ''code de téléchargement''.&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''.&lt;br /&gt;
'''Attention : ''' Ne pas fermer la page '''Obtention de la clé de sécurité''' permettant de récupérer la clé&lt;br /&gt;
*Copier depuis sa messagerie e-mail le '''Code de confirmation'''&lt;br /&gt;
*Coller ce code dans l'interface '''Obtention de la clé de sécurité'''&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''&lt;br /&gt;
*Télécharger le fichier contenant la clé de sécurité.&lt;br /&gt;
*Nous transmettre par e-mail cette clé de sécurité en nous précisant si vous l'avez obtenu depuis l'interface de production ou depuis l'interface de test.&lt;br /&gt;
&lt;br /&gt;
===Procédure Paybox Vision===&lt;br /&gt;
''Cette procédure débute après que l'identifiant et le mot de passe ait été changé conformément aux préconisations d'e-transactions. L'identifiant doit correspondre à une adresse e-mail autre que @free.fr ou @orange.fr''&lt;br /&gt;
*Aller sur [https://guest.e-transactions.fr/Vision l'interface d'administration]&lt;br /&gt;
*Dans le champ '''Login''', saisir l'identifiant qui correspond normalement à une adresse e-mail&lt;br /&gt;
*Dans le champ '''Mot de passe''', saisir le mot de passe qui a été préalablement modifié&lt;br /&gt;
*Cliquer sur le bouton '''Se connecter'''&lt;br /&gt;
*Cliquer sur le menu représentant une clé de mécanicien.&lt;br /&gt;
*Dans le tableau, copier/coller sur un fichier texte les champs '''PBX_SITE''', '''PBX_RANG''' et '''PBX_IDENTIFIANT'''. Attention : '''PBX_RANG''' doit être recopié sur 2 chiffres et non pas trois (exemple : 01).&lt;br /&gt;
*Dans le tableau, dans le champ '''Réception du ticket de paiement''' sélectionner '''Inactif'''.&lt;br /&gt;
*Dans le tableau, compléter le champ '''E-mail de votre intégrateur''' en indiquant notre adresse e-mail de contact. '''Cette opération est indispensable pour pouvoir activer une nouvelle clé HMAC'''.&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Tout en bas de l'interface, saisir des caractères dans le champ '''Phrase de passe''' de façon à ce que le bouton à droite du champ passe à &amp;quot;Fort&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton en-dessous du champ intitulé '''Générer la clé'''&lt;br /&gt;
*Une fois la clé générée, recopier le contenu de la clé qui apparait en-dessous du bouton '''Générer la clé''' à côté du champ '''Clé :'''&lt;br /&gt;
*'''Valider l'e-mail reçu pour acceptation de la clé'''&lt;br /&gt;
*Transmettre par e-mail à OpenFlyers les informations suivantes :&lt;br /&gt;
**PBX_SITE&lt;br /&gt;
**PBX_RANG&lt;br /&gt;
**PBX_IDENTIFIANT&lt;br /&gt;
**Clé&lt;br /&gt;
&lt;br /&gt;
===Qualité de service des TPE===&lt;br /&gt;
Selon les Terminal de Paiement Électroniques virtuel, certains systèmes n'effectuent pas de renvoie de l'avis de débit aux serveurs dans le cas ou le premier envoi à échouer. Ce type de situation est rare mais peut arriver (problème de liaison internet par exemple ou indisponibilité momentanée du serveur recevant les avis de transactions). A contrario, les bons systèmes enregistrent les échecs, attendent un certain délai puis effectuent une nouvelle tentative d'envoi.&lt;br /&gt;
&lt;br /&gt;
De même certains systèmes envoient un e-mail d'erreur lorsque la transaction n'est pas prise en compte par la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est donc recommandé de vérifier auprès de sa banque si la solution TPE proposée effectue ce type de surveillance et de renvoi systématique.&lt;br /&gt;
&lt;br /&gt;
Si en exploitation, vous êtes confronté à un problème de prise en compte par votre plateforme OpenFlyers d'un paiement effectué par un utilisateur, il faut vérifier que cette transaction a bien eu lieu. Pour cela, il faut se connecter à l'interface de gestion du TPE proposé par la banque, retrouver la ligne correspondant à la transaction. Cette ligne doit comporter un message d'anomalie indiquant que le serveur OpenFlyers n'a pas accusé réception de l'avis de transaction.&lt;br /&gt;
&lt;br /&gt;
A la suite de quoi, vous pouvez nous remonter l'anomalie pour que nous consultions les logs et ainsi que nous vérifions s'il n'y a pas eu un bug dans OpenFlyers bloquant l'enregistrement de la transaction. Il existe également un [[Gestion des rapports#Tentatives_de_paiement_par_carte_bancaire_en_ligne|rapport listant les tentatives de paiements]] qui permet de vérifier s'il y a bien eu une tentative de paiement d'initiée côté OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Si à la suite de notre investigation, nous n'avons pas retrouvé d'enregistrement d'avis de transaction cela veut dire que le message n'est pas parvenu au serveur et que vous êtes sur un système de TPE qui n'effectue pas de nouvel envoi en cas d'échec (cf. ci-dessus).&lt;br /&gt;
&lt;br /&gt;
Nous vous recommandons alors de faire remonter le problème auprès de votre banque pour qu'ils améliorent leur processus en mettant en place une surveillance des avis en échec et un renouvellement de l'envoi.&lt;br /&gt;
&lt;br /&gt;
=Workflow=&lt;br /&gt;
L'utilisation du logiciel OpenFlyers nécessite la mise en place d'une chronologie des actions quotidiennes et annuelles.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions quotidiennes==&lt;br /&gt;
*Le première action chronologique concerne la réservation qui intervient en amont de la réalisation d'une activité.&lt;br /&gt;
*Ensuite, vient la saisie d'activité qui se fait soit :&lt;br /&gt;
**en 2 phases :&lt;br /&gt;
***Ouverture de l'activité avant de débuter l'activité&lt;br /&gt;
***Puis fermeture de l'activité après la réalisation de l'activité&lt;br /&gt;
**en 1 phase :&lt;br /&gt;
***Fermeture de l'activité qui se fait à l'issue de la réalisation de l'activité&lt;br /&gt;
&lt;br /&gt;
Dans le cas des activités aéronautiques, nous recommandons de donner comme consigne aux pilotes de saisir les vols dans OpenFlyers et ensuite de recopier les valeurs affichées par OpenFlyers sur le carnet de route. En effet, le document qui fait foi est le carnet de route. Cependant, c'est OpenFlyers qui est normalement utilisé pour faire le total des heures dans le cadre du suivi de la maintenance. De ce fait, il est important que les données dans OpenFlyers et sur le carnet de route correspondent rigoureusement. Or, le risque d'erreur est plus faible lorsqu'on recopie des éléments affichés sur un écran plutôt que si on recopie sur un écran des éléments écrits sur un papier. En plus, OpenFlyers fait des calculs automatiquement. En saisissant d'abord sur OpenFlyers, le pilote n'a plus à faire de calcul. Il s'évite ainsi une source d'erreur.&lt;br /&gt;
&lt;br /&gt;
Quelque soit le mode de saisie (ouverture+fermeture ou fermeture uniquement), c'est la saisie de la fermeture qui déclenche la facturation. L'ouverture de l'activité permet d'informer les autres utilisateurs :&lt;br /&gt;
*de la prise en compte d'une ressource et donc de son indisponibilité pour une autre activité&lt;br /&gt;
*des intentions au cours de la réalisation de l'activité&lt;br /&gt;
*du temps d'utilisation prévu (et donc de l'horaire de retour prévu)&lt;br /&gt;
*du trajet prévu&lt;br /&gt;
Ces informations peuvent être utiles dans un but de sécurité.&lt;br /&gt;
&lt;br /&gt;
A noter que la facturation peut être déclenchée en amont au vu des réservations et non pas de la réalisation de l'activité.&lt;br /&gt;
&lt;br /&gt;
Un autre élément du workflow concerne l'encaissement des paiements des utilisateurs ou la vente de produits. Ces opérations sont déconnectées de la chronologie réservation/réalisation d'une activité.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions hebdomadaires/mensuelles==&lt;br /&gt;
En aval de la réalisation de l'activité, intervient les actions liées à la comptabilité. Il est indispensable de suivre la démarche suivante pour garantir la confiance des parties prenantes (utilisateurs, gestionnaires et l'éditeur du logiciel OpenFlyers).&lt;br /&gt;
&lt;br /&gt;
===Validation des écritures===&lt;br /&gt;
Il faut valider régulièrement l'ensemble des écritures par pointage systématique. Cela concerne :&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_de_l'activité|validation des saisies d'activités]]&lt;br /&gt;
*La [[Gestion des produits et des ventes#Validation_d'un_panier_par_un_utilisateur|validation des ventes de produits]].&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_des_encaissements|validation des encaissements]]&lt;br /&gt;
*La [[Utilisation de la comptabilité#Validation_d'un_flux|validation des saisies de flux comptables divers]].&lt;br /&gt;
Cette validation doit être adaptée en fonction de la taille de la structure et des ressources humaines disponibles pour effectuer cette tâche. Dans une petite structure, une validation tous les mois est acceptable, dans une grande structure, une validation toutes les semaines est recommandée. &lt;br /&gt;
&lt;br /&gt;
Concernant la validation des saisies d'activités comme par exemple les vols effectués sur les aéronefs, cette dernière doit être effectuée au plus tard, pour un aéronef considéré, avant la pose d'une APRS (Approbation Pour Remise en Service) afin de garantir le bon calcul des heures de vols de l'aéronef concerné.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des ventes de produits, cette dernière doit être faite en fonction du type de produit vendu. S'il s'agit d'un produit physique remis en main propre, alors la validation devrait avoir lieu lors de la remise du produit. S'il s'agit d'un produit immatériel, comme des packs d'heures d'activité, alors la validation devrait être décaler de quelques jours, voir d'une semaine, afin de permettre au client d'exercer son droit de rétractation. Néanmoins, cette validation doit intervenir à intervalle régulier pour éviter toute abus de la part des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des encaissements, cette dernière s'effectue normalement lors du pointage du type d'encaissement considéré. Ainsi pour les chèques, cela permet de générer le bordereau de remise pour la banque.&lt;br /&gt;
&lt;br /&gt;
Concernant les flux comptables divers, dès qu'ils touchent un compte client, ils devraient être validés au plus tôt afin de garantir au client qu'il n'y aura pas de &amp;quot;disparition&amp;quot; à posteriori de ce flux. Si par la suite une erreur est détectée sur ce flux, il suffira de saisir un flux correctif permettant d'annuler l'erreur. Cette pratique assure la traçabilité des écritures.&lt;br /&gt;
&lt;br /&gt;
===Saisie des factures/paiements fournisseurs===&lt;br /&gt;
La saisie des factures fournisseurs et de leur paiement sont à effectuer si la structure a décidé de [[#Gestion_des_charges_dans_OpenFlyers|gérer les charges]] dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Nous recommandons :&lt;br /&gt;
*De [[Gestion des achats#Saisie_d'une_facture_fournisseur|saisir les factures fournisseurs après leur paiement]].&lt;br /&gt;
*D'effectuer la [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisie des paiements fournisseurs au vu du relevé de banque]], donc normalement, une fois par mois.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions annuelles==&lt;br /&gt;
===Validation des charges===&lt;br /&gt;
Lorsque les charges sont gérées dans OpenFlyers, nous recommandons de valider les factures et les paiements fournisseurs juste avant la clôture de la comptabilité.&lt;br /&gt;
&lt;br /&gt;
En effet, il n'est pas utile de les valider plus tôt car :&lt;br /&gt;
*Ils n'ont pas d'impact sur les utilisateurs.&lt;br /&gt;
*Il est préférable d'attendre que les comptes de trésorerie soient réputés exactes et que le solde des comptes fournisseurs aient été vérifiés. Cela laisse la possibilité de modifier une saisie de facture ou de paiement fournisseur qui aurait été mal ventilée.&lt;br /&gt;
&lt;br /&gt;
===Clôture/ouverture de l'exercice comptable===&lt;br /&gt;
Lors du changement d'exercice comptable, il est nécessaire d'effectuer certaines opérations comptables dans OpenFlyers et de procéder à la clôture de l'exercice précédent.&lt;br /&gt;
&lt;br /&gt;
Ces opérations n'ont pas besoin d'être effectuées dès le changement d'exercice. En effet, il est possible de continuer à saisir sur le nouvel exercice sans que le précédent soit clôturer.&lt;br /&gt;
&lt;br /&gt;
De plus, ces opérations nécessitent un paramétrage préalable de la plateforme afin de garantir que les écritures comptables seront correctement exportées dans un ou plusieurs fichiers en vu de leur archivage ou de leur import dans un logiciel de comptabilité.&lt;br /&gt;
&lt;br /&gt;
Un mécanisme de vérification en place dans le logiciel OpenFlyers empêche de désactiver tout compte dont le solde n'est pas nul et dont les écritures n'ont pas été exportées. Cela permet de garantir qu'on garde la &amp;quot;vue&amp;quot; sur tout ce qui impacte le compte d'exploitation en cours et le bilan.&lt;br /&gt;
&lt;br /&gt;
En corolaire, il n'est donc possible de désactiver des utilisateurs ou des ressources que lorsque leurs comptes sont eux-mêmes désactivables.&lt;br /&gt;
&lt;br /&gt;
Aussi, nous recommandons de fixer une politique de gestion des utilisateurs consistant à n'effectuer d'opération de &amp;quot;désactivation&amp;quot; qu'après un décalage d'une ou plusieurs années sans présence dans la structure. Il est judicieux de fixer ce décalage dans tout document contractuel comme les conditions générales de ventes, les statuts ou règlements intérieurs. Ainsi, la &amp;quot;mise à 0&amp;quot; du solde du compte en passant en &amp;quot;pertes et profits&amp;quot; ne pourra être remis en cause par l'utilisateur ou le client à posteriori.&lt;br /&gt;
&lt;br /&gt;
[[Utilisation de la comptabilité#Actions_à_effectuer_par_ordre_chronologique|Voir les procédures correspondantes]].&lt;br /&gt;
&lt;br /&gt;
=[[Créer une plateforme OpenFlyers pour sa structure]]=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15281</id>
		<title>Bien débuter avec OpenFlyers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15281"/>
				<updated>2018-01-04T13:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Mettre en place un TPE virtuel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chronologie parametrage 700px.png|right|link=#Chronologie-du-forfait-paramétrage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
La solution OpenFlyers permet de gérer l'ensemble de l'activité d'une structure autour de 2 éléments principaux :&lt;br /&gt;
*La réservation&lt;br /&gt;
*La gestion de l'activité réalisée (c'est à dire la gestion des heures de vols dans le cadre d'une activité aéronautique)&lt;br /&gt;
&lt;br /&gt;
La mise en place d'OpenFlyers au sein d'une structure peut se découper en 2 phases :&lt;br /&gt;
#La mise en place de la réservation qui est relativement simple à appréhender&lt;br /&gt;
#La mise en place de la gestion de l'activité qui nécessite un travail de fond pour bien définir les règles de gestion de la structure aussi bien en terme de politique de relation client qu'en terme de gestion comptable.&lt;br /&gt;
&lt;br /&gt;
=Recommandations=&lt;br /&gt;
==Attribuer les profils aux utilisateurs==&lt;br /&gt;
*Chaque utilisateur doit disposer d'au moins un profil. Il est recommandé de limiter le nombre de profils par utilisateur à 1 dans la mesure du possible sauf pour des cas particuliers et notamment pour l'attribution de profils &amp;quot;transparents&amp;quot; pour les utilisateurs qui appartiennent à des groupements comme les Comités d’Établissements (C.E.) ou représentant une catégorie spécifique devant être identifiée comme telle (exemple : les formateurs).&lt;br /&gt;
*Il ne faut jamais rester seul avec un profil &amp;quot;Admin&amp;quot;. Il est recommandé d'être 2 ou 3 personnes à disposer de ce profil. C'est une bonne pratique qui permet d'assurer la continuité d'activité en cas de problème. C'est même une question de bonne gouvernance.&lt;br /&gt;
*Il ne faut pas être plus de 2 ou 3 à disposer d'un profil &amp;quot;Admin&amp;quot;. En effet, il n'y a pas de raison qu'il y ait plus de 2 ou 3 personnes à disposer des droits pour intervenir sur l'intégralité de la plateforme. Cela crée des risques qu'une personne ne disposant pas de l'expertise fasse de mauvaises manipulations entrainant des coûts de restauration voir de perte de données si le problème n'est pas détecté suffisamment tôt.&lt;br /&gt;
*De même, les personnes disposant de profils de gestion larges (&amp;quot;Bureau&amp;quot;, &amp;quot;Gestionnaire&amp;quot;, etc.) doivent être en nombre limité. En général pas plus de 4 ou 5 personnes. Si les tâches de gestion doivent être réparties entre plusieurs personnes alors il vaut mieux scinder les droits sur des profils spécifiques. Exemple : un profil &amp;quot;Trésorier&amp;quot; ou &amp;quot;Comptable&amp;quot; d'un côté et un profil &amp;quot;Secrétariat&amp;quot; de l'autre.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la réservation=&lt;br /&gt;
La mise en place de la réservation nécessite de définir uniquement :&lt;br /&gt;
*Les profils et droits associés pour les utilisateurs&lt;br /&gt;
*Les règles concernant les réservations&lt;br /&gt;
*Les ressources (les aéronefs dans le cas d'une activité aéronautique)&lt;br /&gt;
*Éventuellement les validités afin de générer des alertes pour les utilisateurs à la connexion et/ou à la réservation &lt;br /&gt;
Le paramétrage et la mise en production de cette phase peut être très rapide et ne nécessite pas de date clé comme pour la mise en place de la gestion d'activité.&lt;br /&gt;
&lt;br /&gt;
L'import de données externe est également limité à importer uniquement le fichier des utilisateurs. Cependant, plus ce fichier sera complet au moment de l'import et moins de reprises manuelles seront nécessaires. Ainsi, des données comme l'adresse, la date de naissance ou le sexe de chaque utilisateur peuvent être incluses dans le fichier d'import.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en production des réservations est quasiment nul car il n'y a aucun mouvement comptable de généré et il n'y a pas d'export à effectuer par la suite : les réservations tournent en vase clos.&lt;br /&gt;
&lt;br /&gt;
La mise en place des réservations peut être effectuée indifféremment par l'équipe OpenFlyers dans le cadre du forfait paramétrage ou par un administrateur au sein de la structure cliente.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers=&lt;br /&gt;
La mise en place de la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers se fait à n'importe quel moment de l'année. Le passage en production se fait idéalement au 1er janvier pour bénéficier du changement d'exercice comptable et de la clôture de l'exercice précédent pour récupérer les à nouveaux des comptes, notamment ceux des comptes clients.&lt;br /&gt;
&lt;br /&gt;
La mise en place de la gestion d'activité doit être bien préparée. Car une fois en production, les données qui seront saisies généreront des écritures comptables qui seront éventuellement exportées vers un logiciel de comptabilité. Un mauvais paramétrage ou une mauvaise définition des besoins peut engendrer des erreurs latentes qui n'apparaitront pour certaines qu'à la fin du 1er exercice comptable si aucune vérification n'est effectuée d'ici là. Il sera alors difficile d'en retrouver l'origine et la correction des mauvaises écritures sera une tâche laborieuse et fastidieuse.&lt;br /&gt;
&lt;br /&gt;
C'est la raison pour laquelle nous avons défini un ordre chronologique des actions à effectuer afin de limiter tout risque d'erreur.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en place de la gestion d'activité restent également limités : OpenFlyers n'effectue aucune opération sur des comptes bancaires réels. Par conséquent toute erreur d'écriture comptable peut être corrigée à n'importe quel moment par une contre-écriture. Le point le plus critique que nous avons identifié concerne pour l'aéronautique le décompte des heures de vols par OpenFlyers qui permet de déterminer les visites de maintenance. De ce fait, il est important de bien tester et valider le mode de calcul et de décompte. Le logiciel en lui-même est largement éprouvé puisqu'il approche les 300.000 vols saisis en 5 ans sans aucun problème.&lt;br /&gt;
&lt;br /&gt;
La chronologie pour la mise en place de la gestion d'activité est présentée dans les paragraphes qui suivent.&lt;br /&gt;
==Définir le périmètre comptable géré par OpenFlyers==&lt;br /&gt;
OpenFlyers peut être utilisé de 3 façons différentes pour la gestion comptable.&lt;br /&gt;
===Gestion du chiffre d'affaire dans OpenFlyers===&lt;br /&gt;
La saisie de l'activité, et donc la génération du chiffre d'affaire au travers des factures clients et des écritures comptables, se fait dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Les comptes clients sont gérés par OpenFlyers.&lt;br /&gt;
===Gestion des charges dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire dans OpenFlyers]], dans ce cas, les factures fournisseurs sont également saisies dans OpenFlyers. L'ensemble des écritures courantes, c'est à dire celles qui impactent le compte d'exploitation, sont saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que les comptes de tiers sont à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Gestion comptable complète dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire]] et de la [[#Gestion_des_charges_dans_OpenFlyers|gestion des charges]] dans OpenFlyers, les écritures du bilan sont également saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que l'intégralité du plan comptable de la structure soit à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Impact sur les exports===&lt;br /&gt;
A noter que quelque soit le périmètre choisi, OpenFlyers pourra générer l'export comptable vers le logiciel comptable utilisé pour saisir les &amp;quot;autres&amp;quot; écritures. Il faut donc bien avoir conscience que la bonne et unique façon de fonctionner est la suivante :&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers n'est saisi '''que''' dans OpenFlyers&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers est saisi '''avant''' tout export&lt;br /&gt;
*On n'importe '''jamais''' dans OpenFlyers des données saisies dans un logiciel de comptabilité&lt;br /&gt;
Cela peut se résumer au principe d'hygiène de &amp;quot;la marche en avant&amp;quot; appliqué dans les cuisines pour les aliments : les données ne doivent jamais rebrousser chemin et ne doivent jamais se croiser.&lt;br /&gt;
&lt;br /&gt;
==Paramétrer la plateforme==&lt;br /&gt;
Nous recommandons vivement de déléguer cette opération à l'équipe OpenFlyers au travers du [[FAQ-client#Comment-fonctionne-le-forfait-paramétrage-?|forfait paramétrage]]. Les avantages sont les suivants :&lt;br /&gt;
*Vous gagnez du temps&lt;br /&gt;
*Vous tirez profit d'un paramétrage adapté à votre structure grâce à notre connaissance de votre métier&lt;br /&gt;
*Vous tirez profit de la puissance de la solution OpenFlyers grâce à notre maitrise de ses fonctionnalités&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez effectuer vous-même ce paramétrage, alors vous devez avoir reçu au préalable une [[Formations OpenFlyers|formation]] par la SARL OpenFlyers. Cette formation est indispensable afin d'avoir la garantie que le paramétrage que vous mettrez en œuvre sera fait dans l'esprit du logiciel OpenFlyers. Cela garantie la pérennité de votre paramétrage lors des mises à jour d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Forfait paramétrage===&lt;br /&gt;
Nous proposons un forfait paramétrage qui s'appuie sur un questionnaire détaillé complété par la structure cliente. Ce questionnaire est sous la forme d'un fichier tableur communiqué sous 2 formats (Excel et OpenOffice).&lt;br /&gt;
&lt;br /&gt;
Ce forfait paramétrage inclut toute la configuration d'OpenFlyers :&lt;br /&gt;
*Mise en place des ressources ;&lt;br /&gt;
*Création des profils utilisateurs ;&lt;br /&gt;
*Paramétrage du décompte du temps vol ;&lt;br /&gt;
*Mise en place de la comptabilité :&lt;br /&gt;
**Module de vente des produits ;&lt;br /&gt;
**Moteur de création des écritures comptables associées aux ventes (heures de vols, produits) ;&lt;br /&gt;
*Définition des validités (licences, qualifications, échéances administratives, légales, médicales, etc.) ;&lt;br /&gt;
*Mise en place des rapports types parmi ceux [http://doc-en.openflyers.com/index.php?title=Export_generator publiés].&lt;br /&gt;
&lt;br /&gt;
Nous attirons votre attention sur le moteur de création des écritures comptables qui permet d'automatiser toutes les écritures comptables qui doivent être générées lors d'une vente de produit. Grâce à sa puissance, nous mettons en place la ventilation automatique des facturations de groupement de clients comme les comités d'entreprises par exemple ou l'application de remises pour des catégories de clients.&lt;br /&gt;
&lt;br /&gt;
Le forfait paramétrage inclut également l'import des utilisateurs par le biais d'un fichier informatique au format OpenOffice ou Excel que nous vous communiquons et que vous nous retournez rempli. Il est possible de personnaliser cet import en reprenant tout ou partie, selon la compatibilité des champs, des extractions en provenance d'un autre logiciel de gestion. Dans ce cas, l'import des champs additionnels nécessite un travail supplémentaire, hors forfait paramétrage, qui est déduit des heures de bonus assistance/développement.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez retrouver le tarif du forfait paramétrage dans notre [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire] si vous êtes en abonnement &amp;quot;First Price&amp;quot;. Pour les abonnements supérieurs, le forfait paramétrage est inclus.&lt;br /&gt;
&lt;br /&gt;
====Chronologie du forfait paramétrage====&lt;br /&gt;
La procédure pour profiter du forfait paramétrage est la suivante :&lt;br /&gt;
#*Dans le cas où vous disposiez déjà d'un abonnement à une ancienne version 1.3 ou 2.1 d'OpenFlyers, vous devez d'abord nous demander de migrer votre plateforme sous version 3&lt;br /&gt;
#*Dans le cas où vous disposiez pas déjà d'une plateforme OpenFlyers, il vous faut d'abord la [[Créer-une-plateforme-OpenFlyers-pour-sa-structure|créer]].&lt;br /&gt;
#*Dans le cas où vous disposiez d'une plateforme OpenFlyers sous version à jour, il n'y a pas d'étape 1.&lt;br /&gt;
#Dans tous les cas, vous [[Créer-une-plateforme-OpenFlyers-pour-sa-structure#Prise_d'abonnement|créez les factures]] correspondantes le cas échéant (selon votre abonnement) puis vous les payez.&lt;br /&gt;
#Une fois que les factures générées sont acquittées (cela peut être immédiat en payant par carte bancaire) vous nous envoyez un e-mail pour nous en informer et on vous transmet par retour d'e-mail un questionnaire. Parallèlement à cela, si vous êtes en version 1.3 ou 2.1 nous programmons avec vous une mise à jour de votre plateforme.&lt;br /&gt;
#Vous nous retournez le questionnaire paramétrage rempli.&lt;br /&gt;
#Nous parcourons le questionnaire pour vérifier qu'il est complet. Si ce n'est pas le cas, nous vous demandons des précisions.&lt;br /&gt;
#Une fois que le questionnaire est retourné complet et que votre plateforme est sous version 3, nous nous engageons à mettre en place le paramétrage initial sous 15 jours hors période du 21 décembre au 5 janvier. Ainsi, si la période de paramétrage comprend une partie de cette période, alors la date limite de mise en place du paramétrage est reportée de 15 jours. Exemple : une date limite initiale qui tombe le 26/12 sera reportée au 10/01.&lt;br /&gt;
#Ce paramétrage sera suivi par une [[#Tester_la_configuration|validation par vos soins]] (en général des ajustements sont nécessaires). Nous vous enverrons un e-mail vous demandant de bien vouloir nous confirmer que le paramétrage effectué correspond à vos attentes. A défaut de réponse dans un délai de 1 mois, nous considérerons que le paramétrage effectué est bon.&lt;br /&gt;
#Une fois que vous aurez terminé la validation du paramétrage, nous pourrons procéder, à votre demande et sans frais supplémentaire, à une [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|suppression complète des écritures comptables et d'activités]] qui auront été saisies pour tester le paramétrage. Ce nettoyage peut être étendu aux réservations et/ou aux validités.&lt;br /&gt;
#Enfin, postérieurement au passage en production, nous vous enverrons, sur votre demande, un fichier .csv contenant la liste des utilisateurs pour que vous puissiez nous le retourner complété des soldes de compte afin que nous procédions à [[#Rapatrier_les_à_nouveaux_des_comptes_clients|l'import des à nouveaux des comptes clients]]. C'est aussi après le passage en production que vous pourrez initialiser les compteurs et potentiels des aéronefs.&lt;br /&gt;
&lt;br /&gt;
==Tester la configuration==&lt;br /&gt;
Avant de passer en production, il faut vérifier qu'il n'y a pas de &amp;quot;grosses erreurs&amp;quot;. Ces tests doivent se porter essentiellement sur les actions suivantes :&lt;br /&gt;
*Création d'utilisateurs&lt;br /&gt;
*Vérification que les comptes associés aux utilisateurs sont automatiquement créés&lt;br /&gt;
*Saisie des écritures types de l'activité&lt;br /&gt;
Dans le cas d'une activité aéronautique, cette saisie consiste à saisir des vols&lt;br /&gt;
*Vérification que les factures générées sont conformes à ce que l'on attend.&lt;br /&gt;
&lt;br /&gt;
En cas d'écart constaté, il faut nous remonter les anomalies par e-mail de façon la plus précise possible en suivant le [[Bien communiquer avec OpenFlyers#Rapporter_un_écart_de_paramétrage|guide de rapport d'anomalie de paramétrage]].&lt;br /&gt;
&lt;br /&gt;
Il est déconseillé d'utiliser le profil &amp;quot;Admin&amp;quot; pendant la période de test du paramétrage afin d'être certain de ne pas modifier ce qui a été configuré. Sans quoi, l'équipe OpenFlyers n'assure pas le support sur le travail réalisé. Il est néanmoins possible de se connecter avec le profil &amp;quot;Admin&amp;quot; pour &amp;quot;jeter un œil&amp;quot; sur le paramétrage.&lt;br /&gt;
&lt;br /&gt;
Une fois en production, le gestionnaire à toute latitude pour ne garder que le profil &amp;quot;Admin&amp;quot;. Néanmoins, là encore, il est déconseillé d'effectuer des modifications du paramétrage sans en maitriser les conséquences. Il vaut mieux demander à l'équipe OpenFlyers d'intervenir, notamment dans le cadre des [[Modèle commercial et compte client OpenFlyers#Bonus_assistance/développement|heures d'assistance]] ou réaliser des tests sur une [[#Plateforme_supplémentaire_de_test|plateforme &amp;quot;sandbox&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
==Nettoyer la base de données avant le passage en production==&lt;br /&gt;
Cette opération est effectuée par l'équipe OpenFlyers dans le cadre du forfait paramétrage. Elle consiste à supprimer toutes les écritures comptables, toutes les écritures d'activités (vols dans le cas d'une structure aéronautique) créées durant les tests de validation du paramétrage.&lt;br /&gt;
&lt;br /&gt;
De plus, il est également possible de réinitialiser les validités. Cela consiste à supprimer toutes les validités détenues par les utilisateurs. Cette opération n'est faisable que lorsqu'il s'agit d'une nouvelle plateforme qui n'était donc pas déjà en production sur la gestion des validités. De même, cette réinitialisation ne peut être effectuée si lors de l'import des utilisateurs, il a été procédé à l'import additionnel de validités.&lt;br /&gt;
&lt;br /&gt;
Enfin, si la structure n'était pas en production sur les réservations et que seules des réservations fictives ont été saisies, alors il est possible de réinitialiser également toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
Une fois ce nettoyage effectué, la structure est considérée comme en production et nous n'intervenons plus directement sur la base de données  pour y modifier ou supprimer des écritures comptables. [[Comptabilité#Traçabilité_des_écritures|Ce principe permet de garantir la confiance entre les parties prenantes]].&lt;br /&gt;
&lt;br /&gt;
Ce nettoyage doit être anticipé de plusieurs jours avant la date de mise en production théorique afin de laisser le temps à l'équipe OpenFlyers d'effectuer cette opération avec sérénité. Dans le cas où le passage en production réel est programmé pour le 1er janvier, alors il est recommandé de demander la réinitialisation de la base de données au moins une semaine avant la période des vacances de noël. En effet, '''pendant la période des vacances de Noël nous effectuons un embargo sur les réinitialisations de base de données''' car nous travaillons en effectif réduit et gardons un maximum de disponibilité pour assurer le suivi des clients en production. De plus, les jours fériés venant s'ajouter aux week-ends il est difficile de trouver des jours qui ne soient pas la veille d'un jour férié ou d'un week-end. Enfin, par expérience, toute réinitialisation effectuée sous la pression engendre des problèmes dues à des erreurs de traitement. Par conséquent, il vaut mieux retarder cette opération pour pouvoir l'effectuer sereinement plutôt que de générer des problèmes et des inquiétudes alors que les disponibilités et la concentration de chacun sont réduites du fait des fêtes de fin d'année.&lt;br /&gt;
&lt;br /&gt;
==Passer en production==&lt;br /&gt;
Le passage en production doit se faire à une date donnée et définie à l'avance, par exemple un 1er janvier. Cependant :&lt;br /&gt;
*Le 1er janvier personne ne travaille chez OpenFlyers et en général dans les structures clientes d'OpenFlyers. Il s'agit donc d'une date théorique.&lt;br /&gt;
*Le passage en production côté OpenFlyers est considéré à partir du moment où [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|la réinitialisation de la base de données a été faite]]. Cela peut remonter à plusieurs semaines à l'avance et il est recommandé d'[[#Nettoyer_la_base_de_données_avant_le_passage_en_production|anticiper cette phase]].&lt;br /&gt;
*Le passage en production côté structure peut avoir lieu en pratique que le 2, 3 ou 4 janvier pour une mise en production au 1er janvier. Les écritures comptables et d'activités seront saisies rétroactivement.&lt;br /&gt;
&lt;br /&gt;
Comptablement, cela suppose :&lt;br /&gt;
*Qu'avant cette date théorique, toutes les écritures ont été saisies dans l'ancien système de gestion utilisé&lt;br /&gt;
*A partir de cette date théorique, toutes les écritures seront saisies dans OpenFlyers&lt;br /&gt;
Il est primordiale de bien comprendre que les écritures comptables ne doivent être saisies que dans un seul système.&lt;br /&gt;
&lt;br /&gt;
Attention : A la date réelle du passage en production (par exemple 3 jours après la date théorique), il n'est pas encore possible d'exporter les soldes des comptes clients de l'ancien système de gestion car les écritures de l'exercice précédent n'ont pas encore été consolidées. Aussi, nous recommandons fortement de ne pas se précipiter pour rapatrier les soldes des comptes clients et de procéder en 2 temps :&lt;br /&gt;
#Passer en production sur la saisie des vols à la date convenue avec des à nouveaux de comptes clients à 0 (donc faux).&lt;br /&gt;
#Rapatrier ultérieurement les à nouveaux correspondant à la date de début d'exercice. Les à nouveaux s'inséreront dans les relevés de compte en début d'exercice correctement et les soldes des comptes clients deviendront alors juste.&lt;br /&gt;
&lt;br /&gt;
Le passage en production ne nécessite aucune action particulière si ce n'est de donner les droits de saisie aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Pour l'activité aéronautique :&lt;br /&gt;
*les premières saisies d'heures de vols mettront automatiquement à jour les compteurs des aéronefs.&lt;br /&gt;
*les validités avec expérience récente (par exemple &amp;quot;un vol tous les 3 mois&amp;quot;) ne devront être paramétrés comme bloquant que lorsque le passage en production sera effectif depuis une durée supérieure à la période de calcul des validités avec expérience récente (par exemple 3 mois dans l'exemple donné).&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, tant que les à nouveaux des comptes clients n'auront pas été rapatriés, le calcul du solde de leur compte sera faux. Il ne faut donc pas activer les blocages pour les soldes insuffisants, si cela est prévu, tant que les [[#Rapatrier_les_à_nouveaux|à nouveaux ne seront pas mis à jour]].&lt;br /&gt;
&lt;br /&gt;
Enfin, si la date de passage en production est prévue pour un 1er janvier, pensez au fait que votre structure n'est pas la seule dans ce cas. C'est la raison pour laquelle il faut prévoir un délai côté OpenFlyers pour la réinitialisation, un délai dans l'import des à nouveaux après cette date et également un délai dans le traitement des demandes de dernière minute.&lt;br /&gt;
&lt;br /&gt;
==Rapatrier les à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]]==&lt;br /&gt;
Le rapatriement des à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]] ne doit être effectué qu'une fois que la comptabilité de l'exercice précédent a été consolidée et validée. Cette opération s'effectue donc après le passage en production et peut nécessiter plusieurs semaines dans le cas de consolidation ou de vérifications nécessitant du temps sur l'ancien système de gestion.&lt;br /&gt;
&lt;br /&gt;
L'étendu des soldes de comptes à importer diffère suivant le [[#Définir_le_périmètre_comptable_géré_par_OpenFlyers|périmètre de gestion par OpenFlyers retenu par la structure]] :&lt;br /&gt;
#Dans le cas où [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|OpenFlyers gère seulement le chiffre d'affaire]], il faut importer uniquement les à nouveaux des comptes clients&lt;br /&gt;
#Dans le cas où [[#Gestion_des_charges_dans_OpenFlyers|OpenFlyers gère en plus les charges]], il faut importer également les à nouveaux des comptes fournisseurs et des comptes financiers&lt;br /&gt;
#Dans le cas où [[#Gestion_comptable_complète_dans_OpenFlyers|OpenFlyers gère toute la comptabilité]], il faut importer l'intégralité des comptes du bilan&lt;br /&gt;
&lt;br /&gt;
Dans les cas 2 et 3, l'import des comptes de bilan qui ne sont pas des comptes clients, doit s'[[Écritures comptables#Solde_de_compte_de_bilan|effectuer manuellement]].&lt;br /&gt;
&lt;br /&gt;
Dans le 3ème cas, les comptes du bilan qui ne correspondent pas aux clients, fournisseurs ou aux comptes financier peuvent être importés ultérieurement. En effet, il n'y a besoin d'effectuer des contrôles réguliers que sur les comptes financiers et les comptes de tiers.&lt;br /&gt;
===Rapatrier les à nouveaux des comptes clients===&lt;br /&gt;
La meilleure méthode pour initialiser le solde des comptes clients est d'importer un fichier csv contenant le solde de chaque compte client avec les références du client.&lt;br /&gt;
&lt;br /&gt;
Dans le cadre du forfait paramétrage, nous recommandons de confier cette opération à l'équipe OpenFlyers. Nous vous communiquerons un fichier préformaté au format csv. Il vous faudra juste nous le retourner en ayant renseigné les soldes des comptes clients et en nous indiquant la date comptable retenue pour l'import.&lt;br /&gt;
&lt;br /&gt;
Le rapatriement des à nouveaux s'effectue conformément à la pratique comptable : il s'agit d'une [[Écritures comptables#Solde_de_compte_de_bilan|écriture qui vient débiter ou créditer le compte de l'utilisateur concerné à une date comptable choisie et dont la contre-partie va sur le compte de report à nouveau]].&lt;br /&gt;
&lt;br /&gt;
Voici un exemple :&lt;br /&gt;
&lt;br /&gt;
*La structure passe en production au 1er mai. A cette date, l'import n'est pas effectué. Les soldes de tous les comptes sont à 0 car aucune écriture comptable n'a encore été enregistrée.&lt;br /&gt;
*Un utilisateur X effectue une activité le 3 mai qui génère une facture client et donc un débit sur son compte de 200 €.&lt;br /&gt;
Ainsi, le compte de l'utilisateur X au 3 mai se présente ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!200.00 €!!000.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*L'import des à nouveaux s'effectue réellement le 15 mai à la date comptable du 1er mai. Dans la comptabilité précédente, l'utilisateur X présentait au 30 avril un solde positif de 300 €. L'import va donc générer une écriture au crédit sur son compte de 300 € à la date du 1er mai. Après import des à nouveaux, le compte de l'utilisateur X se présentera ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|01/05/xx||Import à nouveau||000.00 €||300.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!000.00 €!!100.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[[#Workflow|Mettre en place un workflow adapté à OpenFlyers]]==&lt;br /&gt;
Une fois en production, OpenFlyers recommande de [[#Workflow|mettre en place un workflow adapté au logiciel]] afin d'en faciliter l'usage et de respecter les bonnes pratiques en terme de suivi d'activité.&lt;br /&gt;
&lt;br /&gt;
=Terminal de paiement électronique virtuel=&lt;br /&gt;
==Principe de fonctionnement du couplage entre OpenFlyers et un TPE virtuel==&lt;br /&gt;
Lorsque une plateforme OpenFlyers est couplée à un terminal de paiement par internet fourni par une banque voici la chronologie de son utilisation :&lt;br /&gt;
#Un utilisateur autorisé, se connecte à OpenFlyers.&lt;br /&gt;
#Il va sur la page OpenFlyers lui permettant de [[Utilisation de la comptabilité#Saisir_un_encaissement|saisir un encaissement]].&lt;br /&gt;
#Il sélectionne le type de paiement &amp;quot;carte bancaire en ligne&amp;quot; (l'intitulé est modifiable pour chaque plateforme)&lt;br /&gt;
#Il saisit le montant qu'il souhaite verser sur son compte client.&lt;br /&gt;
#Il valide le formulaire de saisie de l'approvisionnement et se retrouve dirigé sur l'interface du terminal de paiement électronique de la banque&lt;br /&gt;
#Là, il saisit ses coordonnées bancaires : elles ne sont donc pas transmises à OpenFlyers&lt;br /&gt;
#Si la transaction est acceptée par la banque, le serveur OpenFlyers hébergeant la plateforme est automatiquement informé&lt;br /&gt;
#Le compte de l'utilisateur est crédité du montant correspondant et la contre-partie va sur le compte de trésorerie correspondant à ce mode de paiement. Cette écriture est automatiquement validée car elle a été sécurisée.&lt;br /&gt;
Il n'y a donc rien à faire côté gestion.&lt;br /&gt;
Sur le compte de trésorerie, le mouvement apparait comme pour les autres mouvements qui correspondent à des encaissements :&lt;br /&gt;
*Dans la colonne '''Compte affecté''' est indiqué le nom du compte de contre-partie, c'est à dire le compte de l'utilisateur avec son nom et prénom.&lt;br /&gt;
*Dans la colonne '''Commentaire''' apparait le type de paiement, par exemple &amp;quot;carte bancaire en ligne&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Mettre en place un TPE virtuel==&lt;br /&gt;
[[OF_doc4-fr:Bien-débuter-avec-OpenFlyers#Mettre-en-place-un-TPE-virtuel|Voir la documentation de la version 4]].&lt;br /&gt;
&lt;br /&gt;
==TPE virtuel et test==&lt;br /&gt;
&lt;br /&gt;
S'assurer avant de procéder à des tests avec le TPE, que les utilisateurs disposent d'une adresse email valide.&lt;br /&gt;
&lt;br /&gt;
==Liste des systèmes implémentés par OpenFlyers==&lt;br /&gt;
OpenFlyers a implémenté jusqu'à présent les interfaces suivantes. Attention, pour certaines banques, il existe plusieurs interfaces. Cela peut dépendre de la région géographique ou d'une évolution au niveau de la banque qui lui fait abandonner un ancien système au profit d'un plus récent.&lt;br /&gt;
*CMCIC version 1.2open et version 3.5 utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Mutuel&lt;br /&gt;
**CIC&lt;br /&gt;
*PAYBOX utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Agricole (e-transactions). ''A noter que la [[#Procédure_Paybox_Vision|procédure de mise en place &amp;quot;Paybox Vision&amp;quot;]] est lourde et impose des actions de la part du gestionnaire de la structure. De plus, elle nécessite de disposer d'une adresse qui ne soit pas en @free.fr ou @orange.fr.''&lt;br /&gt;
**Crédit Coopératif&lt;br /&gt;
*PAYLINE utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Mutuel (citélis)&lt;br /&gt;
*SIPS ATOS utilisé par les banques suivantes :&lt;br /&gt;
**Banque Populaire (cyberplus paiement)&lt;br /&gt;
**BNP Paribas (mercanet)&lt;br /&gt;
**Crédit du Nord (webaffaires)&lt;br /&gt;
**Crédit Lyonnais (sherlocks)&lt;br /&gt;
**Crédit Mutuel&lt;br /&gt;
**HSBC (elysnet)&lt;br /&gt;
**La Poste (scellius)&lt;br /&gt;
**Société Générale (sogenactif)&lt;br /&gt;
*SP PLUS utilisé par les banques suivantes :&lt;br /&gt;
**Caisse d'Epargne&lt;br /&gt;
&lt;br /&gt;
==Procédures TPE==&lt;br /&gt;
===Procédure CMCICv3===&lt;br /&gt;
*Aller sur [https://www.cmcicpaiement.fr/fr/identification/default.cgi l'interface d'administration]&lt;br /&gt;
*Dans le champ '''Identifiant''' saisir l'identifiant communiqué par e-mail par la banque&lt;br /&gt;
*Dans le champ '''Mot de passe''' saisir le mot de passe communiqué par e-mail par la banque&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''&lt;br /&gt;
Une fois connecté, vous êtes soit sur l'interface back-office de production soit sur l'interface back-office de test. L'interface back-office de test est reconnaissable aux mots &amp;quot;test&amp;quot; qui apparaissent un peu partout dans le bandeau supérieur de l'interface.&lt;br /&gt;
*Si l'interface indique ''Votre identifiant n'est associé à aucun TPE sur l'environnement de XXX'', basculer sur l'autre interface en cliquant à droite dans la boite '''Environnement''' sur le lien '''Cliquez ici pour basculer vers le Tableau de Bord de XXX.'''&lt;br /&gt;
*Cliquer sur le menu '''Paramétrage'''.&lt;br /&gt;
*Cliquer sur le sous-menu '''Clé de sécurité'''.&lt;br /&gt;
*Sélectionner l'e-mail sur lequel vous souhaitez recevoir le ''code de téléchargement''.&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''.&lt;br /&gt;
'''Attention : ''' Ne pas fermer la page '''Obtention de la clé de sécurité''' permettant de récupérer la clé&lt;br /&gt;
*Copier depuis sa messagerie e-mail le '''Code de confirmation'''&lt;br /&gt;
*Coller ce code dans l'interface '''Obtention de la clé de sécurité'''&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''&lt;br /&gt;
*Télécharger le fichier contenant la clé de sécurité.&lt;br /&gt;
*Nous transmettre par e-mail cette clé de sécurité en nous précisant si vous l'avez obtenu depuis l'interface de production ou depuis l'interface de test.&lt;br /&gt;
&lt;br /&gt;
===Procédure Paybox Vision===&lt;br /&gt;
''Cette procédure débute après que l'identifiant et le mot de passe ait été changé conformément aux préconisations d'e-transactions. L'identifiant doit correspondre à une adresse e-mail autre que @free.fr ou @orange.fr''&lt;br /&gt;
*Aller sur [https://guest.e-transactions.fr/Vision l'interface d'administration]&lt;br /&gt;
*Dans le champ '''Login''', saisir l'identifiant qui correspond normalement à une adresse e-mail&lt;br /&gt;
*Dans le champ '''Mot de passe''', saisir le mot de passe qui a été préalablement modifié&lt;br /&gt;
*Cliquer sur le bouton '''Se connecter'''&lt;br /&gt;
*Cliquer sur le menu représentant une clé de mécanicien.&lt;br /&gt;
*Dans le tableau, copier/coller sur un fichier texte les champs '''PBX_SITE''', '''PBX_RANG''' et '''PBX_IDENTIFIANT'''. Attention : '''PBX_RANG''' doit être recopié sur 2 chiffres et non pas trois (exemple : 01).&lt;br /&gt;
*Dans le tableau, dans le champ '''Réception du ticket de paiement''' sélectionner '''Inactif'''.&lt;br /&gt;
*Dans le tableau, compléter le champ '''E-mail de votre intégrateur''' en indiquant notre adresse e-mail de contact. '''Cette opération est indispensable pour pouvoir activer une nouvelle clé HMAC'''.&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Tout en bas de l'interface, saisir des caractères dans le champ '''Phrase de passe''' de façon à ce que le bouton à droite du champ passe à &amp;quot;Fort&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton en-dessous du champ intitulé '''Générer la clé'''&lt;br /&gt;
*Une fois la clé générée, recopier le contenu de la clé qui apparait en-dessous du bouton '''Générer la clé''' à côté du champ '''Clé :'''&lt;br /&gt;
*'''Valider l'e-mail reçu pour acceptation de la clé'''&lt;br /&gt;
*Transmettre par e-mail à OpenFlyers les informations suivantes :&lt;br /&gt;
**PBX_SITE&lt;br /&gt;
**PBX_RANG&lt;br /&gt;
**PBX_IDENTIFIANT&lt;br /&gt;
**Clé&lt;br /&gt;
&lt;br /&gt;
===Qualité de service des TPE===&lt;br /&gt;
Selon les Terminal de Paiement Électroniques virtuel, certains systèmes n'effectuent pas de renvoie de l'avis de débit aux serveurs dans le cas ou le premier envoi à échouer. Ce type de situation est rare mais peut arriver (problème de liaison internet par exemple ou indisponibilité momentanée du serveur recevant les avis de transactions). A contrario, les bons systèmes enregistrent les échecs, attendent un certain délai puis effectuent une nouvelle tentative d'envoi.&lt;br /&gt;
&lt;br /&gt;
De même certains systèmes envoient un e-mail d'erreur lorsque la transaction n'est pas prise en compte par la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est donc recommandé de vérifier auprès de sa banque si la solution TPE proposée effectue ce type de surveillance et de renvoi systématique.&lt;br /&gt;
&lt;br /&gt;
Si en exploitation, vous êtes confronté à un problème de prise en compte par votre plateforme OpenFlyers d'un paiement effectué par un utilisateur, il faut vérifier que cette transaction a bien eu lieu. Pour cela, il faut se connecter à l'interface de gestion du TPE proposé par la banque, retrouver la ligne correspondant à la transaction. Cette ligne doit comporter un message d'anomalie indiquant que le serveur OpenFlyers n'a pas accusé réception de l'avis de transaction.&lt;br /&gt;
&lt;br /&gt;
A la suite de quoi, vous pouvez nous remonter l'anomalie pour que nous consultions les logs et ainsi que nous vérifions s'il n'y a pas eu un bug dans OpenFlyers bloquant l'enregistrement de la transaction. Il existe également un [[Gestion des rapports#Tentatives_de_paiement_par_carte_bancaire_en_ligne|rapport listant les tentatives de paiements]] qui permet de vérifier s'il y a bien eu une tentative de paiement d'initiée côté OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Si à la suite de notre investigation, nous n'avons pas retrouvé d'enregistrement d'avis de transaction cela veut dire que le message n'est pas parvenu au serveur et que vous êtes sur un système de TPE qui n'effectue pas de nouvel envoi en cas d'échec (cf. ci-dessus).&lt;br /&gt;
&lt;br /&gt;
Nous vous recommandons alors de faire remonter le problème auprès de votre banque pour qu'ils améliorent leur processus en mettant en place une surveillance des avis en échec et un renouvellement de l'envoi.&lt;br /&gt;
&lt;br /&gt;
=Workflow=&lt;br /&gt;
L'utilisation du logiciel OpenFlyers nécessite la mise en place d'une chronologie des actions quotidiennes et annuelles.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions quotidiennes==&lt;br /&gt;
*Le première action chronologique concerne la réservation qui intervient en amont de la réalisation d'une activité.&lt;br /&gt;
*Ensuite, vient la saisie d'activité qui se fait soit :&lt;br /&gt;
**en 2 phases :&lt;br /&gt;
***Ouverture de l'activité avant de débuter l'activité&lt;br /&gt;
***Puis fermeture de l'activité après la réalisation de l'activité&lt;br /&gt;
**en 1 phase :&lt;br /&gt;
***Fermeture de l'activité qui se fait à l'issue de la réalisation de l'activité&lt;br /&gt;
&lt;br /&gt;
Dans le cas des activités aéronautiques, nous recommandons de donner comme consigne aux pilotes de saisir les vols dans OpenFlyers et ensuite de recopier les valeurs affichées par OpenFlyers sur le carnet de route. En effet, le document qui fait foi est le carnet de route. Cependant, c'est OpenFlyers qui est normalement utilisé pour faire le total des heures dans le cadre du suivi de la maintenance. De ce fait, il est important que les données dans OpenFlyers et sur le carnet de route correspondent rigoureusement. Or, le risque d'erreur est plus faible lorsqu'on recopie des éléments affichés sur un écran plutôt que si on recopie sur un écran des éléments écrits sur un papier. En plus, OpenFlyers fait des calculs automatiquement. En saisissant d'abord sur OpenFlyers, le pilote n'a plus à faire de calcul. Il s'évite ainsi une source d'erreur.&lt;br /&gt;
&lt;br /&gt;
Quelque soit le mode de saisie (ouverture+fermeture ou fermeture uniquement), c'est la saisie de la fermeture qui déclenche la facturation. L'ouverture de l'activité permet d'informer les autres utilisateurs :&lt;br /&gt;
*de la prise en compte d'une ressource et donc de son indisponibilité pour une autre activité&lt;br /&gt;
*des intentions au cours de la réalisation de l'activité&lt;br /&gt;
*du temps d'utilisation prévu (et donc de l'horaire de retour prévu)&lt;br /&gt;
*du trajet prévu&lt;br /&gt;
Ces informations peuvent être utiles dans un but de sécurité.&lt;br /&gt;
&lt;br /&gt;
A noter que la facturation peut être déclenchée en amont au vu des réservations et non pas de la réalisation de l'activité.&lt;br /&gt;
&lt;br /&gt;
Un autre élément du workflow concerne l'encaissement des paiements des utilisateurs ou la vente de produits. Ces opérations sont déconnectées de la chronologie réservation/réalisation d'une activité.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions hebdomadaires/mensuelles==&lt;br /&gt;
En aval de la réalisation de l'activité, intervient les actions liées à la comptabilité. Il est indispensable de suivre la démarche suivante pour garantir la confiance des parties prenantes (utilisateurs, gestionnaires et l'éditeur du logiciel OpenFlyers).&lt;br /&gt;
&lt;br /&gt;
===Validation des écritures===&lt;br /&gt;
Il faut valider régulièrement l'ensemble des écritures par pointage systématique. Cela concerne :&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_de_l'activité|validation des saisies d'activités]]&lt;br /&gt;
*La [[Gestion des produits et des ventes#Validation_d'un_panier_par_un_utilisateur|validation des ventes de produits]].&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_des_encaissements|validation des encaissements]]&lt;br /&gt;
*La [[Utilisation de la comptabilité#Validation_d'un_flux|validation des saisies de flux comptables divers]].&lt;br /&gt;
Cette validation doit être adaptée en fonction de la taille de la structure et des ressources humaines disponibles pour effectuer cette tâche. Dans une petite structure, une validation tous les mois est acceptable, dans une grande structure, une validation toutes les semaines est recommandée. &lt;br /&gt;
&lt;br /&gt;
Concernant la validation des saisies d'activités comme par exemple les vols effectués sur les aéronefs, cette dernière doit être effectuée au plus tard, pour un aéronef considéré, avant la pose d'une APRS (Approbation Pour Remise en Service) afin de garantir le bon calcul des heures de vols de l'aéronef concerné.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des ventes de produits, cette dernière doit être faite en fonction du type de produit vendu. S'il s'agit d'un produit physique remis en main propre, alors la validation devrait avoir lieu lors de la remise du produit. S'il s'agit d'un produit immatériel, comme des packs d'heures d'activité, alors la validation devrait être décaler de quelques jours, voir d'une semaine, afin de permettre au client d'exercer son droit de rétractation. Néanmoins, cette validation doit intervenir à intervalle régulier pour éviter toute abus de la part des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des encaissements, cette dernière s'effectue normalement lors du pointage du type d'encaissement considéré. Ainsi pour les chèques, cela permet de générer le bordereau de remise pour la banque.&lt;br /&gt;
&lt;br /&gt;
Concernant les flux comptables divers, dès qu'ils touchent un compte client, ils devraient être validés au plus tôt afin de garantir au client qu'il n'y aura pas de &amp;quot;disparition&amp;quot; à posteriori de ce flux. Si par la suite une erreur est détectée sur ce flux, il suffira de saisir un flux correctif permettant d'annuler l'erreur. Cette pratique assure la traçabilité des écritures.&lt;br /&gt;
&lt;br /&gt;
===Saisie des factures/paiements fournisseurs===&lt;br /&gt;
La saisie des factures fournisseurs et de leur paiement sont à effectuer si la structure a décidé de [[#Gestion_des_charges_dans_OpenFlyers|gérer les charges]] dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Nous recommandons :&lt;br /&gt;
*De [[Gestion des achats#Saisie_d'une_facture_fournisseur|saisir les factures fournisseurs après leur paiement]].&lt;br /&gt;
*D'effectuer la [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisie des paiements fournisseurs au vu du relevé de banque]], donc normalement, une fois par mois.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions annuelles==&lt;br /&gt;
===Validation des charges===&lt;br /&gt;
Lorsque les charges sont gérées dans OpenFlyers, nous recommandons de valider les factures et les paiements fournisseurs juste avant la clôture de la comptabilité.&lt;br /&gt;
&lt;br /&gt;
En effet, il n'est pas utile de les valider plus tôt car :&lt;br /&gt;
*Ils n'ont pas d'impact sur les utilisateurs.&lt;br /&gt;
*Il est préférable d'attendre que les comptes de trésorerie soient réputés exactes et que le solde des comptes fournisseurs aient été vérifiés. Cela laisse la possibilité de modifier une saisie de facture ou de paiement fournisseur qui aurait été mal ventilée.&lt;br /&gt;
&lt;br /&gt;
===Clôture/ouverture de l'exercice comptable===&lt;br /&gt;
Lors du changement d'exercice comptable, il est nécessaire d'effectuer certaines opérations comptables dans OpenFlyers et de procéder à la clôture de l'exercice précédent.&lt;br /&gt;
&lt;br /&gt;
Ces opérations n'ont pas besoin d'être effectuées dès le changement d'exercice. En effet, il est possible de continuer à saisir sur le nouvel exercice sans que le précédent soit clôturer.&lt;br /&gt;
&lt;br /&gt;
De plus, ces opérations nécessitent un paramétrage préalable de la plateforme afin de garantir que les écritures comptables seront correctement exportées dans un ou plusieurs fichiers en vu de leur archivage ou de leur import dans un logiciel de comptabilité.&lt;br /&gt;
&lt;br /&gt;
Un mécanisme de vérification en place dans le logiciel OpenFlyers empêche de désactiver tout compte dont le solde n'est pas nul et dont les écritures n'ont pas été exportées. Cela permet de garantir qu'on garde la &amp;quot;vue&amp;quot; sur tout ce qui impacte le compte d'exploitation en cours et le bilan.&lt;br /&gt;
&lt;br /&gt;
En corolaire, il n'est donc possible de désactiver des utilisateurs ou des ressources que lorsque leurs comptes sont eux-mêmes désactivables.&lt;br /&gt;
&lt;br /&gt;
Aussi, nous recommandons de fixer une politique de gestion des utilisateurs consistant à n'effectuer d'opération de &amp;quot;désactivation&amp;quot; qu'après un décalage d'une ou plusieurs années sans présence dans la structure. Il est judicieux de fixer ce décalage dans tout document contractuel comme les conditions générales de ventes, les statuts ou règlements intérieurs. Ainsi, la &amp;quot;mise à 0&amp;quot; du solde du compte en passant en &amp;quot;pertes et profits&amp;quot; ne pourra être remis en cause par l'utilisateur ou le client à posteriori.&lt;br /&gt;
&lt;br /&gt;
[[Utilisation de la comptabilité#Actions_à_effectuer_par_ordre_chronologique|Voir les procédures correspondantes]].&lt;br /&gt;
&lt;br /&gt;
=[[Créer une plateforme OpenFlyers pour sa structure]]=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15185</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15185"/>
				<updated>2017-03-03T06:00:15Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Modifier le comportement la souris */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Console=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement de la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;br /&gt;
Les procédures suivantes décrites pour LibreOffice sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes sous LibreOffice==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne sous Excel 2016==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Format de cellule''' pour faire apparaitre une boite de dialogue intitulée '''Format de cellule'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombre'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Type''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant :&lt;br /&gt;
**Dans le champ '''Catégorie''', sélectionner '''Personnalisée'''&lt;br /&gt;
**Dans le champ '''Type''', renseigner le format souhaiter.&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;aaaa-mm-jj&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne sous LibreOffice==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers sous LibreOffice==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Interfa%C3%A7age-OpenFlyers-et-armoire-%C3%A0-cl%C3%A9&amp;diff=15152</id>
		<title>Interfaçage OpenFlyers et armoire à clé</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Interfa%C3%A7age-OpenFlyers-et-armoire-%C3%A0-cl%C3%A9&amp;diff=15152"/>
				<updated>2017-02-17T09:06:47Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Activation et configuration de la gestion des armoires à clé */&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 décrire le protocole d'interfaçage avec toute solution d'armoire à clés tiers. Pour les armoires à clés commercialisées par OpenFlyers, il faut se référer à la [[Contrôle des accès|documentation sur le contrôle d'accès]].&lt;br /&gt;
&lt;br /&gt;
Le protocole repose sur le principe que l'interfaçage est réalisé par un logiciel de contrôle de l'armoire à clé sur un PC ou une solution embarquée et qui dispose d'un accès à internet lui permettant de communiquer avec OpenFlyers. La communication est synchrone.&lt;br /&gt;
&lt;br /&gt;
=Interface utilisateur OpenFlyers=&lt;br /&gt;
L'utilisateur ouvre un vol dans OpenFlyers :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Menu-contextuel-ouverture-de-vol.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il se retrouve sur le formulaire de saisie du vol en mode Départ en vol:&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Formulaire-ouverture-de-vol.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il clique sur le bouton de validation, 3 cas peuvent se présenter :&lt;br /&gt;
*Une alerte ou plusieurs alertes rouges (bloquantes), s'affichent : l'utilisateur n'a pas la possibilité de surpasser ses alertes, il ne peut alors récupérer la clé :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Alertes-bloquantes-en-ouverture-vol.png]]&lt;br /&gt;
&lt;br /&gt;
*Une alerte ou plusieurs alertes oranges (non-bloquantes), s'affichent : l'utilisateur a la possibilité de surpasser ses alertes, et ainsi de récupérer la clé :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Alertes-non-bloquantes-en-ouverture-vol.png]]&lt;br /&gt;
&lt;br /&gt;
*Aucune alerte ne s'affiche, l'utilisateur se retrouve alors directement sur la page lui indiquant :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Message_autorisation_libération_clé.png]]&lt;br /&gt;
&lt;br /&gt;
Une fois qu'il a cliqué sur '''LIBÉRER LA CLÉ''', il dispose de X secondes. Cette durée est paramétrable par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
*Lorsqu'il rentre de vol, l'utilisateur n'a plus qu'a retourner sur le formulaire de saisie de vol et à fermer son vol. La clé doit etre remise en place sur l'armoire pour fermer le vol.&lt;br /&gt;
&lt;br /&gt;
=Interface administrateur OpenFlyers=&lt;br /&gt;
==Activation et configuration de la gestion des armoires à clé==&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des vols''', sélectionner '''Activé(e)''' pour le champ '''Gestion armoire à clé'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' lié au formulaire&lt;br /&gt;
*Dans le formulaire '''Gestion des vols''', sélectionner '''Activé(e)''' pour le champ '''Gestion des clés'''&lt;br /&gt;
*Cliquer à nouveau sur le bouton '''Valider''' lié au formulaire&lt;br /&gt;
*Le formulaire apparait alors comme suit :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Paramétrage_armoire_à_clé.png]]&lt;br /&gt;
&lt;br /&gt;
*Signification des paramètres :&lt;br /&gt;
**'''Gestion des clés''' : Gestion par OpenFlyers des clés de l'armoire ('''Désactivé(e)''' ou '''Activé(e)''')&lt;br /&gt;
**'''Nombre de clés''' : nombre de clés possibles dans l'armoire&lt;br /&gt;
**'''Ne pas vérifier la présence de la clé lors de la fermeture du vol''' : Lorsque '''Désactivé(e)''' est sélectionné, OpenFlyers émet une alerte bloquante lorsqu'on tente de clôturer un vol alors que la clé n'a pas été remise à sa place.&lt;br /&gt;
**'''Temporisation''' : temps en secondes pendant lequel la clé peut être retirée après autorisation.&lt;br /&gt;
**'''Logiciel de contrôle de l'armoire à clé''' : Il s'agit du nom du logiciel de contrôle de l'armoire à clé. PyOpenKey (protocole open), OpenKey (protocole Openflyers, version 1), pyOpenkey2 (protocole Openflyers version 2) . &lt;br /&gt;
**'''IP du PC contenant le logiciel de contrôle''' : adresse IP du PC sur lequel se trouve le logiciel de contrôle de l'armoire à clé.&lt;br /&gt;
**'''Port du PC contenant le logiciel de contrôle''' : port sur lequel écoute le logiciel de contrôle de l'armoire à clé.&lt;br /&gt;
**'''Fermeture automatique des vols au retour de la clé''' : permet de programmer la fermeture automatique des vols au retour de la clé.&lt;br /&gt;
**'''Phrase mot de passe''' : phrase permettant d'authentifier la source de la transmission dans le cas d'une requête XML-RPC.&lt;br /&gt;
'''Attention :''' dans le cas où le logiciel de contrôle de l'armoire à clé se trouve sur le même PC que pour la saisie des vols dans OpenFlyers, il peut y avoir des problèmes de loopback au niveau du routeur.&lt;br /&gt;
&lt;br /&gt;
==Attribution des clés aux ressources/aéronefs==&lt;br /&gt;
''Dans le cas où c'est le logiciel OpenFlyers qui gère les clés.''&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Ressources &amp;gt; Ressources &amp;gt; Actives''' ou '''Flotte &amp;gt; Aéronefs &amp;gt; Aéronefs actifs''' sous version OF 2.1&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Liste_des_aéronefs.png]]&lt;br /&gt;
&lt;br /&gt;
Pour chaque aéronef concerné, il suffit d'attribuer un numéro et un nom de clé dans les champs correspondants. La validation de la saisie se fait automatiquement en cliquant hors du champ de saisie.&lt;br /&gt;
&lt;br /&gt;
=Protocole de dialogue XML-RPC entre OpenFlyers et le logiciel de gestion de l'armoire à clé=&lt;br /&gt;
Le dialogue avec le serveur XML-RPC d'OpenFlyers doit s'effectuer en '''HTTPS'''.&lt;br /&gt;
&lt;br /&gt;
==Demande de libération d'une clé==&lt;br /&gt;
&lt;br /&gt;
===Cas avec gestion des clés par OpenFlyers===&lt;br /&gt;
&lt;br /&gt;
*Lorsque qu'une clé doit être libérée, le navigateur envoie un message au logiciel de contrôle de l'armoire à clé par le protocole HTTP sous la forme suivante :&lt;br /&gt;
http://127.0.0.1:4080/?sessid=e5f01p2oqh2vb36arisr8k5j87&amp;amp;amp;timeOut=10000&amp;amp;amp;key=1&amp;amp;amp;resource=2&amp;amp;amp;person=12;action='releaseKey'&lt;br /&gt;
&lt;br /&gt;
:*L'adresse IP (ici 127.0.0.1) et le port (ici 4080) sont fonction de la [[#Activation_et_configuration_de_la_gestion_des_armoires_à_clé|configuration de l'armoire à clé dans OpenFlyers]].&lt;br /&gt;
:*sessid contient le numéro de session en cours&lt;br /&gt;
:*timeout correspond au temps d'attente pour la prise d'une clé en millisecondes&lt;br /&gt;
:*key contient le numéro de la clé concernée&lt;br /&gt;
:*resource contient le numéro de la ressource concernée&lt;br /&gt;
:*person contient le numéro de l'utilisateur qui fait la demande&lt;br /&gt;
:*action est un mot clé désignant l'objet de la commande&lt;br /&gt;
:**release_key: ordre de libérer la clé&lt;br /&gt;
:**open_door: ordre d'ouvrir la porte&lt;br /&gt;
:**init_tags: ordre de lire les tags des clés&lt;br /&gt;
*Le logiciel de contrôle de l'armoire à clé doit alors envoyer une demande d'ordre au serveur OpenFlyers à l'adresse suivante https://openflyers.com/structure/actionOnDemand.php où il faut remplacer openflyers.com/structure/ par l'adresse de la plateforme OpenFlyers concernée, avec comme commande XML_RPC '''checkCommand (&amp;quot;e5f01p2oqh2vb36arisr8k5j87&amp;quot;,int(key))'''.&lt;br /&gt;
&lt;br /&gt;
*Le serveur OpenFlyers vérifie alors l'action demandée :&lt;br /&gt;
Pour release_key, il est vérifié :&lt;br /&gt;
#Que la clé est au bon format et existe. Lorsque la clé est validée, on passe à l'étape suivante sinon on retourne 0&lt;br /&gt;
#Que l'utilisateur faisant la demande est bien celui qui est connecté. Lorsque c'est le cas, on passe à l'étape suivante sinon on retourne 0&lt;br /&gt;
#Ensuite si l'utilisateur qui a passé la demande :&lt;br /&gt;
#*A le droit '''Gestion des clés''' (administrateur) alors on libère la clé sans condition (cela permet de libérer la clé sans contrôle) et on retourne 1&lt;br /&gt;
#*N'a pas le droit '''Gestion des clés''' (pilote) alors on vérifie s'il existe un vol ouvert qui remplit la double condition :&lt;br /&gt;
#**Vol attribué à l'utilisateur&lt;br /&gt;
#**Aéronef du vol associé à la demande de libération de la clé&lt;br /&gt;
#**Lorsque la double condition est remplie, on retourne 1 sinon 0&lt;br /&gt;
&lt;br /&gt;
*Le serveur retourne ensuite la réponse :&lt;br /&gt;
**1 dans le cas d'autorisation de libération de clé &lt;br /&gt;
**0 dans le cas contraire&lt;br /&gt;
&lt;br /&gt;
====Exemple de script en Python d'utilisation de la commande checkCommand avec gestion des clés====&lt;br /&gt;
&amp;lt;python&amp;gt;# load library&lt;br /&gt;
from twisted.web.xmlrpc import Proxy&lt;br /&gt;
from twisted.internet import reactor, ssl&lt;br /&gt;
 &lt;br /&gt;
def printValue(value):&lt;br /&gt;
    print repr(value)&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
 &lt;br /&gt;
def printError(error):&lt;br /&gt;
    print 'error', error&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
 &lt;br /&gt;
# URL of the XML-RPC server&lt;br /&gt;
proxy = Proxy('https://yourURL.xx/actionOnDemand.php')&lt;br /&gt;
 &lt;br /&gt;
# init array to send&lt;br /&gt;
sessid = &amp;quot;&amp;quot;&lt;br /&gt;
key_num = 1&lt;br /&gt;
 &lt;br /&gt;
# send to the XML-RPC server&lt;br /&gt;
proxy.callRemote('checkCommand', sessid, key_num).addCallbacks(printValue, printError)&lt;br /&gt;
reactor.run()&amp;lt;/python&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce test peut être complété (pour obtenir une réponse &amp;quot;1&amp;quot;) en simulant une armoire à clé à l'aide d'un script PHP de la façon suivante :&lt;br /&gt;
*Installer un serveur local (par exemple [http://www.wampserver.com/ wampserver] sous Windows) de façon à avoir le port 127.0.0.1 qui lui est attribué&lt;br /&gt;
*Configurer la plateforme OpenFlyers de manière à gérer l'armoire à clé avec les éléments suivants :&lt;br /&gt;
**'''IP du PC contenant le logiciel de contrôle''' : 127.0.0.1&lt;br /&gt;
**'''Port du PC contenant le logiciel de contrôle''' : 80&lt;br /&gt;
*Configurer la plateforme OpenFlyers de manière à gérer les clés&lt;br /&gt;
*A la racine du répertoire www, mettre le script index.php suivant (on suppose que ce script est appelé par défaut lorsqu'on utilise l'URL http://127.0.0.1 ) :&lt;br /&gt;
&amp;lt;php&amp;gt;&amp;lt;?php &lt;br /&gt;
file_put_contents('test.txt', 'TEST', FILE_APPEND );&lt;br /&gt;
file_put_contents('test.txt', print_r($_REQUEST, true), FILE_APPEND );&lt;br /&gt;
?&amp;gt;&amp;lt;/php&amp;gt;&lt;br /&gt;
*Toujours à la racine du répertoire www, créer un fichier test.txt&lt;br /&gt;
Le script PHP écrira dans le fichier test.txt les variables transmises lors de la demande d'ouverture de l'armoire à clé :&lt;br /&gt;
&amp;lt;pre&amp;gt;TESTArray&lt;br /&gt;
(&lt;br /&gt;
    [sessid] =&amp;gt; j2eo92215nbef09borb74jftm1&lt;br /&gt;
    [key] =&amp;gt; 1&lt;br /&gt;
    [resource] =&amp;gt; 1&lt;br /&gt;
    [person] =&amp;gt; 1&lt;br /&gt;
)&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Il suffit alors de recopier la valeur de '''sessid''' et de '''key''' dans le script python de ce début de paragraphe et de le tester : il devrait renvoyer 1.&lt;br /&gt;
&lt;br /&gt;
===Cas sans gestion des clés par OpenFlyers===&lt;br /&gt;
&lt;br /&gt;
*Lorsque qu'une demande de vérification doit être réalisée, le navigateur envoie un message au logiciel de contrôle de l'armoire à clé par le protocole HTTP sous la forme suivante :&lt;br /&gt;
http://127.0.0.1:4080/?sessid=e5f01p2oqh2vb36arisr8k5j87&amp;amp;amp;resource=2&amp;amp;amp;person=12&lt;br /&gt;
&lt;br /&gt;
:*L'adresse IP (ici 127.0.0.1) et le port (ici 4080) sont fonction de la [[#Activation_et_configuration_de_la_gestion_des_armoires_à_clé|configuration de l'armoire à clé dans OpenFlyers]].&lt;br /&gt;
:*sessid contient le numéro de session en cours&lt;br /&gt;
:*resource contient le numéro de la ressource concernée&lt;br /&gt;
:*person contient le numéro de l'utilisateur qui fait la demande&lt;br /&gt;
*Le logiciel de contrôle de l'armoire à clé doit alors envoyer une demande d'ordre au serveur OpenFlyers à l'adresse suivante https://openflyers.com/structure/actionOnDemand.php où il faut remplacer openflyers.com/structure/ par l'adresse de la plateforme OpenFlyers concernée, avec comme commande XML_RPC '''checkCommand (&amp;quot;e5f01p2oqh2vb36arisr8k5j87&amp;quot;)'''.&lt;br /&gt;
&lt;br /&gt;
*Le serveur OpenFlyers vérifie alors :&lt;br /&gt;
#Que l'utilisateur faisant la demande est bien celui qui est connecté. Lorsque c'est le cas, on passe à l'étape suivante sinon on retourne 0&lt;br /&gt;
#On vérifie s'il existe un vol ouvert qui remplit la double condition :&lt;br /&gt;
#*Vol attribué à l'utilisateur&lt;br /&gt;
#*Aéronef du vol associé à la demande de libération de la clé&lt;br /&gt;
#*Lorsque la double condition est remplie, on retourne 1 sinon 0&lt;br /&gt;
&lt;br /&gt;
*Le serveur retourne ensuite la réponse :&lt;br /&gt;
**1 dans le cas d'autorisation&lt;br /&gt;
**0 dans le cas contraire&lt;br /&gt;
&lt;br /&gt;
====Exemple de script en Python d'utilisation de la commande checkCommand sans gestion des clés====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;python&amp;gt;# load library&lt;br /&gt;
from twisted.web.xmlrpc import Proxy&lt;br /&gt;
from twisted.internet import reactor, ssl&lt;br /&gt;
 &lt;br /&gt;
def printValue(value):&lt;br /&gt;
    print repr(value)&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
 &lt;br /&gt;
def printError(error):&lt;br /&gt;
    print 'error', error&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
 &lt;br /&gt;
# URL of the XML-RPC server&lt;br /&gt;
proxy = Proxy('https://yourURL.xx/actionOnDemand.php')&lt;br /&gt;
 &lt;br /&gt;
# init array to send&lt;br /&gt;
sessid = &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
# send to the XML-RPC server&lt;br /&gt;
proxy.callRemote('checkCommand', sessid).addCallbacks(printValue, printError)&lt;br /&gt;
reactor.run()&amp;lt;/python&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce test peut être complété (pour obtenir une réponse &amp;quot;1&amp;quot;) en simulant une armoire à clé à l'aide d'un script PHP de la façon suivante :&lt;br /&gt;
*Installer un serveur local (par exemple [http://www.wampserver.com/ wampserver] sous Windows) de façon à avoir le port 127.0.0.1 qui lui est attribué&lt;br /&gt;
*Configurer la plateforme OpenFlyers de manière à gérer l'armoire à clé avec les éléments suivants :&lt;br /&gt;
**'''IP du PC contenant le logiciel de contrôle''' : 127.0.0.1&lt;br /&gt;
**'''Port du PC contenant le logiciel de contrôle''' : 80&lt;br /&gt;
*Configurer la plateforme OpenFlyers de manière à ne pas gérer les clés&lt;br /&gt;
*A la racine du répertoire www, mettre le script index.php suivant (on suppose que ce script est appelé par défaut lorsqu'on utilise l'URL http://127.0.0.1 ) :&lt;br /&gt;
&amp;lt;php&amp;gt;&amp;lt;?php &lt;br /&gt;
file_put_contents('test.txt', 'TEST', FILE_APPEND );&lt;br /&gt;
file_put_contents('test.txt', print_r($_REQUEST, true), FILE_APPEND );&lt;br /&gt;
?&amp;gt;&amp;lt;/php&amp;gt;&lt;br /&gt;
*Toujours à la racine du répertoire www, créer un fichier test.txt&lt;br /&gt;
Le script PHP écrira dans le fichier test.txt les variables transmises lors de la demande d'ouverture de l'armoire à clé :&lt;br /&gt;
&amp;lt;pre&amp;gt;TESTArray&lt;br /&gt;
(&lt;br /&gt;
    [sessid] =&amp;gt; j2eo92215nbef09borb74jftm1&lt;br /&gt;
    [resource] =&amp;gt; 1&lt;br /&gt;
    [person] =&amp;gt; 1&lt;br /&gt;
)&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Il suffit alors de recopier la valeur de '''sessid''' dans le script python de ce début de paragraphe et de le tester : il devrait renvoyer 1.&lt;br /&gt;
&lt;br /&gt;
==Modification de l'état d'une clé==&lt;br /&gt;
''Applicable uniquement dans le cas où le logiciel OpenFlyers gère les clés.''&lt;br /&gt;
*Le logiciel de contrôle de l'armoire à clé doit envoyer un ordre '''notify([1,0,1,1,1,1,0,0], &amp;quot;passphrase&amp;quot;)''' avec comme paramètre un tableau chronologique des clés ayant pour valeur leur état (1 = interrupteur de présence de clé fermé = clé absente de l'armoire, 0 = interrupteur de présence de clé ouvert = clé présente dans l'armoire)&lt;br /&gt;
&lt;br /&gt;
===Exemple de script en Python pour la commande notify===&lt;br /&gt;
Nécessite les librairies Twisted et pyOpenSSL&lt;br /&gt;
&lt;br /&gt;
&amp;lt;python&amp;gt;# load library&lt;br /&gt;
from twisted.web.xmlrpc import Proxy&lt;br /&gt;
from twisted.internet import reactor, ssl&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
def printValue(value):&lt;br /&gt;
    print repr(value)&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
&lt;br /&gt;
def printError(error):&lt;br /&gt;
    print 'error', error&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
&lt;br /&gt;
# URL of the XML-RPC server&lt;br /&gt;
proxy = Proxy('https://yourURL.xx/actionOnDemand.php')&lt;br /&gt;
&lt;br /&gt;
# init passphrase&lt;br /&gt;
passphrase = 'SDjklsdiuQSIPO23879ZERK2098ZL2908DFZLK'&lt;br /&gt;
&lt;br /&gt;
# init array to send&lt;br /&gt;
status = []&lt;br /&gt;
state = random.randint(0,1)&lt;br /&gt;
# Alternate 0 and 1 for test&lt;br /&gt;
for i in range(0,10):&lt;br /&gt;
        status.append(state)&lt;br /&gt;
        state = 0 if state == 1 else 1&lt;br /&gt;
#print status&lt;br /&gt;
&lt;br /&gt;
# send to the XML-RPC server&lt;br /&gt;
proxy.callRemote('notify', status, passphrase).addCallbacks(printValue, printError)&lt;br /&gt;
reactor.run()&amp;lt;/python&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ces scripts nécessitent les librairies Twisted et pyOpenSSL.&lt;br /&gt;
&lt;br /&gt;
Ils recevront (et afficheront) comme réponse 0 du fait que le numéro de session transmis n'est pas correct (et laissé à une chaine vide).&lt;br /&gt;
&lt;br /&gt;
==Fermeture automatique d'un vol==&lt;br /&gt;
&lt;br /&gt;
Le logiciel de contrôle de l'armoire à clé doit envoyer un ordre '''closeFlight(&amp;quot;passphrase&amp;quot;, &amp;quot;id de ressource&amp;quot;)''' avec comme paramètre un passphrase et l'id qui va entraîner la fermeture du vol effectué sur cette ressource si un vol avait été ouvert et que la &amp;quot;Fermeture automatique des&lt;br /&gt;
vols au retour de la clé&amp;quot; soit activée. La commande retournera comme réponse une structure JSON pour déterminer si la fermeture du vol s'est bien réalisée ou non et qu'il n'y a pas eu d'erreur.&lt;br /&gt;
&lt;br /&gt;
Réponse quand la vérification du passphrase est incorrecte, ce qui a entraîné la non-fermeture du vol :&lt;br /&gt;
&amp;lt;javascript&amp;gt;{[&lt;br /&gt;
    ack : 0&lt;br /&gt;
]}&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Réponse quand la vérification du passphrase est correcte et que la demande de fermeture du vol s'est bien réalisée :&lt;br /&gt;
&amp;lt;javascript&amp;gt;{[&lt;br /&gt;
    ack : 1&lt;br /&gt;
]}&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Réponse quand la vérification du passphrase est correcte et que la demande de fermeture du vol ne s'est pas bien réalisée suite à une erreur :&lt;br /&gt;
&amp;lt;javascript&amp;gt;{[&lt;br /&gt;
    ack : 1,&lt;br /&gt;
    error : 'Message d\'erreur ...'&lt;br /&gt;
]}&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Script d'exemple pour closeFlight===&lt;br /&gt;
&amp;lt;python&amp;gt;# load library&lt;br /&gt;
from twisted.web.xmlrpc import Proxy&lt;br /&gt;
from twisted.internet import reactor, ssl&lt;br /&gt;
import random&lt;br /&gt;
&lt;br /&gt;
def printValue(value):&lt;br /&gt;
    print repr(value)&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
&lt;br /&gt;
def printError(error):&lt;br /&gt;
    print 'error', error&lt;br /&gt;
    reactor.stop()&lt;br /&gt;
&lt;br /&gt;
# URL of the XML-RPC server&lt;br /&gt;
proxy = Proxy('https://yourURL.xx/actionOnDemand.php')&lt;br /&gt;
&lt;br /&gt;
# Id of resource which needs a flight closing&lt;br /&gt;
resource_id = 1&lt;br /&gt;
&lt;br /&gt;
# init passphrase&lt;br /&gt;
passphrase = 'SDjklsdiuQSIPO23879ZERK2098ZL2908DFZLK'&lt;br /&gt;
&lt;br /&gt;
# send to the XML-RPC server&lt;br /&gt;
proxy.callRemote('closeFlight', resource_id, passphrase).addCallbacks(printValue, printError)&lt;br /&gt;
reactor.run()&amp;lt;/python&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple de script en Python de logiciel de contrôle d'une armoire==&lt;br /&gt;
&amp;lt;python&amp;gt;#!/usr/bin/python&lt;br /&gt;
import xmlrpclib, time, dummy_proto, hashlib&lt;br /&gt;
from twisted.internet import reactor, task, threads, ssl&lt;br /&gt;
from twisted.application import internet, service&lt;br /&gt;
from twisted.internet.protocol import Protocol, ClientCreator, ReconnectingClientFactory&lt;br /&gt;
from twisted.web import resource, server&lt;br /&gt;
&lt;br /&gt;
# Port from which the OF client contact OpenKeys service&lt;br /&gt;
SERVICE_PORT=4080 &lt;br /&gt;
# IP address of the OpenKeys service&lt;br /&gt;
SERVICE_HOST=&amp;quot;192.168.0.200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# IP address of the key cabinet&lt;br /&gt;
KEYS_ADDR='192.168.0.201'&lt;br /&gt;
# Port from which OpenKeys service contacts the key cabinet&lt;br /&gt;
KEYS_PORT=6002&lt;br /&gt;
#Time to release the key&lt;br /&gt;
KEY_RELEASE_DURATION=15&lt;br /&gt;
&lt;br /&gt;
# sha224 passwords&lt;br /&gt;
PASSWORDS=('847bed9bc354e7e47bc5350a3b3aaf6124f5748224a3c7ad79586c3c')&lt;br /&gt;
&lt;br /&gt;
# init passphrase&lt;br /&gt;
passphrase = 'SDjklsdiuQSIPO23879ZERK2098ZL2908DFZLK'&lt;br /&gt;
&lt;br /&gt;
OF_XMLRPC_URL=&amp;quot;https://openflyers.com/structure/actionOnDemand.php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DEBUG=False&lt;br /&gt;
&lt;br /&gt;
class dummyProtocol(Protocol):&lt;br /&gt;
	def __init__(self, rpc_server):&lt;br /&gt;
		self.rpc_server=rpc_server&lt;br /&gt;
		self.lc = None&lt;br /&gt;
&lt;br /&gt;
	def connectionMade(self):&lt;br /&gt;
		if not self.lc:&lt;br /&gt;
			# update status every 10 minutes&lt;br /&gt;
			self.lc = task.LoopingCall(self.updateStatus)&lt;br /&gt;
			self.lc.start(600)&lt;br /&gt;
&lt;br /&gt;
	def dataReceived(self, data):&lt;br /&gt;
		msg=dummy_proto.dummy_message.newFromData(data)&lt;br /&gt;
		if DEBUG: msg.display()&lt;br /&gt;
		try:&lt;br /&gt;
			if type(msg)==dummyproto.dummy_ONOFF_Control_Response:&lt;br /&gt;
				response = self.rpc_server.notify(msg.getKeysStatus(),passphrase)&lt;br /&gt;
		except Exception, err:&lt;br /&gt;
			if DEBUG: print &amp;quot;error: &amp;quot;, err&lt;br /&gt;
			pass # ignore&lt;br /&gt;
&lt;br /&gt;
	def updateStatus(self):&lt;br /&gt;
		msg = dummy_proto.dummy_State_Request()&lt;br /&gt;
		self.transport.write(msg.build_message())&lt;br /&gt;
	&lt;br /&gt;
	def send(self, dummy_data):&lt;br /&gt;
		self.transport.write(dummy_data.build_message())&lt;br /&gt;
&lt;br /&gt;
class dummyClientFactory(ReconnectingClientFactory):&lt;br /&gt;
	def __init__(self, rpc_server):&lt;br /&gt;
		self.rpc_server = rpc_server&lt;br /&gt;
&lt;br /&gt;
	def buildProtocol(self, addr):&lt;br /&gt;
		self.resetDelay()&lt;br /&gt;
		self.protocol = dummyProtocol(self.rpc_server)&lt;br /&gt;
		return self.protocol&lt;br /&gt;
&lt;br /&gt;
	def clientConnectionLost(self, connector, reason):&lt;br /&gt;
		ReconnectingClientFactory.clientConnectionLost(self, connector, reason)&lt;br /&gt;
		connector.connect()&lt;br /&gt;
&lt;br /&gt;
	def clientConnectionFailed(self, connector, reason):&lt;br /&gt;
		if DEBUG: print 'Connection failed. Reason:', reason&lt;br /&gt;
		ReconnectingClientFactory.clientConnectionFailed(self, connector, reason)&lt;br /&gt;
&lt;br /&gt;
	# blocking method ! must be run in a new thread&lt;br /&gt;
	def release_key(self, key_num, timeOur):&lt;br /&gt;
		m = dummy_proto.dummy_ONOFF_Control()&lt;br /&gt;
		m.setON(key_num)&lt;br /&gt;
		self.protocol.send(m)&lt;br /&gt;
		time.sleep(timeOut)&lt;br /&gt;
		m.setOFF(key_num)&lt;br /&gt;
		self.protocol.send(m)&lt;br /&gt;
		return key_num&lt;br /&gt;
&lt;br /&gt;
class WebResource(resource.Resource):&lt;br /&gt;
	def __init__(self, rpc_server, dummy_client_factory):&lt;br /&gt;
		self.rpc_server = rpc_server&lt;br /&gt;
		self.dummy_client_factory = dummy_client_factory&lt;br /&gt;
		resource.Resource.__init__(self)&lt;br /&gt;
		self.keys_webcontrol_state = [0,0,0,0,0,0,0,0,0,0]&lt;br /&gt;
		&lt;br /&gt;
	def getChild(self, name, request):&lt;br /&gt;
		return self&lt;br /&gt;
&lt;br /&gt;
	def render(self, request):&lt;br /&gt;
		reponse = 0 # NOK par defaut&lt;br /&gt;
		key_num = 0&lt;br /&gt;
		try:&lt;br /&gt;
			sessid = request.args.get('sessid', [&amp;quot;&amp;quot;])[0]&lt;br /&gt;
			password = request.args.get('password', [&amp;quot;&amp;quot;])[0]&lt;br /&gt;
			key_num = int(request.args.get('key', [&amp;quot;0&amp;quot;])[0])&lt;br /&gt;
			response = 0&lt;br /&gt;
			if password:&lt;br /&gt;
                                if hashlib.sha224(password).hexdigest() in PASSWORDS:&lt;br /&gt;
                                        timeOut   = KEY_RELEASE_DURATION&lt;br /&gt;
                                        response_XMLRPC = 1&lt;br /&gt;
                        else:&lt;br /&gt;
                                timeOut   = int(request.args.get('timeout', [&amp;quot;0&amp;quot;])[0])&lt;br /&gt;
                                response = self.rpc_server.checkCommand(sessid, key_num)&lt;br /&gt;
		except Exception, err:&lt;br /&gt;
			if DEBUG: print &amp;quot;error: &amp;quot;, err&lt;br /&gt;
			return &amp;quot;NOK:bad request&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		if response == 1:&lt;br /&gt;
			# Don't try to release a key that is being released&lt;br /&gt;
			if self.keys_webcontrol_state[key_num-1]: return &amp;quot;OK:already released&amp;quot;&lt;br /&gt;
			self.keys_webcontrol_state[key_num-1] = 1&lt;br /&gt;
			d = threads.deferToThread(self.dummy_client_factory.release_key, key_num, timeOut)&lt;br /&gt;
			d.addCallback(self.unset_webcontrol_state)&lt;br /&gt;
			return &amp;quot;OK:releasing key...&amp;quot;&lt;br /&gt;
		else:&lt;br /&gt;
			return &amp;quot;NOK:permission refused&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	def unset_webcontrol_state(self, key_num):&lt;br /&gt;
		self.keys_webcontrol_state[key_num-1] = 0&lt;br /&gt;
&lt;br /&gt;
class OpenKeysService(service.Service):&lt;br /&gt;
	def __init__(self):&lt;br /&gt;
		rpc_server=xmlrpclib.Server(OF_XMLRPC_URL);&lt;br /&gt;
		self.dummy_client_factory = dummyClientFactory(rpc_server)&lt;br /&gt;
		self.web_resource = WebResource(rpc_server, self.dummy_client_factory)&lt;br /&gt;
		&lt;br /&gt;
	def getdummyClientFactory(self):&lt;br /&gt;
		return self.dummy_client_factory&lt;br /&gt;
&lt;br /&gt;
	def getWebResource(self):&lt;br /&gt;
		return self.web_resource&lt;br /&gt;
&lt;br /&gt;
application = service.Application('openkeys')&lt;br /&gt;
f = OpenKeysService()&lt;br /&gt;
serviceCollection = service.IServiceCollection(application)&lt;br /&gt;
internet.TCPClient(KEYS_ADDR, KEYS_PORT, f.getdummyClientFactory()&lt;br /&gt;
				   ).setServiceParent(serviceCollection)&lt;br /&gt;
internet.TCPServer(SERVICE_PORT, server.Site(f.getWebResource())&lt;br /&gt;
				   ).setServiceParent(serviceCollection)&amp;lt;/python&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Maquette de script actionOnDemand.php côté serveur recevant les appels du logiciel de contrôle de l'armoire==&lt;br /&gt;
Ce script nécessite la bibliothèque PEAR [http://pear.php.net/package/XML_RPC2 XML_RPC2].&lt;br /&gt;
&lt;br /&gt;
Pour les tests, il suffit de modifier la valeur de la variable $weDontWant.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;&amp;lt;?php&lt;br /&gt;
include 'XML/RPC2/Server.php';&lt;br /&gt;
&lt;br /&gt;
class OpenKeysGateway {&lt;br /&gt;
    /**&lt;br /&gt;
     * Update the status of the keys&lt;br /&gt;
     *&lt;br /&gt;
     * @param array $status Status of keys&lt;br /&gt;
     * @return integer 1 if ok, 0 else&lt;br /&gt;
     */&lt;br /&gt;
    public static function notify($status) {&lt;br /&gt;
        $logmsg = &amp;quot;&amp;quot;;&lt;br /&gt;
        foreach ($status as $key_num_from_zero =&amp;gt; $key_pres) {&lt;br /&gt;
            if (!is_numeric($key_pres) || intval($key_pres)!=$key_pres || $key_pres &amp;lt; 0 || $key_pres &amp;gt; 1) continue;&lt;br /&gt;
            if (!is_numeric($key_num_from_zero) || intval($key_num_from_zero)!=$key_num_from_zero &lt;br /&gt;
                || $key_num_from_zero &amp;lt; 0 || $key_num_from_zero &amp;gt; 9) continue;&lt;br /&gt;
            $logmsg .= &amp;quot;&amp;quot;.($key_num_from_zero+1).&amp;quot;:&amp;quot;.$key_pres.&amp;quot;,&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        file_put_contents('test.txt', &amp;quot;key notify :&amp;quot;.$logmsg, FILE_APPEND );&lt;br /&gt;
        return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Check if user is able to release the key 'key_num'&lt;br /&gt;
     *&lt;br /&gt;
     * @param string $sessid PHPSESSID of a connected user&lt;br /&gt;
     * @param integer $key_num number of the key to release&lt;br /&gt;
     * @return integer 0:NOK, 1:OK&lt;br /&gt;
     */&lt;br /&gt;
    public static function checkCommand($sessid, $key_num) {&lt;br /&gt;
        /* sanitize input */&lt;br /&gt;
        if (!is_numeric($key_num) || intval($key_num)!=$key_num || $key_num &amp;lt; 1 || $key_num &amp;gt; 10) {&lt;br /&gt;
            return 0;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        $weDontWant = 1;&lt;br /&gt;
&lt;br /&gt;
        if ($weDontWant) {&lt;br /&gt;
            file_put_contents('test.txt', &amp;quot;$key_num has no associated airborne aircraft&amp;quot;, FILE_APPEND );&lt;br /&gt;
            return 0;&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            file_put_contents('test.txt', &amp;quot;granted key: &amp;quot;.$key_num.&amp;quot;:permission granted&amp;quot;, FILE_APPEND );&lt;br /&gt;
            return 1;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$options = array(&lt;br /&gt;
    'autoDocument' =&amp;gt; true,&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
// dirty hack to get things work !&lt;br /&gt;
$GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents('php://input');&lt;br /&gt;
&lt;br /&gt;
$server = XML_RPC2_Server::create('OpenKeysGateway', $options);&lt;br /&gt;
$server-&amp;gt;handleCall();&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&amp;lt;/php&amp;gt;&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15151</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15151"/>
				<updated>2017-02-17T08:40:37Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Changer le format d'affichage des dates dans une colonne sous LibreOffice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Console=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;br /&gt;
Les procédures suivantes décrites pour LibreOffice sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes sous LibreOffice==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne sous Excel 2016==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Format de cellule''' pour faire apparaitre une boite de dialogue intitulée '''Format de cellule'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombre'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Type''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant :&lt;br /&gt;
**Dans le champ '''Catégorie''', sélectionner '''Personnalisée'''&lt;br /&gt;
**Dans le champ '''Type''', renseigner le format souhaiter.&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;aaaa-mm-jj&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne sous LibreOffice==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers sous LibreOffice==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15150</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15150"/>
				<updated>2017-02-17T08:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Tableurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Console=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;br /&gt;
Les procédures suivantes décrites pour LibreOffice sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes sous LibreOffice==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne sous LibreOffice==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers sous LibreOffice==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15149</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15149"/>
				<updated>2017-02-17T08:29:35Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* LibreOffice */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Console=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15148</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15148"/>
				<updated>2017-02-17T08:29:13Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Editer un fichier texte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Console=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15147</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15147"/>
				<updated>2017-02-17T08:28:52Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Ouvrir une console sous Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15146</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15146"/>
				<updated>2017-02-17T08:28:33Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Tableurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Ouvrir une console sous Windows=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15145</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15145"/>
				<updated>2017-02-17T08:28:13Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Navigateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Tableurs=&lt;br /&gt;
&lt;br /&gt;
=Ouvrir une console sous Windows=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=FAQ-utilisateur&amp;diff=15115</id>
		<title>FAQ utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=FAQ-utilisateur&amp;diff=15115"/>
				<updated>2017-02-02T13:14:37Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Comment sont calculées les heures de lever et coucher du soleil ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connexion=&lt;br /&gt;
==[[Documentation utilisateur#Réinitialiser_son_mot_de_passe|J'ai perdu mon mot de passe]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Impossible_de_se_connecter_à_la_plateforme_OpenFlyers_de_sa_structure|Impossible de se connecter à la plateforme OpenFlyers de sa structure]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Message_d'alerte_adresse_IP_bloquée|Message d'alerte adresse IP bloquée]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Page_indisponible|Page indisponible]]==&lt;br /&gt;
&lt;br /&gt;
==A chaque fois que je change de page, je reviens sur la page d'identification ?==&lt;br /&gt;
C'est un problème de &amp;quot;cookie&amp;quot;. Il faut que vous modifiez la configuration de votre navigateur de manière à autoriser les cookies qui proviennent d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Pour Firefox, cela se configure sur &amp;quot;Outils/Options&amp;quot; puis onglet &amp;quot;vie privée&amp;quot; puis &amp;quot;Accepter les cookies&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour Internet Explorer, cela se configure sur &amp;quot;Outils/Options internet&amp;quot; puis &amp;quot;Confidentialité&amp;quot; puis vous réglez le paramétrage d'acceptation des cookies de manière à ce qu'ils soient acceptés pour OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Variante du problème : la déconnexion n'est pas systématique mais aléatoire===&lt;br /&gt;
Dans ce cas, il peut s'agir aussi d'un problème de proxy (si vous êtes sur un réseau d'entreprise par exemple) ou de fournisseurs d'accès (accès depuis un mobile, depuis un hôtel, bref, tout type d'accès qui change régulièrement l'adresse IP et ainsi ne permet de maintenir un accès authentifié dans la durée. La solution est présentée dans la procédure [[#Utiliser_OpenFlyers_sur_un_smartphone|Utiliser OpenFlyers sur un smartPhone]].&lt;br /&gt;
&lt;br /&gt;
===Cas particulier sur iPhone===&lt;br /&gt;
Penser à mettre à jour le logiciel de l'iPhone. OpenFlyers fonctionne correctement pour une version 4.02.&lt;br /&gt;
&lt;br /&gt;
==Plusieurs membres peuvent-ils ouvrir des sessions en même temps (sans le savoir) ?==&lt;br /&gt;
Oui, c'est même le but premier : permettre à plusieurs personnes de consulter en même temps le cahier de réservation.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez même avoir une personne qui ouvre plusieurs sessions avec son identifiant. Mais pour cela, elle doit utiliser des ordinateurs ou des navigateurs différents.&lt;br /&gt;
==Suite à une migration, impossible de naviguer dans la nouvelle version d'OpenFlyers==&lt;br /&gt;
Lorsque nous migrons d'une version vers une autre, bien souvent nous le faisons en changeant les &amp;quot;DNS&amp;quot;. Cela peut occasionner des problèmes d'accès. Il peut également apparaitre des problèmes de &amp;quot;cache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici différentes techniques qui permettent d'imposer à votre navigateur d'utiliser des DNS actualisées et d'utiliser un cache à jour :&lt;br /&gt;
#Faites un CTRL+R (ou icone de &amp;quot;rafraichissement&amp;quot;). Bien souvent cela suffit au navigateur pour qu'il vide son cache et le ré-actualise&lt;br /&gt;
#Vider le cache dans le navigateur&lt;br /&gt;
#Supprimer les cookies dans le navigateur&lt;br /&gt;
#Faites un ipconfig /flushdns en ligne de commande (menu démarrer, puis &amp;quot;Exécutez&amp;quot;, taper &amp;quot;cmd&amp;quot;)&lt;br /&gt;
#Forcer les nouvelles DNS dans le fichier C:\WINDOWS\system32\drivers\etc\hosts en ajoutant une ligne du genre : xxx.xxx.xxx.xxx xxx.openflyers.zz (nous demandez pour connaitre les valeurs à utiliser)&lt;br /&gt;
#Penser à éteindre et rallumer complètement l'ordinateur&lt;br /&gt;
&lt;br /&gt;
==Page d'accueil incohérente avec un message d'erreur==&lt;br /&gt;
Si en vous connectant, vous vous retrouvez bloqué sur une page d'accueil autre que le planning avec un message d'erreur, lisez ce qui suit : &lt;br /&gt;
&lt;br /&gt;
Le problème est rencontré lorsque vous définissez une page &amp;quot;par défaut&amp;quot; depuis l'affichage &amp;quot;Smartphone&amp;quot; d'OpenFlyers autre que celle du planning. Pour corriger ceci, il faut :&lt;br /&gt;
*vous connecter sous la version &amp;quot;affichage Smartphone&amp;quot; d'OpenFlyers en cliquant sur &amp;quot;Smartphone&amp;quot; sur la page de connexion.&lt;br /&gt;
*une fois connecté, cliquez sur '''Menu &amp;gt; Planning &amp;gt; Journalier &amp;gt; Ressources et utilisateurs'''&lt;br /&gt;
*si le planning est visible, cliquez sur le bouton &amp;quot;favoris&amp;quot;&lt;br /&gt;
*:[[Fichier:SmartphoneMenuButtons.png]]&lt;br /&gt;
*déconnectez vous, et reconnectez vous sous la version &amp;quot;affichage Classique&amp;quot;&lt;br /&gt;
*par défaut, la page d'accueil est le planning journalier, l'application est utilisable à nouveau&lt;br /&gt;
&lt;br /&gt;
=Navigation dans OpenFlyers=&lt;br /&gt;
OpenFlyers est un logiciel qui s'utilise grâce à votre navigateur internet. Les plus connus sont Chrome, Firefox, Internet Explorer ou Safari.&lt;br /&gt;
Une certaine configuration est nécessaire afin de faire fonctionner OpenFlyers : la configuration des cookies.&lt;br /&gt;
Si vous rencontrez des problèmes d'utilisations tels que :&lt;br /&gt;
&lt;br /&gt;
*Impossibilité de se connecter alors que votre identifiant et mot de passe est correct&lt;br /&gt;
*Impossibilité d'aller d'un page à l'autre une fois connecté (et retour sur la page de connexion)&lt;br /&gt;
&lt;br /&gt;
Voila comment régler votre navigateur.&lt;br /&gt;
&lt;br /&gt;
==[https://support.google.com/chrome/answer/95647?hl=fr Comment autoriser les cookies sous Chrome]==&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous Internet Explorer==&lt;br /&gt;
*'''Outils &amp;gt; Options internet'''&lt;br /&gt;
*Onglet '''Confidentialité'''&lt;br /&gt;
*Positionner le niveau de sécurité au maximum à '''Moyenne'''&lt;br /&gt;
*Bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous iPhone / Safari==&lt;br /&gt;
*'''Réglages &amp;gt; Safari'''&lt;br /&gt;
*Régler '''Accepter les cookies'''&lt;br /&gt;
[[Fichier:Accepter-cookies-iPhone-Safari.png]]&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous Firefox==&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*Onglet '''vie privée'''&lt;br /&gt;
*Cocher '''Accepter les cookies'''&lt;br /&gt;
*Bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Problème de navigation sur un réseau GSM==&lt;br /&gt;
OpenFlyers est accessible sur les smartphones par le biais du navigateur embarqué. Cependant, des problèmes de session peuvent survenir du fait du changement dynamique de l'adresse IP du smartphone du fait du réseau GSM. Pour palier à ce problème et éviter des déconnexions intempestives, il faut se connecter en HTTPS.&lt;br /&gt;
&lt;br /&gt;
De plus, et toujours en HTTPS, il est possible de [[#Transmettre_l'identifiant_et_le_mot_de_passe_dans_l'URL|rajouter le couple identifiant/mot de passe à la suite de l'URL sécurisée]] et d'enregistrer cette URL en favori. Ainsi, il n'est plus nécessaire de saisir systématiquement son identifiant et son mot de passe.&lt;br /&gt;
&lt;br /&gt;
==Problèmes de navigation sous iPhone==&lt;br /&gt;
*Penser à mettre à jour le logiciel de l'iPhone. OpenFlyers fonctionne correctement pour une version au moins 4.02.&lt;br /&gt;
*Activer l'[[#Comment_autoriser_les_cookies_sous_iPhone_/_Safari|acceptation des cookies]]&lt;br /&gt;
*Si la navigation était possible sur une version précédente d'OpenFlyers et qu'elle n'est plus possible sur une nouvelle version d'OpenFlyers, alors il peut être nécessaire de vider le cache du navigateur Safari de l'iPhone :&lt;br /&gt;
**'''Réglages &amp;gt; Safari'''&lt;br /&gt;
**'''Effacer cookies et données'''&lt;br /&gt;
&lt;br /&gt;
==Transmettre l'identifiant et le mot de passe dans l'URL==&lt;br /&gt;
Si vous souhaitez transmettre le couple identifiant/mot de passe dans l'URL dans le but de pouvoir les sauver facilement, vous avez besoin d'un [http://www.openflyers.com/doc/catalogue-tarifaire.pdf abonnement HTTPS] et alors l'URL doit avoir la forme :&lt;br /&gt;
 https://openflyers.com/mySpaceName/?login=myLogin&amp;amp;password=myPassword&lt;br /&gt;
où :&lt;br /&gt;
*mySpaceName doit être remplacé par le nom du compte openflyers&lt;br /&gt;
*myLogin doit être remplacé par votre identifiant&lt;br /&gt;
*myPassword doit être remplacé par votre mot de passe&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Comment saisir une date rapidement dans la gestion des validités ?==&lt;br /&gt;
En cliquant sur l'icône &amp;quot;calendrier&amp;quot; placé par défaut au mois courant, vous pourrez vous déplacer mois par mois ou année par année en cliquant sur les flèches respectives. Pour des dates plus anciennes, passez le curseur de votre souris sur l'endroit où se trouve le texte correspondant à &amp;quot;Mois Année&amp;quot;. Ce texte s'encadre alors d'une bordure. Faites un clic dessus et une nouvelle petite fenêtre va s'ouvrir. Là vous pourrez saisir l'année en tapant les chiffres avec votre clavier.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Éphémérides|Comment sont calculées les heures de lever et coucher du soleil ?]]==&lt;br /&gt;
==[[Gestion-des-utilisateurs#Gestion-des-disponibilités-des-intervenants|Faire apparaitre les disponibilités des intervenants (instructeurs, formateurs, etc.) ?]]==&lt;br /&gt;
&lt;br /&gt;
==Que se passe t-il en cas de conflit de réservation ?==&lt;br /&gt;
Il ne peut y avoir de conflit de réservation. C'est l'un des principes durs d'OpenFlyers : à chaque instant donné, il ne peut y avoir plus d'une réservation pour chaque pilote, chaque avion ou chaque instructeur.&lt;br /&gt;
&lt;br /&gt;
Si vous arrivez à faire des réservations qui se chevauchent (pour un avion, un instructeur ou un pilote), alors vous avez mis en évidence un bug, et il faut nous le signaler pour que nous y remédions.&lt;br /&gt;
&lt;br /&gt;
==Si je suis en train de consulter une page, et qu'un autre utilisateur fait une modification sur cette page, vais-je voir la modification sans lancer un rafraichissement ?==&lt;br /&gt;
Non vous ne verrez pas la modification. Cependant, ce n'est pas grave car au moment où vous essayerez de faire votre réservation, OpenFlyers vérifiera à ce moment-là que le créneau que vous souhaitez est toujours disponible (pour empêcher les conflits justement).&lt;br /&gt;
&lt;br /&gt;
=Paiements=&lt;br /&gt;
==[[Documentation utilisateur#Créditer_son_compte_utilisateur|Comment créditer son compte utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
=Vols=&lt;br /&gt;
== Affichage des temps de vol==&lt;br /&gt;
* Les temps de vol des carnets de route s'affichent selon l' &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
* Les temps de vol sur les comptes s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté&amp;quot; &lt;br /&gt;
* La saisie des vols est fonction du paramétrage de la gestion des vols &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
* Les compteurs des avions s'affichent selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
&lt;br /&gt;
==Nos avions ont des compteurs en heures, centièmes, peut-on avoir un affichage en heures, minutes ?==&lt;br /&gt;
Chaque utilisateur paramètre son affichage du temps de vol comme il le souhaite dans Données/Affichage et fiche personnelle&lt;br /&gt;
[http://doc-en.openflyers.com/index.php?title=UserDoc2.0#Date_and_time_format Patron de date et heure]&lt;br /&gt;
&lt;br /&gt;
==Comment saisir plusieurs pilotes pour un vol ?==&lt;br /&gt;
Saisir les vols dans OF comme dans le carnet de route de l'avion&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Saisie_d'un_vol|Comment saisir un vol de moins de 15 minutes]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Consulter_un_vol_ouvert|Comment voir les détails d'un vol en cours ?]]==&lt;br /&gt;
&lt;br /&gt;
== Comment partager les coûts d'un vol ?==&lt;br /&gt;
Si un pilote veux partager les frais du vol (sans être pilote) il doit faire un transfert de son compte vers le compte du pilote&lt;br /&gt;
Menu '''Comptes &amp;gt; Transférer'''&lt;br /&gt;
&lt;br /&gt;
==Peut-on ouvrir un vol sur une période réservée par un autre pilote ?==&lt;br /&gt;
Lorsque l'on tente d'ouvrir un vol sur une période déjà réservée, un message d'alerte non-bloquant apparait indiquant que l'aéronef est déjà réservé.&lt;br /&gt;
&lt;br /&gt;
==Une ressource reste en &amp;quot;bleu&amp;quot; c'est à dire &amp;quot;en l'air&amp;quot;, comment corriger ce problème ?==&lt;br /&gt;
*Dans la page du planning, il faut cliquer sur le nom de la ressource qui apparait dans un cartouche bleu à gauche du planning.&lt;br /&gt;
*On se retrouve alors sur le formulaire de saisie des vols avec le vol &amp;quot;ouvert&amp;quot; qui pose problème. Il suffit d'annuler ce vol ou de le fermer selon le cas.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi ne voit-on pas tous les vols d'un instructeur sur son compte ?==&lt;br /&gt;
Seuls les vols générant des écritures comptables qui impactent un compte sont visible sur le compte concerné.&lt;br /&gt;
&lt;br /&gt;
=Divers=&lt;br /&gt;
==Peut-il y avoir des accès à plusieurs sur la base ?==&lt;br /&gt;
Oui, sinon deux membres ne pourraient pas consulter le cahier en même temps.&lt;br /&gt;
&lt;br /&gt;
Par contre, lorsqu'un membre réserve un avion, au moment où OpenFlyers teste la disponibilité du créneau, il empêche toute autre écriture sur la base concernant les réservations. Le but est d'empécher justement les conflits de réservation.&lt;br /&gt;
&lt;br /&gt;
=Actions dynamiques non prises en compte par OpenFlyers=&lt;br /&gt;
OpenFlyers met en oeuvre des actions dites &amp;quot;dynamiques&amp;quot; c'est à dire qui ne nécessite pas un rafraîchissement complet de la page pour être prises en comptes. Ces actions sont basées sur le principe &amp;quot;[http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML AJAX]&amp;quot;. Elles nécessitent l'activation du moteur [http://fr.wikipedia.org/wiki/JavaScript JavaScript] du navigateur pour être opérationnelles.&lt;br /&gt;
&lt;br /&gt;
De plus, certaines commandes [http://fr.wikipedia.org/wiki/JavaScript JavaScript] ne sont pas reconnues par tous les navigateurs.&lt;br /&gt;
&lt;br /&gt;
Ainsi, lorsque vous lancez une action dynamique dans OpenFlyers qui reste sans résultat, avant de rapporter l'anomalie sur le [http://bts.openflyers.org BTS] il faut vérifier :&lt;br /&gt;
#L'activation de [http://fr.wikipedia.org/wiki/JavaScript JavaScript] dans le navigateur utilisé.&lt;br /&gt;
#Recharger la page en faisant CTRL+R par exemple pour forcer la mise à jour du dernier script JavaScript d'OpenFlyers.&lt;br /&gt;
#Tester avec un autre navigateur&lt;br /&gt;
#Dans le cas où JavaScript est activé, il faut rapporter l'anomalie sur le [http://bts.openflyers.org BTS] en précisant le navigateur sur lequel l'action est inefficace et le navigateur sur lequel l'action est efficace.&lt;br /&gt;
Vous pouvez également nous facilitez la correction de l'anomalie en nous rapportant le message d'erreur [http://fr.wikipedia.org/wiki/JavaScript JavaScript] s'il y lieu.&lt;br /&gt;
&lt;br /&gt;
=Comment exporter les données ?=&lt;br /&gt;
OF affiche une page XHTML ce qui signifie un texte correctement formaté qui peut être récupéré par un simple copier coller. Le tableur Calc de Open Office ou Libre Office interprète correctement ce HTML et le formate en colonne conformément à la présentation de votre page.&lt;br /&gt;
 &lt;br /&gt;
Il a cependant un paramétrage à faire pour que les textes soit correctement encodé (affichage des caractères accentués) et que les cellules numériques affichent le format correct&lt;br /&gt;
&lt;br /&gt;
*Allez dans l'onglet Outils/Options/Chargement&amp;amp;Enegistrement/Compatibilité HTML (Tools/Options/Load&amp;amp;Save/HTML Compatibility)&lt;br /&gt;
*Cocher &amp;quot;Utiliser l'environnement linguistique Anglais (USA) pour les nombres&amp;quot;, (&amp;quot;Use English (USA) locale numbers&amp;quot;)&lt;br /&gt;
*Par la même occasion vous pouvez aussi changer le Jeu d'encodage (Character set) par Unicode (UTF-8) &lt;br /&gt;
&lt;br /&gt;
Le programme interprète alors le point comme le séparateur décimal et vous avez directement le bon copier/coller Si vous avec choisi l'encodage UTF-8 les caractères accentués seront aussi correctement traduits (A rechanger si vous avez à faire des copier coller depuis des programmes à l'encodage CP1252 &amp;quot;Windows Microsoft&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Pour les exports au format csv voir [[FAQ export]].&lt;br /&gt;
&lt;br /&gt;
=Paramétrage et données personnelles=&lt;br /&gt;
&lt;br /&gt;
==Peut-on être averti automatiquement des réservations annulées ?==&lt;br /&gt;
Dans la version 3 d'OpenFlyers, il est possible pour chaque utilisateur de paramétrer OpenFlyers de sort à être averti par e-mail lorsqu'un créneau se libère. Voici comment configurer cela :&lt;br /&gt;
*'''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans '''Fiche personnelle''', sélectionner '''Notification des réservations annulées'''&lt;br /&gt;
*Cliquer sur le bouton '''Sauver'''&lt;br /&gt;
&lt;br /&gt;
==Peut-on être averti des réservations sur plusieurs adresses e-mail ?==&lt;br /&gt;
&lt;br /&gt;
Il est possible d'utiliser plusieurs adresses e-mails afin d'être averti des réservations.&lt;br /&gt;
&lt;br /&gt;
Voici comment procéder :&lt;br /&gt;
*'''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans '''Fiche personnelle''' puis au niveau du champ '''E-mail'''&lt;br /&gt;
*Rentrer chacune des adresses e-mails en les séparant d'une virgule&lt;br /&gt;
'''Attention : il ne faut jamais mettre d'espace : ni dans l'adresse e-mail elle même, ni avant ou après les virgules de séparation des adresses e-mails'''&lt;br /&gt;
&lt;br /&gt;
Exemple valide :&lt;br /&gt;
&amp;lt;pre&amp;gt;jesuisuntest@test.fr,jesuisuntest@test.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples non valides :&lt;br /&gt;
&amp;lt;pre&amp;gt;jesuisuntest@test.fr , jesuisuntest@test.com&lt;br /&gt;
jesuisuntest@test.fr , jesuisuntest@test.com&lt;br /&gt;
jesuisuntest@test.fr, jesuisuntest@test.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Accéder à l'application et aller dans le menu Données &amp;gt; Affichage et fiche personnelle&lt;br /&gt;
&lt;br /&gt;
==Comment changer mes options d'affichage ?==&lt;br /&gt;
Aller dans le menu '''Données &amp;gt; Affichage et fiche personnelle''' rubrique '''Option d'affichage'''&lt;br /&gt;
&lt;br /&gt;
Dans les champs choisissez les paramètres selon vos souhaits: langue, heure local ou UTC, format monétaire,...&lt;br /&gt;
&lt;br /&gt;
Sélectionner les avions et instructeurs que sous voulez afficher&lt;br /&gt;
&lt;br /&gt;
==Comment modifier mes paramétrages ?==&lt;br /&gt;
Aller dans le menu '''Données &amp;gt; Affichage et fiche personnelle''' rubrique '''Fiche personnelle'''&lt;br /&gt;
&lt;br /&gt;
Charger une photo pour le trombinoscope&lt;br /&gt;
&lt;br /&gt;
La date de naissance, le sexe et la nationalité sont obligatoire pour que les statistiques DGAC puisse être calculés &lt;br /&gt;
&lt;br /&gt;
Mettez votre email et vos numéros de téléphone pour qu'on puisse vous contacter. Vous pouvez choisir ceux qui sont public ou non. &lt;br /&gt;
&lt;br /&gt;
Dans ce dernier cas seul les personnes avec des droits administrateur pourrons voir ces infos.&lt;br /&gt;
&lt;br /&gt;
==Comment modifier la langue de l'interface ?==&lt;br /&gt;
Pour modifier la langue de l'interface :&lt;br /&gt;
*Menu '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Modifier le contenu du champ '''Langue'''&lt;br /&gt;
*Valider en appuyant sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
==J'ai oublié mon mot de passe, comment le récupérer ?==&lt;br /&gt;
Il n'est pas possible de &amp;quot;retrouver&amp;quot; son mot de passe perdu dans OpenFlyers. En effet, ces derniers sont cryptés dans la base de données pour des raisons de confidentialités.&lt;br /&gt;
&lt;br /&gt;
Si vous avez oublié votre mot de passe, vous n'avez pas besoin de demander à votre administrateur une ré-initialisation, OpenFlyers dispose d'une procédure de ré-initialisation automatique :&lt;br /&gt;
*Sur la page de connexion d'une plateforme OpenFlyers, cliquer sur le lien &amp;quot;Mot de passe oublié&amp;quot;&lt;br /&gt;
*:[[Fichier:FAQ_user_forgottenPassword.png]]&lt;br /&gt;
*Sur la page qui s'affiche il y a deux zones de saisie. Saisissez l'email que vous avez indiqué dans votre page personnelle. Il vous sera envoyé un email vous donnant votre identifiant et un code d'activation&lt;br /&gt;
*Revenez sur la page de ré-initialisation et mettez ces informations. Un nouvel email vous sera envoyé avec votre mot de passe&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant accéder à l'application. Pour mettre un mot de passe personnalisé voir [[#Comment_changer_de_mot_de_passe|Comment changer son mot de passe]]&lt;br /&gt;
&lt;br /&gt;
==Comment changer de mot de passe==&lt;br /&gt;
*Dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Aller en bas de la page, dans le formulaire '''Changer de mot de passe''' et saisissez votre nouveau mot de passe&lt;br /&gt;
&lt;br /&gt;
Un indicateur vous indique le niveau de fiabilité. Mélanger les minuscules/majuscules/chiffres et sigles pour augmenter la difficulté pour des robots de trouver votre mot de passe. La sécurité de l'application de votre club sera ainsi accrue.&lt;br /&gt;
&lt;br /&gt;
=Trucs et astuces=&lt;br /&gt;
==Fenêtre en ligne de commande==&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant '''sélectionner''' et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
=Utiliser OpenFlyers sur un smartphone=&lt;br /&gt;
OpenFlyers est accessible sur les smartphones par le biais du navigateur embarqué.&lt;br /&gt;
&lt;br /&gt;
Afin de faciliter l'identification sur les smartphones ne permettant pas d'enregistrer l'identifiant et le mot de passe (à priori problème rencontré sur les iPhone d'Apple mais pas sur les Galaxy de Samsung), il est possible de [[#Transmettre_l'identifiant_et_le_mot_de_passe_dans_l'URL|rajouter le couple identifiant/mot de passe à la suite de l'URL sécurisée]] et ainsi d'enregistrer cette URL en favori.&lt;br /&gt;
&lt;br /&gt;
De plus, l'utilisation d'une URL sécurisée permet à priori d'éviter les problèmes de déconnexion intempestives liées aux changements d'adresse IP qui surviennent sur le réseau des GSMs.&lt;br /&gt;
&lt;br /&gt;
=Comment imprimer la doc ?=&lt;br /&gt;
Si vous souhaitez imprimer la doc, il vous suffit de :&lt;br /&gt;
*cliquer sur le lien &amp;quot;version imprimable&amp;quot; de la &amp;quot;boîte à outils&amp;quot; présente sur le côté gauche des pages du wiki. Vous obtiendrez ainsi une version des pages destinée à être imprimer.&lt;br /&gt;
*ou bien, utiliser la fonction imprimer de votre navigateur. Une mise en page spécifique est générée pour obtenir un format papier&lt;br /&gt;
&lt;br /&gt;
Si vous imprimer avec une Imprimante pdf ([http://www.pdfforge.org/pdfcreator pdfCreator] par exemple) vous générerez alors un format pdf pour archivage&lt;br /&gt;
&lt;br /&gt;
=Problèmes=&lt;br /&gt;
==Signaler un problème==&lt;br /&gt;
Si vous rencontrer une anomalie ou un bug dans l'application OpenFlyers, il faut le rapporter sur le [http://bts.openflyers.org BTS] pour une prise en compte la plus rapide possible et pour permettre un meilleur traitement et suivi.&lt;br /&gt;
&lt;br /&gt;
Pour rapporter une anomalie il faut :&lt;br /&gt;
*Aller sur la page http://bts.openflyers.org&lt;br /&gt;
*S'inscrire sur le BTS en cliquant sur '''Signup for a new account''' : il faut choisir un identifiant, une adresse e-mail puis cliquer sur '''Signup'''.&lt;br /&gt;
Un e-mail est envoyé par le BTS permettant de valider votre adresse e-mail. Cliquer sur le lien présent sur cet e-mail.&lt;br /&gt;
*Sur le formulaire qui apparait, Choisir :&lt;br /&gt;
**Un mot de passe dans les champs '''Password''' et '''Confirm Password'''&lt;br /&gt;
**Compléter éventuellement le champ '''Real Name'''&lt;br /&gt;
*Cliquer sur le bouton '''Update account'''&lt;br /&gt;
Votre compte pour rapporter un problème sur le BTS est ainsi créé. Un nouveau formulaire d'identification s'affiche automatiquement :&lt;br /&gt;
*Renseigner les champs '''Username''' et '''Password'''&lt;br /&gt;
*Sélectionner éventuellement sur '''Remember my login in this browser''' afin de ne plus avoir à s'identifier lors d'une nouvelle connexion depuis le même navigateur internet.&lt;br /&gt;
*Dé-sélectionner éventuellement le champ '''Only allow your session to be used from this IP address.''' qui limite les possibilités de connexion&lt;br /&gt;
*Cliquer sur '''Login'''&lt;br /&gt;
*Aller dans l'onglet '''Preferences'''&lt;br /&gt;
*En bas du formulaire, modifier le champ '''Language''' pour choisir '''french'''.&lt;br /&gt;
*Cliquer sur '''Update Prefs'''&lt;br /&gt;
Vous pouvez alors tranquillement rapporter un bug depuis le formulaire '''Rapporter un bogue'''&lt;br /&gt;
&lt;br /&gt;
==Problème d'auto-complétion des terrains==&lt;br /&gt;
*Si les terrains d'arrivée et de départ ne s'affichent pas, vérifier la [[Compatibilité des navigateurs#Versions_supportées|compatibilité de votre navigateur]].&lt;br /&gt;
*La version 2.1 d'OpenFlyers n'est pas supportée par Internet Explorer 10.&lt;br /&gt;
*En revanche, la version 3.0.3 d'OpenFlyers est supportée par les versions d'Internet Explorer supérieures à 8.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=FAQ-utilisateur&amp;diff=15114</id>
		<title>FAQ utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=FAQ-utilisateur&amp;diff=15114"/>
				<updated>2017-02-02T13:14:09Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Faire apparaitre les disponibilités des intervenants (instructeurs, formateurs, etc.) ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connexion=&lt;br /&gt;
==[[Documentation utilisateur#Réinitialiser_son_mot_de_passe|J'ai perdu mon mot de passe]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Impossible_de_se_connecter_à_la_plateforme_OpenFlyers_de_sa_structure|Impossible de se connecter à la plateforme OpenFlyers de sa structure]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Message_d'alerte_adresse_IP_bloquée|Message d'alerte adresse IP bloquée]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Page_indisponible|Page indisponible]]==&lt;br /&gt;
&lt;br /&gt;
==A chaque fois que je change de page, je reviens sur la page d'identification ?==&lt;br /&gt;
C'est un problème de &amp;quot;cookie&amp;quot;. Il faut que vous modifiez la configuration de votre navigateur de manière à autoriser les cookies qui proviennent d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Pour Firefox, cela se configure sur &amp;quot;Outils/Options&amp;quot; puis onglet &amp;quot;vie privée&amp;quot; puis &amp;quot;Accepter les cookies&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour Internet Explorer, cela se configure sur &amp;quot;Outils/Options internet&amp;quot; puis &amp;quot;Confidentialité&amp;quot; puis vous réglez le paramétrage d'acceptation des cookies de manière à ce qu'ils soient acceptés pour OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Variante du problème : la déconnexion n'est pas systématique mais aléatoire===&lt;br /&gt;
Dans ce cas, il peut s'agir aussi d'un problème de proxy (si vous êtes sur un réseau d'entreprise par exemple) ou de fournisseurs d'accès (accès depuis un mobile, depuis un hôtel, bref, tout type d'accès qui change régulièrement l'adresse IP et ainsi ne permet de maintenir un accès authentifié dans la durée. La solution est présentée dans la procédure [[#Utiliser_OpenFlyers_sur_un_smartphone|Utiliser OpenFlyers sur un smartPhone]].&lt;br /&gt;
&lt;br /&gt;
===Cas particulier sur iPhone===&lt;br /&gt;
Penser à mettre à jour le logiciel de l'iPhone. OpenFlyers fonctionne correctement pour une version 4.02.&lt;br /&gt;
&lt;br /&gt;
==Plusieurs membres peuvent-ils ouvrir des sessions en même temps (sans le savoir) ?==&lt;br /&gt;
Oui, c'est même le but premier : permettre à plusieurs personnes de consulter en même temps le cahier de réservation.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez même avoir une personne qui ouvre plusieurs sessions avec son identifiant. Mais pour cela, elle doit utiliser des ordinateurs ou des navigateurs différents.&lt;br /&gt;
==Suite à une migration, impossible de naviguer dans la nouvelle version d'OpenFlyers==&lt;br /&gt;
Lorsque nous migrons d'une version vers une autre, bien souvent nous le faisons en changeant les &amp;quot;DNS&amp;quot;. Cela peut occasionner des problèmes d'accès. Il peut également apparaitre des problèmes de &amp;quot;cache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici différentes techniques qui permettent d'imposer à votre navigateur d'utiliser des DNS actualisées et d'utiliser un cache à jour :&lt;br /&gt;
#Faites un CTRL+R (ou icone de &amp;quot;rafraichissement&amp;quot;). Bien souvent cela suffit au navigateur pour qu'il vide son cache et le ré-actualise&lt;br /&gt;
#Vider le cache dans le navigateur&lt;br /&gt;
#Supprimer les cookies dans le navigateur&lt;br /&gt;
#Faites un ipconfig /flushdns en ligne de commande (menu démarrer, puis &amp;quot;Exécutez&amp;quot;, taper &amp;quot;cmd&amp;quot;)&lt;br /&gt;
#Forcer les nouvelles DNS dans le fichier C:\WINDOWS\system32\drivers\etc\hosts en ajoutant une ligne du genre : xxx.xxx.xxx.xxx xxx.openflyers.zz (nous demandez pour connaitre les valeurs à utiliser)&lt;br /&gt;
#Penser à éteindre et rallumer complètement l'ordinateur&lt;br /&gt;
&lt;br /&gt;
==Page d'accueil incohérente avec un message d'erreur==&lt;br /&gt;
Si en vous connectant, vous vous retrouvez bloqué sur une page d'accueil autre que le planning avec un message d'erreur, lisez ce qui suit : &lt;br /&gt;
&lt;br /&gt;
Le problème est rencontré lorsque vous définissez une page &amp;quot;par défaut&amp;quot; depuis l'affichage &amp;quot;Smartphone&amp;quot; d'OpenFlyers autre que celle du planning. Pour corriger ceci, il faut :&lt;br /&gt;
*vous connecter sous la version &amp;quot;affichage Smartphone&amp;quot; d'OpenFlyers en cliquant sur &amp;quot;Smartphone&amp;quot; sur la page de connexion.&lt;br /&gt;
*une fois connecté, cliquez sur '''Menu &amp;gt; Planning &amp;gt; Journalier &amp;gt; Ressources et utilisateurs'''&lt;br /&gt;
*si le planning est visible, cliquez sur le bouton &amp;quot;favoris&amp;quot;&lt;br /&gt;
*:[[Fichier:SmartphoneMenuButtons.png]]&lt;br /&gt;
*déconnectez vous, et reconnectez vous sous la version &amp;quot;affichage Classique&amp;quot;&lt;br /&gt;
*par défaut, la page d'accueil est le planning journalier, l'application est utilisable à nouveau&lt;br /&gt;
&lt;br /&gt;
=Navigation dans OpenFlyers=&lt;br /&gt;
OpenFlyers est un logiciel qui s'utilise grâce à votre navigateur internet. Les plus connus sont Chrome, Firefox, Internet Explorer ou Safari.&lt;br /&gt;
Une certaine configuration est nécessaire afin de faire fonctionner OpenFlyers : la configuration des cookies.&lt;br /&gt;
Si vous rencontrez des problèmes d'utilisations tels que :&lt;br /&gt;
&lt;br /&gt;
*Impossibilité de se connecter alors que votre identifiant et mot de passe est correct&lt;br /&gt;
*Impossibilité d'aller d'un page à l'autre une fois connecté (et retour sur la page de connexion)&lt;br /&gt;
&lt;br /&gt;
Voila comment régler votre navigateur.&lt;br /&gt;
&lt;br /&gt;
==[https://support.google.com/chrome/answer/95647?hl=fr Comment autoriser les cookies sous Chrome]==&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous Internet Explorer==&lt;br /&gt;
*'''Outils &amp;gt; Options internet'''&lt;br /&gt;
*Onglet '''Confidentialité'''&lt;br /&gt;
*Positionner le niveau de sécurité au maximum à '''Moyenne'''&lt;br /&gt;
*Bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous iPhone / Safari==&lt;br /&gt;
*'''Réglages &amp;gt; Safari'''&lt;br /&gt;
*Régler '''Accepter les cookies'''&lt;br /&gt;
[[Fichier:Accepter-cookies-iPhone-Safari.png]]&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous Firefox==&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*Onglet '''vie privée'''&lt;br /&gt;
*Cocher '''Accepter les cookies'''&lt;br /&gt;
*Bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Problème de navigation sur un réseau GSM==&lt;br /&gt;
OpenFlyers est accessible sur les smartphones par le biais du navigateur embarqué. Cependant, des problèmes de session peuvent survenir du fait du changement dynamique de l'adresse IP du smartphone du fait du réseau GSM. Pour palier à ce problème et éviter des déconnexions intempestives, il faut se connecter en HTTPS.&lt;br /&gt;
&lt;br /&gt;
De plus, et toujours en HTTPS, il est possible de [[#Transmettre_l'identifiant_et_le_mot_de_passe_dans_l'URL|rajouter le couple identifiant/mot de passe à la suite de l'URL sécurisée]] et d'enregistrer cette URL en favori. Ainsi, il n'est plus nécessaire de saisir systématiquement son identifiant et son mot de passe.&lt;br /&gt;
&lt;br /&gt;
==Problèmes de navigation sous iPhone==&lt;br /&gt;
*Penser à mettre à jour le logiciel de l'iPhone. OpenFlyers fonctionne correctement pour une version au moins 4.02.&lt;br /&gt;
*Activer l'[[#Comment_autoriser_les_cookies_sous_iPhone_/_Safari|acceptation des cookies]]&lt;br /&gt;
*Si la navigation était possible sur une version précédente d'OpenFlyers et qu'elle n'est plus possible sur une nouvelle version d'OpenFlyers, alors il peut être nécessaire de vider le cache du navigateur Safari de l'iPhone :&lt;br /&gt;
**'''Réglages &amp;gt; Safari'''&lt;br /&gt;
**'''Effacer cookies et données'''&lt;br /&gt;
&lt;br /&gt;
==Transmettre l'identifiant et le mot de passe dans l'URL==&lt;br /&gt;
Si vous souhaitez transmettre le couple identifiant/mot de passe dans l'URL dans le but de pouvoir les sauver facilement, vous avez besoin d'un [http://www.openflyers.com/doc/catalogue-tarifaire.pdf abonnement HTTPS] et alors l'URL doit avoir la forme :&lt;br /&gt;
 https://openflyers.com/mySpaceName/?login=myLogin&amp;amp;password=myPassword&lt;br /&gt;
où :&lt;br /&gt;
*mySpaceName doit être remplacé par le nom du compte openflyers&lt;br /&gt;
*myLogin doit être remplacé par votre identifiant&lt;br /&gt;
*myPassword doit être remplacé par votre mot de passe&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Comment saisir une date rapidement dans la gestion des validités ?==&lt;br /&gt;
En cliquant sur l'icône &amp;quot;calendrier&amp;quot; placé par défaut au mois courant, vous pourrez vous déplacer mois par mois ou année par année en cliquant sur les flèches respectives. Pour des dates plus anciennes, passez le curseur de votre souris sur l'endroit où se trouve le texte correspondant à &amp;quot;Mois Année&amp;quot;. Ce texte s'encadre alors d'une bordure. Faites un clic dessus et une nouvelle petite fenêtre va s'ouvrir. Là vous pourrez saisir l'année en tapant les chiffres avec votre clavier.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Éphémérides|Comment sont calculées les heures de lever et coucher du soleil ?]]==&lt;br /&gt;
&lt;br /&gt;
==Que se passe t-il en cas de conflit de réservation ?==&lt;br /&gt;
Il ne peut y avoir de conflit de réservation. C'est l'un des principes durs d'OpenFlyers : à chaque instant donné, il ne peut y avoir plus d'une réservation pour chaque pilote, chaque avion ou chaque instructeur.&lt;br /&gt;
&lt;br /&gt;
Si vous arrivez à faire des réservations qui se chevauchent (pour un avion, un instructeur ou un pilote), alors vous avez mis en évidence un bug, et il faut nous le signaler pour que nous y remédions.&lt;br /&gt;
&lt;br /&gt;
==Si je suis en train de consulter une page, et qu'un autre utilisateur fait une modification sur cette page, vais-je voir la modification sans lancer un rafraichissement ?==&lt;br /&gt;
Non vous ne verrez pas la modification. Cependant, ce n'est pas grave car au moment où vous essayerez de faire votre réservation, OpenFlyers vérifiera à ce moment-là que le créneau que vous souhaitez est toujours disponible (pour empêcher les conflits justement).&lt;br /&gt;
&lt;br /&gt;
=Paiements=&lt;br /&gt;
==[[Documentation utilisateur#Créditer_son_compte_utilisateur|Comment créditer son compte utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
=Vols=&lt;br /&gt;
== Affichage des temps de vol==&lt;br /&gt;
* Les temps de vol des carnets de route s'affichent selon l' &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
* Les temps de vol sur les comptes s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté&amp;quot; &lt;br /&gt;
* La saisie des vols est fonction du paramétrage de la gestion des vols &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
* Les compteurs des avions s'affichent selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
&lt;br /&gt;
==Nos avions ont des compteurs en heures, centièmes, peut-on avoir un affichage en heures, minutes ?==&lt;br /&gt;
Chaque utilisateur paramètre son affichage du temps de vol comme il le souhaite dans Données/Affichage et fiche personnelle&lt;br /&gt;
[http://doc-en.openflyers.com/index.php?title=UserDoc2.0#Date_and_time_format Patron de date et heure]&lt;br /&gt;
&lt;br /&gt;
==Comment saisir plusieurs pilotes pour un vol ?==&lt;br /&gt;
Saisir les vols dans OF comme dans le carnet de route de l'avion&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Saisie_d'un_vol|Comment saisir un vol de moins de 15 minutes]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Consulter_un_vol_ouvert|Comment voir les détails d'un vol en cours ?]]==&lt;br /&gt;
&lt;br /&gt;
== Comment partager les coûts d'un vol ?==&lt;br /&gt;
Si un pilote veux partager les frais du vol (sans être pilote) il doit faire un transfert de son compte vers le compte du pilote&lt;br /&gt;
Menu '''Comptes &amp;gt; Transférer'''&lt;br /&gt;
&lt;br /&gt;
==Peut-on ouvrir un vol sur une période réservée par un autre pilote ?==&lt;br /&gt;
Lorsque l'on tente d'ouvrir un vol sur une période déjà réservée, un message d'alerte non-bloquant apparait indiquant que l'aéronef est déjà réservé.&lt;br /&gt;
&lt;br /&gt;
==Une ressource reste en &amp;quot;bleu&amp;quot; c'est à dire &amp;quot;en l'air&amp;quot;, comment corriger ce problème ?==&lt;br /&gt;
*Dans la page du planning, il faut cliquer sur le nom de la ressource qui apparait dans un cartouche bleu à gauche du planning.&lt;br /&gt;
*On se retrouve alors sur le formulaire de saisie des vols avec le vol &amp;quot;ouvert&amp;quot; qui pose problème. Il suffit d'annuler ce vol ou de le fermer selon le cas.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi ne voit-on pas tous les vols d'un instructeur sur son compte ?==&lt;br /&gt;
Seuls les vols générant des écritures comptables qui impactent un compte sont visible sur le compte concerné.&lt;br /&gt;
&lt;br /&gt;
=Divers=&lt;br /&gt;
==Peut-il y avoir des accès à plusieurs sur la base ?==&lt;br /&gt;
Oui, sinon deux membres ne pourraient pas consulter le cahier en même temps.&lt;br /&gt;
&lt;br /&gt;
Par contre, lorsqu'un membre réserve un avion, au moment où OpenFlyers teste la disponibilité du créneau, il empêche toute autre écriture sur la base concernant les réservations. Le but est d'empécher justement les conflits de réservation.&lt;br /&gt;
&lt;br /&gt;
=Actions dynamiques non prises en compte par OpenFlyers=&lt;br /&gt;
OpenFlyers met en oeuvre des actions dites &amp;quot;dynamiques&amp;quot; c'est à dire qui ne nécessite pas un rafraîchissement complet de la page pour être prises en comptes. Ces actions sont basées sur le principe &amp;quot;[http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML AJAX]&amp;quot;. Elles nécessitent l'activation du moteur [http://fr.wikipedia.org/wiki/JavaScript JavaScript] du navigateur pour être opérationnelles.&lt;br /&gt;
&lt;br /&gt;
De plus, certaines commandes [http://fr.wikipedia.org/wiki/JavaScript JavaScript] ne sont pas reconnues par tous les navigateurs.&lt;br /&gt;
&lt;br /&gt;
Ainsi, lorsque vous lancez une action dynamique dans OpenFlyers qui reste sans résultat, avant de rapporter l'anomalie sur le [http://bts.openflyers.org BTS] il faut vérifier :&lt;br /&gt;
#L'activation de [http://fr.wikipedia.org/wiki/JavaScript JavaScript] dans le navigateur utilisé.&lt;br /&gt;
#Recharger la page en faisant CTRL+R par exemple pour forcer la mise à jour du dernier script JavaScript d'OpenFlyers.&lt;br /&gt;
#Tester avec un autre navigateur&lt;br /&gt;
#Dans le cas où JavaScript est activé, il faut rapporter l'anomalie sur le [http://bts.openflyers.org BTS] en précisant le navigateur sur lequel l'action est inefficace et le navigateur sur lequel l'action est efficace.&lt;br /&gt;
Vous pouvez également nous facilitez la correction de l'anomalie en nous rapportant le message d'erreur [http://fr.wikipedia.org/wiki/JavaScript JavaScript] s'il y lieu.&lt;br /&gt;
&lt;br /&gt;
=Comment exporter les données ?=&lt;br /&gt;
OF affiche une page XHTML ce qui signifie un texte correctement formaté qui peut être récupéré par un simple copier coller. Le tableur Calc de Open Office ou Libre Office interprète correctement ce HTML et le formate en colonne conformément à la présentation de votre page.&lt;br /&gt;
 &lt;br /&gt;
Il a cependant un paramétrage à faire pour que les textes soit correctement encodé (affichage des caractères accentués) et que les cellules numériques affichent le format correct&lt;br /&gt;
&lt;br /&gt;
*Allez dans l'onglet Outils/Options/Chargement&amp;amp;Enegistrement/Compatibilité HTML (Tools/Options/Load&amp;amp;Save/HTML Compatibility)&lt;br /&gt;
*Cocher &amp;quot;Utiliser l'environnement linguistique Anglais (USA) pour les nombres&amp;quot;, (&amp;quot;Use English (USA) locale numbers&amp;quot;)&lt;br /&gt;
*Par la même occasion vous pouvez aussi changer le Jeu d'encodage (Character set) par Unicode (UTF-8) &lt;br /&gt;
&lt;br /&gt;
Le programme interprète alors le point comme le séparateur décimal et vous avez directement le bon copier/coller Si vous avec choisi l'encodage UTF-8 les caractères accentués seront aussi correctement traduits (A rechanger si vous avez à faire des copier coller depuis des programmes à l'encodage CP1252 &amp;quot;Windows Microsoft&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Pour les exports au format csv voir [[FAQ export]].&lt;br /&gt;
&lt;br /&gt;
=Paramétrage et données personnelles=&lt;br /&gt;
&lt;br /&gt;
==Peut-on être averti automatiquement des réservations annulées ?==&lt;br /&gt;
Dans la version 3 d'OpenFlyers, il est possible pour chaque utilisateur de paramétrer OpenFlyers de sort à être averti par e-mail lorsqu'un créneau se libère. Voici comment configurer cela :&lt;br /&gt;
*'''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans '''Fiche personnelle''', sélectionner '''Notification des réservations annulées'''&lt;br /&gt;
*Cliquer sur le bouton '''Sauver'''&lt;br /&gt;
&lt;br /&gt;
==Peut-on être averti des réservations sur plusieurs adresses e-mail ?==&lt;br /&gt;
&lt;br /&gt;
Il est possible d'utiliser plusieurs adresses e-mails afin d'être averti des réservations.&lt;br /&gt;
&lt;br /&gt;
Voici comment procéder :&lt;br /&gt;
*'''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans '''Fiche personnelle''' puis au niveau du champ '''E-mail'''&lt;br /&gt;
*Rentrer chacune des adresses e-mails en les séparant d'une virgule&lt;br /&gt;
'''Attention : il ne faut jamais mettre d'espace : ni dans l'adresse e-mail elle même, ni avant ou après les virgules de séparation des adresses e-mails'''&lt;br /&gt;
&lt;br /&gt;
Exemple valide :&lt;br /&gt;
&amp;lt;pre&amp;gt;jesuisuntest@test.fr,jesuisuntest@test.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples non valides :&lt;br /&gt;
&amp;lt;pre&amp;gt;jesuisuntest@test.fr , jesuisuntest@test.com&lt;br /&gt;
jesuisuntest@test.fr , jesuisuntest@test.com&lt;br /&gt;
jesuisuntest@test.fr, jesuisuntest@test.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Accéder à l'application et aller dans le menu Données &amp;gt; Affichage et fiche personnelle&lt;br /&gt;
&lt;br /&gt;
==Comment changer mes options d'affichage ?==&lt;br /&gt;
Aller dans le menu '''Données &amp;gt; Affichage et fiche personnelle''' rubrique '''Option d'affichage'''&lt;br /&gt;
&lt;br /&gt;
Dans les champs choisissez les paramètres selon vos souhaits: langue, heure local ou UTC, format monétaire,...&lt;br /&gt;
&lt;br /&gt;
Sélectionner les avions et instructeurs que sous voulez afficher&lt;br /&gt;
&lt;br /&gt;
==Comment modifier mes paramétrages ?==&lt;br /&gt;
Aller dans le menu '''Données &amp;gt; Affichage et fiche personnelle''' rubrique '''Fiche personnelle'''&lt;br /&gt;
&lt;br /&gt;
Charger une photo pour le trombinoscope&lt;br /&gt;
&lt;br /&gt;
La date de naissance, le sexe et la nationalité sont obligatoire pour que les statistiques DGAC puisse être calculés &lt;br /&gt;
&lt;br /&gt;
Mettez votre email et vos numéros de téléphone pour qu'on puisse vous contacter. Vous pouvez choisir ceux qui sont public ou non. &lt;br /&gt;
&lt;br /&gt;
Dans ce dernier cas seul les personnes avec des droits administrateur pourrons voir ces infos.&lt;br /&gt;
&lt;br /&gt;
==Comment modifier la langue de l'interface ?==&lt;br /&gt;
Pour modifier la langue de l'interface :&lt;br /&gt;
*Menu '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Modifier le contenu du champ '''Langue'''&lt;br /&gt;
*Valider en appuyant sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
==J'ai oublié mon mot de passe, comment le récupérer ?==&lt;br /&gt;
Il n'est pas possible de &amp;quot;retrouver&amp;quot; son mot de passe perdu dans OpenFlyers. En effet, ces derniers sont cryptés dans la base de données pour des raisons de confidentialités.&lt;br /&gt;
&lt;br /&gt;
Si vous avez oublié votre mot de passe, vous n'avez pas besoin de demander à votre administrateur une ré-initialisation, OpenFlyers dispose d'une procédure de ré-initialisation automatique :&lt;br /&gt;
*Sur la page de connexion d'une plateforme OpenFlyers, cliquer sur le lien &amp;quot;Mot de passe oublié&amp;quot;&lt;br /&gt;
*:[[Fichier:FAQ_user_forgottenPassword.png]]&lt;br /&gt;
*Sur la page qui s'affiche il y a deux zones de saisie. Saisissez l'email que vous avez indiqué dans votre page personnelle. Il vous sera envoyé un email vous donnant votre identifiant et un code d'activation&lt;br /&gt;
*Revenez sur la page de ré-initialisation et mettez ces informations. Un nouvel email vous sera envoyé avec votre mot de passe&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant accéder à l'application. Pour mettre un mot de passe personnalisé voir [[#Comment_changer_de_mot_de_passe|Comment changer son mot de passe]]&lt;br /&gt;
&lt;br /&gt;
==Comment changer de mot de passe==&lt;br /&gt;
*Dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Aller en bas de la page, dans le formulaire '''Changer de mot de passe''' et saisissez votre nouveau mot de passe&lt;br /&gt;
&lt;br /&gt;
Un indicateur vous indique le niveau de fiabilité. Mélanger les minuscules/majuscules/chiffres et sigles pour augmenter la difficulté pour des robots de trouver votre mot de passe. La sécurité de l'application de votre club sera ainsi accrue.&lt;br /&gt;
&lt;br /&gt;
=Trucs et astuces=&lt;br /&gt;
==Fenêtre en ligne de commande==&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant '''sélectionner''' et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
=Utiliser OpenFlyers sur un smartphone=&lt;br /&gt;
OpenFlyers est accessible sur les smartphones par le biais du navigateur embarqué.&lt;br /&gt;
&lt;br /&gt;
Afin de faciliter l'identification sur les smartphones ne permettant pas d'enregistrer l'identifiant et le mot de passe (à priori problème rencontré sur les iPhone d'Apple mais pas sur les Galaxy de Samsung), il est possible de [[#Transmettre_l'identifiant_et_le_mot_de_passe_dans_l'URL|rajouter le couple identifiant/mot de passe à la suite de l'URL sécurisée]] et ainsi d'enregistrer cette URL en favori.&lt;br /&gt;
&lt;br /&gt;
De plus, l'utilisation d'une URL sécurisée permet à priori d'éviter les problèmes de déconnexion intempestives liées aux changements d'adresse IP qui surviennent sur le réseau des GSMs.&lt;br /&gt;
&lt;br /&gt;
=Comment imprimer la doc ?=&lt;br /&gt;
Si vous souhaitez imprimer la doc, il vous suffit de :&lt;br /&gt;
*cliquer sur le lien &amp;quot;version imprimable&amp;quot; de la &amp;quot;boîte à outils&amp;quot; présente sur le côté gauche des pages du wiki. Vous obtiendrez ainsi une version des pages destinée à être imprimer.&lt;br /&gt;
*ou bien, utiliser la fonction imprimer de votre navigateur. Une mise en page spécifique est générée pour obtenir un format papier&lt;br /&gt;
&lt;br /&gt;
Si vous imprimer avec une Imprimante pdf ([http://www.pdfforge.org/pdfcreator pdfCreator] par exemple) vous générerez alors un format pdf pour archivage&lt;br /&gt;
&lt;br /&gt;
=Problèmes=&lt;br /&gt;
==Signaler un problème==&lt;br /&gt;
Si vous rencontrer une anomalie ou un bug dans l'application OpenFlyers, il faut le rapporter sur le [http://bts.openflyers.org BTS] pour une prise en compte la plus rapide possible et pour permettre un meilleur traitement et suivi.&lt;br /&gt;
&lt;br /&gt;
Pour rapporter une anomalie il faut :&lt;br /&gt;
*Aller sur la page http://bts.openflyers.org&lt;br /&gt;
*S'inscrire sur le BTS en cliquant sur '''Signup for a new account''' : il faut choisir un identifiant, une adresse e-mail puis cliquer sur '''Signup'''.&lt;br /&gt;
Un e-mail est envoyé par le BTS permettant de valider votre adresse e-mail. Cliquer sur le lien présent sur cet e-mail.&lt;br /&gt;
*Sur le formulaire qui apparait, Choisir :&lt;br /&gt;
**Un mot de passe dans les champs '''Password''' et '''Confirm Password'''&lt;br /&gt;
**Compléter éventuellement le champ '''Real Name'''&lt;br /&gt;
*Cliquer sur le bouton '''Update account'''&lt;br /&gt;
Votre compte pour rapporter un problème sur le BTS est ainsi créé. Un nouveau formulaire d'identification s'affiche automatiquement :&lt;br /&gt;
*Renseigner les champs '''Username''' et '''Password'''&lt;br /&gt;
*Sélectionner éventuellement sur '''Remember my login in this browser''' afin de ne plus avoir à s'identifier lors d'une nouvelle connexion depuis le même navigateur internet.&lt;br /&gt;
*Dé-sélectionner éventuellement le champ '''Only allow your session to be used from this IP address.''' qui limite les possibilités de connexion&lt;br /&gt;
*Cliquer sur '''Login'''&lt;br /&gt;
*Aller dans l'onglet '''Preferences'''&lt;br /&gt;
*En bas du formulaire, modifier le champ '''Language''' pour choisir '''french'''.&lt;br /&gt;
*Cliquer sur '''Update Prefs'''&lt;br /&gt;
Vous pouvez alors tranquillement rapporter un bug depuis le formulaire '''Rapporter un bogue'''&lt;br /&gt;
&lt;br /&gt;
==Problème d'auto-complétion des terrains==&lt;br /&gt;
*Si les terrains d'arrivée et de départ ne s'affichent pas, vérifier la [[Compatibilité des navigateurs#Versions_supportées|compatibilité de votre navigateur]].&lt;br /&gt;
*La version 2.1 d'OpenFlyers n'est pas supportée par Internet Explorer 10.&lt;br /&gt;
*En revanche, la version 3.0.3 d'OpenFlyers est supportée par les versions d'Internet Explorer supérieures à 8.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=FAQ-utilisateur&amp;diff=15113</id>
		<title>FAQ utilisateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=FAQ-utilisateur&amp;diff=15113"/>
				<updated>2017-02-02T13:13:54Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Connexion=&lt;br /&gt;
==[[Documentation utilisateur#Réinitialiser_son_mot_de_passe|J'ai perdu mon mot de passe]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Impossible_de_se_connecter_à_la_plateforme_OpenFlyers_de_sa_structure|Impossible de se connecter à la plateforme OpenFlyers de sa structure]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Message_d'alerte_adresse_IP_bloquée|Message d'alerte adresse IP bloquée]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Page_indisponible|Page indisponible]]==&lt;br /&gt;
&lt;br /&gt;
==A chaque fois que je change de page, je reviens sur la page d'identification ?==&lt;br /&gt;
C'est un problème de &amp;quot;cookie&amp;quot;. Il faut que vous modifiez la configuration de votre navigateur de manière à autoriser les cookies qui proviennent d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Pour Firefox, cela se configure sur &amp;quot;Outils/Options&amp;quot; puis onglet &amp;quot;vie privée&amp;quot; puis &amp;quot;Accepter les cookies&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Pour Internet Explorer, cela se configure sur &amp;quot;Outils/Options internet&amp;quot; puis &amp;quot;Confidentialité&amp;quot; puis vous réglez le paramétrage d'acceptation des cookies de manière à ce qu'ils soient acceptés pour OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Variante du problème : la déconnexion n'est pas systématique mais aléatoire===&lt;br /&gt;
Dans ce cas, il peut s'agir aussi d'un problème de proxy (si vous êtes sur un réseau d'entreprise par exemple) ou de fournisseurs d'accès (accès depuis un mobile, depuis un hôtel, bref, tout type d'accès qui change régulièrement l'adresse IP et ainsi ne permet de maintenir un accès authentifié dans la durée. La solution est présentée dans la procédure [[#Utiliser_OpenFlyers_sur_un_smartphone|Utiliser OpenFlyers sur un smartPhone]].&lt;br /&gt;
&lt;br /&gt;
===Cas particulier sur iPhone===&lt;br /&gt;
Penser à mettre à jour le logiciel de l'iPhone. OpenFlyers fonctionne correctement pour une version 4.02.&lt;br /&gt;
&lt;br /&gt;
==Plusieurs membres peuvent-ils ouvrir des sessions en même temps (sans le savoir) ?==&lt;br /&gt;
Oui, c'est même le but premier : permettre à plusieurs personnes de consulter en même temps le cahier de réservation.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez même avoir une personne qui ouvre plusieurs sessions avec son identifiant. Mais pour cela, elle doit utiliser des ordinateurs ou des navigateurs différents.&lt;br /&gt;
==Suite à une migration, impossible de naviguer dans la nouvelle version d'OpenFlyers==&lt;br /&gt;
Lorsque nous migrons d'une version vers une autre, bien souvent nous le faisons en changeant les &amp;quot;DNS&amp;quot;. Cela peut occasionner des problèmes d'accès. Il peut également apparaitre des problèmes de &amp;quot;cache&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici différentes techniques qui permettent d'imposer à votre navigateur d'utiliser des DNS actualisées et d'utiliser un cache à jour :&lt;br /&gt;
#Faites un CTRL+R (ou icone de &amp;quot;rafraichissement&amp;quot;). Bien souvent cela suffit au navigateur pour qu'il vide son cache et le ré-actualise&lt;br /&gt;
#Vider le cache dans le navigateur&lt;br /&gt;
#Supprimer les cookies dans le navigateur&lt;br /&gt;
#Faites un ipconfig /flushdns en ligne de commande (menu démarrer, puis &amp;quot;Exécutez&amp;quot;, taper &amp;quot;cmd&amp;quot;)&lt;br /&gt;
#Forcer les nouvelles DNS dans le fichier C:\WINDOWS\system32\drivers\etc\hosts en ajoutant une ligne du genre : xxx.xxx.xxx.xxx xxx.openflyers.zz (nous demandez pour connaitre les valeurs à utiliser)&lt;br /&gt;
#Penser à éteindre et rallumer complètement l'ordinateur&lt;br /&gt;
&lt;br /&gt;
==Page d'accueil incohérente avec un message d'erreur==&lt;br /&gt;
Si en vous connectant, vous vous retrouvez bloqué sur une page d'accueil autre que le planning avec un message d'erreur, lisez ce qui suit : &lt;br /&gt;
&lt;br /&gt;
Le problème est rencontré lorsque vous définissez une page &amp;quot;par défaut&amp;quot; depuis l'affichage &amp;quot;Smartphone&amp;quot; d'OpenFlyers autre que celle du planning. Pour corriger ceci, il faut :&lt;br /&gt;
*vous connecter sous la version &amp;quot;affichage Smartphone&amp;quot; d'OpenFlyers en cliquant sur &amp;quot;Smartphone&amp;quot; sur la page de connexion.&lt;br /&gt;
*une fois connecté, cliquez sur '''Menu &amp;gt; Planning &amp;gt; Journalier &amp;gt; Ressources et utilisateurs'''&lt;br /&gt;
*si le planning est visible, cliquez sur le bouton &amp;quot;favoris&amp;quot;&lt;br /&gt;
*:[[Fichier:SmartphoneMenuButtons.png]]&lt;br /&gt;
*déconnectez vous, et reconnectez vous sous la version &amp;quot;affichage Classique&amp;quot;&lt;br /&gt;
*par défaut, la page d'accueil est le planning journalier, l'application est utilisable à nouveau&lt;br /&gt;
&lt;br /&gt;
=Navigation dans OpenFlyers=&lt;br /&gt;
OpenFlyers est un logiciel qui s'utilise grâce à votre navigateur internet. Les plus connus sont Chrome, Firefox, Internet Explorer ou Safari.&lt;br /&gt;
Une certaine configuration est nécessaire afin de faire fonctionner OpenFlyers : la configuration des cookies.&lt;br /&gt;
Si vous rencontrez des problèmes d'utilisations tels que :&lt;br /&gt;
&lt;br /&gt;
*Impossibilité de se connecter alors que votre identifiant et mot de passe est correct&lt;br /&gt;
*Impossibilité d'aller d'un page à l'autre une fois connecté (et retour sur la page de connexion)&lt;br /&gt;
&lt;br /&gt;
Voila comment régler votre navigateur.&lt;br /&gt;
&lt;br /&gt;
==[https://support.google.com/chrome/answer/95647?hl=fr Comment autoriser les cookies sous Chrome]==&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous Internet Explorer==&lt;br /&gt;
*'''Outils &amp;gt; Options internet'''&lt;br /&gt;
*Onglet '''Confidentialité'''&lt;br /&gt;
*Positionner le niveau de sécurité au maximum à '''Moyenne'''&lt;br /&gt;
*Bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous iPhone / Safari==&lt;br /&gt;
*'''Réglages &amp;gt; Safari'''&lt;br /&gt;
*Régler '''Accepter les cookies'''&lt;br /&gt;
[[Fichier:Accepter-cookies-iPhone-Safari.png]]&lt;br /&gt;
&lt;br /&gt;
==Comment autoriser les cookies sous Firefox==&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*Onglet '''vie privée'''&lt;br /&gt;
*Cocher '''Accepter les cookies'''&lt;br /&gt;
*Bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Problème de navigation sur un réseau GSM==&lt;br /&gt;
OpenFlyers est accessible sur les smartphones par le biais du navigateur embarqué. Cependant, des problèmes de session peuvent survenir du fait du changement dynamique de l'adresse IP du smartphone du fait du réseau GSM. Pour palier à ce problème et éviter des déconnexions intempestives, il faut se connecter en HTTPS.&lt;br /&gt;
&lt;br /&gt;
De plus, et toujours en HTTPS, il est possible de [[#Transmettre_l'identifiant_et_le_mot_de_passe_dans_l'URL|rajouter le couple identifiant/mot de passe à la suite de l'URL sécurisée]] et d'enregistrer cette URL en favori. Ainsi, il n'est plus nécessaire de saisir systématiquement son identifiant et son mot de passe.&lt;br /&gt;
&lt;br /&gt;
==Problèmes de navigation sous iPhone==&lt;br /&gt;
*Penser à mettre à jour le logiciel de l'iPhone. OpenFlyers fonctionne correctement pour une version au moins 4.02.&lt;br /&gt;
*Activer l'[[#Comment_autoriser_les_cookies_sous_iPhone_/_Safari|acceptation des cookies]]&lt;br /&gt;
*Si la navigation était possible sur une version précédente d'OpenFlyers et qu'elle n'est plus possible sur une nouvelle version d'OpenFlyers, alors il peut être nécessaire de vider le cache du navigateur Safari de l'iPhone :&lt;br /&gt;
**'''Réglages &amp;gt; Safari'''&lt;br /&gt;
**'''Effacer cookies et données'''&lt;br /&gt;
&lt;br /&gt;
==Transmettre l'identifiant et le mot de passe dans l'URL==&lt;br /&gt;
Si vous souhaitez transmettre le couple identifiant/mot de passe dans l'URL dans le but de pouvoir les sauver facilement, vous avez besoin d'un [http://www.openflyers.com/doc/catalogue-tarifaire.pdf abonnement HTTPS] et alors l'URL doit avoir la forme :&lt;br /&gt;
 https://openflyers.com/mySpaceName/?login=myLogin&amp;amp;password=myPassword&lt;br /&gt;
où :&lt;br /&gt;
*mySpaceName doit être remplacé par le nom du compte openflyers&lt;br /&gt;
*myLogin doit être remplacé par votre identifiant&lt;br /&gt;
*myPassword doit être remplacé par votre mot de passe&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Comment saisir une date rapidement dans la gestion des validités ?==&lt;br /&gt;
En cliquant sur l'icône &amp;quot;calendrier&amp;quot; placé par défaut au mois courant, vous pourrez vous déplacer mois par mois ou année par année en cliquant sur les flèches respectives. Pour des dates plus anciennes, passez le curseur de votre souris sur l'endroit où se trouve le texte correspondant à &amp;quot;Mois Année&amp;quot;. Ce texte s'encadre alors d'une bordure. Faites un clic dessus et une nouvelle petite fenêtre va s'ouvrir. Là vous pourrez saisir l'année en tapant les chiffres avec votre clavier.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Éphémérides|Comment sont calculées les heures de lever et coucher du soleil ?]]==&lt;br /&gt;
&lt;br /&gt;
==Que se passe t-il en cas de conflit de réservation ?==&lt;br /&gt;
Il ne peut y avoir de conflit de réservation. C'est l'un des principes durs d'OpenFlyers : à chaque instant donné, il ne peut y avoir plus d'une réservation pour chaque pilote, chaque avion ou chaque instructeur.&lt;br /&gt;
&lt;br /&gt;
Si vous arrivez à faire des réservations qui se chevauchent (pour un avion, un instructeur ou un pilote), alors vous avez mis en évidence un bug, et il faut nous le signaler pour que nous y remédions.&lt;br /&gt;
&lt;br /&gt;
==Si je suis en train de consulter une page, et qu'un autre utilisateur fait une modification sur cette page, vais-je voir la modification sans lancer un rafraichissement ?==&lt;br /&gt;
Non vous ne verrez pas la modification. Cependant, ce n'est pas grave car au moment où vous essayerez de faire votre réservation, OpenFlyers vérifiera à ce moment-là que le créneau que vous souhaitez est toujours disponible (pour empêcher les conflits justement).&lt;br /&gt;
&lt;br /&gt;
==Faire apparaitre les disponibilités des intervenants (instructeurs, formateurs, etc.) ?==&lt;br /&gt;
Il faut [[Gestion-des-utilisateurs#Gestion-des-disponibilités-des-intervenants|définir des disponibilités]] pour la personne concernée.&lt;br /&gt;
&lt;br /&gt;
=Paiements=&lt;br /&gt;
==[[Documentation utilisateur#Créditer_son_compte_utilisateur|Comment créditer son compte utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
=Vols=&lt;br /&gt;
== Affichage des temps de vol==&lt;br /&gt;
* Les temps de vol des carnets de route s'affichent selon l' &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
* Les temps de vol sur les comptes s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté&amp;quot; &lt;br /&gt;
* La saisie des vols est fonction du paramétrage de la gestion des vols &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
* Les compteurs des avions s'affichent selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot;, paramétré par l'administrateur&lt;br /&gt;
&lt;br /&gt;
==Nos avions ont des compteurs en heures, centièmes, peut-on avoir un affichage en heures, minutes ?==&lt;br /&gt;
Chaque utilisateur paramètre son affichage du temps de vol comme il le souhaite dans Données/Affichage et fiche personnelle&lt;br /&gt;
[http://doc-en.openflyers.com/index.php?title=UserDoc2.0#Date_and_time_format Patron de date et heure]&lt;br /&gt;
&lt;br /&gt;
==Comment saisir plusieurs pilotes pour un vol ?==&lt;br /&gt;
Saisir les vols dans OF comme dans le carnet de route de l'avion&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Saisie_d'un_vol|Comment saisir un vol de moins de 15 minutes]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation utilisateur#Consulter_un_vol_ouvert|Comment voir les détails d'un vol en cours ?]]==&lt;br /&gt;
&lt;br /&gt;
== Comment partager les coûts d'un vol ?==&lt;br /&gt;
Si un pilote veux partager les frais du vol (sans être pilote) il doit faire un transfert de son compte vers le compte du pilote&lt;br /&gt;
Menu '''Comptes &amp;gt; Transférer'''&lt;br /&gt;
&lt;br /&gt;
==Peut-on ouvrir un vol sur une période réservée par un autre pilote ?==&lt;br /&gt;
Lorsque l'on tente d'ouvrir un vol sur une période déjà réservée, un message d'alerte non-bloquant apparait indiquant que l'aéronef est déjà réservé.&lt;br /&gt;
&lt;br /&gt;
==Une ressource reste en &amp;quot;bleu&amp;quot; c'est à dire &amp;quot;en l'air&amp;quot;, comment corriger ce problème ?==&lt;br /&gt;
*Dans la page du planning, il faut cliquer sur le nom de la ressource qui apparait dans un cartouche bleu à gauche du planning.&lt;br /&gt;
*On se retrouve alors sur le formulaire de saisie des vols avec le vol &amp;quot;ouvert&amp;quot; qui pose problème. Il suffit d'annuler ce vol ou de le fermer selon le cas.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi ne voit-on pas tous les vols d'un instructeur sur son compte ?==&lt;br /&gt;
Seuls les vols générant des écritures comptables qui impactent un compte sont visible sur le compte concerné.&lt;br /&gt;
&lt;br /&gt;
=Divers=&lt;br /&gt;
==Peut-il y avoir des accès à plusieurs sur la base ?==&lt;br /&gt;
Oui, sinon deux membres ne pourraient pas consulter le cahier en même temps.&lt;br /&gt;
&lt;br /&gt;
Par contre, lorsqu'un membre réserve un avion, au moment où OpenFlyers teste la disponibilité du créneau, il empêche toute autre écriture sur la base concernant les réservations. Le but est d'empécher justement les conflits de réservation.&lt;br /&gt;
&lt;br /&gt;
=Actions dynamiques non prises en compte par OpenFlyers=&lt;br /&gt;
OpenFlyers met en oeuvre des actions dites &amp;quot;dynamiques&amp;quot; c'est à dire qui ne nécessite pas un rafraîchissement complet de la page pour être prises en comptes. Ces actions sont basées sur le principe &amp;quot;[http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML AJAX]&amp;quot;. Elles nécessitent l'activation du moteur [http://fr.wikipedia.org/wiki/JavaScript JavaScript] du navigateur pour être opérationnelles.&lt;br /&gt;
&lt;br /&gt;
De plus, certaines commandes [http://fr.wikipedia.org/wiki/JavaScript JavaScript] ne sont pas reconnues par tous les navigateurs.&lt;br /&gt;
&lt;br /&gt;
Ainsi, lorsque vous lancez une action dynamique dans OpenFlyers qui reste sans résultat, avant de rapporter l'anomalie sur le [http://bts.openflyers.org BTS] il faut vérifier :&lt;br /&gt;
#L'activation de [http://fr.wikipedia.org/wiki/JavaScript JavaScript] dans le navigateur utilisé.&lt;br /&gt;
#Recharger la page en faisant CTRL+R par exemple pour forcer la mise à jour du dernier script JavaScript d'OpenFlyers.&lt;br /&gt;
#Tester avec un autre navigateur&lt;br /&gt;
#Dans le cas où JavaScript est activé, il faut rapporter l'anomalie sur le [http://bts.openflyers.org BTS] en précisant le navigateur sur lequel l'action est inefficace et le navigateur sur lequel l'action est efficace.&lt;br /&gt;
Vous pouvez également nous facilitez la correction de l'anomalie en nous rapportant le message d'erreur [http://fr.wikipedia.org/wiki/JavaScript JavaScript] s'il y lieu.&lt;br /&gt;
&lt;br /&gt;
=Comment exporter les données ?=&lt;br /&gt;
OF affiche une page XHTML ce qui signifie un texte correctement formaté qui peut être récupéré par un simple copier coller. Le tableur Calc de Open Office ou Libre Office interprète correctement ce HTML et le formate en colonne conformément à la présentation de votre page.&lt;br /&gt;
 &lt;br /&gt;
Il a cependant un paramétrage à faire pour que les textes soit correctement encodé (affichage des caractères accentués) et que les cellules numériques affichent le format correct&lt;br /&gt;
&lt;br /&gt;
*Allez dans l'onglet Outils/Options/Chargement&amp;amp;Enegistrement/Compatibilité HTML (Tools/Options/Load&amp;amp;Save/HTML Compatibility)&lt;br /&gt;
*Cocher &amp;quot;Utiliser l'environnement linguistique Anglais (USA) pour les nombres&amp;quot;, (&amp;quot;Use English (USA) locale numbers&amp;quot;)&lt;br /&gt;
*Par la même occasion vous pouvez aussi changer le Jeu d'encodage (Character set) par Unicode (UTF-8) &lt;br /&gt;
&lt;br /&gt;
Le programme interprète alors le point comme le séparateur décimal et vous avez directement le bon copier/coller Si vous avec choisi l'encodage UTF-8 les caractères accentués seront aussi correctement traduits (A rechanger si vous avez à faire des copier coller depuis des programmes à l'encodage CP1252 &amp;quot;Windows Microsoft&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Pour les exports au format csv voir [[FAQ export]].&lt;br /&gt;
&lt;br /&gt;
=Paramétrage et données personnelles=&lt;br /&gt;
&lt;br /&gt;
==Peut-on être averti automatiquement des réservations annulées ?==&lt;br /&gt;
Dans la version 3 d'OpenFlyers, il est possible pour chaque utilisateur de paramétrer OpenFlyers de sort à être averti par e-mail lorsqu'un créneau se libère. Voici comment configurer cela :&lt;br /&gt;
*'''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans '''Fiche personnelle''', sélectionner '''Notification des réservations annulées'''&lt;br /&gt;
*Cliquer sur le bouton '''Sauver'''&lt;br /&gt;
&lt;br /&gt;
==Peut-on être averti des réservations sur plusieurs adresses e-mail ?==&lt;br /&gt;
&lt;br /&gt;
Il est possible d'utiliser plusieurs adresses e-mails afin d'être averti des réservations.&lt;br /&gt;
&lt;br /&gt;
Voici comment procéder :&lt;br /&gt;
*'''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Dans '''Fiche personnelle''' puis au niveau du champ '''E-mail'''&lt;br /&gt;
*Rentrer chacune des adresses e-mails en les séparant d'une virgule&lt;br /&gt;
'''Attention : il ne faut jamais mettre d'espace : ni dans l'adresse e-mail elle même, ni avant ou après les virgules de séparation des adresses e-mails'''&lt;br /&gt;
&lt;br /&gt;
Exemple valide :&lt;br /&gt;
&amp;lt;pre&amp;gt;jesuisuntest@test.fr,jesuisuntest@test.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemples non valides :&lt;br /&gt;
&amp;lt;pre&amp;gt;jesuisuntest@test.fr , jesuisuntest@test.com&lt;br /&gt;
jesuisuntest@test.fr , jesuisuntest@test.com&lt;br /&gt;
jesuisuntest@test.fr, jesuisuntest@test.com&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Accéder à l'application et aller dans le menu Données &amp;gt; Affichage et fiche personnelle&lt;br /&gt;
&lt;br /&gt;
==Comment changer mes options d'affichage ?==&lt;br /&gt;
Aller dans le menu '''Données &amp;gt; Affichage et fiche personnelle''' rubrique '''Option d'affichage'''&lt;br /&gt;
&lt;br /&gt;
Dans les champs choisissez les paramètres selon vos souhaits: langue, heure local ou UTC, format monétaire,...&lt;br /&gt;
&lt;br /&gt;
Sélectionner les avions et instructeurs que sous voulez afficher&lt;br /&gt;
&lt;br /&gt;
==Comment modifier mes paramétrages ?==&lt;br /&gt;
Aller dans le menu '''Données &amp;gt; Affichage et fiche personnelle''' rubrique '''Fiche personnelle'''&lt;br /&gt;
&lt;br /&gt;
Charger une photo pour le trombinoscope&lt;br /&gt;
&lt;br /&gt;
La date de naissance, le sexe et la nationalité sont obligatoire pour que les statistiques DGAC puisse être calculés &lt;br /&gt;
&lt;br /&gt;
Mettez votre email et vos numéros de téléphone pour qu'on puisse vous contacter. Vous pouvez choisir ceux qui sont public ou non. &lt;br /&gt;
&lt;br /&gt;
Dans ce dernier cas seul les personnes avec des droits administrateur pourrons voir ces infos.&lt;br /&gt;
&lt;br /&gt;
==Comment modifier la langue de l'interface ?==&lt;br /&gt;
Pour modifier la langue de l'interface :&lt;br /&gt;
*Menu '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Modifier le contenu du champ '''Langue'''&lt;br /&gt;
*Valider en appuyant sur le bouton '''Sauver''' tout en bas du formulaire&lt;br /&gt;
&lt;br /&gt;
==J'ai oublié mon mot de passe, comment le récupérer ?==&lt;br /&gt;
Il n'est pas possible de &amp;quot;retrouver&amp;quot; son mot de passe perdu dans OpenFlyers. En effet, ces derniers sont cryptés dans la base de données pour des raisons de confidentialités.&lt;br /&gt;
&lt;br /&gt;
Si vous avez oublié votre mot de passe, vous n'avez pas besoin de demander à votre administrateur une ré-initialisation, OpenFlyers dispose d'une procédure de ré-initialisation automatique :&lt;br /&gt;
*Sur la page de connexion d'une plateforme OpenFlyers, cliquer sur le lien &amp;quot;Mot de passe oublié&amp;quot;&lt;br /&gt;
*:[[Fichier:FAQ_user_forgottenPassword.png]]&lt;br /&gt;
*Sur la page qui s'affiche il y a deux zones de saisie. Saisissez l'email que vous avez indiqué dans votre page personnelle. Il vous sera envoyé un email vous donnant votre identifiant et un code d'activation&lt;br /&gt;
*Revenez sur la page de ré-initialisation et mettez ces informations. Un nouvel email vous sera envoyé avec votre mot de passe&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant accéder à l'application. Pour mettre un mot de passe personnalisé voir [[#Comment_changer_de_mot_de_passe|Comment changer son mot de passe]]&lt;br /&gt;
&lt;br /&gt;
==Comment changer de mot de passe==&lt;br /&gt;
*Dans '''Données &amp;gt; Affichage et fiche personnelle'''&lt;br /&gt;
*Aller en bas de la page, dans le formulaire '''Changer de mot de passe''' et saisissez votre nouveau mot de passe&lt;br /&gt;
&lt;br /&gt;
Un indicateur vous indique le niveau de fiabilité. Mélanger les minuscules/majuscules/chiffres et sigles pour augmenter la difficulté pour des robots de trouver votre mot de passe. La sécurité de l'application de votre club sera ainsi accrue.&lt;br /&gt;
&lt;br /&gt;
=Trucs et astuces=&lt;br /&gt;
==Fenêtre en ligne de commande==&lt;br /&gt;
===Ouvrir une fenêtre en ligne de commande===&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
*Aller dans le menu &amp;quot;Démarrer&amp;quot;&lt;br /&gt;
*Puis Tous les programmes/Accessoires&lt;br /&gt;
*Lancer l'&amp;quot;invite de commandes&amp;quot;&lt;br /&gt;
====Ouvrir une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Sous OSX (mac) il faut lancer un Terminal. Pour cela 2 solutions :&lt;br /&gt;
*Taper &amp;quot;terminal&amp;quot; dans spotlight&lt;br /&gt;
ou&lt;br /&gt;
*lancer l'application qui est dans Applications &amp;gt; Utilitaires.&lt;br /&gt;
&lt;br /&gt;
===Copier/Coller dans une fenêtre en ligne de commande===&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Windows====&lt;br /&gt;
Vous pouvez faire un copier/coller en utilisant le bouton droit de la souris dans la fenêtre de l'invite de commandes puis en choisissant '''sélectionner''' et ensuite en appuyant sur le bouton gauche et en le laissant appuyer tout en sélectionnant la zone souhaitée)&lt;br /&gt;
&lt;br /&gt;
====Copier/Coller dans une fenêtre en ligne de commande sous Mac====&lt;br /&gt;
Pour faire un copier/coller de ces informations et nous les communiquer, il suffit d'utiliser commande-C dans le terminal.&lt;br /&gt;
&lt;br /&gt;
=Utiliser OpenFlyers sur un smartphone=&lt;br /&gt;
OpenFlyers est accessible sur les smartphones par le biais du navigateur embarqué.&lt;br /&gt;
&lt;br /&gt;
Afin de faciliter l'identification sur les smartphones ne permettant pas d'enregistrer l'identifiant et le mot de passe (à priori problème rencontré sur les iPhone d'Apple mais pas sur les Galaxy de Samsung), il est possible de [[#Transmettre_l'identifiant_et_le_mot_de_passe_dans_l'URL|rajouter le couple identifiant/mot de passe à la suite de l'URL sécurisée]] et ainsi d'enregistrer cette URL en favori.&lt;br /&gt;
&lt;br /&gt;
De plus, l'utilisation d'une URL sécurisée permet à priori d'éviter les problèmes de déconnexion intempestives liées aux changements d'adresse IP qui surviennent sur le réseau des GSMs.&lt;br /&gt;
&lt;br /&gt;
=Comment imprimer la doc ?=&lt;br /&gt;
Si vous souhaitez imprimer la doc, il vous suffit de :&lt;br /&gt;
*cliquer sur le lien &amp;quot;version imprimable&amp;quot; de la &amp;quot;boîte à outils&amp;quot; présente sur le côté gauche des pages du wiki. Vous obtiendrez ainsi une version des pages destinée à être imprimer.&lt;br /&gt;
*ou bien, utiliser la fonction imprimer de votre navigateur. Une mise en page spécifique est générée pour obtenir un format papier&lt;br /&gt;
&lt;br /&gt;
Si vous imprimer avec une Imprimante pdf ([http://www.pdfforge.org/pdfcreator pdfCreator] par exemple) vous générerez alors un format pdf pour archivage&lt;br /&gt;
&lt;br /&gt;
=Problèmes=&lt;br /&gt;
==Signaler un problème==&lt;br /&gt;
Si vous rencontrer une anomalie ou un bug dans l'application OpenFlyers, il faut le rapporter sur le [http://bts.openflyers.org BTS] pour une prise en compte la plus rapide possible et pour permettre un meilleur traitement et suivi.&lt;br /&gt;
&lt;br /&gt;
Pour rapporter une anomalie il faut :&lt;br /&gt;
*Aller sur la page http://bts.openflyers.org&lt;br /&gt;
*S'inscrire sur le BTS en cliquant sur '''Signup for a new account''' : il faut choisir un identifiant, une adresse e-mail puis cliquer sur '''Signup'''.&lt;br /&gt;
Un e-mail est envoyé par le BTS permettant de valider votre adresse e-mail. Cliquer sur le lien présent sur cet e-mail.&lt;br /&gt;
*Sur le formulaire qui apparait, Choisir :&lt;br /&gt;
**Un mot de passe dans les champs '''Password''' et '''Confirm Password'''&lt;br /&gt;
**Compléter éventuellement le champ '''Real Name'''&lt;br /&gt;
*Cliquer sur le bouton '''Update account'''&lt;br /&gt;
Votre compte pour rapporter un problème sur le BTS est ainsi créé. Un nouveau formulaire d'identification s'affiche automatiquement :&lt;br /&gt;
*Renseigner les champs '''Username''' et '''Password'''&lt;br /&gt;
*Sélectionner éventuellement sur '''Remember my login in this browser''' afin de ne plus avoir à s'identifier lors d'une nouvelle connexion depuis le même navigateur internet.&lt;br /&gt;
*Dé-sélectionner éventuellement le champ '''Only allow your session to be used from this IP address.''' qui limite les possibilités de connexion&lt;br /&gt;
*Cliquer sur '''Login'''&lt;br /&gt;
*Aller dans l'onglet '''Preferences'''&lt;br /&gt;
*En bas du formulaire, modifier le champ '''Language''' pour choisir '''french'''.&lt;br /&gt;
*Cliquer sur '''Update Prefs'''&lt;br /&gt;
Vous pouvez alors tranquillement rapporter un bug depuis le formulaire '''Rapporter un bogue'''&lt;br /&gt;
&lt;br /&gt;
==Problème d'auto-complétion des terrains==&lt;br /&gt;
*Si les terrains d'arrivée et de départ ne s'affichent pas, vérifier la [[Compatibilité des navigateurs#Versions_supportées|compatibilité de votre navigateur]].&lt;br /&gt;
*La version 2.1 d'OpenFlyers n'est pas supportée par Internet Explorer 10.&lt;br /&gt;
*En revanche, la version 3.0.3 d'OpenFlyers est supportée par les versions d'Internet Explorer supérieures à 8.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15108</id>
		<title>Gestion des rapports</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15108"/>
				<updated>2017-01-19T14:40:13Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Adhérents par activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
A chaque fois qu'OpenFlyers développe un nouveau rapport à la demande d'un client, l'équipe rajoute ce rapport dans la [[OF_doc-en:Export-generator-3|liste des rapports]]. Nous invitons également les clients ayant développé leurs propres rapports à les rajouter dans cette liste.&lt;br /&gt;
&lt;br /&gt;
Seuls les rapports présents dans cette liste bénéficient de nos mises à jour lors de changement de version.&lt;br /&gt;
&lt;br /&gt;
=Afficher un rapport favori=&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Rapports'''&lt;br /&gt;
* Aller dans une des catégories de rapport&lt;br /&gt;
* Sélectionner un rapport à visualiser&lt;br /&gt;
* Compléter le formulaire qui s'affiche&lt;br /&gt;
* Appuyer sur le bouton &amp;quot;Visualiser&amp;quot;&lt;br /&gt;
* Le contenu du rapport va s'afficher dans un nouvel onglet&lt;br /&gt;
&lt;br /&gt;
=[[Documentation administrateur#Reporting/Export|Configuration de la mise en forme des rapports]]=&lt;br /&gt;
&lt;br /&gt;
=Ajouter un champ dans le formulaire des rapports=&lt;br /&gt;
Pour permettre de rajouter un paramètre pris en compte lors de la génération d'un rapport, il peut être nécessaire de rajouter un champ de saisi pour l'utilisateur lors d'une demande de rapport. Pour ce faire il faut effectuer les opérations suivantes :&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Dans le champ vide de la colonne '''Nom''', saisir le nom de la variable sans espace et sans caractère particulier&lt;br /&gt;
**Dans le champ '''Intitulé''', saisir le nom en clair qui apparaitra dans le formulaire de saisie des rapports&lt;br /&gt;
**Dans le champ '''Type de valeur''', choisir le type en fonction du champ&lt;br /&gt;
**Cocher ou non la case à cocher '''Remplissage obligatoire''' pour indiquer que le champ doit être systématiquement saisi lorsqu'il est mentionné dans la requête SQL&lt;br /&gt;
**Dans le champ '''Valeur d'affichage maximum''', si la saisie est possible, mettre la valeur maximum ou la valeur -1 s'il n'y a pas de valeur maximum&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
'''Attention :''' cette étape doit être effectuée avant d'[[#Ajouter_un_rapport|ajouter un requête SQL pour un rapport]] qui fait référence au nouveau champ.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport=&lt;br /&gt;
Lorsqu'un rapport n'est pas présent sur une plateforme, il est possible de le rajouter manuellement ou de demander à l'équipe OpenFlyers de le rajouter après [[Modèle-commercial-et-compte-client-OpenFlyers#Bonus-assistance/développement|demande d'intervention]]. Voici la procédure pour rajouter soi-même un rapport :&lt;br /&gt;
*Trouver le rapport à insérer dans la [[OF_doc-en:Export-generator-3|bibliothèque des rapports]].&lt;br /&gt;
*Dans le cas où le rapport contient en préambule un ou plusieurs champs qui doivent être définies (''Variable $X should be defined first and should be of Y value type''), il faut [[#Lister-les-champs|vérifier si ce champ est déjà créé]]. S'il n'est pas déjà présent, il faut au préalable [[#Ajouter-un-champ-dans-le-formulaire-des-rapports|créer ce champ]].&lt;br /&gt;
*Côté admin, '''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier'''&lt;br /&gt;
*Tout en bas du tableau, cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Dans le champ '''Intitulé''', saisir un texte libre permettant de décrire l'objet du rapport&lt;br /&gt;
*Dans le champ '''Requête SQL''', saisir une requête SQL permettant de générer le rapport&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport en favori=&lt;br /&gt;
&lt;br /&gt;
* Côté admin, '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
* Colonne &amp;quot;Favori&amp;quot;&lt;br /&gt;
* Cocher les rapports à mettre en favori&lt;br /&gt;
&lt;br /&gt;
=Configurer les rapports visibles pour les utilisateurs=&lt;br /&gt;
Pour rendre tous les rapports visibles à un profil d'utilisateurs, cela se paramètre en attribuant le droit [[Gestion des profils#Généralités-Admin|Voir tous les rapports]] au profil souhaité. Les rapports seront alors visible côté admin.&lt;br /&gt;
&lt;br /&gt;
Pour rendre uniquement certains rapports visibles à certains profils d'utilisateurs, il faut disposer du droit [[Gestion des profils#Généralités-Admin|Gestion des rapports]] et effectuer les actions suivantes :&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier''' ou '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
*Sélectionner la check-box correspondant à l'intersection de la colonne du profil pour lequel le rapport doit être visible avec la ligne du rapport concerné&lt;br /&gt;
Les rapports rendus visibles pour les profils considérés sont consultables côté cahier dans le menu '''Données &amp;gt; Rapports'''.&lt;br /&gt;
&lt;br /&gt;
=Lister les champs=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
==[[Bibliothèque des rapports]]==&lt;br /&gt;
[[OF_doc-en:Export-generator-3|Rapports originaux en anglais]].&lt;br /&gt;
&lt;br /&gt;
==Tentatives de paiement par carte bancaire en ligne==&lt;br /&gt;
Ce rapport permet d'avoir la liste des tentatives de paiement entre 2 dates.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Accounting-reports-3#online-payment-attempts-list|online payment attempts list]]&lt;br /&gt;
&lt;br /&gt;
==Total des heures de vol par pilote==&lt;br /&gt;
Ce rapport mis par défaut lors du paramétrage d'une plateforme aéronautique permet d'avoir le total des heures de vol par pilote dans l'année.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Reports-3#Flight-hours-total-per-pilot|Flight hours total per pilot]]&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs dont une validité X expire l'année Y==&lt;br /&gt;
''Ce rapport n'est pas mis par défaut lors du paramétrage d'une plateforme. Il doit donc être [[#Ajouter_un_rapport|ajouté]].''&lt;br /&gt;
&lt;br /&gt;
Ce rapport permet d'avoir la liste des utilisateurs dont une validité X indiquée dans le champ '''Type de validité''' expire l'année Y indiquée dans le champ '''Année'''.&lt;br /&gt;
&lt;br /&gt;
Il est permet d'avoir la liste des utilisateurs à jour de leur cotisation. Pour cela, il faut :&lt;br /&gt;
*Dans le champ '''Type de validité''', choisir ''Cotisation''&lt;br /&gt;
*Dans le champ '''Année''', choisir l'année en cours&lt;br /&gt;
*Sélectionner le rapport ''Liste des utilisateurs dont une validité X expire l'année Y''&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Users-reports-3#Users-with-expire-date-validity-equals-a-given-year|Users-with-expire-date-validity-equals-a-given-year]]&lt;br /&gt;
&lt;br /&gt;
=Rendre des liens cliquables=&lt;br /&gt;
&lt;br /&gt;
Par défaut, si du contenu dans les rapports produit des liens, ceux-ci ne sont pas cliquables.&lt;br /&gt;
&lt;br /&gt;
Pour que les liens le deviennent, ceux-ci doivent être sur la forme :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=lien_cliquable]Du texte[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=http://openflyers.com]Site OpenFlyers[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Statistiques aeral=&lt;br /&gt;
La procédure suivante a été réalisée pour les demandes de statistiques aeral de l'année 2013. Elle est valable pour les années suivantes sauf si les statistiques aeral sont modifiées. Dans ce cas, nous vous invitons à contacter l'équipe OpenFlyers pour signaler les modifications.&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité==&lt;br /&gt;
[[File:Rapport_AERAL_adherent.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Export-generator-3#Number-of-men,-women-over-and-under-21-years-for-profile-X,-validity-Y-up-to-date-for-year-Z|Nombre d'hommes, femmes plus et moins de 21 ans pour le profil X, la validité Y à jour pour l'année Z]].&lt;br /&gt;
&lt;br /&gt;
Il faut sélectionner la validité ''Cotisation'', l'année passée et le profil à visualiser s'il faut restreindre les personnes à compter à un profil donné. Sinon, il faut laisser le profil vide.&lt;br /&gt;
&lt;br /&gt;
==Brevets, qualifications ou licences==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_validite.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Reports-3#Validities-in-the-year-:-Total-of-youngs/adults-with-specific-profile|Validité de l'année : Nombre de personne de plus et moins de 21 ans pour le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol en instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_hors_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol hors instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Toutes activités dont mouvements==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_activite_mouvement.png]]&lt;br /&gt;
&lt;br /&gt;
Le nombre de mouvements s'obtient avec le rapport [[OF_doc-en::Reports-3#Number-of-movements-on-based-airfield-on-specific-profile|Nombre de mouvements sur l'aérodrome basé sur le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15107</id>
		<title>Gestion des rapports</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15107"/>
				<updated>2017-01-19T14:35:02Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Adhérents par activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
A chaque fois qu'OpenFlyers développe un nouveau rapport à la demande d'un client, l'équipe rajoute ce rapport dans la [[OF_doc-en:Export-generator-3|liste des rapports]]. Nous invitons également les clients ayant développé leurs propres rapports à les rajouter dans cette liste.&lt;br /&gt;
&lt;br /&gt;
Seuls les rapports présents dans cette liste bénéficient de nos mises à jour lors de changement de version.&lt;br /&gt;
&lt;br /&gt;
=Afficher un rapport favori=&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Rapports'''&lt;br /&gt;
* Aller dans une des catégories de rapport&lt;br /&gt;
* Sélectionner un rapport à visualiser&lt;br /&gt;
* Compléter le formulaire qui s'affiche&lt;br /&gt;
* Appuyer sur le bouton &amp;quot;Visualiser&amp;quot;&lt;br /&gt;
* Le contenu du rapport va s'afficher dans un nouvel onglet&lt;br /&gt;
&lt;br /&gt;
=[[Documentation administrateur#Reporting/Export|Configuration de la mise en forme des rapports]]=&lt;br /&gt;
&lt;br /&gt;
=Ajouter un champ dans le formulaire des rapports=&lt;br /&gt;
Pour permettre de rajouter un paramètre pris en compte lors de la génération d'un rapport, il peut être nécessaire de rajouter un champ de saisi pour l'utilisateur lors d'une demande de rapport. Pour ce faire il faut effectuer les opérations suivantes :&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Dans le champ vide de la colonne '''Nom''', saisir le nom de la variable sans espace et sans caractère particulier&lt;br /&gt;
**Dans le champ '''Intitulé''', saisir le nom en clair qui apparaitra dans le formulaire de saisie des rapports&lt;br /&gt;
**Dans le champ '''Type de valeur''', choisir le type en fonction du champ&lt;br /&gt;
**Cocher ou non la case à cocher '''Remplissage obligatoire''' pour indiquer que le champ doit être systématiquement saisi lorsqu'il est mentionné dans la requête SQL&lt;br /&gt;
**Dans le champ '''Valeur d'affichage maximum''', si la saisie est possible, mettre la valeur maximum ou la valeur -1 s'il n'y a pas de valeur maximum&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
'''Attention :''' cette étape doit être effectuée avant d'[[#Ajouter_un_rapport|ajouter un requête SQL pour un rapport]] qui fait référence au nouveau champ.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport=&lt;br /&gt;
Lorsqu'un rapport n'est pas présent sur une plateforme, il est possible de le rajouter manuellement ou de demander à l'équipe OpenFlyers de le rajouter après [[Modèle-commercial-et-compte-client-OpenFlyers#Bonus-assistance/développement|demande d'intervention]]. Voici la procédure pour rajouter soi-même un rapport :&lt;br /&gt;
*Trouver le rapport à insérer dans la [[OF_doc-en:Export-generator-3|bibliothèque des rapports]].&lt;br /&gt;
*Dans le cas où le rapport contient en préambule un ou plusieurs champs qui doivent être définies (''Variable $X should be defined first and should be of Y value type''), il faut [[#Lister-les-champs|vérifier si ce champ est déjà créé]]. S'il n'est pas déjà présent, il faut au préalable [[#Ajouter-un-champ-dans-le-formulaire-des-rapports|créer ce champ]].&lt;br /&gt;
*Côté admin, '''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier'''&lt;br /&gt;
*Tout en bas du tableau, cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Dans le champ '''Intitulé''', saisir un texte libre permettant de décrire l'objet du rapport&lt;br /&gt;
*Dans le champ '''Requête SQL''', saisir une requête SQL permettant de générer le rapport&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport en favori=&lt;br /&gt;
&lt;br /&gt;
* Côté admin, '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
* Colonne &amp;quot;Favori&amp;quot;&lt;br /&gt;
* Cocher les rapports à mettre en favori&lt;br /&gt;
&lt;br /&gt;
=Configurer les rapports visibles pour les utilisateurs=&lt;br /&gt;
Pour rendre tous les rapports visibles à un profil d'utilisateurs, cela se paramètre en attribuant le droit [[Gestion des profils#Généralités-Admin|Voir tous les rapports]] au profil souhaité. Les rapports seront alors visible côté admin.&lt;br /&gt;
&lt;br /&gt;
Pour rendre uniquement certains rapports visibles à certains profils d'utilisateurs, il faut disposer du droit [[Gestion des profils#Généralités-Admin|Gestion des rapports]] et effectuer les actions suivantes :&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier''' ou '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
*Sélectionner la check-box correspondant à l'intersection de la colonne du profil pour lequel le rapport doit être visible avec la ligne du rapport concerné&lt;br /&gt;
Les rapports rendus visibles pour les profils considérés sont consultables côté cahier dans le menu '''Données &amp;gt; Rapports'''.&lt;br /&gt;
&lt;br /&gt;
=Lister les champs=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
==[[Bibliothèque des rapports]]==&lt;br /&gt;
[[OF_doc-en:Export-generator-3|Rapports originaux en anglais]].&lt;br /&gt;
&lt;br /&gt;
==Tentatives de paiement par carte bancaire en ligne==&lt;br /&gt;
Ce rapport permet d'avoir la liste des tentatives de paiement entre 2 dates.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Accounting-reports-3#online-payment-attempts-list|online payment attempts list]]&lt;br /&gt;
&lt;br /&gt;
==Total des heures de vol par pilote==&lt;br /&gt;
Ce rapport mis par défaut lors du paramétrage d'une plateforme aéronautique permet d'avoir le total des heures de vol par pilote dans l'année.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Reports-3#Flight-hours-total-per-pilot|Flight hours total per pilot]]&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs dont une validité X expire l'année Y==&lt;br /&gt;
''Ce rapport n'est pas mis par défaut lors du paramétrage d'une plateforme. Il doit donc être [[#Ajouter_un_rapport|ajouté]].''&lt;br /&gt;
&lt;br /&gt;
Ce rapport permet d'avoir la liste des utilisateurs dont une validité X indiquée dans le champ '''Type de validité''' expire l'année Y indiquée dans le champ '''Année'''.&lt;br /&gt;
&lt;br /&gt;
Il est permet d'avoir la liste des utilisateurs à jour de leur cotisation. Pour cela, il faut :&lt;br /&gt;
*Dans le champ '''Type de validité''', choisir ''Cotisation''&lt;br /&gt;
*Dans le champ '''Année''', choisir l'année en cours&lt;br /&gt;
*Sélectionner le rapport ''Liste des utilisateurs dont une validité X expire l'année Y''&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Users-reports-3#Users-with-expire-date-validity-equals-a-given-year|Users-with-expire-date-validity-equals-a-given-year]]&lt;br /&gt;
&lt;br /&gt;
=Rendre des liens cliquables=&lt;br /&gt;
&lt;br /&gt;
Par défaut, si du contenu dans les rapports produit des liens, ceux-ci ne sont pas cliquables.&lt;br /&gt;
&lt;br /&gt;
Pour que les liens le deviennent, ceux-ci doivent être sur la forme :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=lien_cliquable]Du texte[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=http://openflyers.com]Site OpenFlyers[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Statistiques aeral=&lt;br /&gt;
La procédure suivante a été réalisée pour les demandes de statistiques aeral de l'année 2013. Elle est valable pour les années suivantes sauf si les statistiques aeral sont modifiées. Dans ce cas, nous vous invitons à contacter l'équipe OpenFlyers pour signaler les modifications.&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité==&lt;br /&gt;
[[File:Rapport_AERAL_adherent.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Export-generator-3#Users-with-specific-profile:-male,-female,-less-than-21-years-and-more-than-21-years,-profile-X,-validity-Y-up-to-date-for-year-Z|Nombre d'hommes, femmes plus et moins de 21 ans pour le profil X, la validité Y à jour pour l'année Z]].&lt;br /&gt;
&lt;br /&gt;
Il faut sélectionner la validité ''Cotisation'', l'année passée et le profil à visualiser s'il faut restreindre les personnes à compter à un profil donné. Sinon, il faut laisser le profil vide.&lt;br /&gt;
&lt;br /&gt;
==Brevets, qualifications ou licences==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_validite.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Reports-3#Validities-in-the-year-:-Total-of-youngs/adults-with-specific-profile|Validité de l'année : Nombre de personne de plus et moins de 21 ans pour le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol en instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_hors_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol hors instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Toutes activités dont mouvements==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_activite_mouvement.png]]&lt;br /&gt;
&lt;br /&gt;
Le nombre de mouvements s'obtient avec le rapport [[OF_doc-en::Reports-3#Number-of-movements-on-based-airfield-on-specific-profile|Nombre de mouvements sur l'aérodrome basé sur le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15106</id>
		<title>Gestion des rapports</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15106"/>
				<updated>2017-01-19T14:30:23Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Adhérents par activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
A chaque fois qu'OpenFlyers développe un nouveau rapport à la demande d'un client, l'équipe rajoute ce rapport dans la [[OF_doc-en:Export-generator-3|liste des rapports]]. Nous invitons également les clients ayant développé leurs propres rapports à les rajouter dans cette liste.&lt;br /&gt;
&lt;br /&gt;
Seuls les rapports présents dans cette liste bénéficient de nos mises à jour lors de changement de version.&lt;br /&gt;
&lt;br /&gt;
=Afficher un rapport favori=&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Rapports'''&lt;br /&gt;
* Aller dans une des catégories de rapport&lt;br /&gt;
* Sélectionner un rapport à visualiser&lt;br /&gt;
* Compléter le formulaire qui s'affiche&lt;br /&gt;
* Appuyer sur le bouton &amp;quot;Visualiser&amp;quot;&lt;br /&gt;
* Le contenu du rapport va s'afficher dans un nouvel onglet&lt;br /&gt;
&lt;br /&gt;
=[[Documentation administrateur#Reporting/Export|Configuration de la mise en forme des rapports]]=&lt;br /&gt;
&lt;br /&gt;
=Ajouter un champ dans le formulaire des rapports=&lt;br /&gt;
Pour permettre de rajouter un paramètre pris en compte lors de la génération d'un rapport, il peut être nécessaire de rajouter un champ de saisi pour l'utilisateur lors d'une demande de rapport. Pour ce faire il faut effectuer les opérations suivantes :&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Dans le champ vide de la colonne '''Nom''', saisir le nom de la variable sans espace et sans caractère particulier&lt;br /&gt;
**Dans le champ '''Intitulé''', saisir le nom en clair qui apparaitra dans le formulaire de saisie des rapports&lt;br /&gt;
**Dans le champ '''Type de valeur''', choisir le type en fonction du champ&lt;br /&gt;
**Cocher ou non la case à cocher '''Remplissage obligatoire''' pour indiquer que le champ doit être systématiquement saisi lorsqu'il est mentionné dans la requête SQL&lt;br /&gt;
**Dans le champ '''Valeur d'affichage maximum''', si la saisie est possible, mettre la valeur maximum ou la valeur -1 s'il n'y a pas de valeur maximum&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
'''Attention :''' cette étape doit être effectuée avant d'[[#Ajouter_un_rapport|ajouter un requête SQL pour un rapport]] qui fait référence au nouveau champ.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport=&lt;br /&gt;
Lorsqu'un rapport n'est pas présent sur une plateforme, il est possible de le rajouter manuellement ou de demander à l'équipe OpenFlyers de le rajouter après [[Modèle-commercial-et-compte-client-OpenFlyers#Bonus-assistance/développement|demande d'intervention]]. Voici la procédure pour rajouter soi-même un rapport :&lt;br /&gt;
*Trouver le rapport à insérer dans la [[OF_doc-en:Export-generator-3|bibliothèque des rapports]].&lt;br /&gt;
*Dans le cas où le rapport contient en préambule un ou plusieurs champs qui doivent être définies (''Variable $X should be defined first and should be of Y value type''), il faut [[#Lister-les-champs|vérifier si ce champ est déjà créé]]. S'il n'est pas déjà présent, il faut au préalable [[#Ajouter-un-champ-dans-le-formulaire-des-rapports|créer ce champ]].&lt;br /&gt;
*Côté admin, '''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier'''&lt;br /&gt;
*Tout en bas du tableau, cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Dans le champ '''Intitulé''', saisir un texte libre permettant de décrire l'objet du rapport&lt;br /&gt;
*Dans le champ '''Requête SQL''', saisir une requête SQL permettant de générer le rapport&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport en favori=&lt;br /&gt;
&lt;br /&gt;
* Côté admin, '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
* Colonne &amp;quot;Favori&amp;quot;&lt;br /&gt;
* Cocher les rapports à mettre en favori&lt;br /&gt;
&lt;br /&gt;
=Configurer les rapports visibles pour les utilisateurs=&lt;br /&gt;
Pour rendre tous les rapports visibles à un profil d'utilisateurs, cela se paramètre en attribuant le droit [[Gestion des profils#Généralités-Admin|Voir tous les rapports]] au profil souhaité. Les rapports seront alors visible côté admin.&lt;br /&gt;
&lt;br /&gt;
Pour rendre uniquement certains rapports visibles à certains profils d'utilisateurs, il faut disposer du droit [[Gestion des profils#Généralités-Admin|Gestion des rapports]] et effectuer les actions suivantes :&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier''' ou '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
*Sélectionner la check-box correspondant à l'intersection de la colonne du profil pour lequel le rapport doit être visible avec la ligne du rapport concerné&lt;br /&gt;
Les rapports rendus visibles pour les profils considérés sont consultables côté cahier dans le menu '''Données &amp;gt; Rapports'''.&lt;br /&gt;
&lt;br /&gt;
=Lister les champs=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
==[[Bibliothèque des rapports]]==&lt;br /&gt;
[[OF_doc-en:Export-generator-3|Rapports originaux en anglais]].&lt;br /&gt;
&lt;br /&gt;
==Tentatives de paiement par carte bancaire en ligne==&lt;br /&gt;
Ce rapport permet d'avoir la liste des tentatives de paiement entre 2 dates.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Accounting-reports-3#online-payment-attempts-list|online payment attempts list]]&lt;br /&gt;
&lt;br /&gt;
==Total des heures de vol par pilote==&lt;br /&gt;
Ce rapport mis par défaut lors du paramétrage d'une plateforme aéronautique permet d'avoir le total des heures de vol par pilote dans l'année.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Reports-3#Flight-hours-total-per-pilot|Flight hours total per pilot]]&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs dont une validité X expire l'année Y==&lt;br /&gt;
''Ce rapport n'est pas mis par défaut lors du paramétrage d'une plateforme. Il doit donc être [[#Ajouter_un_rapport|ajouté]].''&lt;br /&gt;
&lt;br /&gt;
Ce rapport permet d'avoir la liste des utilisateurs dont une validité X indiquée dans le champ '''Type de validité''' expire l'année Y indiquée dans le champ '''Année'''.&lt;br /&gt;
&lt;br /&gt;
Il est permet d'avoir la liste des utilisateurs à jour de leur cotisation. Pour cela, il faut :&lt;br /&gt;
*Dans le champ '''Type de validité''', choisir ''Cotisation''&lt;br /&gt;
*Dans le champ '''Année''', choisir l'année en cours&lt;br /&gt;
*Sélectionner le rapport ''Liste des utilisateurs dont une validité X expire l'année Y''&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Users-reports-3#Users-with-expire-date-validity-equals-a-given-year|Users-with-expire-date-validity-equals-a-given-year]]&lt;br /&gt;
&lt;br /&gt;
=Rendre des liens cliquables=&lt;br /&gt;
&lt;br /&gt;
Par défaut, si du contenu dans les rapports produit des liens, ceux-ci ne sont pas cliquables.&lt;br /&gt;
&lt;br /&gt;
Pour que les liens le deviennent, ceux-ci doivent être sur la forme :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=lien_cliquable]Du texte[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=http://openflyers.com]Site OpenFlyers[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Statistiques aeral=&lt;br /&gt;
La procédure suivante a été réalisée pour les demandes de statistiques aeral de l'année 2013. Elle est valable pour les années suivantes sauf si les statistiques aeral sont modifiées. Dans ce cas, nous vous invitons à contacter l'équipe OpenFlyers pour signaler les modifications.&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité==&lt;br /&gt;
&lt;br /&gt;
[[File:Rapport_AERAL_adherent.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Reports-3#Users-with-specific-profile:-male,-female,-less-than-21-years-and-more-than-21-years|Nombre d'hommes, femmes plus et moins de 21 ans pour le profil X, la validité Y à jour pour l'année Z]].&lt;br /&gt;
&lt;br /&gt;
Il faut sélectionner la validité ''Cotisation'', l'année passée et le profil à visualiser s'il faut restreindre les personnes à compter à un profil donné. Sinon, il faut laisser le profil vide.&lt;br /&gt;
&lt;br /&gt;
==Brevets, qualifications ou licences==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_validite.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Reports-3#Validities-in-the-year-:-Total-of-youngs/adults-with-specific-profile|Validité de l'année : Nombre de personne de plus et moins de 21 ans pour le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol en instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_hors_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol hors instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Toutes activités dont mouvements==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_activite_mouvement.png]]&lt;br /&gt;
&lt;br /&gt;
Le nombre de mouvements s'obtient avec le rapport [[OF_doc-en::Reports-3#Number-of-movements-on-based-airfield-on-specific-profile|Nombre de mouvements sur l'aérodrome basé sur le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15105</id>
		<title>Gestion des rapports</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-rapports&amp;diff=15105"/>
				<updated>2017-01-19T14:29:51Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Adhérents par activité */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
A chaque fois qu'OpenFlyers développe un nouveau rapport à la demande d'un client, l'équipe rajoute ce rapport dans la [[OF_doc-en:Export-generator-3|liste des rapports]]. Nous invitons également les clients ayant développé leurs propres rapports à les rajouter dans cette liste.&lt;br /&gt;
&lt;br /&gt;
Seuls les rapports présents dans cette liste bénéficient de nos mises à jour lors de changement de version.&lt;br /&gt;
&lt;br /&gt;
=Afficher un rapport favori=&lt;br /&gt;
&lt;br /&gt;
* Aller dans '''Rapports'''&lt;br /&gt;
* Aller dans une des catégories de rapport&lt;br /&gt;
* Sélectionner un rapport à visualiser&lt;br /&gt;
* Compléter le formulaire qui s'affiche&lt;br /&gt;
* Appuyer sur le bouton &amp;quot;Visualiser&amp;quot;&lt;br /&gt;
* Le contenu du rapport va s'afficher dans un nouvel onglet&lt;br /&gt;
&lt;br /&gt;
=[[Documentation administrateur#Reporting/Export|Configuration de la mise en forme des rapports]]=&lt;br /&gt;
&lt;br /&gt;
=Ajouter un champ dans le formulaire des rapports=&lt;br /&gt;
Pour permettre de rajouter un paramètre pris en compte lors de la génération d'un rapport, il peut être nécessaire de rajouter un champ de saisi pour l'utilisateur lors d'une demande de rapport. Pour ce faire il faut effectuer les opérations suivantes :&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
*En bas du tableau :&lt;br /&gt;
**Dans le champ vide de la colonne '''Nom''', saisir le nom de la variable sans espace et sans caractère particulier&lt;br /&gt;
**Dans le champ '''Intitulé''', saisir le nom en clair qui apparaitra dans le formulaire de saisie des rapports&lt;br /&gt;
**Dans le champ '''Type de valeur''', choisir le type en fonction du champ&lt;br /&gt;
**Cocher ou non la case à cocher '''Remplissage obligatoire''' pour indiquer que le champ doit être systématiquement saisi lorsqu'il est mentionné dans la requête SQL&lt;br /&gt;
**Dans le champ '''Valeur d'affichage maximum''', si la saisie est possible, mettre la valeur maximum ou la valeur -1 s'il n'y a pas de valeur maximum&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
'''Attention :''' cette étape doit être effectuée avant d'[[#Ajouter_un_rapport|ajouter un requête SQL pour un rapport]] qui fait référence au nouveau champ.&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport=&lt;br /&gt;
Lorsqu'un rapport n'est pas présent sur une plateforme, il est possible de le rajouter manuellement ou de demander à l'équipe OpenFlyers de le rajouter après [[Modèle-commercial-et-compte-client-OpenFlyers#Bonus-assistance/développement|demande d'intervention]]. Voici la procédure pour rajouter soi-même un rapport :&lt;br /&gt;
*Trouver le rapport à insérer dans la [[OF_doc-en:Export-generator-3|bibliothèque des rapports]].&lt;br /&gt;
*Dans le cas où le rapport contient en préambule un ou plusieurs champs qui doivent être définies (''Variable $X should be defined first and should be of Y value type''), il faut [[#Lister-les-champs|vérifier si ce champ est déjà créé]]. S'il n'est pas déjà présent, il faut au préalable [[#Ajouter-un-champ-dans-le-formulaire-des-rapports|créer ce champ]].&lt;br /&gt;
*Côté admin, '''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier'''&lt;br /&gt;
*Tout en bas du tableau, cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
*Dans le champ '''Intitulé''', saisir un texte libre permettant de décrire l'objet du rapport&lt;br /&gt;
*Dans le champ '''Requête SQL''', saisir une requête SQL permettant de générer le rapport&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Ajouter un rapport en favori=&lt;br /&gt;
&lt;br /&gt;
* Côté admin, '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
* Colonne &amp;quot;Favori&amp;quot;&lt;br /&gt;
* Cocher les rapports à mettre en favori&lt;br /&gt;
&lt;br /&gt;
=Configurer les rapports visibles pour les utilisateurs=&lt;br /&gt;
Pour rendre tous les rapports visibles à un profil d'utilisateurs, cela se paramètre en attribuant le droit [[Gestion des profils#Généralités-Admin|Voir tous les rapports]] au profil souhaité. Les rapports seront alors visible côté admin.&lt;br /&gt;
&lt;br /&gt;
Pour rendre uniquement certains rapports visibles à certains profils d'utilisateurs, il faut disposer du droit [[Gestion des profils#Généralités-Admin|Gestion des rapports]] et effectuer les actions suivantes :&lt;br /&gt;
*'''Rapports &amp;gt; Rapports personnalisés &amp;gt; Créer/Modifier''' ou '''Rapports &amp;gt; Modifier les rapports favoris'''&lt;br /&gt;
*Sélectionner la check-box correspondant à l'intersection de la colonne du profil pour lequel le rapport doit être visible avec la ligne du rapport concerné&lt;br /&gt;
Les rapports rendus visibles pour les profils considérés sont consultables côté cahier dans le menu '''Données &amp;gt; Rapports'''.&lt;br /&gt;
&lt;br /&gt;
=Lister les champs=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Rapports personnalisés &amp;gt; Champ(s) additionnel(s)'''&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
==[[Bibliothèque des rapports]]==&lt;br /&gt;
[[OF_doc-en:Export-generator-3|Rapports originaux en anglais]].&lt;br /&gt;
&lt;br /&gt;
==Tentatives de paiement par carte bancaire en ligne==&lt;br /&gt;
Ce rapport permet d'avoir la liste des tentatives de paiement entre 2 dates.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Accounting-reports-3#online-payment-attempts-list|online payment attempts list]]&lt;br /&gt;
&lt;br /&gt;
==Total des heures de vol par pilote==&lt;br /&gt;
Ce rapport mis par défaut lors du paramétrage d'une plateforme aéronautique permet d'avoir le total des heures de vol par pilote dans l'année.&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Reports-3#Flight-hours-total-per-pilot|Flight hours total per pilot]]&lt;br /&gt;
&lt;br /&gt;
==Utilisateurs dont une validité X expire l'année Y==&lt;br /&gt;
''Ce rapport n'est pas mis par défaut lors du paramétrage d'une plateforme. Il doit donc être [[#Ajouter_un_rapport|ajouté]].''&lt;br /&gt;
&lt;br /&gt;
Ce rapport permet d'avoir la liste des utilisateurs dont une validité X indiquée dans le champ '''Type de validité''' expire l'année Y indiquée dans le champ '''Année'''.&lt;br /&gt;
&lt;br /&gt;
Il est permet d'avoir la liste des utilisateurs à jour de leur cotisation. Pour cela, il faut :&lt;br /&gt;
*Dans le champ '''Type de validité''', choisir ''Cotisation''&lt;br /&gt;
*Dans le champ '''Année''', choisir l'année en cours&lt;br /&gt;
*Sélectionner le rapport ''Liste des utilisateurs dont une validité X expire l'année Y''&lt;br /&gt;
*Cliquer sur le bouton '''Visualiser'''&lt;br /&gt;
&lt;br /&gt;
Rapport : [[OF_doc-en:Users-reports-3#Users-with-expire-date-validity-equals-a-given-year|Users-with-expire-date-validity-equals-a-given-year]]&lt;br /&gt;
&lt;br /&gt;
=Rendre des liens cliquables=&lt;br /&gt;
&lt;br /&gt;
Par défaut, si du contenu dans les rapports produit des liens, ceux-ci ne sont pas cliquables.&lt;br /&gt;
&lt;br /&gt;
Pour que les liens le deviennent, ceux-ci doivent être sur la forme :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=lien_cliquable]Du texte[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Par exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;[LINK=http://openflyers.com]Site OpenFlyers[/LINK]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Statistiques aeral=&lt;br /&gt;
La procédure suivante a été réalisée pour les demandes de statistiques aeral de l'année 2013. Elle est valable pour les années suivantes sauf si les statistiques aeral sont modifiées. Dans ce cas, nous vous invitons à contacter l'équipe OpenFlyers pour signaler les modifications.&lt;br /&gt;
&lt;br /&gt;
==Adhérents par activité==&lt;br /&gt;
&lt;br /&gt;
[[File:Rapport_AERAL_adherent.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Reports-3#Users-with-specific-profile:-male,-female,-less-than-21-years-and-more-than-21-years|Nombre d'hommes, femmes plus et moins de 21 ans pour le profil X, la validité Y à jour pour l'année Z]].&lt;br /&gt;
&lt;br /&gt;
Il faut sélectionner la validité ''Cotisation'', l'année passée et le profil à visualiser s'il faut restreindre les personnes à compter à un profil donné. Sinon, il faut laisser profil vide.&lt;br /&gt;
&lt;br /&gt;
==Brevets, qualifications ou licences==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_validite.png]]&lt;br /&gt;
&lt;br /&gt;
Le tableau se remplit à l'aide du rapport [[OF_doc-en::Reports-3#Validities-in-the-year-:-Total-of-youngs/adults-with-specific-profile|Validité de l'année : Nombre de personne de plus et moins de 21 ans pour le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;br /&gt;
&lt;br /&gt;
==Activité en instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol en instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Activité hors instruction==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_hdv_hors_instruction.png]]&lt;br /&gt;
&lt;br /&gt;
Pour remplir ces deux formulaires, utiliser :&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flight-type-:-Flight-hours-total-on-instruction-with-specific-profile|Heures de vol hors instruction sur le profil et type de vol sélectionnés]] où il faut sélectionner l'année, le profil à visualiser ou laisser ce champ vide pour avoir tous les utilisateurs, le type de vol à visualiser ou laisser ce champ pour avoir tous les types de vols.&lt;br /&gt;
*Le rapport [[OF_doc-en::Reports-3#Flights-hours-:-less-than-21-years,-more-than-21-years,-male,-female,-for-a-given-profile|Heures de vols solo/instruction par homme/femme, plus/moins de 21 ans pour un profil donné]] où il faut sélectionner l'année et le profil à visualiser ou laisser le champ profil vide pour avoir tous les utilisateurs.&lt;br /&gt;
&lt;br /&gt;
==Toutes activités dont mouvements==&lt;br /&gt;
&lt;br /&gt;
[[FILE:Rapport_AERAL_activite_mouvement.png]]&lt;br /&gt;
&lt;br /&gt;
Le nombre de mouvements s'obtient avec le rapport [[OF_doc-en::Reports-3#Number-of-movements-on-based-airfield-on-specific-profile|Nombre de mouvements sur l'aérodrome basé sur le profil sélectionné]] où il faut sélectionner l'année et le profil à visualiser.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15104</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15104"/>
				<updated>2017-01-19T13:34:36Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Documentation Administrateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[OF_doc4-fr:Présentation d'OpenFlyers 4|Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15103</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15103"/>
				<updated>2017-01-18T16:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[OF_doc4-fr:Présentation d'OpenFlyers 4|Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15102</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15102"/>
				<updated>2017-01-18T16:27:25Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[OF_doc4-fr:Présentation d'OpenFlyers 4|Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15101</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15101"/>
				<updated>2017-01-18T16:27:05Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[OF_doc4-fr:Présentation d'OpenFlyers 4|Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15100</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15100"/>
				<updated>2017-01-18T16:26:53Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[OF_doc4-fr:Présentation d'OpenFlyers 4|Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15099</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15099"/>
				<updated>2017-01-18T16:26:33Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;float: right&amp;quot; &amp;gt;[[Présentation d'OpenFlyers 4]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15098</id>
		<title>Accueil</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Accueil&amp;diff=15098"/>
				<updated>2017-01-18T16:23:20Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:2013-OF4-launch.gif|right|link=OF_doc4-fr:Présentation d'OpenFlyers 4]]&lt;br /&gt;
&lt;br /&gt;
Bienvenue sur la [[Toutes les documentations|documentation]] d''''OpenFlyers version 3'''.&lt;br /&gt;
&lt;br /&gt;
You can also access to our [[OF_doc-en:Main-Page3|english documentation]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
OpenFlyers :&lt;br /&gt;
*[[Introduction|La suite logicielle OpenFlyers]]&lt;br /&gt;
*[[Technologies de géolocalisation aéronautique|Les technologies de géolocalisation pour l'aéronautique]]&lt;br /&gt;
*[[Modèle-commercial-et-compte-client-OpenFlyers|Modèle commercial et compte client OpenFlyers]]&lt;br /&gt;
*[[Découvrir OpenFlyers|Découvrir le logiciel OpenFlyers]]&lt;br /&gt;
*[[Bien communiquer avec OpenFlyers|Bien communiquer avec OpenFlyers]]&lt;br /&gt;
*[[Formations OpenFlyers|Formations OpenFlyers]]&lt;br /&gt;
*[[Historique des versions|Historique des versions]]&lt;br /&gt;
&lt;br /&gt;
Installation :&lt;br /&gt;
*[[Créer une plateforme OpenFlyers pour sa structure|Créer une plateforme OpenFlyers pour sa structure]]&lt;br /&gt;
*[[Bien débuter avec OpenFlyers|Bien débuter avec OpenFlyers (et mise en place d'un TPE)]]&lt;br /&gt;
*[[Compatibilité des navigateurs|Compatibilité des navigateurs]]&lt;br /&gt;
&lt;br /&gt;
[[Rapporter un bug]]&lt;br /&gt;
&lt;br /&gt;
[[Trucs et astuces]] :&lt;br /&gt;
*[[Kiosque PC|Mettre en place un PC kiosque]]&lt;br /&gt;
*[[Réseau Internet hybride|Mettre en place un réseau internet hybride]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Administrateurs=&lt;br /&gt;
[[Documentation administrateur|Documentation administrateur]]&lt;br /&gt;
&lt;br /&gt;
[[Paramétrage|Paramétrage]]&lt;br /&gt;
&lt;br /&gt;
[[Module pour importation|Module d'import]]&lt;br /&gt;
&lt;br /&gt;
[[Liste de diffusion|Gérer une liste de diffusion sur OpenFlyers]]&lt;br /&gt;
&lt;br /&gt;
[[Champs additionnels|Champs additionnels]]&lt;br /&gt;
&lt;br /&gt;
[[Formules de calcul|Formules de calcul]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes administrateur|Alertes administrateur]]&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
Comptabilité :&lt;br /&gt;
*[[Comptabilité|Généralités sur la comptabilité]]&lt;br /&gt;
*[[Compte de résultats]]&lt;br /&gt;
*[[Conseils spécifiques pour la comptabilité|Conseils spécifiques]]&lt;br /&gt;
*[[Import dans un logiciel comptable tiers|Import dans un logiciel comptable tiers]]&lt;br /&gt;
*[[Écritures comptables|Les écritures comptables]]&lt;br /&gt;
*[[Gestion des écritures comptables|Gestion des écritures comptables]]&lt;br /&gt;
&lt;br /&gt;
*[[Configuration de la comptabilité|Configuration de la comptabilité]]&lt;br /&gt;
*[[Utilisation de la comptabilité|Utilisation de la comptabilité]]&lt;br /&gt;
*[[Gestion des budgets|Gestion des budgets]]&lt;br /&gt;
*[[OF_doc-en::Accounting-export-template-list|Template de format d'export comptable]]&lt;br /&gt;
*[[Modèle de facture ODT|Template ODT pour les factures]]&lt;br /&gt;
&lt;br /&gt;
[[Contrôle des accès|Contrôle des accès]] :&lt;br /&gt;
*[[Installation armoire à clés|Installation armoire à clés]]&lt;br /&gt;
*[[Gestion armoire à clés|Gestion de l'armoire à clés]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ armoire à clés]]&lt;br /&gt;
&lt;br /&gt;
Facturation client :&lt;br /&gt;
*[[Facturation des clients|Généralités sur la facturation des clients]]&lt;br /&gt;
*[[Facturation des heures de vol|Facturation des heures de vols]]&lt;br /&gt;
*[[Gestion des produits et des ventes|Gestionnaire des produits et des ventes]]&lt;br /&gt;
&lt;br /&gt;
Facturation fournisseur :&lt;br /&gt;
*[[Gestion des achats|Gestion des achats]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des logs|Logs]]&lt;br /&gt;
&lt;br /&gt;
Maintenance :&lt;br /&gt;
*[[Maintenance aéronautique|Maintenance aéronautique]]&lt;br /&gt;
*[[Suivi de maintenance|Suivi de maintenance]]&lt;br /&gt;
*[[Suivi des remarques de maintenance|Suivi des remarques de maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des rapports|Rapports]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ressources|Ressources]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des stocks|Stocks]]&lt;br /&gt;
&lt;br /&gt;
[[Tableurs]] :&lt;br /&gt;
*[[Suivi-de-maintenance#Tableur-de-suivi-de-navigabilité|Suivi de navigabilité]]&lt;br /&gt;
&lt;br /&gt;
Utilisateurs :&lt;br /&gt;
*[[Gestion des utilisateurs|Gestion des utilisateurs]]&lt;br /&gt;
*[[Gestion des profils|Gestion des profils]]&lt;br /&gt;
*[[Gestion des validités|Gestion des validités]]&lt;br /&gt;
*[[Mailing]]&lt;br /&gt;
*[[Suivi des emails]]&lt;br /&gt;
&lt;br /&gt;
Documentation Webmasters et Développeurs :&lt;br /&gt;
*[[Interfaçage OpenFlyers et armoire à clé]]&lt;br /&gt;
*[[Contrôle d'identification par OpenFlyers pour un logiciel tiers]]&lt;br /&gt;
*[[Récupération des vols par un logiciel tiers]]&lt;br /&gt;
&lt;br /&gt;
=Documentation Utilisateurs=&lt;br /&gt;
[[Documentation utilisateur|Documentation utilisateur]]&lt;br /&gt;
&lt;br /&gt;
Alertes :&lt;br /&gt;
*[[Alertes de configuration|Alertes de configuration]]&lt;br /&gt;
*[[Alertes utilisateur|Alertes d'utilisation]]&lt;br /&gt;
&lt;br /&gt;
[[Gestion des ventes côté utilisateur|Ventes]]&lt;br /&gt;
&lt;br /&gt;
=FAQ=&lt;br /&gt;
*[[FAQ client|FAQ clients]]&lt;br /&gt;
*[[FAQ administrateur|FAQ administrateur]]&lt;br /&gt;
*[[FAQ utilisateur|FAQ utilisateur]]&lt;br /&gt;
*[[FAQ comptabilité|FAQ comptabilité]]&lt;br /&gt;
*[[FAQ export]]&lt;br /&gt;
*[[FAQ AeroBox]]&lt;br /&gt;
*[[FAQ armoire à clés|FAQ Armoire à clés]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=15097</id>
		<title>Gestion des ressources</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-ressources&amp;diff=15097"/>
				<updated>2017-01-18T08:46:40Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Ajouter un type de ressource */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la gestion des ressources pour la version 3 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;
* Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Types de ressources &amp;gt; Actifs''' puis cliquer sur le bouton '''Ajouter un type de ressource'''&lt;br /&gt;
* Saisir les champs du formulaire :&lt;br /&gt;
**'''Tolérance''' : correspond à l'écart toléré entre le compteur arrivé du vol précédent et le compteur départ du vol actuel. Au delà de l'écart une alerte non bloquante prévient de l'écart.&lt;br /&gt;
**'''Formule d'ajustement du temps de vol''' voir les [[Formules de calcul#Temps_d'activité|formules de calcul de temps d'activité]])&lt;br /&gt;
**'''Autonomie du type de ressource''', 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;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
*[[#Places|Configurer les places]] pour le type de ressource&lt;br /&gt;
*[[#Statuts|Configurer les statuts]] pour le type de ressource&lt;br /&gt;
* Aller sur la page '''Admin &amp;gt; Utilisateurs &amp;gt; [[Gestion des profils#Page_Profils_Plus|Profils plus]]''' et :&lt;br /&gt;
** dans la colonne '''Attribution de places''', y affecter les places précédemment configurées aux profils souhaités&lt;br /&gt;
** dans la colonne '''Type de ressource visible''', ajouter le type de ressource aux profils souhaités&lt;br /&gt;
*Il faut penser à mettre à jour les [[Gestion-des-validités#Formule-d'expérience|formules d'expériences]] des types de validités qui prennent en compte les types de ressources.&lt;br /&gt;
*Dans le cas où la tarification des heures de vols est en place, il faut également rajouter la ou les règles de tarification nécessaires à la tarification de cette ressource ainsi que les tarifs associés. Il ne faut pas oublier de &amp;quot;remonter&amp;quot; la règle de tarification juste en-dessous des règles de tarification propres aux aéronefs afin de respecter la [[Facturation-des-clients#Cascade-d'écritures-comptables|tarification en cascade]].&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 (liste non exhaustive) :&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 (liste non exhaustive) :&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;
* 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;
==Places==&lt;br /&gt;
Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Types de ressources &amp;gt; Places'''.&lt;br /&gt;
&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;
&lt;br /&gt;
Exemple pour le type de ressource Robin DR400 :&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Type de ressource!!N° de siège!!Intitulé&lt;br /&gt;
|-&lt;br /&gt;
|DR400||0||Pilote&lt;br /&gt;
|-&lt;br /&gt;
|DR400||1||Instructeur&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Statuts==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Types de ressources &amp;gt; Actifs'''.&lt;br /&gt;
*En bas de la page, dans le tableau '''Statuts autorisés pour chaque type d'aéronef''', cliquer sur le bouton '''Ajouter''' correspondant au type de ressource pour lequel il faut rajouter un statut&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 le bouton '''Ajouter'''&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;
&lt;br /&gt;
==Types de vol requis par type d'aéronef==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &amp;gt; Types de ressources &amp;gt; Actifs''', tableau '''Types de vol requis par type d'aéronef'''&lt;br /&gt;
*Pour chaque type d'aéronef, '''sélectionner''' les '''types de vol requis'''.&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;
*S'il est nécessaire d'associer un nouveau type de ressource, alors il faut au préalable [[#Ajouter_un_type_de_ressource|ajouter un type de ressource]]&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &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;
&lt;br /&gt;
[[Utilisation de la comptabilité#Créer-un-compte-ressource|Il faut ensuite créer les comptes associés à la ressource]].&lt;br /&gt;
&lt;br /&gt;
==Désactiver une ressource==&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.&lt;br /&gt;
&lt;br /&gt;
Pour pouvoir désactiver une ressource il faut au préalable :&lt;br /&gt;
*que les [[Utilisation de la comptabilité#Désactiver-un-compte|comptes associés soient désactivables]] (solde des comptes à 0 et toutes les écritures comptables associées validées)&lt;br /&gt;
La liste des comptes associés à une ressource se trouve dans '''Comptes &amp;gt; Ressources &amp;gt; Comptes ressources'''&lt;br /&gt;
&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ressources &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 '''Admin &amp;gt; Ressources &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ésactivé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;
==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 dans '''Ressources &amp;gt; Ressources &amp;gt; Actives''', dans le formulaire '''Données pour la gestion des vols''', c'est le champ '''Dernier compteur enregistré'''.&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;
Lorsqu'un vol est mal saisi puis validé, il n'est plus possible d'annuler ou de corriger ce vol. Néanmoins, il est possible de corriger le total des heures de vols d'un aéronef pour annuler l'effet du vol saisi.&lt;br /&gt;
*Aller dans '''Ressources &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;
Exemple de correction :&lt;br /&gt;
*Un vol est saisi avec comme date de vol le 1er mai. Le vol saisi est de 2h00.&lt;br /&gt;
*Le vol réellement effectué est de 1h30.&lt;br /&gt;
*Ce vol n'est plus modifiable car il a été validé avant détection de l'erreur de saisie.&lt;br /&gt;
*Nous sommes à la date du 20 mai, les '''Heures total''' affiché dans '''Ressources &amp;gt; Navigabilité''' pour la ligne de l'aéronef concerné sont de 3749:40.&lt;br /&gt;
Etant donné, que le &amp;quot;trop saisi&amp;quot; du vol est de 0h30 (2h00-1h30), le total de ces heures devrait être non pas de 3749:40 mais de 3749:10. Il faut donc corriger le problème en mettant les valeurs suivantes :&lt;br /&gt;
*champ '''Date de début de comptabilisation des heures''' : 20 mai (en considérant qu'il n'y a pas de vol de saisi à cette date)&lt;br /&gt;
*champ '''Total des heures à la date de début''' : 3749:10&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15096</id>
		<title>Formules de calcul</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15096"/>
				<updated>2017-01-16T12:13:47Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* roundCeil(X,Y) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page à pour objet de présenter l'ensemble des fonctions et variables utilisables dans des formules de calculs d'OpenFlyers ainsi que les différents types de formules de calculs.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
==Fonctions==&lt;br /&gt;
&lt;br /&gt;
===abs(X)===&lt;br /&gt;
Retourne la valeur absolue de X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(-200) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(100) donne 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===changeTime('date', 'année', 'mois', 'jour')===&lt;br /&gt;
Retourne la date en changeant l'année, le mois et/ou le jour&lt;br /&gt;
&lt;br /&gt;
La date doit être au format '''AAAA-MM-JJ hh:mm:ss''' ou '''AAAA-MM-JJ'''&lt;br /&gt;
&lt;br /&gt;
Les valeurs possibles pour l'année, le mois ou le jour sont :&lt;br /&gt;
* 0 = L'année, le mois ou le jour reste inchangé&lt;br /&gt;
* +X = L'année, le mois ou le jour est augmenté de X&lt;br /&gt;
* -X = L'année, le mois ou le jour est diminué de X&lt;br /&gt;
* X = L'année, le mois ou le jour est placé sur X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '0', '0' ) donne 2011-05-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-test', '0' ) donne 2011-05-15 car la valeur du mois n'est pas valide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-2', '0' ) donne 2011-03-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '+2', '0' ) donne 2011-07-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '0' ) donne 2011-02-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '-1' ) donne 2011-02-14&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( %NOW_DATE, '2015', '1', '1' ) donne 2015-01-01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===formatDate('patron', 'date')===&lt;br /&gt;
&lt;br /&gt;
Formate la date selon le patron. Pour les motifs du patron, voir le [[#Formatage-des-dates-et-des-heures|formatage des dates et des heures]].&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('yyyy', '2015-03-01') donne 2015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('MM', '2015-03-01') donne 03&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('d', '2015-03-01') donne 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-01-01', %NOW_DATE ) donne le 1er janvier dans l'année en cours&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSex('person id')===&lt;br /&gt;
&lt;br /&gt;
Retourne un nombre correspondant au sexe de la personne :&lt;br /&gt;
* 0 pour un homme&lt;br /&gt;
* 1 pour une femme&lt;br /&gt;
* 2 lorsque ce n'est pas défini&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSex(1)&lt;br /&gt;
getSex(%USER_ID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour savoir si un utilisateur est une femme dans une règle de tarification des produits :&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $reductionFemme : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSumAccountBusinessField('business field id, 'person id', 'date')===&lt;br /&gt;
Retourne la somme des valeurs d'un [[Champs additionnels|champ additionnel]] de catégorie &amp;quot;Ecriture comptable&amp;quot;. Seules les valeurs du champ métier associées à des écritures comptable correspondantes à la personne et dont la date est postérieure ou égale à la date indiquée en paramètre sont prises en compte dans le calcul. La date est au format AAAA-MM-JJ.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSumAccountBusinessField(13, %PILOT, formatDate( 'yyyy-01-01', %NOW_DATE ) ) ? 100 : 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getValidityExpiredDate('person id', 'validity type id')===&lt;br /&gt;
&lt;br /&gt;
* Retourne la date d'expiration de la validité de la personne si c'est une validité soumise à échéance et que la date d'expiration a été renseigné. La date est au format AAAA-MM-JJ.&lt;br /&gt;
* Retourne &amp;quot;0000-00-00&amp;quot; dans les autres cas&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(%USER_ID, 1) donne 2014-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(0, 20) donne 0000-00-00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hasValidity('user id', 'validity type id', 'check only holding')===&lt;br /&gt;
'check only holding' est un paramètre optionnel. On ne prend en compte sa valeur que si elle est à 1. Dans les autres cas, on l'ignore.&lt;br /&gt;
&lt;br /&gt;
*Si 'check only holding' n'est pas à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si c'est une validité à formule d'expérience récente :&lt;br /&gt;
**** l'utilisateur a l'expérience requise&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** Si la validité n'est pas soumise à échéance alors l'utilisateur possède la validité&lt;br /&gt;
**** Si La validité est soumise à échéance alors l'utilisateur possède la validité et elle n'est pas encore expirée&lt;br /&gt;
** Retourne '''0''' dans les autres cas&lt;br /&gt;
*Si 'check only holding' est à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** L'utilisateur possède la validité&lt;br /&gt;
** Retourne '''0''' dans les autres cas (y compris dans le cas d'une validité à formule d'expérience récente et que l'utilisateur possède l'expérience récente)&lt;br /&gt;
&lt;br /&gt;
===max(X,Y)===&lt;br /&gt;
Retourne le maximum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===min(X,Y)===&lt;br /&gt;
Retourne le minimum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===roundCeil(X,Y)===&lt;br /&gt;
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,100) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,10) donne 120&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(106,5) return 110&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour arrondir une valeur positive à l'entier le plus proche avec 0.5 arrondi à 0 :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(107.5-0.5,1) return 107&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour arrondir une valeur positive, avec 2 décimales, à l'entier le plus proche avec 0.5 arrondi à 1 :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(107.5-0.499,1) return 108&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sprintf('pattern', 'string')===&lt;br /&gt;
&lt;br /&gt;
Formate la chaîne &amp;quot;string&amp;quot; avec le patron &amp;quot;pattern&amp;quot;. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#sprintf_format|format de sprintf]].&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%05s', %MEMBER_NUM) retourne 00010 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible derrière :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%-05d', %MEMBER_NUM) retourne 10000 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 6 caractères en ajoutant autant d'espace que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%6s', %MEMBER_NUM) retourne &amp;quot;    10&amp;quot; si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===substr(string,a,b)===&lt;br /&gt;
Retourne l'extrait de chaîne de caractères &amp;quot;string&amp;quot; à partir du caractère &amp;quot;a&amp;quot;, 0 étant le 1er caractère et &amp;quot;b&amp;quot; la longueur à extraire. Lorsque b est une valeur négative, alors il détermine le nombre de caractères devant être enlevé depuis la fin de la chaîne.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;substr('FIRST_NAME', 0, 5) returns FIRST&lt;br /&gt;
substr('FIRST_NAME', 0, -2) returns FIRST_NA&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type' )===&lt;br /&gt;
Retourne le total des heures de vol faite par un pilote %PILOT pour le type de vol 'flight type' Depuis la date indiquée.&lt;br /&gt;
&lt;br /&gt;
La position 0 correspond au 1er pilote, la position 1 au 2ème pilote.&lt;br /&gt;
&lt;br /&gt;
Si le type de vol n'est pas spécifié, le total est déterminé pour tous les types de vols.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;sumFlightTime(%PILOT, 2008, 01, 01, 00, 00, 0, 64 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Retourne en [[#Définition_Unité_sexacentimal|Sexacentimal]] le total des heures de vol faites sur le type de vol 64 en tant que pilote en place gauche depuis le 2008-01-01 00:00:00.&lt;br /&gt;
&lt;br /&gt;
===sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumPreviousFlightTime('pilot id', 'position', 'day', 'endingDate', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===strtolower(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en minuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;camelback&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strtoupper(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en majuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;CAMELBACK&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Formatage des dates et des heures==&lt;br /&gt;
To specify the format use a pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following:&lt;br /&gt;
&lt;br /&gt;
The count of pattern letters determine the format.&lt;br /&gt;
&lt;br /&gt;
(Text): 4 or more pattern letters--use full form, &amp;lt; 4--use short or abbreviated form if one exists.&lt;br /&gt;
&lt;br /&gt;
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.&lt;br /&gt;
&lt;br /&gt;
(Text &amp;amp; Number): 3 or over, use text, otherwise use number.&lt;br /&gt;
&lt;br /&gt;
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.&lt;br /&gt;
&lt;br /&gt;
A pattern containing any invalid pattern letter will result in a thrown exception during formatting or parsing.&lt;br /&gt;
&lt;br /&gt;
Syntax available:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Symbol!!Meaning!!Presentation!!Example&lt;br /&gt;
|-&lt;br /&gt;
|G||era designator||Text||AD&lt;br /&gt;
|-&lt;br /&gt;
|y||year||Number||1996&lt;br /&gt;
|-&lt;br /&gt;
|M||month in year||&amp;quot;MMM&amp;quot;: Text&amp;lt;br /&amp;gt;&amp;quot;MM&amp;quot; or &amp;quot;M&amp;quot; : Number||July&amp;lt;br /&amp;gt;07 or 7&lt;br /&gt;
|-&lt;br /&gt;
|d||day in month||Number||10&lt;br /&gt;
|-&lt;br /&gt;
|h||hour in am/pm (1~12)||Number||12&lt;br /&gt;
|-&lt;br /&gt;
|H||hour in day (0~23)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|m||minute in hour||Number||30&lt;br /&gt;
|-&lt;br /&gt;
|s||second in minute||Number||55&lt;br /&gt;
|-&lt;br /&gt;
|S||millisecond||Number||978&lt;br /&gt;
|-&lt;br /&gt;
|E||day in week||Text||Tuesday&lt;br /&gt;
|-&lt;br /&gt;
|e||dow (=day of week: 1 = sunday, 2 = monday, )||(Number)||2 (=monday)&lt;br /&gt;
|-&lt;br /&gt;
|D||day in year||Number||189&lt;br /&gt;
|-&lt;br /&gt;
|F||day of week in month||Number||2 (2nd Wed in July)&lt;br /&gt;
|-&lt;br /&gt;
|w||week in year||Number||27&lt;br /&gt;
|-&lt;br /&gt;
|W||week in month||Number||2&lt;br /&gt;
|-&lt;br /&gt;
|a||am/pm marker||Text||PM&lt;br /&gt;
|-&lt;br /&gt;
|k||hour in day (1~24)||Number||24&lt;br /&gt;
|-&lt;br /&gt;
|K||hour in am/pm (0~11)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|z||time zone||Text||Pacific Standard Time&lt;br /&gt;
|-&lt;br /&gt;
|'||escape for text||Delimiter||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;||single quote||(Literal)||'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples Using the local unit system:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Format Pattern!!Result&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyy.MM.dd G 'at' HH:mm:ss z&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.07.10 AD at 15:08:56 PDT&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;EEE, MMM d, 'yy&amp;quot;&amp;lt;/nowiki&amp;gt;||Wed, July 10, '96&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;KK:mm a, z&amp;quot;&amp;lt;/nowiki&amp;gt;||00:08 AM, PST&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h:mm a&amp;quot;&amp;lt;/nowiki&amp;gt;||12:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h 'o''clock' a, zzzz&amp;quot;&amp;lt;/nowiki&amp;gt;||12 o'clock PM, Pacific Daylight Time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyyy.MMMMM.dd GGG h:mm aaa&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.July.10 AD 0:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;dd/MMM/yyyyy HH:mm&amp;quot;&amp;lt;/nowiki&amp;gt;||10/07/1996 00:08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
===Opérateur == ===&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $womanReduction : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur OR===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 OR test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 || test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur AND===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 AND test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 &amp;amp;&amp;amp; test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
===%ACCOUNT_TYPE===&lt;br /&gt;
Type de compte&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_ARRIVAL===&lt;br /&gt;
&lt;br /&gt;
Terrain d'arrivée du vol&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_DEPARTURE===&lt;br /&gt;
&lt;br /&gt;
Terrain de départ du vol&lt;br /&gt;
&lt;br /&gt;
===%AUTHENTICATION_LOGIN===&lt;br /&gt;
Identifiant utilisateur&lt;br /&gt;
&lt;br /&gt;
===%AUTO_INCREMENT===&lt;br /&gt;
Valeur auto-incrémentale&lt;br /&gt;
&lt;br /&gt;
===%BOOKING_START_DATE===&lt;br /&gt;
Date de début d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_ARRIVAL===&lt;br /&gt;
Compteur arrivé saisi dans le formulaire.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_DEPARTURE===&lt;br /&gt;
Compteur départ saisi dans le formulaire&lt;br /&gt;
&lt;br /&gt;
===%DURATION===&lt;br /&gt;
Durée du vol&lt;br /&gt;
&lt;br /&gt;
===%EXTRAFIELDxx===&lt;br /&gt;
Permet de récupérer le contenu d'un champ additionnel&lt;br /&gt;
&lt;br /&gt;
Description :&lt;br /&gt;
*xx = numéro d'identifiant du champ additionnel. Exemple : %EXTRAFIELD12&lt;br /&gt;
*Pour les formules de tarification, seuls les champs additionnels de type de valeur suivants sont acceptés :&lt;br /&gt;
**Nombre entier&lt;br /&gt;
**Nombre entier unique&lt;br /&gt;
**Nombre à virgule&lt;br /&gt;
&lt;br /&gt;
===%FIRSTNAME===&lt;br /&gt;
Prénom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%LASTNAME===&lt;br /&gt;
Nom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%PILOT===&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules :&lt;br /&gt;
* d'email d'alerte de solde&lt;br /&gt;
* d'expérience récente&lt;br /&gt;
* de tarification des heures&lt;br /&gt;
&lt;br /&gt;
===%PILOT2===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur en seconde place. Cette variable est utilisable que dans les formules de tarification des heures.&lt;br /&gt;
&lt;br /&gt;
===%MEMBER_NUM===&lt;br /&gt;
Numéro de membre&lt;br /&gt;
&lt;br /&gt;
===%NOW_DATE===&lt;br /&gt;
Date courante au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%RESOURCE_NAME===&lt;br /&gt;
Nom de la ressource&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_ARRIVAL&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de fin saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_DEPARTURE&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de début saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===%START_DATE===&lt;br /&gt;
&lt;br /&gt;
Date de début du vol ou date d'achat de produit au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%USER_ID===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules de :&lt;br /&gt;
* compte d'export &lt;br /&gt;
* tarification des produits&lt;br /&gt;
* renouvellement de validité&lt;br /&gt;
&lt;br /&gt;
=Compte d'export=&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du compte d'export==&lt;br /&gt;
&lt;br /&gt;
*[[#sprintf('pattern',_'string')|sprintf]]&lt;br /&gt;
*[[#substr(string,a,b)|substr]]&lt;br /&gt;
*[[#strtolower(string)|strtolower]]&lt;br /&gt;
*[[#strtoupper(string)|strtoupper]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du compte d'export==&lt;br /&gt;
*[[#.ACCOUNT_TYPE|%ACCOUNT_TYPE]]&lt;br /&gt;
*[[#.AUTHENTICATION_LOGIN|%AUTHENTICATION_LOGIN]]&lt;br /&gt;
*[[#.AUTO_INCREMENT|%AUTO_INCREMENT]]&lt;br /&gt;
*[[#.FIRSTNAME|%FIRSTNAME]]&lt;br /&gt;
*[[#.LASTNAME|%LASTNAME]]&lt;br /&gt;
*[[#.MEMBER_NUM|%MEMBER_NUM]]&lt;br /&gt;
*[[#.RESOURCE_NAME|%RESOURCE_NAME]]&lt;br /&gt;
*[[#.USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul du compte d'export==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable centre&amp;quot;&lt;br /&gt;
!Formule de calcul!!Usage!!Exemples de génération&lt;br /&gt;
|-&lt;br /&gt;
|411+%ACCOUNT_TYPE||Comptes ressources et utilisateurs||4110002, 4110005&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTHENTICATION_LOGIN||Comptes utilisateurs||411pdupont '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes utilisateurs'''&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTO_INCREMENT||Comptes ressources et utilisateurs||41100001, 41100002, ...., 4110000x&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME||Comptes utilisateurs||411dupont, 411dupond&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME+substr(%FIRSTNAME,0,1)||Comptes utilisateurs||411dupontp, 411dupontf&lt;br /&gt;
|-&lt;br /&gt;
|411+%MEMBER_NUM||Comptes utilisateurs||411XXXXX, l'intitulé XXXXXX est le champ Numéro de membre qui est inscrit sur la fiche personnelle de vos adhérents. Exemple : 411001. A vous de vérifier l'unicité de cette valeurs&lt;br /&gt;
|-&lt;br /&gt;
|411+sprintf('%03s', %USER_ID)||Comptes utilisateurs||411001, 411002, etc.&lt;br /&gt;
|-&lt;br /&gt;
|411+substr(%AUTHENTICATION_LOGIN,0,3)||Comptes utilisateurs||411pdu 411 suivi de l'identifiant limité à 3 caractères. Cela permet d'être compatible avec les logiciels de comptabilités paramétrés pour n'accepter que 6 caractères. Dans ce cas, il est nécessaire de modifier les comptes d'exports en doublon.&lt;br /&gt;
|-&lt;br /&gt;
|7061+sprintf('%02s', %RESOURCE_ID)||Comptes ressources||706101, 706102, etc.  '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes ressources'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Date d'expiration=&lt;br /&gt;
==Fonctions autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
* [[#formatDate('patron',_'date')|formatDate]]&lt;br /&gt;
* [[#getValidityExpiredDate('person_id',_'validity_type_id')|getValidityExpiredDate]]&lt;br /&gt;
* [[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
* [[#.25USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
===Date fixe===&lt;br /&gt;
&amp;lt;pre&amp;gt;2012-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple une carte de réduction) valable 1 an.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité concerné :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-MM-dd', changeTime( ( hasValidity(%USER_ID, XX) ? getValidityExpiredDate(%USER_ID, XX) : %NOW_DATE ), '+1', '0', '0' ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante===&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', %NOW_DATE )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple cotisation) dont la prise est valable jusqu'au 31 décembre de l'année en cours ou de l'année suivante si elle est souscrite à partir du 1er octobre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)&amp;lt;10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expérience récente=&lt;br /&gt;
==Fonctions autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
*[[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
*[[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
*[[#sumFlightHour('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumFlightHour]]&lt;br /&gt;
*[[#sumFlightTime(.25PILOT,_'year',_'month',_'day',_'hour',_'minute',_'position',_'flight_type'_)|sumFlightTime]]&lt;br /&gt;
*[[#sumLandingNumber('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumLandingNumber]]&lt;br /&gt;
*[[#sumPreviousFlightTime('pilot_id',_'position',_'day',_'endingDate',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumPreviousFlightTime]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
===Expérience récente en heures ou la détention d'une validité spécifique===&lt;br /&gt;
L'exemple suivant vérifie qu'un utilisateur a une expérience de 30 heures dans les 12 derniers mois ou qu'il possède une validité X lui permettant de s'affranchir du quota d'heures.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité spécifique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;( (sumFlightHour(%PILOT, 0, 365)+sumFlightHour(%PILOT, 1, 365) &amp;gt; 17999) OR hasValidity(%PILOT, XX) )&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Type d'activité X dans les 12 derniers mois===&lt;br /&gt;
L'exemple suivant vérifie si un utilisateur a effectué une activité d'un type X donné dans les 365 derniers jours.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type d'activité donné :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;sumFlightTime(%PILOT, formatDate('yyyy', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('M', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('d', changeTime( %NOW_DATE, '-1', '0', '0' )), 00, 00, 0, XX ) &amp;gt; 0&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tarification=&lt;br /&gt;
Outre les définitions toujours valides pour le calcul du temps d'activité, voici d'autres définitions :&lt;br /&gt;
''A rédiger''&lt;br /&gt;
&lt;br /&gt;
Voir [http://doc-en.openflyers.com/index.php?title=AdminDoc2.1 Formules en anglais]&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul de la tarification==&lt;br /&gt;
&lt;br /&gt;
* [[#getSumAccountBusinessField('business-field-id,-'person-id',-'date')|getSumAccountBusinessField]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la tarification==&lt;br /&gt;
*[[#.EXTRAFIELDxx|%EXTRAFIELDxx]]&lt;br /&gt;
*[[#.START-DATE|%START_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul de la tarification==&lt;br /&gt;
===Motoplaneur : tarification à l'heure de vol ET à l'utilisation du moteur===&lt;br /&gt;
Pour cela, on suppose que les compteurs sont utilisés et qu'ils prennent en compte le temps d'utilisation du moteur :&lt;br /&gt;
 %DURATION * $FLIGHT_HOUR_PRICE + (%COUNTER_ARRIVAL - %COUNTER_DEPARTURE) * $ENGINE_HOUR_PRICE&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le compte pilote a un solde positif===&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$S le solde positif qui doit être atteint pour bénéficier de la réduction&amp;lt;br&amp;gt;&lt;br /&gt;
$R le montant horaire de la réduction obtenue dans ce cas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil((((getBalance(%PILOT)&amp;gt;$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le vol se fait après une certaine heure===&lt;br /&gt;
&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$C2R concerne le tarif horaire réduit de l'avion après une certaine heure&amp;lt;br&amp;gt;&lt;br /&gt;
659 correspond à 06:59 en temps UTC&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas la formule considère que dès 700, la réduction s'applique.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil(((((formatDate('hmm',%START_DATE)&amp;gt;659)?$C2R:$C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
=Temps d'activité=&lt;br /&gt;
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la [[Gestion des ressources#Ajouter_un_type_de_ressource|gestion des types de ressources]].&lt;br /&gt;
&lt;br /&gt;
==Définition Unité sexacentimal==&lt;br /&gt;
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format ''sexacentimal''.&lt;br /&gt;
&lt;br /&gt;
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.&lt;br /&gt;
&lt;br /&gt;
*1 heure = 600 sexacentièmes&lt;br /&gt;
*1 minute = 10 sexacentièmes&lt;br /&gt;
*5 minutes = 50 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
*1 centième de minute = 6 sexacentièmes&lt;br /&gt;
*10 centième de minute (=1 dixième de minute) = 60 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
Exemples de formules :&lt;br /&gt;
*pour arrondir à 5 minutes : roundCeil(X,50)&lt;br /&gt;
*pour arrondir à 10 centièmes : roundCeil(X,60)&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#abs(X)|abs]]&lt;br /&gt;
*[[#max(X,Y)|max]]&lt;br /&gt;
*[[#min(X,Y)|min]]&lt;br /&gt;
*[[#roundCeil(X,Y)|roundCeil]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#.AIRFIELD-ARRIVAL|%AIRFIELD_ARRIVAL]]&lt;br /&gt;
*[[#.AIRFIELD-DEPARTURE|%AIRFIELD_DEPARTURE]]&lt;br /&gt;
*[[#.COUNTER_ARRIVAL|%COUNTER_ARRIVAL]]&lt;br /&gt;
*[[#.COUNTER_DEPARTURE|%COUNTER_DEPARTURE]]&lt;br /&gt;
*[[#.DURATION|%DURATION]]&lt;br /&gt;
*[[#.TIME_ARRIVAL|%TIME_ARRIVAL]]&lt;br /&gt;
*[[#.TIME_DEPARTURE|%TIME_DEPARTURE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul du temps d'activité==&lt;br /&gt;
===Durée saisie===&lt;br /&gt;
&amp;lt;pre&amp;gt;%DURATION&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs saisis===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durée saisie arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%DURATION, 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 centièmes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 minutes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 ou 10 minutes selon l'aérodrome de départ===&lt;br /&gt;
Si l'aérodrome de départ est LFBD, on rajoute 10 minutes à la différence des compteurs, sinon on rajoute 5 minutes :&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + ( (%AIRFIELD_DEPARTURE=='LFBD')? 100 : 50 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie à 10 centièmes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs moins 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15095</id>
		<title>Formules de calcul</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15095"/>
				<updated>2017-01-16T11:22:48Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page à pour objet de présenter l'ensemble des fonctions et variables utilisables dans des formules de calculs d'OpenFlyers ainsi que les différents types de formules de calculs.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
==Fonctions==&lt;br /&gt;
&lt;br /&gt;
===abs(X)===&lt;br /&gt;
Retourne la valeur absolue de X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(-200) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(100) donne 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===changeTime('date', 'année', 'mois', 'jour')===&lt;br /&gt;
Retourne la date en changeant l'année, le mois et/ou le jour&lt;br /&gt;
&lt;br /&gt;
La date doit être au format '''AAAA-MM-JJ hh:mm:ss''' ou '''AAAA-MM-JJ'''&lt;br /&gt;
&lt;br /&gt;
Les valeurs possibles pour l'année, le mois ou le jour sont :&lt;br /&gt;
* 0 = L'année, le mois ou le jour reste inchangé&lt;br /&gt;
* +X = L'année, le mois ou le jour est augmenté de X&lt;br /&gt;
* -X = L'année, le mois ou le jour est diminué de X&lt;br /&gt;
* X = L'année, le mois ou le jour est placé sur X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '0', '0' ) donne 2011-05-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-test', '0' ) donne 2011-05-15 car la valeur du mois n'est pas valide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-2', '0' ) donne 2011-03-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '+2', '0' ) donne 2011-07-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '0' ) donne 2011-02-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '-1' ) donne 2011-02-14&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( %NOW_DATE, '2015', '1', '1' ) donne 2015-01-01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===formatDate('patron', 'date')===&lt;br /&gt;
&lt;br /&gt;
Formate la date selon le patron. Pour les motifs du patron, voir le [[#Formatage-des-dates-et-des-heures|formatage des dates et des heures]].&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('yyyy', '2015-03-01') donne 2015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('MM', '2015-03-01') donne 03&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('d', '2015-03-01') donne 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-01-01', %NOW_DATE ) donne le 1er janvier dans l'année en cours&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSex('person id')===&lt;br /&gt;
&lt;br /&gt;
Retourne un nombre correspondant au sexe de la personne :&lt;br /&gt;
* 0 pour un homme&lt;br /&gt;
* 1 pour une femme&lt;br /&gt;
* 2 lorsque ce n'est pas défini&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSex(1)&lt;br /&gt;
getSex(%USER_ID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour savoir si un utilisateur est une femme dans une règle de tarification des produits :&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $reductionFemme : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSumAccountBusinessField('business field id, 'person id', 'date')===&lt;br /&gt;
Retourne la somme des valeurs d'un [[Champs additionnels|champ additionnel]] de catégorie &amp;quot;Ecriture comptable&amp;quot;. Seules les valeurs du champ métier associées à des écritures comptable correspondantes à la personne et dont la date est postérieure ou égale à la date indiquée en paramètre sont prises en compte dans le calcul. La date est au format AAAA-MM-JJ.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSumAccountBusinessField(13, %PILOT, formatDate( 'yyyy-01-01', %NOW_DATE ) ) ? 100 : 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getValidityExpiredDate('person id', 'validity type id')===&lt;br /&gt;
&lt;br /&gt;
* Retourne la date d'expiration de la validité de la personne si c'est une validité soumise à échéance et que la date d'expiration a été renseigné. La date est au format AAAA-MM-JJ.&lt;br /&gt;
* Retourne &amp;quot;0000-00-00&amp;quot; dans les autres cas&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(%USER_ID, 1) donne 2014-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(0, 20) donne 0000-00-00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hasValidity('user id', 'validity type id', 'check only holding')===&lt;br /&gt;
'check only holding' est un paramètre optionnel. On ne prend en compte sa valeur que si elle est à 1. Dans les autres cas, on l'ignore.&lt;br /&gt;
&lt;br /&gt;
*Si 'check only holding' n'est pas à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si c'est une validité à formule d'expérience récente :&lt;br /&gt;
**** l'utilisateur a l'expérience requise&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** Si la validité n'est pas soumise à échéance alors l'utilisateur possède la validité&lt;br /&gt;
**** Si La validité est soumise à échéance alors l'utilisateur possède la validité et elle n'est pas encore expirée&lt;br /&gt;
** Retourne '''0''' dans les autres cas&lt;br /&gt;
*Si 'check only holding' est à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** L'utilisateur possède la validité&lt;br /&gt;
** Retourne '''0''' dans les autres cas (y compris dans le cas d'une validité à formule d'expérience récente et que l'utilisateur possède l'expérience récente)&lt;br /&gt;
&lt;br /&gt;
===max(X,Y)===&lt;br /&gt;
Retourne le maximum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===min(X,Y)===&lt;br /&gt;
Retourne le minimum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===roundCeil(X,Y)===&lt;br /&gt;
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,100) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,10) donne 120&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sprintf('pattern', 'string')===&lt;br /&gt;
&lt;br /&gt;
Formate la chaîne &amp;quot;string&amp;quot; avec le patron &amp;quot;pattern&amp;quot;. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#sprintf_format|format de sprintf]].&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%05s', %MEMBER_NUM) retourne 00010 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible derrière :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%-05d', %MEMBER_NUM) retourne 10000 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 6 caractères en ajoutant autant d'espace que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%6s', %MEMBER_NUM) retourne &amp;quot;    10&amp;quot; si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===substr(string,a,b)===&lt;br /&gt;
Retourne l'extrait de chaîne de caractères &amp;quot;string&amp;quot; à partir du caractère &amp;quot;a&amp;quot;, 0 étant le 1er caractère et &amp;quot;b&amp;quot; la longueur à extraire. Lorsque b est une valeur négative, alors il détermine le nombre de caractères devant être enlevé depuis la fin de la chaîne.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;substr('FIRST_NAME', 0, 5) returns FIRST&lt;br /&gt;
substr('FIRST_NAME', 0, -2) returns FIRST_NA&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type' )===&lt;br /&gt;
Retourne le total des heures de vol faite par un pilote %PILOT pour le type de vol 'flight type' Depuis la date indiquée.&lt;br /&gt;
&lt;br /&gt;
La position 0 correspond au 1er pilote, la position 1 au 2ème pilote.&lt;br /&gt;
&lt;br /&gt;
Si le type de vol n'est pas spécifié, le total est déterminé pour tous les types de vols.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;sumFlightTime(%PILOT, 2008, 01, 01, 00, 00, 0, 64 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Retourne en [[#Définition_Unité_sexacentimal|Sexacentimal]] le total des heures de vol faites sur le type de vol 64 en tant que pilote en place gauche depuis le 2008-01-01 00:00:00.&lt;br /&gt;
&lt;br /&gt;
===sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumPreviousFlightTime('pilot id', 'position', 'day', 'endingDate', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===strtolower(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en minuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;camelback&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strtoupper(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en majuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;CAMELBACK&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Formatage des dates et des heures==&lt;br /&gt;
To specify the format use a pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following:&lt;br /&gt;
&lt;br /&gt;
The count of pattern letters determine the format.&lt;br /&gt;
&lt;br /&gt;
(Text): 4 or more pattern letters--use full form, &amp;lt; 4--use short or abbreviated form if one exists.&lt;br /&gt;
&lt;br /&gt;
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.&lt;br /&gt;
&lt;br /&gt;
(Text &amp;amp; Number): 3 or over, use text, otherwise use number.&lt;br /&gt;
&lt;br /&gt;
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.&lt;br /&gt;
&lt;br /&gt;
A pattern containing any invalid pattern letter will result in a thrown exception during formatting or parsing.&lt;br /&gt;
&lt;br /&gt;
Syntax available:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Symbol!!Meaning!!Presentation!!Example&lt;br /&gt;
|-&lt;br /&gt;
|G||era designator||Text||AD&lt;br /&gt;
|-&lt;br /&gt;
|y||year||Number||1996&lt;br /&gt;
|-&lt;br /&gt;
|M||month in year||&amp;quot;MMM&amp;quot;: Text&amp;lt;br /&amp;gt;&amp;quot;MM&amp;quot; or &amp;quot;M&amp;quot; : Number||July&amp;lt;br /&amp;gt;07 or 7&lt;br /&gt;
|-&lt;br /&gt;
|d||day in month||Number||10&lt;br /&gt;
|-&lt;br /&gt;
|h||hour in am/pm (1~12)||Number||12&lt;br /&gt;
|-&lt;br /&gt;
|H||hour in day (0~23)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|m||minute in hour||Number||30&lt;br /&gt;
|-&lt;br /&gt;
|s||second in minute||Number||55&lt;br /&gt;
|-&lt;br /&gt;
|S||millisecond||Number||978&lt;br /&gt;
|-&lt;br /&gt;
|E||day in week||Text||Tuesday&lt;br /&gt;
|-&lt;br /&gt;
|e||dow (=day of week: 1 = sunday, 2 = monday, )||(Number)||2 (=monday)&lt;br /&gt;
|-&lt;br /&gt;
|D||day in year||Number||189&lt;br /&gt;
|-&lt;br /&gt;
|F||day of week in month||Number||2 (2nd Wed in July)&lt;br /&gt;
|-&lt;br /&gt;
|w||week in year||Number||27&lt;br /&gt;
|-&lt;br /&gt;
|W||week in month||Number||2&lt;br /&gt;
|-&lt;br /&gt;
|a||am/pm marker||Text||PM&lt;br /&gt;
|-&lt;br /&gt;
|k||hour in day (1~24)||Number||24&lt;br /&gt;
|-&lt;br /&gt;
|K||hour in am/pm (0~11)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|z||time zone||Text||Pacific Standard Time&lt;br /&gt;
|-&lt;br /&gt;
|'||escape for text||Delimiter||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;||single quote||(Literal)||'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples Using the local unit system:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Format Pattern!!Result&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyy.MM.dd G 'at' HH:mm:ss z&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.07.10 AD at 15:08:56 PDT&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;EEE, MMM d, 'yy&amp;quot;&amp;lt;/nowiki&amp;gt;||Wed, July 10, '96&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;KK:mm a, z&amp;quot;&amp;lt;/nowiki&amp;gt;||00:08 AM, PST&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h:mm a&amp;quot;&amp;lt;/nowiki&amp;gt;||12:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h 'o''clock' a, zzzz&amp;quot;&amp;lt;/nowiki&amp;gt;||12 o'clock PM, Pacific Daylight Time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyyy.MMMMM.dd GGG h:mm aaa&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.July.10 AD 0:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;dd/MMM/yyyyy HH:mm&amp;quot;&amp;lt;/nowiki&amp;gt;||10/07/1996 00:08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
===Opérateur == ===&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $womanReduction : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur OR===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 OR test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 || test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur AND===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 AND test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 &amp;amp;&amp;amp; test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
===%ACCOUNT_TYPE===&lt;br /&gt;
Type de compte&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_ARRIVAL===&lt;br /&gt;
&lt;br /&gt;
Terrain d'arrivée du vol&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_DEPARTURE===&lt;br /&gt;
&lt;br /&gt;
Terrain de départ du vol&lt;br /&gt;
&lt;br /&gt;
===%AUTHENTICATION_LOGIN===&lt;br /&gt;
Identifiant utilisateur&lt;br /&gt;
&lt;br /&gt;
===%AUTO_INCREMENT===&lt;br /&gt;
Valeur auto-incrémentale&lt;br /&gt;
&lt;br /&gt;
===%BOOKING_START_DATE===&lt;br /&gt;
Date de début d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_ARRIVAL===&lt;br /&gt;
Compteur arrivé saisi dans le formulaire.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_DEPARTURE===&lt;br /&gt;
Compteur départ saisi dans le formulaire&lt;br /&gt;
&lt;br /&gt;
===%DURATION===&lt;br /&gt;
Durée du vol&lt;br /&gt;
&lt;br /&gt;
===%EXTRAFIELDxx===&lt;br /&gt;
Permet de récupérer le contenu d'un champ additionnel&lt;br /&gt;
&lt;br /&gt;
Description :&lt;br /&gt;
*xx = numéro d'identifiant du champ additionnel. Exemple : %EXTRAFIELD12&lt;br /&gt;
*Pour les formules de tarification, seuls les champs additionnels de type de valeur suivants sont acceptés :&lt;br /&gt;
**Nombre entier&lt;br /&gt;
**Nombre entier unique&lt;br /&gt;
**Nombre à virgule&lt;br /&gt;
&lt;br /&gt;
===%FIRSTNAME===&lt;br /&gt;
Prénom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%LASTNAME===&lt;br /&gt;
Nom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%PILOT===&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules :&lt;br /&gt;
* d'email d'alerte de solde&lt;br /&gt;
* d'expérience récente&lt;br /&gt;
* de tarification des heures&lt;br /&gt;
&lt;br /&gt;
===%PILOT2===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur en seconde place. Cette variable est utilisable que dans les formules de tarification des heures.&lt;br /&gt;
&lt;br /&gt;
===%MEMBER_NUM===&lt;br /&gt;
Numéro de membre&lt;br /&gt;
&lt;br /&gt;
===%NOW_DATE===&lt;br /&gt;
Date courante au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%RESOURCE_NAME===&lt;br /&gt;
Nom de la ressource&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_ARRIVAL&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de fin saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_DEPARTURE&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de début saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===%START_DATE===&lt;br /&gt;
&lt;br /&gt;
Date de début du vol ou date d'achat de produit au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%USER_ID===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules de :&lt;br /&gt;
* compte d'export &lt;br /&gt;
* tarification des produits&lt;br /&gt;
* renouvellement de validité&lt;br /&gt;
&lt;br /&gt;
=Compte d'export=&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du compte d'export==&lt;br /&gt;
&lt;br /&gt;
*[[#sprintf('pattern',_'string')|sprintf]]&lt;br /&gt;
*[[#substr(string,a,b)|substr]]&lt;br /&gt;
*[[#strtolower(string)|strtolower]]&lt;br /&gt;
*[[#strtoupper(string)|strtoupper]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du compte d'export==&lt;br /&gt;
*[[#.ACCOUNT_TYPE|%ACCOUNT_TYPE]]&lt;br /&gt;
*[[#.AUTHENTICATION_LOGIN|%AUTHENTICATION_LOGIN]]&lt;br /&gt;
*[[#.AUTO_INCREMENT|%AUTO_INCREMENT]]&lt;br /&gt;
*[[#.FIRSTNAME|%FIRSTNAME]]&lt;br /&gt;
*[[#.LASTNAME|%LASTNAME]]&lt;br /&gt;
*[[#.MEMBER_NUM|%MEMBER_NUM]]&lt;br /&gt;
*[[#.RESOURCE_NAME|%RESOURCE_NAME]]&lt;br /&gt;
*[[#.USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul du compte d'export==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable centre&amp;quot;&lt;br /&gt;
!Formule de calcul!!Usage!!Exemples de génération&lt;br /&gt;
|-&lt;br /&gt;
|411+%ACCOUNT_TYPE||Comptes ressources et utilisateurs||4110002, 4110005&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTHENTICATION_LOGIN||Comptes utilisateurs||411pdupont '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes utilisateurs'''&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTO_INCREMENT||Comptes ressources et utilisateurs||41100001, 41100002, ...., 4110000x&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME||Comptes utilisateurs||411dupont, 411dupond&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME+substr(%FIRSTNAME,0,1)||Comptes utilisateurs||411dupontp, 411dupontf&lt;br /&gt;
|-&lt;br /&gt;
|411+%MEMBER_NUM||Comptes utilisateurs||411XXXXX, l'intitulé XXXXXX est le champ Numéro de membre qui est inscrit sur la fiche personnelle de vos adhérents. Exemple : 411001. A vous de vérifier l'unicité de cette valeurs&lt;br /&gt;
|-&lt;br /&gt;
|411+sprintf('%03s', %USER_ID)||Comptes utilisateurs||411001, 411002, etc.&lt;br /&gt;
|-&lt;br /&gt;
|411+substr(%AUTHENTICATION_LOGIN,0,3)||Comptes utilisateurs||411pdu 411 suivi de l'identifiant limité à 3 caractères. Cela permet d'être compatible avec les logiciels de comptabilités paramétrés pour n'accepter que 6 caractères. Dans ce cas, il est nécessaire de modifier les comptes d'exports en doublon.&lt;br /&gt;
|-&lt;br /&gt;
|7061+sprintf('%02s', %RESOURCE_ID)||Comptes ressources||706101, 706102, etc.  '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes ressources'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Date d'expiration=&lt;br /&gt;
==Fonctions autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
* [[#formatDate('patron',_'date')|formatDate]]&lt;br /&gt;
* [[#getValidityExpiredDate('person_id',_'validity_type_id')|getValidityExpiredDate]]&lt;br /&gt;
* [[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
* [[#.25USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
===Date fixe===&lt;br /&gt;
&amp;lt;pre&amp;gt;2012-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple une carte de réduction) valable 1 an.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité concerné :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-MM-dd', changeTime( ( hasValidity(%USER_ID, XX) ? getValidityExpiredDate(%USER_ID, XX) : %NOW_DATE ), '+1', '0', '0' ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante===&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', %NOW_DATE )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple cotisation) dont la prise est valable jusqu'au 31 décembre de l'année en cours ou de l'année suivante si elle est souscrite à partir du 1er octobre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)&amp;lt;10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expérience récente=&lt;br /&gt;
==Fonctions autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
*[[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
*[[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
*[[#sumFlightHour('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumFlightHour]]&lt;br /&gt;
*[[#sumFlightTime(.25PILOT,_'year',_'month',_'day',_'hour',_'minute',_'position',_'flight_type'_)|sumFlightTime]]&lt;br /&gt;
*[[#sumLandingNumber('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumLandingNumber]]&lt;br /&gt;
*[[#sumPreviousFlightTime('pilot_id',_'position',_'day',_'endingDate',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumPreviousFlightTime]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
===Expérience récente en heures ou la détention d'une validité spécifique===&lt;br /&gt;
L'exemple suivant vérifie qu'un utilisateur a une expérience de 30 heures dans les 12 derniers mois ou qu'il possède une validité X lui permettant de s'affranchir du quota d'heures.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité spécifique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;( (sumFlightHour(%PILOT, 0, 365)+sumFlightHour(%PILOT, 1, 365) &amp;gt; 17999) OR hasValidity(%PILOT, XX) )&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Type d'activité X dans les 12 derniers mois===&lt;br /&gt;
L'exemple suivant vérifie si un utilisateur a effectué une activité d'un type X donné dans les 365 derniers jours.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type d'activité donné :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;sumFlightTime(%PILOT, formatDate('yyyy', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('M', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('d', changeTime( %NOW_DATE, '-1', '0', '0' )), 00, 00, 0, XX ) &amp;gt; 0&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tarification=&lt;br /&gt;
Outre les définitions toujours valides pour le calcul du temps d'activité, voici d'autres définitions :&lt;br /&gt;
''A rédiger''&lt;br /&gt;
&lt;br /&gt;
Voir [http://doc-en.openflyers.com/index.php?title=AdminDoc2.1 Formules en anglais]&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul de la tarification==&lt;br /&gt;
&lt;br /&gt;
* [[#getSumAccountBusinessField('business-field-id,-'person-id',-'date')|getSumAccountBusinessField]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la tarification==&lt;br /&gt;
*[[#.EXTRAFIELDxx|%EXTRAFIELDxx]]&lt;br /&gt;
*[[#.START-DATE|%START_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul de la tarification==&lt;br /&gt;
===Motoplaneur : tarification à l'heure de vol ET à l'utilisation du moteur===&lt;br /&gt;
Pour cela, on suppose que les compteurs sont utilisés et qu'ils prennent en compte le temps d'utilisation du moteur :&lt;br /&gt;
 %DURATION * $FLIGHT_HOUR_PRICE + (%COUNTER_ARRIVAL - %COUNTER_DEPARTURE) * $ENGINE_HOUR_PRICE&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le compte pilote a un solde positif===&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$S le solde positif qui doit être atteint pour bénéficier de la réduction&amp;lt;br&amp;gt;&lt;br /&gt;
$R le montant horaire de la réduction obtenue dans ce cas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil((((getBalance(%PILOT)&amp;gt;$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le vol se fait après une certaine heure===&lt;br /&gt;
&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$C2R concerne le tarif horaire réduit de l'avion après une certaine heure&amp;lt;br&amp;gt;&lt;br /&gt;
659 correspond à 06:59 en temps UTC&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas la formule considère que dès 700, la réduction s'applique.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil(((((formatDate('hmm',%START_DATE)&amp;gt;659)?$C2R:$C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
=Temps d'activité=&lt;br /&gt;
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la [[Gestion des ressources#Ajouter_un_type_de_ressource|gestion des types de ressources]].&lt;br /&gt;
&lt;br /&gt;
==Définition Unité sexacentimal==&lt;br /&gt;
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format ''sexacentimal''.&lt;br /&gt;
&lt;br /&gt;
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.&lt;br /&gt;
&lt;br /&gt;
*1 heure = 600 sexacentièmes&lt;br /&gt;
*1 minute = 10 sexacentièmes&lt;br /&gt;
*5 minutes = 50 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
*1 centième de minute = 6 sexacentièmes&lt;br /&gt;
*10 centième de minute (=1 dixième de minute) = 60 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
Exemples de formules :&lt;br /&gt;
*pour arrondir à 5 minutes : roundCeil(X,50)&lt;br /&gt;
*pour arrondir à 10 centièmes : roundCeil(X,60)&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#abs(X)|abs]]&lt;br /&gt;
*[[#max(X,Y)|max]]&lt;br /&gt;
*[[#min(X,Y)|min]]&lt;br /&gt;
*[[#roundCeil(X,Y)|roundCeil]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#.AIRFIELD-ARRIVAL|%AIRFIELD_ARRIVAL]]&lt;br /&gt;
*[[#.AIRFIELD-DEPARTURE|%AIRFIELD_DEPARTURE]]&lt;br /&gt;
*[[#.COUNTER_ARRIVAL|%COUNTER_ARRIVAL]]&lt;br /&gt;
*[[#.COUNTER_DEPARTURE|%COUNTER_DEPARTURE]]&lt;br /&gt;
*[[#.DURATION|%DURATION]]&lt;br /&gt;
*[[#.TIME_ARRIVAL|%TIME_ARRIVAL]]&lt;br /&gt;
*[[#.TIME_DEPARTURE|%TIME_DEPARTURE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul du temps d'activité==&lt;br /&gt;
===Durée saisie===&lt;br /&gt;
&amp;lt;pre&amp;gt;%DURATION&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs saisis===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durée saisie arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%DURATION, 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 centièmes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 minutes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 ou 10 minutes selon l'aérodrome de départ===&lt;br /&gt;
Si l'aérodrome de départ est LFBD, on rajoute 10 minutes à la différence des compteurs, sinon on rajoute 5 minutes :&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + ( (%AIRFIELD_DEPARTURE=='LFBD')? 100 : 50 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie à 10 centièmes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs moins 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=15085</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=15085"/>
				<updated>2017-01-12T13:21:53Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Initialisation de la gestion des alertes */&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 la prochaine échéance de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&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 [[Documentation administrateur#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;
=Activation du module de gestion des potentiels=&lt;br /&gt;
*'''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Formulaire '''Gestion des vols'''&lt;br /&gt;
*Champ '''Gestion des potentiels''', cliquer sur '''Activé(e)'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' du formulaire&lt;br /&gt;
&lt;br /&gt;
==Initialisation de la gestion des potentiels==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Ressources &amp;gt; Ressources'''&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 additionnels#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
==Initialisation de la gestion des alertes==&lt;br /&gt;
*Aller sur '''Admin &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;
*'''Admin &amp;gt; Flotte &amp;gt; Maintenance''' (ou '''Admin &amp;gt; Ressources &amp;gt; Navigabilité''' pour la version 3) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|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|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;
Si vous faites des points-fixes, par exemple, qui font tourner l'horamètre et que vous ne souhaitez pas que ces temps soient comptés dans les heures de vols (et donc dans le calcul du potentiel), il suffit de mettre à jour le compteur mécanique :&lt;br /&gt;
*'''Admin &amp;gt; Ressources &amp;gt; Ressources'''&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;
=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;
Afin de garantir [[Comptabilité#Traçabilité-des-écritures|la traçabilité et la confiance entre les parties-prenantes]], 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;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=15084</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=15084"/>
				<updated>2017-01-12T13:21:31Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Initialisation de la gestion des potentiels */&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 la prochaine échéance de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&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 [[Documentation administrateur#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;
=Activation du module de gestion des potentiels=&lt;br /&gt;
*'''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Formulaire '''Gestion des vols'''&lt;br /&gt;
*Champ '''Gestion des potentiels''', cliquer sur '''Activé(e)'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' du formulaire&lt;br /&gt;
&lt;br /&gt;
==Initialisation de la gestion des potentiels==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Ressources &amp;gt; Ressources'''&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 additionnels#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
==Initialisation de la gestion des alertes==&lt;br /&gt;
*'''Admin &amp;gt; Flotte &amp;gt; Maintenance''' (ou '''Admin &amp;gt; Ressources &amp;gt; Navigabilité''' pour la version 3) 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;
*'''Admin &amp;gt; Flotte &amp;gt; Maintenance''' (ou '''Admin &amp;gt; Ressources &amp;gt; Navigabilité''' pour la version 3) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|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|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;
Si vous faites des points-fixes, par exemple, qui font tourner l'horamètre et que vous ne souhaitez pas que ces temps soient comptés dans les heures de vols (et donc dans le calcul du potentiel), il suffit de mettre à jour le compteur mécanique :&lt;br /&gt;
*'''Admin &amp;gt; Ressources &amp;gt; Ressources'''&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;
=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;
Afin de garantir [[Comptabilité#Traçabilité-des-écritures|la traçabilité et la confiance entre les parties-prenantes]], 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;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=15083</id>
		<title>Suivi de maintenance</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Suivi-de-maintenance&amp;diff=15083"/>
				<updated>2017-01-12T13:20:55Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* 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 le module de suivi de la prochaine échéance de [[Maintenance aéronautique|maintenance]].&lt;br /&gt;
&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 [[Documentation administrateur#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;
=Activation du module de gestion des potentiels=&lt;br /&gt;
*'''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Formulaire '''Gestion des vols'''&lt;br /&gt;
*Champ '''Gestion des potentiels''', cliquer sur '''Activé(e)'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' du formulaire&lt;br /&gt;
&lt;br /&gt;
==Initialisation de la gestion des potentiels==&lt;br /&gt;
*'''Admin &amp;gt; Flotte &amp;gt; aéronef''' (ou '''Admin &amp;gt; Ressources &amp;gt; Ressources''' pour la version 3) 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 additionnels#bookingEstimatedFlightTime|bookingEstimatedFlightTime]].&lt;br /&gt;
&lt;br /&gt;
==Initialisation de la gestion des alertes==&lt;br /&gt;
*'''Admin &amp;gt; Flotte &amp;gt; Maintenance''' (ou '''Admin &amp;gt; Ressources &amp;gt; Navigabilité''' pour la version 3) 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;
*'''Admin &amp;gt; Flotte &amp;gt; Maintenance''' (ou '''Admin &amp;gt; Ressources &amp;gt; Navigabilité''' pour la version 3) :&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Maintenance_table_fr.jpg|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|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;
Si vous faites des points-fixes, par exemple, qui font tourner l'horamètre et que vous ne souhaitez pas que ces temps soient comptés dans les heures de vols (et donc dans le calcul du potentiel), il suffit de mettre à jour le compteur mécanique :&lt;br /&gt;
*'''Admin &amp;gt; Ressources &amp;gt; Ressources'''&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;
=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;
Afin de garantir [[Comptabilité#Traçabilité-des-écritures|la traçabilité et la confiance entre les parties-prenantes]], 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;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=FAQ-administrateur&amp;diff=15065</id>
		<title>FAQ administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=FAQ-administrateur&amp;diff=15065"/>
				<updated>2017-01-09T10:40:02Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Comment récupérer les vols dans ifly ? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Questions générales=&lt;br /&gt;
&lt;br /&gt;
==Comment personnaliser la documentation utilisateur ?==&lt;br /&gt;
Il suffit de suivre la FAQ indiquant [[FAQ utilisateur#Comment_imprimer_la_doc?|comment imprimer la doc]] et, au lieu de l'imprimer avec son navigateur, effectuer une sauvegarde avec la commande &amp;quot;Enregistrer sous...&amp;quot; ou équivalente de son navigateur.&lt;br /&gt;
Vous obtiendrez ainsi un fichier HTML que vous pourrez modifier à l'aide d'un logiciel d'édition comme Open Office.&lt;br /&gt;
&lt;br /&gt;
==Comment se connecter sur le support-forum ?==&lt;br /&gt;
*Allez sur l'onglet &amp;quot;Support&amp;quot; du site [http://www.openflyers.com openflyers]&lt;br /&gt;
*Cliquez sur '''S'identifier''' (en haut à droite)&lt;br /&gt;
*Puis cliquez sur '''Pas encore enregistré ? - Cliquez ici pour vous enregistrer -'''&lt;br /&gt;
*Vous n'avez plus qu'à vous créer un profil utilisateur, à le soumettre&lt;br /&gt;
*Vous devez recevoir automatiquement un mail de confirmation avec un lien à suivre&lt;br /&gt;
&lt;br /&gt;
==Comment se connecter sur le BTS pour rapporter un bug ?==&lt;br /&gt;
*Allez sur [http://bts.openflyers.org le BTS]&lt;br /&gt;
*Cliquez sur &amp;quot;Ouvrir un nouveau compte&amp;quot;&lt;br /&gt;
*Remplissez les champs&lt;br /&gt;
*Vous devez recevoir automatiquement un mail de confirmation avec un lien à suivre&lt;br /&gt;
&lt;br /&gt;
=Affichage=&lt;br /&gt;
&lt;br /&gt;
==Le logo de la structure prend toute la place sur la page d'accueil, comment corriger cela ?==&lt;br /&gt;
Il suffit de diminuer la taille du logo avec un logiciel d'édition d'image comme &amp;quot;gimp&amp;quot;. Une taille normale devrait être de l'ordre de 100 pixels par 100 pixels et faire un poids d'une vingtaine de kilo-octets.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation administrateur#Logo_de_la_structure|La mise à jour du logo ne s'effectue pas]]==&lt;br /&gt;
&lt;br /&gt;
==Comment modifier le nom et l'adresse e-mail administrateur en page d'accueil ?==&lt;br /&gt;
Si vous ne souhaitez pas que le nom de l'administrateur en page d'accueil soit celui d'un utilisateur réel, il faut créer un utilisateur fictif :&lt;br /&gt;
*Aller côté admin dans '''Utilisateurs &amp;gt; Utilisateurs &amp;gt; Utilisateurs actifs'''&lt;br /&gt;
*Cliquer sur '''AJOUTER UN UTILISATEUR'''&lt;br /&gt;
*Choisir un identifiant facile à identifier comme étant &amp;quot;différent&amp;quot; des autres utilisateurs. Une bonne pratique peut être de construire le nom de telle sorte qu'il apparaisse en 1er dans la liste des utilisateurs (par exemple ''aaaADMIN'').&lt;br /&gt;
*Choisir un mot de passe&lt;br /&gt;
*Saisir le nom et le prénom de l'utilisateur fictif avec soin car c'est ce nom qui apparaitra dans la page d'accueil (par exemple '''Contact STRUCTURE''')&lt;br /&gt;
*Attribuer un profil avec des droits administrateur&lt;br /&gt;
*'''Valider'''&lt;br /&gt;
Ensuite, il faut modifier la configuration pour que cet utilisateur soit l'administrateur en page d'accueil :&lt;br /&gt;
*'''Configuration &amp;gt; Structure &amp;gt; Configuration de la structure'''&lt;br /&gt;
*Modifier le champ '''Responsable OpenFlyers''' pour y mettre l'utilisateur fictif qui vient d'être créé&lt;br /&gt;
*'''Valider'''&lt;br /&gt;
&lt;br /&gt;
==Comment modifier l'adresse e-mail d'envoi qui sert pour les avis de réservations ?==&lt;br /&gt;
*Aller côté admin dans '''Configuration &amp;gt; Structure &amp;gt; Configuration de la structure'''&lt;br /&gt;
*Editer le contenu du champ '''Adresse de l'expéditeur (pour la confirmation des réservations)'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=[[FAQ comptabilité|Comptabilité/Finance]]=&lt;br /&gt;
&lt;br /&gt;
=Logs=&lt;br /&gt;
==A quoi servent les adresses IPs bloquées ou les identifiants bloqués ?==&lt;br /&gt;
Voir [[Gestion des logs#Identifiants_bloqués|la documentation sur les identifiants bloqués]] ou [[Gestion des logs#Adresses_IP_bloquées|la documentation sur les adresses IPs bloquées]].&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Comment limiter la période du planning ?==&lt;br /&gt;
*Menu '''Admin'''&lt;br /&gt;
*Menu '''Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Formulaire '''Gestion des réservations'''&lt;br /&gt;
*Modifier les champs '''Heure TU de début d'activité''' et '''Heure TU de fin d'activité exprimée en TU'''&lt;br /&gt;
*Valider les modifications en cliquant sur le bouton '''Valider''' associé au formulaire '''Gestion des réservations'''&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
==[[FAQ-export#Import-de-fichiers-CSV-dans-Excel|Nous rencontrons des problèmes de reconnaissance de caractères accentués avec Excel]]==&lt;br /&gt;
&lt;br /&gt;
==Où puis-je faire mes propres requêtes SQL personnalisées afin d'afficher des rapports ?==&lt;br /&gt;
Vous allez dans le menu '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Créer/Modifier''' puis Ajouter et dans le champ '''Requête SQL''', vous placez votre requête.&lt;br /&gt;
&lt;br /&gt;
Pour visualiser le résultat, allez '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser''' puis cochez les rapports que vous désirez voir.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe plusieurs rapports, il faut éviter d'utiliser &amp;quot;Tous cocher&amp;quot; car cela risque d'aboutir à une page vide par dépassement des ressources.&lt;br /&gt;
&lt;br /&gt;
==Où trouver des requêtes SQL pour générer des rapports ?==&lt;br /&gt;
Nous préconisons la centralisation des requêtes SQL sur le wiki anglais sur la page [[OF_doc-en:Export-generator-3|Export generator]]. Cela permet d'avoir une ressource d'informations centralisée utilisable par les administrateurs de tous les pays.&lt;br /&gt;
&lt;br /&gt;
==[[OF_doc-en:Database-description|Où trouver la liste des champs et des tables des bases de données OpenFlyers ?]]==&lt;br /&gt;
&lt;br /&gt;
==Je ne trouve pas la requête que je souhaite, comment la demander ?==&lt;br /&gt;
Si vous ne trouvez pas sur la page [https://openflyers.com/en/doc/Export-generator-3 Export generator] la requête que vous souhaitez, nous préconisons l'utilisation du support-forum depuis [http://www.openflyers.com www.openflyers.com] pour effectuer une demande de création de requête SQL.&lt;br /&gt;
&lt;br /&gt;
Soit un autre utilisateur vous proposera alors son aide, soit nous vous proposerons de créer cette requête SQL. Comme cela nécessite pour nous du temps, nous facturons cette création qui ensuite sera rajoutée sur la page contenant les diverses requêtes SQL.&lt;br /&gt;
&lt;br /&gt;
Le coût de cette création est fonction de la complexité de la requête. Il est facturé au coût horaire &amp;quot;Assistance - Intervention&amp;quot; présent sur le [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire]. A noter que l'assistance peut être prise en charge dans le cadre du bonus développement (cf. le catalogue tarifaire).&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des rapports#Configurer_les_rapports_visibles_pour_les_utilisateurs|Comment gérer les rapports auxquels ont accès les utilisateurs ?]]==&lt;br /&gt;
&lt;br /&gt;
==Dans les exports csv il apparait des « N° Id ». A quoi correspond ce numéro ?==&lt;br /&gt;
C'est un numéro interne à la base de données OpenFlyers (une clé primaire en langage base de données). Il ne sert que lorsqu'il est utilisé pour des requêtes d'extractions en SQL (cf. http://doc-en.openflyers.com/index.php?title=Export_generator )&lt;br /&gt;
&lt;br /&gt;
==Pourquoi les rapports de statistique ne donnent pas des valeurs identiques ?==&lt;br /&gt;
Les rapports pour les statistiques DGAC sont conçus avec une configuration qui permet d'avoir les critères de sélection nécessaires à ces rapports.&lt;br /&gt;
&lt;br /&gt;
Si vous avez des différences dans les totaux de ces différents rapports c'est que votre configuration ne respecte pas ces critères.&lt;br /&gt;
&lt;br /&gt;
L'erreur la plus courante concerne les vols d'instruction qui ne possède pas de type de vol Local ou Navigation. Ceci est du au paramètres &amp;quot;Si un seul type de vol est sélectionné dans le cas de la présence d'un second pilote en demander au moins un autre&amp;quot; sélectionné sur NON&lt;br /&gt;
Voir [[#Message_de_type_de_vol_manquant_pour_un_vol_en_double_commande...|Message de type de vol manquant pour un vol en double commande...]].&lt;br /&gt;
&lt;br /&gt;
La conséquence c'est que les vols d'instruction peuvent n'avoir comme type de vol que Instruction. Ces vols ne sont donc pas comptabilisés dans la requête [[OF_doc-en:Export_generator_3.0#Flights_hours_total_per_flight_type|Heures de vol par type de vol]] qui supprime les vols ayant le type de vol &amp;quot;Instruction&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Seuls les vols en Instruction peuvent être différenciés des autres types de vol avec l'option ci-dessus.&lt;br /&gt;
Si le pilote sélectionne plusieurs types de vol alors ces vols seront comptabilisés en double dans la requête des types de vol. Il faut cocher dans les types de vols le maximum d'incompatibilité pour éviter les décomptes en double.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi tous les rapports sont visibles pour un profil X alors que nous avons défini un nombre restreint de rapports visibles ?==&lt;br /&gt;
Cela vient sans doute du fait que le droit [[Gestion des profils#Généralités_Admin|Visualiser les rapports]] est activé pour le profil X.&lt;br /&gt;
&lt;br /&gt;
Voir aussi [[#Comment_gérer_les_rapports_auxquels_ont_accès_les_utilisateurs_?|Comment gérer les rapports auxquels ont accès les utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
==Comment faire un publipostage aux utilisateurs ?==&lt;br /&gt;
Ceci peut facilement être effectuée avec un tableur et un traitement de texte&lt;br /&gt;
&lt;br /&gt;
Dans '''Admin &amp;gt; Rapports &amp;gt; Visualiser''' sélectionnée le rapport &lt;br /&gt;
''Liste des membres par ordre alphabétique''&lt;br /&gt;
 &lt;br /&gt;
Si il n'est pas existant voir [http://doc-en.openflyers.com/index.php?title=Export-generator-3#Member_list_coordinates | Liste des coordonnées des utilisateurs]&lt;br /&gt;
&lt;br /&gt;
*Sélectionnée à l'aide de la souris le tableau depuis les entêtes jusqu’à la fin en bas à droite&lt;br /&gt;
*Copier la sélection&lt;br /&gt;
*Allez dans Votre tableur et faite un Coller&lt;br /&gt;
*Nettoyer éventuellement les lignes indésirables (membres actifs seulement par exemple). Les colonnes inutilisées peuvent rester sans gêne pour le publipostage&lt;br /&gt;
*Enregistrer le fichier&lt;br /&gt;
*Ouvrir votre traitement de texte &lt;br /&gt;
*Allez dans l'utilitaire de rédaction d'un publipostage&lt;br /&gt;
*Créer votre modèle et lier les champs avec votre fichier du tableur&lt;br /&gt;
*Lancer vos impressions de courrier et/ou enveloppe&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle sauvegardé il suffit de mettre à jours votre fichier du tableur et vos impressions seront mises à jour&lt;br /&gt;
&lt;br /&gt;
Voir un des nombreux tutoriels sur le net en fonction de vos logiciels&lt;br /&gt;
&lt;br /&gt;
Exemple avec Open Office 3.3&lt;br /&gt;
http://www.openoffice.org/fr/Documentation/How-to/writer/Publipostage.pdf&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
&lt;br /&gt;
==Comment limiter le nombre de réservations par utilisateur ?==&lt;br /&gt;
*Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des réservations''', modifier le champ '''Limitation du nombre de réservations'''&lt;br /&gt;
*Valider la modification en cliquant sur le bouton '''Valider''' associé au formulaire '''Gestion des réservations'''&lt;br /&gt;
&lt;br /&gt;
==Comment limiter dans le temps les réservations ?==&lt;br /&gt;
L'objectif est de pouvoir empêcher les réservations plus de X semaines à l'avance.&lt;br /&gt;
*Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des réservations''', modifier le champ '''Limitation dans le temps des réservations'''&lt;br /&gt;
*Enregistrer les modifications en cliquant sur le bouton '''Valider''' associé au formulaire '''Gestion des réservations'''.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation administrateur#Gestion_des_réservations|Comment activer le contrôle des validités pour les réservations ?]]==&lt;br /&gt;
&lt;br /&gt;
==Je reçois par e-mail les avis de réservation de tout le monde, pourquoi ?==&lt;br /&gt;
Sûrement parce que dans votre profil, vous avez le droit &amp;quot;Alertable par mail pour toute réservation&amp;quot; d'activé.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi j'ai une alerte &amp;quot;l'instructeur n'est pas disponible&amp;quot; ?==&lt;br /&gt;
Les instructeurs ont la possibilité de définir leurs disponibilités dans OpenFlyers. Il y a 2 politiques possibles :&lt;br /&gt;
*Soit l'instructeur décide de se mettre tout le temps disponible afin de supprimer les messages d'alerte et il gérera ses disponibilités réelles autrement&lt;br /&gt;
*Soit l'instructeur saisit directement dans OpenFlyers ses disponibilités réelles. Dans ce cas, les message d'alertes prennent tout leur sens. Il est alors possible de donner le droit (au travers des profils) à des utilisateurs de surpasser ou non cette alerte.&lt;br /&gt;
La gestion des disponibilités des instructeurs se fait dans [[Gestion des utilisateurs#Gestion_des_disponibilités_des_intervenants|Données &amp;gt; (In)disponibilités]].&lt;br /&gt;
&lt;br /&gt;
==Comment rendre obligatoire la saisie des champs départ et arrivé ?==&lt;br /&gt;
*'''Admin/Configuration/Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des réservations''', il faut modifier le paramétrage '''Saisie de la destination (si champ lieu d'arrivée coché)''' en fonction de ce que l'on souhaite (cela peut-être libre, obligatoire ou obligatoire pour les réservations dépassant une durée à choisir)&lt;br /&gt;
*'''Valider''' le formulaire&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des logs#Retrouver_qui_a_supprimé_une_réservation|Comment retrouver qui a supprimé une réservation ?]]==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des ressources#Désactiver_une_ressource|Comment désactiver une ressource ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation administrateur#Activer_le_contrôle_des_validités_pour_la_saisie_des_vols_en_ouverture_ou_en_fermeture|Comment activer le contrôle des validités pour la saisie des vols ?]]==&lt;br /&gt;
&lt;br /&gt;
==Affichage des heures de vols==&lt;br /&gt;
*Les temps de vol des carnets de vol s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté, paramétré dans Données/Affichage et fiche personnelle. Voir [http://doc-en.openflyers.com/index.php?title=UserDoc2.0#Date_and_time_format Patron de date et heure]&lt;br /&gt;
*Les temps de vol des carnets de route s'affichent selon l' &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré dans Admin/Configuration/Paramétrage*Les temps de vol sur les comptes s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté, il ne dépend pas du choix du propriétaire du compte &lt;br /&gt;
*La saisie des vols est fonction du parametrage de la gestion des vols &amp;quot;Unité de temps par défaut de la structure&amp;quot; &lt;br /&gt;
*Les compteurs des avions s'affichent selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot; paramétré dans '''Admin &amp;gt; Ressources &amp;gt; Types de ressource'''&lt;br /&gt;
*La vérification de la continuité des vols affiche le temps de vols selon &amp;quot;Unité de temps par défaut de la structure&amp;quot; et les compteurs selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Alerte &amp;quot;Pas de profil attribué à la première place&amp;quot;==&lt;br /&gt;
Il manque la [[Documentation administrateur#Utilisateurs_&amp;gt;_Profils_plus|1ère place d'attribuée à au moins un profil]].&lt;br /&gt;
&lt;br /&gt;
=Suivi de navigabilité=&lt;br /&gt;
==[[Suivi de maintenance#Unité_de_mesure_des_heures|Pourquoi l'unité du total des heures d'un aéronef ne correspond pas avec celle de son compteur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Initialisation_de_la_gestion_des_potentiels|Initialisation de la gestion des potentiels]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Initialisation_de_la_gestion_des_alertes|Initialisation de la gestion des alertes]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Butées_de_maintenance|Butées de maintenance]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Gestion_des_points_fixes|Comment enlever les temps &amp;quot;maintenance&amp;quot; ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Affichage_du_potentiel_estimé_restant_dans_les_créneaux_de_réservation|Comment afficher le potentiel restant dans le planning des réservations ?]]==&lt;br /&gt;
&lt;br /&gt;
=Utilisateurs=&lt;br /&gt;
==Comment avoir la liste des utilisateurs à jour d'une certaine validité ?==&lt;br /&gt;
Deux solutions :&lt;br /&gt;
*[[Gestion des validités#Lister_tous_les_utilisateurs_détenant_une_validité|Lister tous les utilisateurs détenant une validité]].&lt;br /&gt;
*Rapport [[Gestion des rapports#Liste_des_utilisateurs_dont_une_validité_X_expire_l'année_Y|Liste des utilisateurs dont une validité X expire l'année Y]].&lt;br /&gt;
&lt;br /&gt;
==Comment changer le profil d'un utilisateur ?==&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs'''&lt;br /&gt;
*Sélectionner la ficher de l'utilisateur à modifier (icône crayon)&lt;br /&gt;
*Dans le champ '''Profil''', sélectionner/dé-selectionner les profils souhaités&lt;br /&gt;
*'''Valider'''&lt;br /&gt;
Remarque : il n'est possible d'attribuer à des utilisateurs que des profils de niveau inférieur ou égal à son propre profil, c'est à dire dont les droits sont équivalents ou moindre.&lt;br /&gt;
&lt;br /&gt;
==Comment mettre à jour les cotisations des utilisateurs ?==&lt;br /&gt;
A partir de la version 3, les cotisations sont gérées comme un type de [[Gestion des validités|validité]].&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Ajouter_un_utilisateur|Comment ajouter un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Modifier_un_utilisateur|Comment modifier un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Supprimer/Désactiver_un_utilisateur|Comment Supprimer/désactiver un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==Certains utilisateurs apparaissent sur fond rouge, pourquoi ?==&lt;br /&gt;
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;
==Import des utilisateurs et mot de passe==&lt;br /&gt;
&lt;br /&gt;
Lorsque un import est réalisé depuis '''Admin &amp;gt; Configuration &amp;gt; Imports &amp;gt; Importer des utilisateurs''', les nouveaux utilisateurs ont comme mot de passe le numéro de membre. &lt;br /&gt;
&lt;br /&gt;
Si c'est un utilisateur qui a été remis à jour grâce au rapprochement, le mot de passe ne change pas.&lt;br /&gt;
&lt;br /&gt;
==Comment ré-utiliser des numéros de membre==&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'utiliser le même numéro de membre pour plusieurs utilisateurs. Le système va refuser l'attribution du numéro de membre à l'utilisateur que l'on veut créer/modifier si on lui attribue le même numéro de membre qu'un membre déjà existant en base de données.&lt;br /&gt;
&lt;br /&gt;
Attention : cette restriction s'applique également pour les utilisateurs désactivés.&lt;br /&gt;
&lt;br /&gt;
Dans ce cas, si l'on souhaite réattribuer ce numéro à un autre utilisateur, il faut procéder de la manière suivante :&lt;br /&gt;
* Ré-activer l'utilisateur désactivé&lt;br /&gt;
* Changer son numéro de membre (ou mettre le champ à vide)&lt;br /&gt;
* Désactiver l'utilisateur&lt;br /&gt;
* Créer/modifier l'autre utilisateur et lui affecter le numéro&lt;br /&gt;
&lt;br /&gt;
==Certains utilisateurs ne peuvent voir les ressources sur le planning==&lt;br /&gt;
Il faut [[Documentation administrateur#Utilisateurs_&amp;gt;_Profils_plus|rendre les types de ressources visibles]] pour les profils concernés et également vérifier que l'utilisateur a cocher la visibilité de la ressource dans '''Données &amp;gt; Affichage et fiche personnelle'''. Une autre façon d'activer par défaut la visibilité à tous les utilisateurs est de cliquer sur l'icône '''Montrer''' dans '''Ressources &amp;gt; Ressources'''.&lt;br /&gt;
&lt;br /&gt;
==[[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|Comment restreindre les droits d'un utilisateur dont le solde du compte est insuffisant ?]]==&lt;br /&gt;
&lt;br /&gt;
==Comment augmenter le temps avant la déconnexion automatique pour certains utilisateurs ?==&lt;br /&gt;
Il faut attribuer le droit '''[[Gestion des profils#Généralités_cahier|Pas de déconnexion automatique]]''' aux profils concernés.&lt;br /&gt;
&lt;br /&gt;
==Utilisateur non visible sur le planning==&lt;br /&gt;
Si après ajout d'un nouvel utilisateur disposant d'un profil avec les droits [[Gestion des profils#Réservation|'''Planning personnel''' et '''Planning individuel visible pour les autres''']] n'est pas visible sur le planning, il faut [[Documentation utilisateur#Gérer_ses_disponibilités|vérifier ses disponibilités]].&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des logs#Traçabilité|Traçabilité des modifications de la base de données]]=&lt;br /&gt;
&lt;br /&gt;
=Validités=&lt;br /&gt;
==Comment permettre aux utilisateurs de réserver au-delà de la fin de validité de leur cotisation ?==&lt;br /&gt;
*Il suffit de paramétrer le type de validité correspondant pour qu'il ne restreigne pas le profil à la connexion et faire en sorte que cette validité ne soit pas requise pour les réservations.&lt;br /&gt;
&lt;br /&gt;
==Comment activer une formule d’expérience récente ?==&lt;br /&gt;
*Dans '''Admin &amp;gt; Utilisateurs &amp;gt; Type de validité''' saisir la [[OF_doc-en:AdminDoc3.0#Recent_experience:_.22experience_formula.22|formule]] dans la colonne &amp;quot;Formule d’expérience&amp;quot; récente&lt;br /&gt;
*Voir [[#Comment_activer_le_contrôle_des_validités_pour_les_réservations_?|Comment activer le contrôle des validités pour les réservation ?]] pour appliquer la gestion de l'expérience récente lors des réservation&lt;br /&gt;
*Voir [[#Comment_activer_le_contrôle_des_validités_pour_la_saisie_des_vols_?|Comment activer le contrôle des validités pour la saisie des vols ?]] pour appliquer la gestion de l'expérience récente lors de la saisie des vols&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Ajouter_une_validité_à_un_utilisateur|Comment ajouter une validité à un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Modifier_la_validité_d'un_utilisateur|Comment modifier la validité d'un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Lister|Comment obtenir la liste des utilisateurs détenteurs d'une validité ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Supprimer|Comment supprimer un type de validité ?]]==&lt;br /&gt;
&lt;br /&gt;
==Nous avons un type de validité avec expérience récente et restriction du profil à la connexion mais c'est sans effet==&lt;br /&gt;
Les validités à expérience récente ne sont pas vérifiées à la connexion. En effet, à la connexion on ne vérifie la péremption que des validités à échéance qui sont attribuées à la personne qui se connecte. Ainsi, une personne qui n'aura aucune validité d'attribuée ne sera pas restreinte par une absence de validité. Par contre, une personne qui aura une validité qui aura périmée, sera elle restreinte au profil associé à cette validité.&lt;br /&gt;
&lt;br /&gt;
==Nous avons une restriction de profil lorsqu'une validité est périmée mais c'est sans effet sur les utilisateurs qui ne détiennent pas cette validité==&lt;br /&gt;
Il n'y a pas de raison de restreindre l'accès à des utilisateurs qui n'ont pas obligation à détenir telle ou telle validité. Sinon, il ne serait pas possible de gérer plusieurs populations d'utilisateurs sur une même plateforme. Exemple : Pilotes ULM sans visite médicale et pilotes avions avec visite médicale.&lt;br /&gt;
&lt;br /&gt;
Pour bloquer les utilisateurs qui ne détiennent pas une validité donnée, il suffit de leur attribuer cette validité avec une date d'échéance périmée.&lt;br /&gt;
&lt;br /&gt;
=Vols=&lt;br /&gt;
==[[Récupération-des-vols-par-un-logiciel-tiers|Comment récupérer les vols dans iFly ?]]==&lt;br /&gt;
&lt;br /&gt;
==Comment visualiser les vols oubliés ?==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' :&lt;br /&gt;
- Vous cliquez sur l'icône de l'avion de la colonne &amp;quot;Vérifier la continuité des vols&lt;br /&gt;
&lt;br /&gt;
- Vous pouvez éventuellement limiter votre contrôle entre 2 dates et/ou à partir d'un compteur particulier (utile pour lister les vols entre 2 maintenances). Par défaut les vols du mois en cours sont proposés&lt;br /&gt;
&lt;br /&gt;
- Si vous avez sélectionné l'option compteur sur cette avion, les discordances apparaissent en rouge sur fond grisé. L'erreur peut provenir de la ligne supérieure. Cliquer sur l'icône d'édition du vols dans la colonne action. Vous retrouvez la page de saisie pour corriger le compteur (ceci peut demander de modifier aussi le temps de vol)&lt;br /&gt;
&lt;br /&gt;
*Il est conseillé d'effectuer le contrôle de la continuité des vols et de leurs concordances avec le carnet de route régulièrement. Chaque fin de mois ou, si le suivi des potentiels est utilisé, avant chaque opération de maintenance&lt;br /&gt;
&lt;br /&gt;
==Message de type de vol manquant pour un vol en double commande...==&lt;br /&gt;
*Vous avez sélectionné en admin &amp;quot;Type de vol requis dans le cas de la présence d'un second pilote à bord&amp;quot; et lorsque vous saisissez un vol en double commande il vous est impossible de le valider malgré la sélection du fameux type de vol requis.&lt;br /&gt;
Vous avez un message d'alerte &amp;quot;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&amp;quot;.&lt;br /&gt;
Dans ce cas, il faut que l'utilisateur indiquer un type de vol complémentaire&lt;br /&gt;
* Si vous ne souhaitez pas ce comportement il fait mettre &amp;quot;NON&amp;quot; à l'option &amp;quot;Le type de vol requis dans le cas de la présence d'un second pilote à bord ne peut être sélectionné seul&amp;quot;. &lt;br /&gt;
La conséquence de cette configuration est importante sur la façon dont vous souhaitez calculer vos statistiques. Si le critère est manquant le calcul ne pourra pas etre correct &lt;br /&gt;
(exemple : en cas d'instruction le temps de vol, selon le critère de classement local ou navigation de la DGAC, ne sera pas comptabilisé)&lt;br /&gt;
&lt;br /&gt;
==Peut-on saisir les avitaillements ?==&lt;br /&gt;
Pour saisir des avitaillements avant et/ou après les vols, il faut d'abord que les aéronefs soient définis avec un ou des réservoirs. Ce paramétrage s'effectue ainsi :&lt;br /&gt;
*'''Admin &amp;gt; Ressources &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône crayon associée à la ressource concernée&lt;br /&gt;
*Tout en bas de la page, il y a un tableau qui permet de définir les réservoirs.&lt;br /&gt;
&lt;br /&gt;
Pour l'essence, on conseille de ne définir qu'un seul réservoir même si l'aéronef dispose de plusieurs réservoirs. En effet, dans la pratique les pleins sont faits sans qu'il ne soit comptabilisé la quantité avitaillée par réservoir de plus, il est impossible de suivre les consommations par réservoir.&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors un ou des types de réservoirs sont définis, les champs d'avitaillements apparaissent dans le formulaire de saisie des vols pour indiquer s'il y a eu un plein avant et/ou après le vol. Ils sont par défaut &amp;quot;repliés&amp;quot; et il faut cliquer sur la check-box correspondante pour les &amp;quot;déplier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Il est ensuite possible de suivre les consommations par aéronef à l'aide de [[OF_doc-en:Export_generator_3.0|rapports]] prévus à cet effet.&lt;br /&gt;
&lt;br /&gt;
==Problèmes de compteurs==&lt;br /&gt;
Si vous changez d'horamètre ou qu'il est remis à 0, alors il est nécessaire de [[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|réinitialiser le compteur]].&lt;br /&gt;
&lt;br /&gt;
Si le compteur ou l'horamètre ont eu une défaillance au cours d'un vol, alors il faut calculer en fonction du temps de vol réellement retenu quelle devrait la valeur du compteur arrivé et saisir le vol avec cette valeur. Une fois le vol saisi, il faut [[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|remettre le compteur à la valeur réelle]] pour qu'il n'y ait pas de propagation du décalage.&lt;br /&gt;
&lt;br /&gt;
==[[Facturation des heures de vol#Supprimer_une_activité|Comment supprimer un vol ?]]==&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=FAQ-administrateur&amp;diff=15064</id>
		<title>FAQ administrateur</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=FAQ-administrateur&amp;diff=15064"/>
				<updated>2017-01-09T10:39:52Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Vols */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Questions générales=&lt;br /&gt;
&lt;br /&gt;
==Comment personnaliser la documentation utilisateur ?==&lt;br /&gt;
Il suffit de suivre la FAQ indiquant [[FAQ utilisateur#Comment_imprimer_la_doc?|comment imprimer la doc]] et, au lieu de l'imprimer avec son navigateur, effectuer une sauvegarde avec la commande &amp;quot;Enregistrer sous...&amp;quot; ou équivalente de son navigateur.&lt;br /&gt;
Vous obtiendrez ainsi un fichier HTML que vous pourrez modifier à l'aide d'un logiciel d'édition comme Open Office.&lt;br /&gt;
&lt;br /&gt;
==Comment se connecter sur le support-forum ?==&lt;br /&gt;
*Allez sur l'onglet &amp;quot;Support&amp;quot; du site [http://www.openflyers.com openflyers]&lt;br /&gt;
*Cliquez sur '''S'identifier''' (en haut à droite)&lt;br /&gt;
*Puis cliquez sur '''Pas encore enregistré ? - Cliquez ici pour vous enregistrer -'''&lt;br /&gt;
*Vous n'avez plus qu'à vous créer un profil utilisateur, à le soumettre&lt;br /&gt;
*Vous devez recevoir automatiquement un mail de confirmation avec un lien à suivre&lt;br /&gt;
&lt;br /&gt;
==Comment se connecter sur le BTS pour rapporter un bug ?==&lt;br /&gt;
*Allez sur [http://bts.openflyers.org le BTS]&lt;br /&gt;
*Cliquez sur &amp;quot;Ouvrir un nouveau compte&amp;quot;&lt;br /&gt;
*Remplissez les champs&lt;br /&gt;
*Vous devez recevoir automatiquement un mail de confirmation avec un lien à suivre&lt;br /&gt;
&lt;br /&gt;
=Affichage=&lt;br /&gt;
&lt;br /&gt;
==Le logo de la structure prend toute la place sur la page d'accueil, comment corriger cela ?==&lt;br /&gt;
Il suffit de diminuer la taille du logo avec un logiciel d'édition d'image comme &amp;quot;gimp&amp;quot;. Une taille normale devrait être de l'ordre de 100 pixels par 100 pixels et faire un poids d'une vingtaine de kilo-octets.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation administrateur#Logo_de_la_structure|La mise à jour du logo ne s'effectue pas]]==&lt;br /&gt;
&lt;br /&gt;
==Comment modifier le nom et l'adresse e-mail administrateur en page d'accueil ?==&lt;br /&gt;
Si vous ne souhaitez pas que le nom de l'administrateur en page d'accueil soit celui d'un utilisateur réel, il faut créer un utilisateur fictif :&lt;br /&gt;
*Aller côté admin dans '''Utilisateurs &amp;gt; Utilisateurs &amp;gt; Utilisateurs actifs'''&lt;br /&gt;
*Cliquer sur '''AJOUTER UN UTILISATEUR'''&lt;br /&gt;
*Choisir un identifiant facile à identifier comme étant &amp;quot;différent&amp;quot; des autres utilisateurs. Une bonne pratique peut être de construire le nom de telle sorte qu'il apparaisse en 1er dans la liste des utilisateurs (par exemple ''aaaADMIN'').&lt;br /&gt;
*Choisir un mot de passe&lt;br /&gt;
*Saisir le nom et le prénom de l'utilisateur fictif avec soin car c'est ce nom qui apparaitra dans la page d'accueil (par exemple '''Contact STRUCTURE''')&lt;br /&gt;
*Attribuer un profil avec des droits administrateur&lt;br /&gt;
*'''Valider'''&lt;br /&gt;
Ensuite, il faut modifier la configuration pour que cet utilisateur soit l'administrateur en page d'accueil :&lt;br /&gt;
*'''Configuration &amp;gt; Structure &amp;gt; Configuration de la structure'''&lt;br /&gt;
*Modifier le champ '''Responsable OpenFlyers''' pour y mettre l'utilisateur fictif qui vient d'être créé&lt;br /&gt;
*'''Valider'''&lt;br /&gt;
&lt;br /&gt;
==Comment modifier l'adresse e-mail d'envoi qui sert pour les avis de réservations ?==&lt;br /&gt;
*Aller côté admin dans '''Configuration &amp;gt; Structure &amp;gt; Configuration de la structure'''&lt;br /&gt;
*Editer le contenu du champ '''Adresse de l'expéditeur (pour la confirmation des réservations)'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=[[FAQ comptabilité|Comptabilité/Finance]]=&lt;br /&gt;
&lt;br /&gt;
=Logs=&lt;br /&gt;
==A quoi servent les adresses IPs bloquées ou les identifiants bloqués ?==&lt;br /&gt;
Voir [[Gestion des logs#Identifiants_bloqués|la documentation sur les identifiants bloqués]] ou [[Gestion des logs#Adresses_IP_bloquées|la documentation sur les adresses IPs bloquées]].&lt;br /&gt;
&lt;br /&gt;
=Planning=&lt;br /&gt;
==Comment limiter la période du planning ?==&lt;br /&gt;
*Menu '''Admin'''&lt;br /&gt;
*Menu '''Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Formulaire '''Gestion des réservations'''&lt;br /&gt;
*Modifier les champs '''Heure TU de début d'activité''' et '''Heure TU de fin d'activité exprimée en TU'''&lt;br /&gt;
*Valider les modifications en cliquant sur le bouton '''Valider''' associé au formulaire '''Gestion des réservations'''&lt;br /&gt;
&lt;br /&gt;
=Rapports=&lt;br /&gt;
==[[FAQ-export#Import-de-fichiers-CSV-dans-Excel|Nous rencontrons des problèmes de reconnaissance de caractères accentués avec Excel]]==&lt;br /&gt;
&lt;br /&gt;
==Où puis-je faire mes propres requêtes SQL personnalisées afin d'afficher des rapports ?==&lt;br /&gt;
Vous allez dans le menu '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Créer/Modifier''' puis Ajouter et dans le champ '''Requête SQL''', vous placez votre requête.&lt;br /&gt;
&lt;br /&gt;
Pour visualiser le résultat, allez '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser''' puis cochez les rapports que vous désirez voir.&lt;br /&gt;
&lt;br /&gt;
Lorsqu'il existe plusieurs rapports, il faut éviter d'utiliser &amp;quot;Tous cocher&amp;quot; car cela risque d'aboutir à une page vide par dépassement des ressources.&lt;br /&gt;
&lt;br /&gt;
==Où trouver des requêtes SQL pour générer des rapports ?==&lt;br /&gt;
Nous préconisons la centralisation des requêtes SQL sur le wiki anglais sur la page [[OF_doc-en:Export-generator-3|Export generator]]. Cela permet d'avoir une ressource d'informations centralisée utilisable par les administrateurs de tous les pays.&lt;br /&gt;
&lt;br /&gt;
==[[OF_doc-en:Database-description|Où trouver la liste des champs et des tables des bases de données OpenFlyers ?]]==&lt;br /&gt;
&lt;br /&gt;
==Je ne trouve pas la requête que je souhaite, comment la demander ?==&lt;br /&gt;
Si vous ne trouvez pas sur la page [https://openflyers.com/en/doc/Export-generator-3 Export generator] la requête que vous souhaitez, nous préconisons l'utilisation du support-forum depuis [http://www.openflyers.com www.openflyers.com] pour effectuer une demande de création de requête SQL.&lt;br /&gt;
&lt;br /&gt;
Soit un autre utilisateur vous proposera alors son aide, soit nous vous proposerons de créer cette requête SQL. Comme cela nécessite pour nous du temps, nous facturons cette création qui ensuite sera rajoutée sur la page contenant les diverses requêtes SQL.&lt;br /&gt;
&lt;br /&gt;
Le coût de cette création est fonction de la complexité de la requête. Il est facturé au coût horaire &amp;quot;Assistance - Intervention&amp;quot; présent sur le [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire]. A noter que l'assistance peut être prise en charge dans le cadre du bonus développement (cf. le catalogue tarifaire).&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des rapports#Configurer_les_rapports_visibles_pour_les_utilisateurs|Comment gérer les rapports auxquels ont accès les utilisateurs ?]]==&lt;br /&gt;
&lt;br /&gt;
==Dans les exports csv il apparait des « N° Id ». A quoi correspond ce numéro ?==&lt;br /&gt;
C'est un numéro interne à la base de données OpenFlyers (une clé primaire en langage base de données). Il ne sert que lorsqu'il est utilisé pour des requêtes d'extractions en SQL (cf. http://doc-en.openflyers.com/index.php?title=Export_generator )&lt;br /&gt;
&lt;br /&gt;
==Pourquoi les rapports de statistique ne donnent pas des valeurs identiques ?==&lt;br /&gt;
Les rapports pour les statistiques DGAC sont conçus avec une configuration qui permet d'avoir les critères de sélection nécessaires à ces rapports.&lt;br /&gt;
&lt;br /&gt;
Si vous avez des différences dans les totaux de ces différents rapports c'est que votre configuration ne respecte pas ces critères.&lt;br /&gt;
&lt;br /&gt;
L'erreur la plus courante concerne les vols d'instruction qui ne possède pas de type de vol Local ou Navigation. Ceci est du au paramètres &amp;quot;Si un seul type de vol est sélectionné dans le cas de la présence d'un second pilote en demander au moins un autre&amp;quot; sélectionné sur NON&lt;br /&gt;
Voir [[#Message_de_type_de_vol_manquant_pour_un_vol_en_double_commande...|Message de type de vol manquant pour un vol en double commande...]].&lt;br /&gt;
&lt;br /&gt;
La conséquence c'est que les vols d'instruction peuvent n'avoir comme type de vol que Instruction. Ces vols ne sont donc pas comptabilisés dans la requête [[OF_doc-en:Export_generator_3.0#Flights_hours_total_per_flight_type|Heures de vol par type de vol]] qui supprime les vols ayant le type de vol &amp;quot;Instruction&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Seuls les vols en Instruction peuvent être différenciés des autres types de vol avec l'option ci-dessus.&lt;br /&gt;
Si le pilote sélectionne plusieurs types de vol alors ces vols seront comptabilisés en double dans la requête des types de vol. Il faut cocher dans les types de vols le maximum d'incompatibilité pour éviter les décomptes en double.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi tous les rapports sont visibles pour un profil X alors que nous avons défini un nombre restreint de rapports visibles ?==&lt;br /&gt;
Cela vient sans doute du fait que le droit [[Gestion des profils#Généralités_Admin|Visualiser les rapports]] est activé pour le profil X.&lt;br /&gt;
&lt;br /&gt;
Voir aussi [[#Comment_gérer_les_rapports_auxquels_ont_accès_les_utilisateurs_?|Comment gérer les rapports auxquels ont accès les utilisateurs]].&lt;br /&gt;
&lt;br /&gt;
==Comment faire un publipostage aux utilisateurs ?==&lt;br /&gt;
Ceci peut facilement être effectuée avec un tableur et un traitement de texte&lt;br /&gt;
&lt;br /&gt;
Dans '''Admin &amp;gt; Rapports &amp;gt; Visualiser''' sélectionnée le rapport &lt;br /&gt;
''Liste des membres par ordre alphabétique''&lt;br /&gt;
 &lt;br /&gt;
Si il n'est pas existant voir [http://doc-en.openflyers.com/index.php?title=Export-generator-3#Member_list_coordinates | Liste des coordonnées des utilisateurs]&lt;br /&gt;
&lt;br /&gt;
*Sélectionnée à l'aide de la souris le tableau depuis les entêtes jusqu’à la fin en bas à droite&lt;br /&gt;
*Copier la sélection&lt;br /&gt;
*Allez dans Votre tableur et faite un Coller&lt;br /&gt;
*Nettoyer éventuellement les lignes indésirables (membres actifs seulement par exemple). Les colonnes inutilisées peuvent rester sans gêne pour le publipostage&lt;br /&gt;
*Enregistrer le fichier&lt;br /&gt;
*Ouvrir votre traitement de texte &lt;br /&gt;
*Allez dans l'utilitaire de rédaction d'un publipostage&lt;br /&gt;
*Créer votre modèle et lier les champs avec votre fichier du tableur&lt;br /&gt;
*Lancer vos impressions de courrier et/ou enveloppe&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle sauvegardé il suffit de mettre à jours votre fichier du tableur et vos impressions seront mises à jour&lt;br /&gt;
&lt;br /&gt;
Voir un des nombreux tutoriels sur le net en fonction de vos logiciels&lt;br /&gt;
&lt;br /&gt;
Exemple avec Open Office 3.3&lt;br /&gt;
http://www.openoffice.org/fr/Documentation/How-to/writer/Publipostage.pdf&lt;br /&gt;
&lt;br /&gt;
=Réservations=&lt;br /&gt;
&lt;br /&gt;
==Comment limiter le nombre de réservations par utilisateur ?==&lt;br /&gt;
*Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des réservations''', modifier le champ '''Limitation du nombre de réservations'''&lt;br /&gt;
*Valider la modification en cliquant sur le bouton '''Valider''' associé au formulaire '''Gestion des réservations'''&lt;br /&gt;
&lt;br /&gt;
==Comment limiter dans le temps les réservations ?==&lt;br /&gt;
L'objectif est de pouvoir empêcher les réservations plus de X semaines à l'avance.&lt;br /&gt;
*Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des réservations''', modifier le champ '''Limitation dans le temps des réservations'''&lt;br /&gt;
*Enregistrer les modifications en cliquant sur le bouton '''Valider''' associé au formulaire '''Gestion des réservations'''.&lt;br /&gt;
&lt;br /&gt;
==[[Documentation administrateur#Gestion_des_réservations|Comment activer le contrôle des validités pour les réservations ?]]==&lt;br /&gt;
&lt;br /&gt;
==Je reçois par e-mail les avis de réservation de tout le monde, pourquoi ?==&lt;br /&gt;
Sûrement parce que dans votre profil, vous avez le droit &amp;quot;Alertable par mail pour toute réservation&amp;quot; d'activé.&lt;br /&gt;
&lt;br /&gt;
==Pourquoi j'ai une alerte &amp;quot;l'instructeur n'est pas disponible&amp;quot; ?==&lt;br /&gt;
Les instructeurs ont la possibilité de définir leurs disponibilités dans OpenFlyers. Il y a 2 politiques possibles :&lt;br /&gt;
*Soit l'instructeur décide de se mettre tout le temps disponible afin de supprimer les messages d'alerte et il gérera ses disponibilités réelles autrement&lt;br /&gt;
*Soit l'instructeur saisit directement dans OpenFlyers ses disponibilités réelles. Dans ce cas, les message d'alertes prennent tout leur sens. Il est alors possible de donner le droit (au travers des profils) à des utilisateurs de surpasser ou non cette alerte.&lt;br /&gt;
La gestion des disponibilités des instructeurs se fait dans [[Gestion des utilisateurs#Gestion_des_disponibilités_des_intervenants|Données &amp;gt; (In)disponibilités]].&lt;br /&gt;
&lt;br /&gt;
==Comment rendre obligatoire la saisie des champs départ et arrivé ?==&lt;br /&gt;
*'''Admin/Configuration/Paramétrage'''&lt;br /&gt;
*Dans le formulaire '''Gestion des réservations''', il faut modifier le paramétrage '''Saisie de la destination (si champ lieu d'arrivée coché)''' en fonction de ce que l'on souhaite (cela peut-être libre, obligatoire ou obligatoire pour les réservations dépassant une durée à choisir)&lt;br /&gt;
*'''Valider''' le formulaire&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des logs#Retrouver_qui_a_supprimé_une_réservation|Comment retrouver qui a supprimé une réservation ?]]==&lt;br /&gt;
&lt;br /&gt;
=Ressources=&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des ressources#Désactiver_une_ressource|Comment désactiver une ressource ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Documentation administrateur#Activer_le_contrôle_des_validités_pour_la_saisie_des_vols_en_ouverture_ou_en_fermeture|Comment activer le contrôle des validités pour la saisie des vols ?]]==&lt;br /&gt;
&lt;br /&gt;
==Affichage des heures de vols==&lt;br /&gt;
*Les temps de vol des carnets de vol s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté, paramétré dans Données/Affichage et fiche personnelle. Voir [http://doc-en.openflyers.com/index.php?title=UserDoc2.0#Date_and_time_format Patron de date et heure]&lt;br /&gt;
*Les temps de vol des carnets de route s'affichent selon l' &amp;quot;Unité de temps par défaut de la structure&amp;quot;, paramétré dans Admin/Configuration/Paramétrage*Les temps de vol sur les comptes s'affichent selon l' &amp;quot;Unité de temps&amp;quot; défini par l'utilisateur connecté, il ne dépend pas du choix du propriétaire du compte &lt;br /&gt;
*La saisie des vols est fonction du parametrage de la gestion des vols &amp;quot;Unité de temps par défaut de la structure&amp;quot; &lt;br /&gt;
*Les compteurs des avions s'affichent selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot; paramétré dans '''Admin &amp;gt; Ressources &amp;gt; Types de ressource'''&lt;br /&gt;
*La vérification de la continuité des vols affiche le temps de vols selon &amp;quot;Unité de temps par défaut de la structure&amp;quot; et les compteurs selon l' &amp;quot;Unité de temps des compteurs de type d'aéronef&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Alerte &amp;quot;Pas de profil attribué à la première place&amp;quot;==&lt;br /&gt;
Il manque la [[Documentation administrateur#Utilisateurs_&amp;gt;_Profils_plus|1ère place d'attribuée à au moins un profil]].&lt;br /&gt;
&lt;br /&gt;
=Suivi de navigabilité=&lt;br /&gt;
==[[Suivi de maintenance#Unité_de_mesure_des_heures|Pourquoi l'unité du total des heures d'un aéronef ne correspond pas avec celle de son compteur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Initialisation_de_la_gestion_des_potentiels|Initialisation de la gestion des potentiels]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Initialisation_de_la_gestion_des_alertes|Initialisation de la gestion des alertes]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Butées_de_maintenance|Butées de maintenance]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Gestion_des_points_fixes|Comment enlever les temps &amp;quot;maintenance&amp;quot; ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Suivi de maintenance#Affichage_du_potentiel_estimé_restant_dans_les_créneaux_de_réservation|Comment afficher le potentiel restant dans le planning des réservations ?]]==&lt;br /&gt;
&lt;br /&gt;
=Utilisateurs=&lt;br /&gt;
==Comment avoir la liste des utilisateurs à jour d'une certaine validité ?==&lt;br /&gt;
Deux solutions :&lt;br /&gt;
*[[Gestion des validités#Lister_tous_les_utilisateurs_détenant_une_validité|Lister tous les utilisateurs détenant une validité]].&lt;br /&gt;
*Rapport [[Gestion des rapports#Liste_des_utilisateurs_dont_une_validité_X_expire_l'année_Y|Liste des utilisateurs dont une validité X expire l'année Y]].&lt;br /&gt;
&lt;br /&gt;
==Comment changer le profil d'un utilisateur ?==&lt;br /&gt;
*'''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs'''&lt;br /&gt;
*Sélectionner la ficher de l'utilisateur à modifier (icône crayon)&lt;br /&gt;
*Dans le champ '''Profil''', sélectionner/dé-selectionner les profils souhaités&lt;br /&gt;
*'''Valider'''&lt;br /&gt;
Remarque : il n'est possible d'attribuer à des utilisateurs que des profils de niveau inférieur ou égal à son propre profil, c'est à dire dont les droits sont équivalents ou moindre.&lt;br /&gt;
&lt;br /&gt;
==Comment mettre à jour les cotisations des utilisateurs ?==&lt;br /&gt;
A partir de la version 3, les cotisations sont gérées comme un type de [[Gestion des validités|validité]].&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Ajouter_un_utilisateur|Comment ajouter un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Modifier_un_utilisateur|Comment modifier un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des utilisateurs#Supprimer/Désactiver_un_utilisateur|Comment Supprimer/désactiver un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==Certains utilisateurs apparaissent sur fond rouge, pourquoi ?==&lt;br /&gt;
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;
==Import des utilisateurs et mot de passe==&lt;br /&gt;
&lt;br /&gt;
Lorsque un import est réalisé depuis '''Admin &amp;gt; Configuration &amp;gt; Imports &amp;gt; Importer des utilisateurs''', les nouveaux utilisateurs ont comme mot de passe le numéro de membre. &lt;br /&gt;
&lt;br /&gt;
Si c'est un utilisateur qui a été remis à jour grâce au rapprochement, le mot de passe ne change pas.&lt;br /&gt;
&lt;br /&gt;
==Comment ré-utiliser des numéros de membre==&lt;br /&gt;
&lt;br /&gt;
Il n'est pas possible d'utiliser le même numéro de membre pour plusieurs utilisateurs. Le système va refuser l'attribution du numéro de membre à l'utilisateur que l'on veut créer/modifier si on lui attribue le même numéro de membre qu'un membre déjà existant en base de données.&lt;br /&gt;
&lt;br /&gt;
Attention : cette restriction s'applique également pour les utilisateurs désactivés.&lt;br /&gt;
&lt;br /&gt;
Dans ce cas, si l'on souhaite réattribuer ce numéro à un autre utilisateur, il faut procéder de la manière suivante :&lt;br /&gt;
* Ré-activer l'utilisateur désactivé&lt;br /&gt;
* Changer son numéro de membre (ou mettre le champ à vide)&lt;br /&gt;
* Désactiver l'utilisateur&lt;br /&gt;
* Créer/modifier l'autre utilisateur et lui affecter le numéro&lt;br /&gt;
&lt;br /&gt;
==Certains utilisateurs ne peuvent voir les ressources sur le planning==&lt;br /&gt;
Il faut [[Documentation administrateur#Utilisateurs_&amp;gt;_Profils_plus|rendre les types de ressources visibles]] pour les profils concernés et également vérifier que l'utilisateur a cocher la visibilité de la ressource dans '''Données &amp;gt; Affichage et fiche personnelle'''. Une autre façon d'activer par défaut la visibilité à tous les utilisateurs est de cliquer sur l'icône '''Montrer''' dans '''Ressources &amp;gt; Ressources'''.&lt;br /&gt;
&lt;br /&gt;
==[[Configuration de la comptabilité#Restriction_d'accès_en_cas_de_solde_insuffisant|Comment restreindre les droits d'un utilisateur dont le solde du compte est insuffisant ?]]==&lt;br /&gt;
&lt;br /&gt;
==Comment augmenter le temps avant la déconnexion automatique pour certains utilisateurs ?==&lt;br /&gt;
Il faut attribuer le droit '''[[Gestion des profils#Généralités_cahier|Pas de déconnexion automatique]]''' aux profils concernés.&lt;br /&gt;
&lt;br /&gt;
==Utilisateur non visible sur le planning==&lt;br /&gt;
Si après ajout d'un nouvel utilisateur disposant d'un profil avec les droits [[Gestion des profils#Réservation|'''Planning personnel''' et '''Planning individuel visible pour les autres''']] n'est pas visible sur le planning, il faut [[Documentation utilisateur#Gérer_ses_disponibilités|vérifier ses disponibilités]].&lt;br /&gt;
&lt;br /&gt;
=[[Gestion des logs#Traçabilité|Traçabilité des modifications de la base de données]]=&lt;br /&gt;
&lt;br /&gt;
=Validités=&lt;br /&gt;
==Comment permettre aux utilisateurs de réserver au-delà de la fin de validité de leur cotisation ?==&lt;br /&gt;
*Il suffit de paramétrer le type de validité correspondant pour qu'il ne restreigne pas le profil à la connexion et faire en sorte que cette validité ne soit pas requise pour les réservations.&lt;br /&gt;
&lt;br /&gt;
==Comment activer une formule d’expérience récente ?==&lt;br /&gt;
*Dans '''Admin &amp;gt; Utilisateurs &amp;gt; Type de validité''' saisir la [[OF_doc-en:AdminDoc3.0#Recent_experience:_.22experience_formula.22|formule]] dans la colonne &amp;quot;Formule d’expérience&amp;quot; récente&lt;br /&gt;
*Voir [[#Comment_activer_le_contrôle_des_validités_pour_les_réservations_?|Comment activer le contrôle des validités pour les réservation ?]] pour appliquer la gestion de l'expérience récente lors des réservation&lt;br /&gt;
*Voir [[#Comment_activer_le_contrôle_des_validités_pour_la_saisie_des_vols_?|Comment activer le contrôle des validités pour la saisie des vols ?]] pour appliquer la gestion de l'expérience récente lors de la saisie des vols&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Ajouter_une_validité_à_un_utilisateur|Comment ajouter une validité à un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Modifier_la_validité_d'un_utilisateur|Comment modifier la validité d'un utilisateur ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Lister|Comment obtenir la liste des utilisateurs détenteurs d'une validité ?]]==&lt;br /&gt;
&lt;br /&gt;
==[[Gestion des validités#Supprimer|Comment supprimer un type de validité ?]]==&lt;br /&gt;
&lt;br /&gt;
==Nous avons un type de validité avec expérience récente et restriction du profil à la connexion mais c'est sans effet==&lt;br /&gt;
Les validités à expérience récente ne sont pas vérifiées à la connexion. En effet, à la connexion on ne vérifie la péremption que des validités à échéance qui sont attribuées à la personne qui se connecte. Ainsi, une personne qui n'aura aucune validité d'attribuée ne sera pas restreinte par une absence de validité. Par contre, une personne qui aura une validité qui aura périmée, sera elle restreinte au profil associé à cette validité.&lt;br /&gt;
&lt;br /&gt;
==Nous avons une restriction de profil lorsqu'une validité est périmée mais c'est sans effet sur les utilisateurs qui ne détiennent pas cette validité==&lt;br /&gt;
Il n'y a pas de raison de restreindre l'accès à des utilisateurs qui n'ont pas obligation à détenir telle ou telle validité. Sinon, il ne serait pas possible de gérer plusieurs populations d'utilisateurs sur une même plateforme. Exemple : Pilotes ULM sans visite médicale et pilotes avions avec visite médicale.&lt;br /&gt;
&lt;br /&gt;
Pour bloquer les utilisateurs qui ne détiennent pas une validité donnée, il suffit de leur attribuer cette validité avec une date d'échéance périmée.&lt;br /&gt;
&lt;br /&gt;
=Vols=&lt;br /&gt;
==[[Récupération-des-vols-par-un-logiciel-tiers|Comment récupérer les vols dans ifly ?]]==&lt;br /&gt;
&lt;br /&gt;
==Comment visualiser les vols oubliés ?==&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' :&lt;br /&gt;
- Vous cliquez sur l'icône de l'avion de la colonne &amp;quot;Vérifier la continuité des vols&lt;br /&gt;
&lt;br /&gt;
- Vous pouvez éventuellement limiter votre contrôle entre 2 dates et/ou à partir d'un compteur particulier (utile pour lister les vols entre 2 maintenances). Par défaut les vols du mois en cours sont proposés&lt;br /&gt;
&lt;br /&gt;
- Si vous avez sélectionné l'option compteur sur cette avion, les discordances apparaissent en rouge sur fond grisé. L'erreur peut provenir de la ligne supérieure. Cliquer sur l'icône d'édition du vols dans la colonne action. Vous retrouvez la page de saisie pour corriger le compteur (ceci peut demander de modifier aussi le temps de vol)&lt;br /&gt;
&lt;br /&gt;
*Il est conseillé d'effectuer le contrôle de la continuité des vols et de leurs concordances avec le carnet de route régulièrement. Chaque fin de mois ou, si le suivi des potentiels est utilisé, avant chaque opération de maintenance&lt;br /&gt;
&lt;br /&gt;
==Message de type de vol manquant pour un vol en double commande...==&lt;br /&gt;
*Vous avez sélectionné en admin &amp;quot;Type de vol requis dans le cas de la présence d'un second pilote à bord&amp;quot; et lorsque vous saisissez un vol en double commande il vous est impossible de le valider malgré la sélection du fameux type de vol requis.&lt;br /&gt;
Vous avez un message d'alerte &amp;quot;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&amp;quot;.&lt;br /&gt;
Dans ce cas, il faut que l'utilisateur indiquer un type de vol complémentaire&lt;br /&gt;
* Si vous ne souhaitez pas ce comportement il fait mettre &amp;quot;NON&amp;quot; à l'option &amp;quot;Le type de vol requis dans le cas de la présence d'un second pilote à bord ne peut être sélectionné seul&amp;quot;. &lt;br /&gt;
La conséquence de cette configuration est importante sur la façon dont vous souhaitez calculer vos statistiques. Si le critère est manquant le calcul ne pourra pas etre correct &lt;br /&gt;
(exemple : en cas d'instruction le temps de vol, selon le critère de classement local ou navigation de la DGAC, ne sera pas comptabilisé)&lt;br /&gt;
&lt;br /&gt;
==Peut-on saisir les avitaillements ?==&lt;br /&gt;
Pour saisir des avitaillements avant et/ou après les vols, il faut d'abord que les aéronefs soient définis avec un ou des réservoirs. Ce paramétrage s'effectue ainsi :&lt;br /&gt;
*'''Admin &amp;gt; Ressources &amp;gt; Types de ressources &amp;gt; Actifs'''&lt;br /&gt;
*Cliquer sur l'icône crayon associée à la ressource concernée&lt;br /&gt;
*Tout en bas de la page, il y a un tableau qui permet de définir les réservoirs.&lt;br /&gt;
&lt;br /&gt;
Pour l'essence, on conseille de ne définir qu'un seul réservoir même si l'aéronef dispose de plusieurs réservoirs. En effet, dans la pratique les pleins sont faits sans qu'il ne soit comptabilisé la quantité avitaillée par réservoir de plus, il est impossible de suivre les consommations par réservoir.&lt;br /&gt;
&lt;br /&gt;
Ainsi, lors un ou des types de réservoirs sont définis, les champs d'avitaillements apparaissent dans le formulaire de saisie des vols pour indiquer s'il y a eu un plein avant et/ou après le vol. Ils sont par défaut &amp;quot;repliés&amp;quot; et il faut cliquer sur la check-box correspondante pour les &amp;quot;déplier&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Il est ensuite possible de suivre les consommations par aéronef à l'aide de [[OF_doc-en:Export_generator_3.0|rapports]] prévus à cet effet.&lt;br /&gt;
&lt;br /&gt;
==Problèmes de compteurs==&lt;br /&gt;
Si vous changez d'horamètre ou qu'il est remis à 0, alors il est nécessaire de [[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|réinitialiser le compteur]].&lt;br /&gt;
&lt;br /&gt;
Si le compteur ou l'horamètre ont eu une défaillance au cours d'un vol, alors il faut calculer en fonction du temps de vol réellement retenu quelle devrait la valeur du compteur arrivé et saisir le vol avec cette valeur. Une fois le vol saisi, il faut [[Gestion des ressources#Changer_la_valeur_du_compteur_en_cours|remettre le compteur à la valeur réelle]] pour qu'il n'y ait pas de propagation du décalage.&lt;br /&gt;
&lt;br /&gt;
==[[Facturation des heures de vol#Supprimer_une_activité|Comment supprimer un vol ?]]==&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=R%C3%A9cup%C3%A9ration-des-vols-par-un-logiciel-tiers&amp;diff=15058</id>
		<title>Récupération des vols par un logiciel tiers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=R%C3%A9cup%C3%A9ration-des-vols-par-un-logiciel-tiers&amp;diff=15058"/>
				<updated>2017-01-09T10:36:10Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* 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 décrire la récupération des vols par un logiciel tiers. La récupération est réalisée à l'aide d'un [[Wikipedia-fr:Service web|service web]].&lt;br /&gt;
&lt;br /&gt;
C'est, par exemple, grâce à cette fonctionnalité que le livret de progression électronique [https://iflyinnovation.com/ iFly innovation] s'interface avec OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=Interfaçage avec OpenFlyers=&lt;br /&gt;
&lt;br /&gt;
La récupération des X derniers vols se fait à l'aide du webservice '''getActivityList'''.&lt;br /&gt;
&lt;br /&gt;
Pour accéder à ce webservice, il faut :&lt;br /&gt;
* Utiliser le protocole de communication HTTPS&lt;br /&gt;
* Appeler l'URL ci-dessous en remplaçant &amp;quot;maplateforme&amp;quot; par le nom de la plateforme concernée :&lt;br /&gt;
&amp;lt;pre&amp;gt;https://openflyers.com/maplateforme/actionOnDemand.php&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Transmettre les paramètres suivantes par méthode POST :&lt;br /&gt;
** '''arguments[0]''' : getActivityList&lt;br /&gt;
** '''key''' : La clé de sécurité du service web.&lt;br /&gt;
** '''maxNumber''' : Le nombre de vols à récupérer&lt;br /&gt;
** '''startDate''' : La date de début en UTC des vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss&lt;br /&gt;
** '''endDate''' : La date de fin des en UTC vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss&lt;br /&gt;
&lt;br /&gt;
Le service web va renvoyer soit :&lt;br /&gt;
* Un message d'interdiction d'accès lorsque l'un de ces conditions est rencontrée :&lt;br /&gt;
** le protocole de communication HTTP est employé &lt;br /&gt;
** la clé de sécurité n'est pas bonne&lt;br /&gt;
** La date de début est renseignée et la date de fin de l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante&lt;br /&gt;
** La date de fin est renseignée et la date de début ne l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante&lt;br /&gt;
** La date de début et de fin sont toutes les deux renseignées et il y a un écart de plus de 32 jours entre ces dates&lt;br /&gt;
* Au format JSON :&lt;br /&gt;
** Lorsque '''startDate''' et '''endDate''' sont renseignés, la liste des vols entre ces périodes, ordonnés du plus récent au plus vieux&lt;br /&gt;
** Le cas échéant, la liste des '''maxNumber''' derniers vols ordonnés du plus récent au plus vieux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemple de formulaire pour récupérer les derniers vols sur la plateforme openflyers.com/demo-fr/ où on demande la clé et le nombre de vols :&lt;br /&gt;
&amp;lt;html4Strict&amp;gt;&amp;lt;form action=&amp;quot;https://openflyers.com/demo-fr/actionOnDemand.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;arguments[0]&amp;quot; value=&amp;quot;getActivityList&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Clé :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;key&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Limite :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;maxNumber&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Date de début (AAAA-MM-JJ hh:mm:ss) :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;startDate&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Date de fin (AAAA-MM-JJ hh:mm:ss) :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;endDate&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Test&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/html4Strict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de retour :&lt;br /&gt;
&amp;lt;javascript&amp;gt;[&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;first_person&amp;quot;:&amp;quot;DURAND Jacques&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date&amp;quot;:&amp;quot;2016-10-19 08:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;second_person&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;departure_location_name&amp;quot;:&amp;quot;LFPG&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date&amp;quot;:&amp;quot;2016-10-19 09:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;arrival_location_name&amp;quot;:&amp;quot;LFPG&amp;quot;,&lt;br /&gt;
        &amp;quot;duration&amp;quot;:&amp;quot;1:00&amp;quot;,&lt;br /&gt;
        &amp;quot;landing_number&amp;quot;:&amp;quot;2&amp;quot;,&lt;br /&gt;
        &amp;quot;resource_name&amp;quot;:&amp;quot;F-HABC&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;first_person&amp;quot;:&amp;quot;DUPONT Jean&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date&amp;quot;:&amp;quot;2016-10-18 15:16:00&amp;quot;,&lt;br /&gt;
        &amp;quot;second_person&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;departure_location_name&amp;quot;:null,&lt;br /&gt;
        &amp;quot;end_date&amp;quot;:&amp;quot;2016-10-18 16:46:00&amp;quot;,&lt;br /&gt;
        &amp;quot;arrival_location_name&amp;quot;:null,&lt;br /&gt;
        &amp;quot;duration&amp;quot;:&amp;quot;1:30&amp;quot;,&lt;br /&gt;
        &amp;quot;landing_number&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;resource_name&amp;quot;:&amp;quot;F-HDEF&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
]&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Paramétrer la clé de sécurité=&lt;br /&gt;
&lt;br /&gt;
* Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
* Aller dans le bloc '''Gestion générale'''&lt;br /&gt;
* Saisir le champ '''Clé de service web (lorsque requis)'''&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=R%C3%A9cup%C3%A9ration-des-vols-par-un-logiciel-tiers&amp;diff=15057</id>
		<title>Récupération des vols par un logiciel tiers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=R%C3%A9cup%C3%A9ration-des-vols-par-un-logiciel-tiers&amp;diff=15057"/>
				<updated>2017-01-09T10:35:05Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* 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 décrire la récupération des vols par un logiciel tiers. La récupération est réalisée à l'aide d'un [[Wikipedia-fr:Service web|service web]].&lt;br /&gt;
&lt;br /&gt;
C'est ainsi que par exemple le livret de progression électronique [https://iflyinnovation.com/ iFly innovation] s'interface avec OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=Interfaçage avec OpenFlyers=&lt;br /&gt;
&lt;br /&gt;
La récupération des X derniers vols se fait à l'aide du webservice '''getActivityList'''.&lt;br /&gt;
&lt;br /&gt;
Pour accéder à ce webservice, il faut :&lt;br /&gt;
* Utiliser le protocole de communication HTTPS&lt;br /&gt;
* Appeler l'URL ci-dessous en remplaçant &amp;quot;maplateforme&amp;quot; par le nom de la plateforme concernée :&lt;br /&gt;
&amp;lt;pre&amp;gt;https://openflyers.com/maplateforme/actionOnDemand.php&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Transmettre les paramètres suivantes par méthode POST :&lt;br /&gt;
** '''arguments[0]''' : getActivityList&lt;br /&gt;
** '''key''' : La clé de sécurité du service web.&lt;br /&gt;
** '''maxNumber''' : Le nombre de vols à récupérer&lt;br /&gt;
** '''startDate''' : La date de début en UTC des vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss&lt;br /&gt;
** '''endDate''' : La date de fin des en UTC vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss&lt;br /&gt;
&lt;br /&gt;
Le service web va renvoyer soit :&lt;br /&gt;
* Un message d'interdiction d'accès lorsque l'un de ces conditions est rencontrée :&lt;br /&gt;
** le protocole de communication HTTP est employé &lt;br /&gt;
** la clé de sécurité n'est pas bonne&lt;br /&gt;
** La date de début est renseignée et la date de fin de l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante&lt;br /&gt;
** La date de fin est renseignée et la date de début ne l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante&lt;br /&gt;
** La date de début et de fin sont toutes les deux renseignées et il y a un écart de plus de 32 jours entre ces dates&lt;br /&gt;
* Au format JSON :&lt;br /&gt;
** Lorsque '''startDate''' et '''endDate''' sont renseignés, la liste des vols entre ces périodes, ordonnés du plus récent au plus vieux&lt;br /&gt;
** Le cas échéant, la liste des '''maxNumber''' derniers vols ordonnés du plus récent au plus vieux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exemple de formulaire pour récupérer les derniers vols sur la plateforme openflyers.com/demo-fr/ où on demande la clé et le nombre de vols :&lt;br /&gt;
&amp;lt;html4Strict&amp;gt;&amp;lt;form action=&amp;quot;https://openflyers.com/demo-fr/actionOnDemand.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;arguments[0]&amp;quot; value=&amp;quot;getActivityList&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Clé :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;key&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Limite :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;maxNumber&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Date de début (AAAA-MM-JJ hh:mm:ss) :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;startDate&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;label&amp;gt;Date de fin (AAAA-MM-JJ hh:mm:ss) :&amp;lt;/label&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;endDate&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;br/&amp;gt;&lt;br /&gt;
    &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Test&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/html4Strict&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple de retour :&lt;br /&gt;
&amp;lt;javascript&amp;gt;[&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;first_person&amp;quot;:&amp;quot;DURAND Jacques&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date&amp;quot;:&amp;quot;2016-10-19 08:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;second_person&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;departure_location_name&amp;quot;:&amp;quot;LFPG&amp;quot;,&lt;br /&gt;
        &amp;quot;end_date&amp;quot;:&amp;quot;2016-10-19 09:30:00&amp;quot;,&lt;br /&gt;
        &amp;quot;arrival_location_name&amp;quot;:&amp;quot;LFPG&amp;quot;,&lt;br /&gt;
        &amp;quot;duration&amp;quot;:&amp;quot;1:00&amp;quot;,&lt;br /&gt;
        &amp;quot;landing_number&amp;quot;:&amp;quot;2&amp;quot;,&lt;br /&gt;
        &amp;quot;resource_name&amp;quot;:&amp;quot;F-HABC&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
        &amp;quot;first_person&amp;quot;:&amp;quot;DUPONT Jean&amp;quot;,&lt;br /&gt;
        &amp;quot;start_date&amp;quot;:&amp;quot;2016-10-18 15:16:00&amp;quot;,&lt;br /&gt;
        &amp;quot;second_person&amp;quot;:&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;departure_location_name&amp;quot;:null,&lt;br /&gt;
        &amp;quot;end_date&amp;quot;:&amp;quot;2016-10-18 16:46:00&amp;quot;,&lt;br /&gt;
        &amp;quot;arrival_location_name&amp;quot;:null,&lt;br /&gt;
        &amp;quot;duration&amp;quot;:&amp;quot;1:30&amp;quot;,&lt;br /&gt;
        &amp;quot;landing_number&amp;quot;:&amp;quot;1&amp;quot;,&lt;br /&gt;
        &amp;quot;resource_name&amp;quot;:&amp;quot;F-HDEF&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
]&amp;lt;/javascript&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Paramétrer la clé de sécurité=&lt;br /&gt;
&lt;br /&gt;
* Menu '''Admin &amp;gt; Configuration &amp;gt; Paramétrage'''&lt;br /&gt;
* Aller dans le bloc '''Gestion générale'''&lt;br /&gt;
* Saisir le champ '''Clé de service web (lorsque requis)'''&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15053</id>
		<title>Bien débuter avec OpenFlyers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Bien-d%C3%A9buter-avec-OpenFlyers&amp;diff=15053"/>
				<updated>2017-01-06T08:55:57Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Chronologie parametrage 700px.png|right|link=#Chronologie-du-forfait-paramétrage]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
La solution OpenFlyers permet de gérer l'ensemble de l'activité d'une structure autour de 2 éléments principaux :&lt;br /&gt;
*La réservation&lt;br /&gt;
*La gestion de l'activité réalisée (c'est à dire la gestion des heures de vols dans le cadre d'une activité aéronautique)&lt;br /&gt;
&lt;br /&gt;
La mise en place d'OpenFlyers au sein d'une structure peut se découper en 2 phases :&lt;br /&gt;
#La mise en place de la réservation qui est relativement simple à appréhender&lt;br /&gt;
#La mise en place de la gestion de l'activité qui nécessite un travail de fond pour bien définir les règles de gestion de la structure aussi bien en terme de politique de relation client qu'en terme de gestion comptable.&lt;br /&gt;
&lt;br /&gt;
=Recommandations=&lt;br /&gt;
==Attribuer les profils aux utilisateurs==&lt;br /&gt;
*Chaque utilisateur doit disposer d'au moins un profil. Il est recommandé de limiter le nombre de profils par utilisateur à 1 dans la mesure du possible sauf pour des cas particuliers et notamment pour l'attribution de profils &amp;quot;transparents&amp;quot; pour les utilisateurs qui appartiennent à des groupements comme les Comités d’Établissements (C.E.) ou représentant une catégorie spécifique devant être identifiée comme telle (exemple : les formateurs).&lt;br /&gt;
*Il ne faut jamais rester seul avec un profil &amp;quot;Admin&amp;quot;. Il est recommandé d'être 2 ou 3 personnes à disposer de ce profil. C'est une bonne pratique qui permet d'assurer la continuité d'activité en cas de problème. C'est même une question de bonne gouvernance.&lt;br /&gt;
*Il ne faut pas être plus de 2 ou 3 à disposer d'un profil &amp;quot;Admin&amp;quot;. En effet, il n'y a pas de raison qu'il y ait plus de 2 ou 3 personnes à disposer des droits pour intervenir sur l'intégralité de la plateforme. Cela crée des risques qu'une personne ne disposant pas de l'expertise fasse de mauvaises manipulations entrainant des coûts de restauration voir de perte de données si le problème n'est pas détecté suffisamment tôt.&lt;br /&gt;
*De même, les personnes disposant de profils de gestion larges (&amp;quot;Bureau&amp;quot;, &amp;quot;Gestionnaire&amp;quot;, etc.) doivent être en nombre limité. En général pas plus de 4 ou 5 personnes. Si les tâches de gestion doivent être réparties entre plusieurs personnes alors il vaut mieux scinder les droits sur des profils spécifiques. Exemple : un profil &amp;quot;Trésorier&amp;quot; ou &amp;quot;Comptable&amp;quot; d'un côté et un profil &amp;quot;Secrétariat&amp;quot; de l'autre.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la réservation=&lt;br /&gt;
La mise en place de la réservation nécessite de définir uniquement :&lt;br /&gt;
*Les profils et droits associés pour les utilisateurs&lt;br /&gt;
*Les règles concernant les réservations&lt;br /&gt;
*Les ressources (les aéronefs dans le cas d'une activité aéronautique)&lt;br /&gt;
*Éventuellement les validités afin de générer des alertes pour les utilisateurs à la connexion et/ou à la réservation &lt;br /&gt;
Le paramétrage et la mise en production de cette phase peut être très rapide et ne nécessite pas de date clé comme pour la mise en place de la gestion d'activité.&lt;br /&gt;
&lt;br /&gt;
L'import de données externe est également limité à importer uniquement le fichier des utilisateurs. Cependant, plus ce fichier sera complet au moment de l'import et moins de reprises manuelles seront nécessaires. Ainsi, des données comme l'adresse, la date de naissance ou le sexe de chaque utilisateur peuvent être incluses dans le fichier d'import.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en production des réservations est quasiment nul car il n'y a aucun mouvement comptable de généré et il n'y a pas d'export à effectuer par la suite : les réservations tournent en vase clos.&lt;br /&gt;
&lt;br /&gt;
La mise en place des réservations peut être effectuée indifféremment par l'équipe OpenFlyers dans le cadre du forfait paramétrage ou par un administrateur au sein de la structure cliente.&lt;br /&gt;
&lt;br /&gt;
=Mettre en place la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers=&lt;br /&gt;
La mise en place de la [[Introduction#La_gestion_d'activité_avec_OpenFlyers|gestion d'activité]] sur OpenFlyers se fait à n'importe quel moment de l'année. Le passage en production se fait idéalement au 1er janvier pour bénéficier du changement d'exercice comptable et de la clôture de l'exercice précédent pour récupérer les à nouveaux des comptes, notamment ceux des comptes clients.&lt;br /&gt;
&lt;br /&gt;
La mise en place de la gestion d'activité doit être bien préparée. Car une fois en production, les données qui seront saisies généreront des écritures comptables qui seront éventuellement exportées vers un logiciel de comptabilité. Un mauvais paramétrage ou une mauvaise définition des besoins peut engendrer des erreurs latentes qui n'apparaitront pour certaines qu'à la fin du 1er exercice comptable si aucune vérification n'est effectuée d'ici là. Il sera alors difficile d'en retrouver l'origine et la correction des mauvaises écritures sera une tâche laborieuse et fastidieuse.&lt;br /&gt;
&lt;br /&gt;
C'est la raison pour laquelle nous avons défini un ordre chronologique des actions à effectuer afin de limiter tout risque d'erreur.&lt;br /&gt;
&lt;br /&gt;
Les risques associés à la mise en place de la gestion d'activité restent également limités : OpenFlyers n'effectue aucune opération sur des comptes bancaires réels. Par conséquent toute erreur d'écriture comptable peut être corrigée à n'importe quel moment par une contre-écriture. Le point le plus critique que nous avons identifié concerne pour l'aéronautique le décompte des heures de vols par OpenFlyers qui permet de déterminer les visites de maintenance. De ce fait, il est important de bien tester et valider le mode de calcul et de décompte. Le logiciel en lui-même est largement éprouvé puisqu'il approche les 300.000 vols saisis en 5 ans sans aucun problème.&lt;br /&gt;
&lt;br /&gt;
La chronologie pour la mise en place de la gestion d'activité est présentée dans les paragraphes qui suivent.&lt;br /&gt;
==Définir le périmètre comptable géré par OpenFlyers==&lt;br /&gt;
OpenFlyers peut être utilisé de 3 façons différentes pour la gestion comptable.&lt;br /&gt;
===Gestion du chiffre d'affaire dans OpenFlyers===&lt;br /&gt;
La saisie de l'activité, et donc la génération du chiffre d'affaire au travers des factures clients et des écritures comptables, se fait dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Les comptes clients sont gérés par OpenFlyers.&lt;br /&gt;
===Gestion des charges dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire dans OpenFlyers]], dans ce cas, les factures fournisseurs sont également saisies dans OpenFlyers. L'ensemble des écritures courantes, c'est à dire celles qui impactent le compte d'exploitation, sont saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que les comptes de tiers sont à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Gestion comptable complète dans OpenFlyers===&lt;br /&gt;
En plus de la [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|gestion du chiffre d'affaire]] et de la [[#Gestion_des_charges_dans_OpenFlyers|gestion des charges]] dans OpenFlyers, les écritures du bilan sont également saisies dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Cela implique que l'intégralité du plan comptable de la structure soit à jour dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Impact sur les exports===&lt;br /&gt;
A noter que quelque soit le périmètre choisi, OpenFlyers pourra générer l'export comptable vers le logiciel comptable utilisé pour saisir les &amp;quot;autres&amp;quot; écritures. Il faut donc bien avoir conscience que la bonne et unique façon de fonctionner est la suivante :&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers n'est saisi '''que''' dans OpenFlyers&lt;br /&gt;
*Ce qui doit être saisi dans OpenFlyers est saisi '''avant''' tout export&lt;br /&gt;
*On n'importe '''jamais''' dans OpenFlyers des données saisies dans un logiciel de comptabilité&lt;br /&gt;
Cela peut se résumer au principe d'hygiène de &amp;quot;la marche en avant&amp;quot; appliqué dans les cuisines pour les aliments : les données ne doivent jamais rebrousser chemin et ne doivent jamais se croiser.&lt;br /&gt;
&lt;br /&gt;
==Paramétrer la plateforme==&lt;br /&gt;
Nous recommandons vivement de déléguer cette opération à l'équipe OpenFlyers au travers du [[FAQ-client#Comment-fonctionne-le-forfait-paramétrage-?|forfait paramétrage]]. Les avantages sont les suivants :&lt;br /&gt;
*Vous gagnez du temps&lt;br /&gt;
*Vous tirez profit d'un paramétrage adapté à votre structure grâce à notre connaissance de votre métier&lt;br /&gt;
*Vous tirez profit de la puissance de la solution OpenFlyers grâce à notre maitrise de ses fonctionnalités&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez effectuer vous-même ce paramétrage, alors vous devez avoir reçu au préalable une [[Formations OpenFlyers|formation]] par la SARL OpenFlyers. Cette formation est indispensable afin d'avoir la garantie que le paramétrage que vous mettrez en œuvre sera fait dans l'esprit du logiciel OpenFlyers. Cela garantie la pérennité de votre paramétrage lors des mises à jour d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
===Forfait paramétrage===&lt;br /&gt;
Nous proposons un forfait paramétrage qui s'appuie sur un questionnaire détaillé complété par la structure cliente. Ce questionnaire est sous la forme d'un fichier tableur communiqué sous 2 formats (Excel et OpenOffice).&lt;br /&gt;
&lt;br /&gt;
Ce forfait paramétrage inclut toute la configuration d'OpenFlyers :&lt;br /&gt;
*Mise en place des ressources ;&lt;br /&gt;
*Création des profils utilisateurs ;&lt;br /&gt;
*Paramétrage du décompte du temps vol ;&lt;br /&gt;
*Mise en place de la comptabilité :&lt;br /&gt;
**Module de vente des produits ;&lt;br /&gt;
**Moteur de création des écritures comptables associées aux ventes (heures de vols, produits) ;&lt;br /&gt;
*Définition des validités (licences, qualifications, échéances administratives, légales, médicales, etc.) ;&lt;br /&gt;
*Mise en place des rapports types parmi ceux [http://doc-en.openflyers.com/index.php?title=Export_generator publiés].&lt;br /&gt;
&lt;br /&gt;
Nous attirons votre attention sur le moteur de création des écritures comptables qui permet d'automatiser toutes les écritures comptables qui doivent être générées lors d'une vente de produit. Grâce à sa puissance, nous mettons en place la ventilation automatique des facturations de groupement de clients comme les comités d'entreprises par exemple ou l'application de remises pour des catégories de clients.&lt;br /&gt;
&lt;br /&gt;
Le forfait paramétrage inclut également l'import des utilisateurs par le biais d'un fichier informatique au format OpenOffice ou Excel que nous vous communiquons et que vous nous retournez rempli. Il est possible de personnaliser cet import en reprenant tout ou partie, selon la compatibilité des champs, des extractions en provenance d'un autre logiciel de gestion. Dans ce cas, l'import des champs additionnels nécessite un travail supplémentaire, hors forfait paramétrage, qui est déduit des heures de bonus assistance/développement.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez retrouver le tarif du forfait paramétrage dans notre [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire] si vous êtes en abonnement &amp;quot;First Price&amp;quot;. Pour les abonnements supérieurs, le forfait paramétrage est inclus.&lt;br /&gt;
&lt;br /&gt;
====Chronologie du forfait paramétrage====&lt;br /&gt;
La procédure pour profiter du forfait paramétrage est la suivante :&lt;br /&gt;
#*Dans le cas où vous disposiez déjà d'un abonnement à une ancienne version 1.3 ou 2.1 d'OpenFlyers, vous devez d'abord nous demander de migrer votre plateforme sous version 3&lt;br /&gt;
#*Dans le cas où vous disposiez pas déjà d'une plateforme OpenFlyers, il vous faut d'abord la [[Créer-une-plateforme-OpenFlyers-pour-sa-structure|créer]].&lt;br /&gt;
#*Dans le cas où vous disposiez d'une plateforme OpenFlyers sous version à jour, il n'y a pas d'étape 1.&lt;br /&gt;
#Dans tous les cas, vous [[Créer-une-plateforme-OpenFlyers-pour-sa-structure#Prise_d'abonnement|créez les factures]] correspondantes le cas échéant (selon votre abonnement) puis vous les payez.&lt;br /&gt;
#Une fois que les factures générées sont acquittées (cela peut être immédiat en payant par carte bancaire) vous nous envoyez un e-mail pour nous en informer et on vous transmet par retour d'e-mail un questionnaire. Parallèlement à cela, si vous êtes en version 1.3 ou 2.1 nous programmons avec vous une mise à jour de votre plateforme.&lt;br /&gt;
#Vous nous retournez le questionnaire paramétrage rempli.&lt;br /&gt;
#Nous parcourons le questionnaire pour vérifier qu'il est complet. Si ce n'est pas le cas, nous vous demandons des précisions.&lt;br /&gt;
#Une fois que le questionnaire est retourné complet et que votre plateforme est sous version 3, nous nous engageons à mettre en place le paramétrage initial sous 15 jours hors période du 21 décembre au 5 janvier. Ainsi, si la période de paramétrage comprend une partie de cette période, alors la date limite de mise en place du paramétrage est reportée de 15 jours. Exemple : une date limite initiale qui tombe le 26/12 sera reportée au 10/01.&lt;br /&gt;
#Ce paramétrage sera suivi par une [[#Tester_la_configuration|validation par vos soins]] (en général des ajustements sont nécessaires). Nous vous enverrons un e-mail vous demandant de bien vouloir nous confirmer que le paramétrage effectué correspond à vos attentes. A défaut de réponse dans un délai de 1 mois, nous considérerons que le paramétrage effectué est bon.&lt;br /&gt;
#Une fois que vous aurez terminé la validation du paramétrage, nous pourrons procéder, à votre demande et sans frais supplémentaire, à une [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|suppression complète des écritures comptables et d'activités]] qui auront été saisies pour tester le paramétrage. Ce nettoyage peut être étendu aux réservations et/ou aux validités.&lt;br /&gt;
#Enfin, postérieurement au passage en production, nous vous enverrons, sur votre demande, un fichier .csv contenant la liste des utilisateurs pour que vous puissiez nous le retourner complété des soldes de compte afin que nous procédions à [[#Rapatrier_les_à_nouveaux_des_comptes_clients|l'import des à nouveaux des comptes clients]]. C'est aussi après le passage en production que vous pourrez initialiser les compteurs et potentiels des aéronefs.&lt;br /&gt;
&lt;br /&gt;
==Tester la configuration==&lt;br /&gt;
Avant de passer en production, il faut vérifier qu'il n'y a pas de &amp;quot;grosses erreurs&amp;quot;. Ces tests doivent se porter essentiellement sur les actions suivantes :&lt;br /&gt;
*Création d'utilisateurs&lt;br /&gt;
*Vérification que les comptes associés aux utilisateurs sont automatiquement créés&lt;br /&gt;
*Saisie des écritures types de l'activité&lt;br /&gt;
Dans le cas d'une activité aéronautique, cette saisie consiste à saisir des vols&lt;br /&gt;
*Vérification que les factures générées sont conformes à ce que l'on attend.&lt;br /&gt;
&lt;br /&gt;
En cas d'écart constaté, il faut nous remonter les anomalies par e-mail de façon la plus précise possible en suivant le [[Bien communiquer avec OpenFlyers#Rapporter_un_écart_de_paramétrage|guide de rapport d'anomalie de paramétrage]].&lt;br /&gt;
&lt;br /&gt;
Il est déconseillé d'utiliser le profil &amp;quot;Admin&amp;quot; pendant la période de test du paramétrage afin d'être certain de ne pas modifier ce qui a été configuré. Sans quoi, l'équipe OpenFlyers n'assure pas le support sur le travail réalisé. Il est néanmoins possible de se connecter avec le profil &amp;quot;Admin&amp;quot; pour &amp;quot;jeter un œil&amp;quot; sur le paramétrage.&lt;br /&gt;
&lt;br /&gt;
Une fois en production, le gestionnaire à toute latitude pour ne garder que le profil &amp;quot;Admin&amp;quot;. Néanmoins, là encore, il est déconseillé d'effectuer des modifications du paramétrage sans en maitriser les conséquences. Il vaut mieux demander à l'équipe OpenFlyers d'intervenir, notamment dans le cadre des [[Modèle commercial et compte client OpenFlyers#Bonus_assistance/développement|heures d'assistance]] ou réaliser des tests sur une [[#Plateforme_supplémentaire_de_test|plateforme &amp;quot;sandbox&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
==Nettoyer la base de données avant le passage en production==&lt;br /&gt;
Cette opération est effectuée par l'équipe OpenFlyers dans le cadre du forfait paramétrage. Elle consiste à supprimer toutes les écritures comptables, toutes les écritures d'activités (vols dans le cas d'une structure aéronautique) créées durant les tests de validation du paramétrage.&lt;br /&gt;
&lt;br /&gt;
De plus, il est également possible de réinitialiser les validités. Cela consiste à supprimer toutes les validités détenues par les utilisateurs. Cette opération n'est faisable que lorsqu'il s'agit d'une nouvelle plateforme qui n'était donc pas déjà en production sur la gestion des validités. De même, cette réinitialisation ne peut être effectuée si lors de l'import des utilisateurs, il a été procédé à l'import additionnel de validités.&lt;br /&gt;
&lt;br /&gt;
Enfin, si la structure n'était pas en production sur les réservations et que seules des réservations fictives ont été saisies, alors il est possible de réinitialiser également toutes les réservations.&lt;br /&gt;
&lt;br /&gt;
Une fois ce nettoyage effectué, la structure est considérée comme en production et nous n'intervenons plus directement sur la base de données  pour y modifier ou supprimer des écritures comptables. [[Comptabilité#Traçabilité_des_écritures|Ce principe permet de garantir la confiance entre les parties prenantes]].&lt;br /&gt;
&lt;br /&gt;
Ce nettoyage doit être anticipé de plusieurs jours avant la date de mise en production théorique afin de laisser le temps à l'équipe OpenFlyers d'effectuer cette opération avec sérénité. Dans le cas où le passage en production réel est programmé pour le 1er janvier, alors il est recommandé de demander la réinitialisation de la base de données au moins une semaine avant la période des vacances de noël. En effet, '''pendant la période des vacances de Noël nous effectuons un embargo sur les réinitialisations de base de données''' car nous travaillons en effectif réduit et gardons un maximum de disponibilité pour assurer le suivi des clients en production. De plus, les jours fériés venant s'ajouter aux week-ends il est difficile de trouver des jours qui ne soient pas la veille d'un jour férié ou d'un week-end. Enfin, par expérience, toute réinitialisation effectuée sous la pression engendre des problèmes dues à des erreurs de traitement. Par conséquent, il vaut mieux retarder cette opération pour pouvoir l'effectuer sereinement plutôt que de générer des problèmes et des inquiétudes alors que les disponibilités et la concentration de chacun sont réduites du fait des fêtes de fin d'année.&lt;br /&gt;
&lt;br /&gt;
==Passer en production==&lt;br /&gt;
Le passage en production doit se faire à une date donnée et définie à l'avance, par exemple un 1er janvier. Cependant :&lt;br /&gt;
*Le 1er janvier personne ne travaille chez OpenFlyers et en général dans les structures clientes d'OpenFlyers. Il s'agit donc d'une date théorique.&lt;br /&gt;
*Le passage en production côté OpenFlyers est considéré à partir du moment où [[#Nettoyer_la_base_de_données_avant_le_passage_en_production|la réinitialisation de la base de données a été faite]]. Cela peut remonter à plusieurs semaines à l'avance et il est recommandé d'[[#Nettoyer_la_base_de_données_avant_le_passage_en_production|anticiper cette phase]].&lt;br /&gt;
*Le passage en production côté structure peut avoir lieu en pratique que le 2, 3 ou 4 janvier pour une mise en production au 1er janvier. Les écritures comptables et d'activités seront saisies rétroactivement.&lt;br /&gt;
&lt;br /&gt;
Comptablement, cela suppose :&lt;br /&gt;
*Qu'avant cette date théorique, toutes les écritures ont été saisies dans l'ancien système de gestion utilisé&lt;br /&gt;
*A partir de cette date théorique, toutes les écritures seront saisies dans OpenFlyers&lt;br /&gt;
Il est primordiale de bien comprendre que les écritures comptables ne doivent être saisies que dans un seul système.&lt;br /&gt;
&lt;br /&gt;
Attention : A la date réelle du passage en production (par exemple 3 jours après la date théorique), il n'est pas encore possible d'exporter les soldes des comptes clients de l'ancien système de gestion car les écritures de l'exercice précédent n'ont pas encore été consolidées. Aussi, nous recommandons fortement de ne pas se précipiter pour rapatrier les soldes des comptes clients et de procéder en 2 temps :&lt;br /&gt;
#Passer en production sur la saisie des vols à la date convenue avec des à nouveaux de comptes clients à 0 (donc faux).&lt;br /&gt;
#Rapatrier ultérieurement les à nouveaux correspondant à la date de début d'exercice. Les à nouveaux s'inséreront dans les relevés de compte en début d'exercice correctement et les soldes des comptes clients deviendront alors juste.&lt;br /&gt;
&lt;br /&gt;
Le passage en production ne nécessite aucune action particulière si ce n'est de donner les droits de saisie aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
Pour l'activité aéronautique :&lt;br /&gt;
*les premières saisies d'heures de vols mettront automatiquement à jour les compteurs des aéronefs.&lt;br /&gt;
*les validités avec expérience récente (par exemple &amp;quot;un vol tous les 3 mois&amp;quot;) ne devront être paramétrés comme bloquant que lorsque le passage en production sera effectif depuis une durée supérieure à la période de calcul des validités avec expérience récente (par exemple 3 mois dans l'exemple donné).&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, tant que les à nouveaux des comptes clients n'auront pas été rapatriés, le calcul du solde de leur compte sera faux. Il ne faut donc pas activer les blocages pour les soldes insuffisants, si cela est prévu, tant que les [[#Rapatrier_les_à_nouveaux|à nouveaux ne seront pas mis à jour]].&lt;br /&gt;
&lt;br /&gt;
Enfin, si la date de passage en production est prévue pour un 1er janvier, pensez au fait que votre structure n'est pas la seule dans ce cas. C'est la raison pour laquelle il faut prévoir un délai côté OpenFlyers pour la réinitialisation, un délai dans l'import des à nouveaux après cette date et également un délai dans le traitement des demandes de dernière minute.&lt;br /&gt;
&lt;br /&gt;
==Rapatrier les à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]]==&lt;br /&gt;
Le rapatriement des à nouveaux des [[Comptabilité#Comptes_de_bilan|comptes de bilan]] ne doit être effectué qu'une fois que la comptabilité de l'exercice précédent a été consolidée et validée. Cette opération s'effectue donc après le passage en production et peut nécessiter plusieurs semaines dans le cas de consolidation ou de vérifications nécessitant du temps sur l'ancien système de gestion.&lt;br /&gt;
&lt;br /&gt;
L'étendu des soldes de comptes à importer diffère suivant le [[#Définir_le_périmètre_comptable_géré_par_OpenFlyers|périmètre de gestion par OpenFlyers retenu par la structure]] :&lt;br /&gt;
#Dans le cas où [[#Gestion_du_chiffre_d'affaire_dans_OpenFlyers|OpenFlyers gère seulement le chiffre d'affaire]], il faut importer uniquement les à nouveaux des comptes clients&lt;br /&gt;
#Dans le cas où [[#Gestion_des_charges_dans_OpenFlyers|OpenFlyers gère en plus les charges]], il faut importer également les à nouveaux des comptes fournisseurs et des comptes financiers&lt;br /&gt;
#Dans le cas où [[#Gestion_comptable_complète_dans_OpenFlyers|OpenFlyers gère toute la comptabilité]], il faut importer l'intégralité des comptes du bilan&lt;br /&gt;
&lt;br /&gt;
Dans les cas 2 et 3, l'import des comptes de bilan qui ne sont pas des comptes clients, doit s'[[Écritures comptables#Solde_de_compte_de_bilan|effectuer manuellement]].&lt;br /&gt;
&lt;br /&gt;
Dans le 3ème cas, les comptes du bilan qui ne correspondent pas aux clients, fournisseurs ou aux comptes financier peuvent être importés ultérieurement. En effet, il n'y a besoin d'effectuer des contrôles réguliers que sur les comptes financiers et les comptes de tiers.&lt;br /&gt;
===Rapatrier les à nouveaux des comptes clients===&lt;br /&gt;
La meilleure méthode pour initialiser le solde des comptes clients est d'importer un fichier csv contenant le solde de chaque compte client avec les références du client.&lt;br /&gt;
&lt;br /&gt;
Dans le cadre du forfait paramétrage, nous recommandons de confier cette opération à l'équipe OpenFlyers. Nous vous communiquerons un fichier préformaté au format csv. Il vous faudra juste nous le retourner en ayant renseigné les soldes des comptes clients et en nous indiquant la date comptable retenue pour l'import.&lt;br /&gt;
&lt;br /&gt;
Le rapatriement des à nouveaux s'effectue conformément à la pratique comptable : il s'agit d'une [[Écritures comptables#Solde_de_compte_de_bilan|écriture qui vient débiter ou créditer le compte de l'utilisateur concerné à une date comptable choisie et dont la contre-partie va sur le compte de report à nouveau]].&lt;br /&gt;
&lt;br /&gt;
Voici un exemple :&lt;br /&gt;
&lt;br /&gt;
*La structure passe en production au 1er mai. A cette date, l'import n'est pas effectué. Les soldes de tous les comptes sont à 0 car aucune écriture comptable n'a encore été enregistrée.&lt;br /&gt;
*Un utilisateur X effectue une activité le 3 mai qui génère une facture client et donc un débit sur son compte de 200 €.&lt;br /&gt;
Ainsi, le compte de l'utilisateur X au 3 mai se présente ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!200.00 €!!000.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*L'import des à nouveaux s'effectue réellement le 15 mai à la date comptable du 1er mai. Dans la comptabilité précédente, l'utilisateur X présentait au 30 avril un solde positif de 300 €. L'import va donc générer une écriture au crédit sur son compte de 300 € à la date du 1er mai. Après import des à nouveaux, le compte de l'utilisateur X se présentera ainsi :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Date!!Intitulé!!Débit!!Crédit&lt;br /&gt;
|-&lt;br /&gt;
!01/05/xx!!Solde du compte!!000.00 €!!000.00 €&lt;br /&gt;
|-&lt;br /&gt;
|01/05/xx||Import à nouveau||000.00 €||300.00 €&lt;br /&gt;
|-&lt;br /&gt;
|03/05/xx||Activité||200.00 €||000.00 €&lt;br /&gt;
|-&lt;br /&gt;
!31/05/xx!!Solde du compte!!000.00 €!!100.00 €&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==[[#Workflow|Mettre en place un workflow adapté à OpenFlyers]]==&lt;br /&gt;
Une fois en production, OpenFlyers recommande de [[#Workflow|mettre en place un workflow adapté au logiciel]] afin d'en faciliter l'usage et de respecter les bonnes pratiques en terme de suivi d'activité.&lt;br /&gt;
&lt;br /&gt;
=Terminal de paiement électronique virtuel=&lt;br /&gt;
==Principe de fonctionnement du couplage entre OpenFlyers et un TPE virtuel==&lt;br /&gt;
Lorsque une plateforme OpenFlyers est couplée à un terminal de paiement par internet fourni par une banque voici la chronologie de son utilisation :&lt;br /&gt;
#Un utilisateur autorisé, se connecte à OpenFlyers.&lt;br /&gt;
#Il va sur la page OpenFlyers lui permettant de [[Utilisation de la comptabilité#Saisir_un_encaissement|saisir un encaissement]].&lt;br /&gt;
#Il sélectionne le type de paiement &amp;quot;carte bancaire en ligne&amp;quot; (l'intitulé est modifiable pour chaque plateforme)&lt;br /&gt;
#Il saisit le montant qu'il souhaite verser sur son compte client.&lt;br /&gt;
#Il valide le formulaire de saisie de l'approvisionnement et se retrouve dirigé sur l'interface du terminal de paiement électronique de la banque&lt;br /&gt;
#Là, il saisit ses coordonnées bancaires : elles ne sont donc pas transmises à OpenFlyers&lt;br /&gt;
#Si la transaction est acceptée par la banque, le serveur OpenFlyers hébergeant la plateforme est automatiquement informé&lt;br /&gt;
#Le compte de l'utilisateur est crédité du montant correspondant et la contre-partie va sur le compte de trésorerie correspondant à ce mode de paiement. Cette écriture est automatiquement validée car elle a été sécurisée.&lt;br /&gt;
Il n'y a donc rien à faire côté gestion.&lt;br /&gt;
Sur le compte de trésorerie, le mouvement apparait comme pour les autres mouvements qui correspondent à des encaissements :&lt;br /&gt;
*Dans la colonne '''Compte affecté''' est indiqué le nom du compte de contre-partie, c'est à dire le compte de l'utilisateur avec son nom et prénom.&lt;br /&gt;
*Dans la colonne '''Commentaire''' apparait le type de paiement, par exemple &amp;quot;carte bancaire en ligne&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Mettre en place un TPE virtuel==&lt;br /&gt;
A noter qu'il faut être sous la version 3.6 ou supérieure d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Voici comment procéder pour créer un TPE virtuel (Terminal de Paiement Electronique en ligne) :&lt;br /&gt;
#Contacter votre banque pour :&lt;br /&gt;
#*connaitre le système qu'elle utilise et nous l'indiquer afin de vérifier qu'[[#Liste_des_systèmes_implémentés_par_OpenFlyers|OpenFlyers est bien compatible]]. Il faut aussi nous indiquer le nom de la banque.&lt;br /&gt;
#*obtenir son accord de principe sur la mise en place d'un TPE virtuel (normalement cela ne devrait pas poser de problème)&lt;br /&gt;
#Nous envoyer un e-mail en nous indiquant le système utilisé par votre banque. Trois cas peuvent se présenter :&lt;br /&gt;
#*nous avons déjà fait un interfaçage avec la solution utilisée par votre banque. Dans ce cas, la mise en place peut être très rapide.&lt;br /&gt;
#*nous n'avons pas encore fait d'interfaçage mais plusieurs clients d'OF sont intéressés et nous sommes en mesure de le réaliser pour un coût raisonnable. Dans ce cas, le délai peut être de quelques mois ou plus rapide si vous prenez en charge le coût de réalisation.&lt;br /&gt;
#*nous n'avons pas fait d'interfaçage et cette solution est très spécifique. Dans ce cas, nous ne ferons un interfaçage que si vous acceptez de supporter les coûts de développement.&lt;br /&gt;
#Une fois que nous vous avons répondu positivement, il vous appartient de nous confirmer votre demande de mise en place&lt;br /&gt;
#Souscrire à la version 3.6 ou supérieure d'OpenFlyers si la plateforme est sous une version antérieure.&lt;br /&gt;
#Nous éditons la facture correspondant au coût de mise en place (voir notre [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire]) et nous vous communiquons les informations nécessaires à votre banque '''qui dépendent du système utilisé par la banque'''. Voici les informations génériques pour toutes les banques :&lt;br /&gt;
#*Nom du commerçant ou raison sociale du commerçant : mettre le nom de votre structure&lt;br /&gt;
#*Nom de la boutique, du site de e-commerce, intitulé de l'enseigne commerciale : mettre le nom de votre structure&lt;br /&gt;
#*Type de site web marchand : indiquer qu'il s'agit d'une solution générique développée l'éditeur logiciel OpenFlyers&lt;br /&gt;
#*Nom du client ou nom du propriétaire du TPE : mettre le nom de votre structure&lt;br /&gt;
#*Nom du représentant : mettre le nom d'une personne agissant en qualité de représentant de la structure&lt;br /&gt;
#*Adresse du site internet, adresse du site marchand : il s'agit de l'adresse de votre plateforme OpenFlyers par exemple http://openflyers.com/demo-fr/&lt;br /&gt;
#*Éditeur du site internet, nom de l'hébergeur : S.A.R.L. OPENFLYERS. Les mentions légales (adresse, numéro SIRET, etc.) figurent sur nos factures.&lt;br /&gt;
#*Nom et prénom de la personne en charge du site ou interlocuteur technique : Indiquer le nom de votre contact OpenFlyers.&lt;br /&gt;
#*Adresse de l'hébergeur : mettre l'adresse courrier d'OpenFlyers indiqué sur nos factures.&lt;br /&gt;
#*Adresse e-mail de l'hébergeur : mettre l'adresse e-mail de votre interlocuteur chez OpenFlyers.&lt;br /&gt;
#*Numéro de téléphone de l'hébergeur : laisser vide ou mettre le numéro 0892.494.123.&lt;br /&gt;
#*Système d'exploitation : Linux 64 bits&lt;br /&gt;
#*Environnement de développement : PHP&lt;br /&gt;
#*Interlocuteur technique : Mettre le nom de votre interlocuteur chez OpenFlyers.&lt;br /&gt;
#*Interlocuteur Administratif ou administrateur web pour l'accès au back-office : il s'agit du back-office de la banque. Il faut indiquer le nom de la personne dans votre structure qui sera en charge d'aller consulter. En général il s'agit de la même personne que celle qui fait office d'administrateur OpenFlyers. Cela peut être aussi une personne en charge de la comptabilité. Mais dans ce cas, il faut qu'elle est aussi des notions en informatique.&lt;br /&gt;
#:'''Attention''' : dans le cas d'un [[#Liste_des_systèmes_implémentés_par_OpenFlyers|TPE SIPS ATOS]] il faut préciser dans le formulaire que l'exécutable devant contenir la clé de décryptage doit être compilée pour Windows 64 bits.&lt;br /&gt;
#Vous payez la facture&lt;br /&gt;
#Vous nous communiquez les éléments de votre banque nous permettant de raccorder OpenFlyers à votre TPE virtuel en suivant la [[#Procédures_TPE|procédure TPE]] correspondante à votre type de TPE.&lt;br /&gt;
#:'''Attention''' : dans le cas où la banque vous fait parvenir par courrier des documents, conservez-les. Ne transmettez à OpenFlyers que les certificats finaux que vous aurez récupéré directement soit depuis une interface web de la banque soit depuis un programme à installer sur le PC.&lt;br /&gt;
#Nous effectuons le raccordement&lt;br /&gt;
#Nous testons et quand c'est positif nous vous envoyons un e-mail. Charge à vous, lorsque c'est demandé par votre banque, de renseigner le PV de test.&lt;br /&gt;
&lt;br /&gt;
Notre prestation ne prévoit pas d'intervention auprès de la banque et nous ne pouvons agir en tant qu'intermédiaire. En effet, la mise du TPE nécessite de la part de la structure la souscription d'un contrat auprès de sa banque : nous ne pouvons signer les papiers contractuels à la place de la structure ni s'engager en son nom. De plus, il est recommandé que la structure soit destinatrice de l'ensemble des documents envoyés par la banque et qu'ensuite elle nous remette uniquement ce qui nous est nécessaire et que nous demandons en fonction du TPE à mettre en place.&lt;br /&gt;
&lt;br /&gt;
Certaines banques vérifient la présence des mentions légales lors de la demande de mise en place du TPE. Ces mentions légales doivent être présentes sur le site vitrine de la structure. La plateforme OpenFlyers doit être considérée comme une sous-partie privative de ce site et n'a donc pas vocation à accueillir les mentions légales.&lt;br /&gt;
&lt;br /&gt;
==TPE virtuel et test==&lt;br /&gt;
&lt;br /&gt;
S'assurer avant de procéder à des tests avec le TPE, que les utilisateurs disposent d'une adresse email valide.&lt;br /&gt;
&lt;br /&gt;
==Liste des systèmes implémentés par OpenFlyers==&lt;br /&gt;
OpenFlyers a implémenté jusqu'à présent les interfaces suivantes. Attention, pour certaines banques, il existe plusieurs interfaces. Cela peut dépendre de la région géographique ou d'une évolution au niveau de la banque qui lui fait abandonner un ancien système au profit d'un plus récent.&lt;br /&gt;
*CMCIC version 1.2open et version 3.5 utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Mutuel&lt;br /&gt;
**CIC&lt;br /&gt;
*PAYBOX utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Agricole (e-transactions). ''A noter que la [[#Procédure_Paybox_Vision|procédure de mise en place &amp;quot;Paybox Vision&amp;quot;]] est lourde et impose des actions de la part du gestionnaire de la structure. De plus, elle nécessite de disposer d'une adresse qui ne soit pas en @free.fr ou @orange.fr.''&lt;br /&gt;
**Crédit Coopératif&lt;br /&gt;
*PAYLINE utilisé par les banques suivantes :&lt;br /&gt;
**Crédit Mutuel (citélis)&lt;br /&gt;
*SIPS ATOS utilisé par les banques suivantes :&lt;br /&gt;
**Banque Populaire (cyberplus paiement)&lt;br /&gt;
**BNP Paribas (mercanet)&lt;br /&gt;
**Crédit du Nord (webaffaires)&lt;br /&gt;
**Crédit Lyonnais (sherlocks)&lt;br /&gt;
**Crédit Mutuel&lt;br /&gt;
**HSBC (elysnet)&lt;br /&gt;
**La Poste (scellius)&lt;br /&gt;
**Société Générale (sogenactif)&lt;br /&gt;
*SP PLUS utilisé par les banques suivantes :&lt;br /&gt;
**Caisse d'Epargne&lt;br /&gt;
&lt;br /&gt;
==Procédures TPE==&lt;br /&gt;
===Procédure CMCICv3===&lt;br /&gt;
*Aller sur [https://www.cmcicpaiement.fr/fr/identification/default.cgi l'interface d'administration]&lt;br /&gt;
*Dans le champ '''Identifiant''' saisir l'identifiant communiqué par e-mail par la banque&lt;br /&gt;
*Dans le champ '''Mot de passe''' saisir le mot de passe communiqué par e-mail par la banque&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''&lt;br /&gt;
Une fois connecté, vous êtes soit sur l'interface back-office de production soit sur l'interface back-office de test. L'interface back-office de test est reconnaissable aux mots &amp;quot;test&amp;quot; qui apparaissent un peu partout dans le bandeau supérieur de l'interface.&lt;br /&gt;
*Si l'interface indique ''Votre identifiant n'est associé à aucun TPE sur l'environnement de XXX'', basculer sur l'autre interface en cliquant à droite dans la boite '''Environnement''' sur le lien '''Cliquez ici pour basculer vers le Tableau de Bord de XXX.'''&lt;br /&gt;
*Cliquer sur le menu '''Paramétrage'''.&lt;br /&gt;
*Cliquer sur le sous-menu '''Clé de sécurité'''.&lt;br /&gt;
*Sélectionner l'e-mail sur lequel vous souhaitez recevoir le ''code de téléchargement''.&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''.&lt;br /&gt;
'''Attention : ''' Ne pas fermer la page '''Obtention de la clé de sécurité''' permettant de récupérer la clé&lt;br /&gt;
*Copier depuis sa messagerie e-mail le '''Code de confirmation'''&lt;br /&gt;
*Coller ce code dans l'interface '''Obtention de la clé de sécurité'''&lt;br /&gt;
*Cliquer sur le bouton '''VALIDER'''&lt;br /&gt;
*Télécharger le fichier contenant la clé de sécurité.&lt;br /&gt;
*Nous transmettre par e-mail cette clé de sécurité en nous précisant si vous l'avez obtenu depuis l'interface de production ou depuis l'interface de test.&lt;br /&gt;
&lt;br /&gt;
===Procédure Paybox Vision===&lt;br /&gt;
''Cette procédure débute après que l'identifiant et le mot de passe ait été changé conformément aux préconisations d'e-transactions. L'identifiant doit correspondre à une adresse e-mail autre que @free.fr ou @orange.fr''&lt;br /&gt;
*Aller sur [https://guest.e-transactions.fr/Vision l'interface d'administration]&lt;br /&gt;
*Dans le champ '''Login''', saisir l'identifiant qui correspond normalement à une adresse e-mail&lt;br /&gt;
*Dans le champ '''Mot de passe''', saisir le mot de passe qui a été préalablement modifié&lt;br /&gt;
*Cliquer sur le bouton '''Se connecter'''&lt;br /&gt;
*Cliquer sur le menu représentant une clé de mécanicien.&lt;br /&gt;
*Dans le tableau, copier/coller sur un fichier texte les champs '''PBX_SITE''', '''PBX_RANG''' et '''PBX_IDENTIFIANT'''. Attention : '''PBX_RANG''' doit être recopié sur 2 chiffres et non pas trois (exemple : 01).&lt;br /&gt;
*Dans le tableau, dans le champ '''Réception du ticket de paiement''' sélectionner '''Inactif'''.&lt;br /&gt;
*Dans le tableau, compléter le champ '''E-mail de votre intégrateur''' en indiquant notre adresse e-mail de contact. '''Cette opération est indispensable pour pouvoir activer une nouvelle clé HMAC'''.&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
*Tout en bas de l'interface, saisir des caractères dans le champ '''Phrase de passe''' de façon à ce que le bouton à droite du champ passe à &amp;quot;Fort&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton en-dessous du champ intitulé '''Générer la clé'''&lt;br /&gt;
*Une fois la clé générée, recopier le contenu de la clé qui apparait en-dessous du bouton '''Générer la clé''' à côté du champ '''Clé :'''&lt;br /&gt;
*'''Valider l'e-mail reçu pour acceptation de la clé'''&lt;br /&gt;
*Transmettre par e-mail à OpenFlyers les informations suivantes :&lt;br /&gt;
**PBX_SITE&lt;br /&gt;
**PBX_RANG&lt;br /&gt;
**PBX_IDENTIFIANT&lt;br /&gt;
**Clé&lt;br /&gt;
&lt;br /&gt;
===Qualité de service des TPE===&lt;br /&gt;
Selon les Terminal de Paiement Électroniques virtuel, certains systèmes n'effectuent pas de renvoie de l'avis de débit aux serveurs dans le cas ou le premier envoi à échouer. Ce type de situation est rare mais peut arriver (problème de liaison internet par exemple ou indisponibilité momentanée du serveur recevant les avis de transactions). A contrario, les bons systèmes enregistrent les échecs, attendent un certain délai puis effectuent une nouvelle tentative d'envoi.&lt;br /&gt;
&lt;br /&gt;
De même certains systèmes envoient un e-mail d'erreur lorsque la transaction n'est pas prise en compte par la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il est donc recommandé de vérifier auprès de sa banque si la solution TPE proposée effectue ce type de surveillance et de renvoi systématique.&lt;br /&gt;
&lt;br /&gt;
Si en exploitation, vous êtes confronté à un problème de prise en compte par votre plateforme OpenFlyers d'un paiement effectué par un utilisateur, il faut vérifier que cette transaction a bien eu lieu. Pour cela, il faut se connecter à l'interface de gestion du TPE proposé par la banque, retrouver la ligne correspondant à la transaction. Cette ligne doit comporter un message d'anomalie indiquant que le serveur OpenFlyers n'a pas accusé réception de l'avis de transaction.&lt;br /&gt;
&lt;br /&gt;
A la suite de quoi, vous pouvez nous remonter l'anomalie pour que nous consultions les logs et ainsi que nous vérifions s'il n'y a pas eu un bug dans OpenFlyers bloquant l'enregistrement de la transaction. Il existe également un [[Gestion des rapports#Tentatives_de_paiement_par_carte_bancaire_en_ligne|rapport listant les tentatives de paiements]] qui permet de vérifier s'il y a bien eu une tentative de paiement d'initiée côté OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Si à la suite de notre investigation, nous n'avons pas retrouvé d'enregistrement d'avis de transaction cela veut dire que le message n'est pas parvenu au serveur et que vous êtes sur un système de TPE qui n'effectue pas de nouvel envoi en cas d'échec (cf. ci-dessus).&lt;br /&gt;
&lt;br /&gt;
Nous vous recommandons alors de faire remonter le problème auprès de votre banque pour qu'ils améliorent leur processus en mettant en place une surveillance des avis en échec et un renouvellement de l'envoi.&lt;br /&gt;
&lt;br /&gt;
=Workflow=&lt;br /&gt;
L'utilisation du logiciel OpenFlyers nécessite la mise en place d'une chronologie des actions quotidiennes et annuelles.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions quotidiennes==&lt;br /&gt;
*Le première action chronologique concerne la réservation qui intervient en amont de la réalisation d'une activité.&lt;br /&gt;
*Ensuite, vient la saisie d'activité qui se fait soit :&lt;br /&gt;
**en 2 phases :&lt;br /&gt;
***Ouverture de l'activité avant de débuter l'activité&lt;br /&gt;
***Puis fermeture de l'activité après la réalisation de l'activité&lt;br /&gt;
**en 1 phase :&lt;br /&gt;
***Fermeture de l'activité qui se fait à l'issue de la réalisation de l'activité&lt;br /&gt;
&lt;br /&gt;
Dans le cas des activités aéronautiques, nous recommandons de donner comme consigne aux pilotes de saisir les vols dans OpenFlyers et ensuite de recopier les valeurs affichées par OpenFlyers sur le carnet de route. En effet, le document qui fait foi est le carnet de route. Cependant, c'est OpenFlyers qui est normalement utilisé pour faire le total des heures dans le cadre du suivi de la maintenance. De ce fait, il est important que les données dans OpenFlyers et sur le carnet de route correspondent rigoureusement. Or, le risque d'erreur est plus faible lorsqu'on recopie des éléments affichés sur un écran plutôt que si on recopie sur un écran des éléments écrits sur un papier. En plus, OpenFlyers fait des calculs automatiquement. En saisissant d'abord sur OpenFlyers, le pilote n'a plus à faire de calcul. Il s'évite ainsi une source d'erreur.&lt;br /&gt;
&lt;br /&gt;
Quelque soit le mode de saisie (ouverture+fermeture ou fermeture uniquement), c'est la saisie de la fermeture qui déclenche la facturation. L'ouverture de l'activité permet d'informer les autres utilisateurs :&lt;br /&gt;
*de la prise en compte d'une ressource et donc de son indisponibilité pour une autre activité&lt;br /&gt;
*des intentions au cours de la réalisation de l'activité&lt;br /&gt;
*du temps d'utilisation prévu (et donc de l'horaire de retour prévu)&lt;br /&gt;
*du trajet prévu&lt;br /&gt;
Ces informations peuvent être utiles dans un but de sécurité.&lt;br /&gt;
&lt;br /&gt;
A noter que la facturation peut être déclenchée en amont au vu des réservations et non pas de la réalisation de l'activité.&lt;br /&gt;
&lt;br /&gt;
Un autre élément du workflow concerne l'encaissement des paiements des utilisateurs ou la vente de produits. Ces opérations sont déconnectées de la chronologie réservation/réalisation d'une activité.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions hebdomadaires/mensuelles==&lt;br /&gt;
En aval de la réalisation de l'activité, intervient les actions liées à la comptabilité. Il est indispensable de suivre la démarche suivante pour garantir la confiance des parties prenantes (utilisateurs, gestionnaires et l'éditeur du logiciel OpenFlyers).&lt;br /&gt;
&lt;br /&gt;
===Validation des écritures===&lt;br /&gt;
Il faut valider régulièrement l'ensemble des écritures par pointage systématique. Cela concerne :&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_de_l'activité|validation des saisies d'activités]]&lt;br /&gt;
*La [[Gestion des produits et des ventes#Validation_d'un_panier_par_un_utilisateur|validation des ventes de produits]].&lt;br /&gt;
*La [[Introduction#Validation_de_la_saisie_des_encaissements|validation des encaissements]]&lt;br /&gt;
*La [[Utilisation de la comptabilité#Validation_d'un_flux|validation des saisies de flux comptables divers]].&lt;br /&gt;
Cette validation doit être adaptée en fonction de la taille de la structure et des ressources humaines disponibles pour effectuer cette tâche. Dans une petite structure, une validation tous les mois est acceptable, dans une grande structure, une validation toutes les semaines est recommandée. &lt;br /&gt;
&lt;br /&gt;
Concernant la validation des saisies d'activités comme par exemple les vols effectués sur les aéronefs, cette dernière doit être effectuée au plus tard, pour un aéronef considéré, avant la pose d'une APRS (Approbation Pour Remise en Service) afin de garantir le bon calcul des heures de vols de l'aéronef concerné.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des ventes de produits, cette dernière doit être faite en fonction du type de produit vendu. S'il s'agit d'un produit physique remis en main propre, alors la validation devrait avoir lieu lors de la remise du produit. S'il s'agit d'un produit immatériel, comme des packs d'heures d'activité, alors la validation devrait être décaler de quelques jours, voir d'une semaine, afin de permettre au client d'exercer son droit de rétractation. Néanmoins, cette validation doit intervenir à intervalle régulier pour éviter toute abus de la part des utilisateurs.&lt;br /&gt;
&lt;br /&gt;
Concernant la validation des encaissements, cette dernière s'effectue normalement lors du pointage du type d'encaissement considéré. Ainsi pour les chèques, cela permet de générer le bordereau de remise pour la banque.&lt;br /&gt;
&lt;br /&gt;
Concernant les flux comptables divers, dès qu'ils touchent un compte client, ils devraient être validés au plus tôt afin de garantir au client qu'il n'y aura pas de &amp;quot;disparition&amp;quot; à posteriori de ce flux. Si par la suite une erreur est détectée sur ce flux, il suffira de saisir un flux correctif permettant d'annuler l'erreur. Cette pratique assure la traçabilité des écritures.&lt;br /&gt;
&lt;br /&gt;
===Saisie des factures/paiements fournisseurs===&lt;br /&gt;
La saisie des factures fournisseurs et de leur paiement sont à effectuer si la structure a décidé de [[#Gestion_des_charges_dans_OpenFlyers|gérer les charges]] dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Nous recommandons :&lt;br /&gt;
*De [[Gestion des achats#Saisie_d'une_facture_fournisseur|saisir les factures fournisseurs après leur paiement]].&lt;br /&gt;
*D'effectuer la [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisie des paiements fournisseurs au vu du relevé de banque]], donc normalement, une fois par mois.&lt;br /&gt;
&lt;br /&gt;
==Workflow des actions annuelles==&lt;br /&gt;
===Validation des charges===&lt;br /&gt;
Lorsque les charges sont gérées dans OpenFlyers, nous recommandons de valider les factures et les paiements fournisseurs juste avant la clôture de la comptabilité.&lt;br /&gt;
&lt;br /&gt;
En effet, il n'est pas utile de les valider plus tôt car :&lt;br /&gt;
*Ils n'ont pas d'impact sur les utilisateurs.&lt;br /&gt;
*Il est préférable d'attendre que les comptes de trésorerie soient réputés exactes et que le solde des comptes fournisseurs aient été vérifiés. Cela laisse la possibilité de modifier une saisie de facture ou de paiement fournisseur qui aurait été mal ventilée.&lt;br /&gt;
&lt;br /&gt;
===Clôture/ouverture de l'exercice comptable===&lt;br /&gt;
Lors du changement d'exercice comptable, il est nécessaire d'effectuer certaines opérations comptables dans OpenFlyers et de procéder à la clôture de l'exercice précédent.&lt;br /&gt;
&lt;br /&gt;
Ces opérations n'ont pas besoin d'être effectuées dès le changement d'exercice. En effet, il est possible de continuer à saisir sur le nouvel exercice sans que le précédent soit clôturer.&lt;br /&gt;
&lt;br /&gt;
De plus, ces opérations nécessitent un paramétrage préalable de la plateforme afin de garantir que les écritures comptables seront correctement exportées dans un ou plusieurs fichiers en vu de leur archivage ou de leur import dans un logiciel de comptabilité.&lt;br /&gt;
&lt;br /&gt;
Un mécanisme de vérification en place dans le logiciel OpenFlyers empêche de désactiver tout compte dont le solde n'est pas nul et dont les écritures n'ont pas été exportées. Cela permet de garantir qu'on garde la &amp;quot;vue&amp;quot; sur tout ce qui impacte le compte d'exploitation en cours et le bilan.&lt;br /&gt;
&lt;br /&gt;
En corolaire, il n'est donc possible de désactiver des utilisateurs ou des ressources que lorsque leurs comptes sont eux-mêmes désactivables.&lt;br /&gt;
&lt;br /&gt;
Aussi, nous recommandons de fixer une politique de gestion des utilisateurs consistant à n'effectuer d'opération de &amp;quot;désactivation&amp;quot; qu'après un décalage d'une ou plusieurs années sans présence dans la structure. Il est judicieux de fixer ce décalage dans tout document contractuel comme les conditions générales de ventes, les statuts ou règlements intérieurs. Ainsi, la &amp;quot;mise à 0&amp;quot; du solde du compte en passant en &amp;quot;pertes et profits&amp;quot; ne pourra être remis en cause par l'utilisateur ou le client à posteriori.&lt;br /&gt;
&lt;br /&gt;
[[Utilisation de la comptabilité#Actions_à_effectuer_par_ordre_chronologique|Voir les procédures correspondantes]].&lt;br /&gt;
&lt;br /&gt;
=[[Créer une plateforme OpenFlyers pour sa structure]]=&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Fichier:Chronologie-parametrage-700px.png&amp;diff=15052</id>
		<title>Fichier:Chronologie parametrage 700px.png</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Fichier:Chronologie-parametrage-700px.png&amp;diff=15052"/>
				<updated>2017-01-06T08:54:36Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Gestion-des-validit%C3%A9s&amp;diff=15051</id>
		<title>Gestion des validités</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Gestion-des-validit%C3%A9s&amp;diff=15051"/>
				<updated>2017-01-03T13:40:59Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Ajouter une validité à un utilisateur */&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 validités dans OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
=Définition=&lt;br /&gt;
&lt;br /&gt;
Le terme &amp;quot;validité&amp;quot; est utilisé par OpenFlyers pour désigner tout ce qui peut constituer une attestation, autorisation, certificat, échelon, grade, licence, permis, qualification, etc.&lt;br /&gt;
&lt;br /&gt;
Les &amp;quot;types de validités&amp;quot; permettent de définir des validités qui seront attribuées aux utilisateurs. Différents critères permettent de les définir :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La détention par un utilisateur de validités requises peut être vérifié :&lt;br /&gt;
*A la connexion de l'utilisateur&lt;br /&gt;
*Lors d'une réservation faite pour un utilisateur par lui-même ou un autre utilisateur. OpenFlyers vérifie les validités de l'utilisateur concerné par la réservation.&lt;br /&gt;
*Lors d'une saisie d'activité (par exemple lors de la saisie d'un vol pour l'aéronautique).&lt;br /&gt;
&lt;br /&gt;
==Validité à vendre==&lt;br /&gt;
&lt;br /&gt;
Une validité à vendre est une validité qui est couplée à un [[Gestion des produits et des ventes#Configuration_du_produit_Validité|produit en vente]].&lt;br /&gt;
&lt;br /&gt;
=Messages d'alerte=&lt;br /&gt;
OpenFlyers distingue 2 types de messages d'alertes : &lt;br /&gt;
*Les [[#Alertes_non_bloquantes|alertes non bloquantes]] qui peuvent être surpassées par l'utilisateur.&lt;br /&gt;
*Les [[#Alertes_bloquantes|alertes bloquantes]] qui empêchent d'enregistrer la saisie en cours.&lt;br /&gt;
&lt;br /&gt;
==Alertes non bloquantes==&lt;br /&gt;
Les alertes non bloquantes apparaissent en &amp;lt;span style=&amp;quot;color:orange&amp;quot;&amp;gt;'''orange'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Alertes bloquantes==&lt;br /&gt;
Les alertes bloquantes apparaissent en &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''rouge'''&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Ajouter des types de validités=&lt;br /&gt;
*'''admin'''&lt;br /&gt;
*'''Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*En-dessous du tableau listant les types de validité, remplir le champ vide à gauche du bouton '''Ajouter une validité''' en mettant le nom souhaité pour la validité&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter une validité'''&lt;br /&gt;
La validité s'insère dans le tableau qui est trié par ordre alphabétique&lt;br /&gt;
*Sélectionner ou non les cases à cocher décrites dans les [[#Paramètres_de_configuration|Paramètres de configuration]] en fonction du comportement attendu.&lt;br /&gt;
Une fois le type de validité créé, la [[Gestion des profils#Type_de_validité_que_l'utilisateur_peut_gérer|gestion de ce type de validité]] est automatiquement donnée aux [[Gestion des profils#Généralités|profils ayant le droit &amp;quot;Ajout et gestion de ses validités&amp;quot;]].&lt;br /&gt;
&lt;br /&gt;
==Paramètres de configuration==&lt;br /&gt;
'''Attention :''' lorsque vous effectuez une modification sur le tableau des types de validité, il faut cliquer en dehors du tableau pour que le choix soit pris en compte et sauvegardé.&lt;br /&gt;
&lt;br /&gt;
===Nom===&lt;br /&gt;
Nom choisi pour désigner une validité&lt;br /&gt;
&lt;br /&gt;
===Soumise à échéance===&lt;br /&gt;
Indique si la validité doit contenir une date d'échéance ou non&lt;br /&gt;
&lt;br /&gt;
===Gestion du code identifiant===&lt;br /&gt;
Indique si un champ &amp;quot;code identifiant&amp;quot; est éditable pour y renseigner un code associé à la validité de l'utilisateur. Exemples : numéro de membre, numéro de licence, numéro de qualification, identifiant, etc.&lt;br /&gt;
&lt;br /&gt;
===Gestion de la date d'obtention===&lt;br /&gt;
Indique si un champ &amp;quot;date d'obtention&amp;quot; doit être associé à la validité.&lt;br /&gt;
Exemples : date de délivrance d'un permis, date d'obtention d'un brevet, 1ère date d'inscription&lt;br /&gt;
&lt;br /&gt;
===Validité bloquante pour la saisie des vols (si requise)===&lt;br /&gt;
Indique le comportement pour ce type de validité que doit adopter OpenFlyers lors d'une tentative de saisie de vols dont une validité requise est périmée ou absente. Si la validité est configurée comme bloquante, alors la saisie du vol sera bloquée et impossible. C'est utile en mode ouverture/fermeture de vol où il est alors possible lors de l'ouverture du vol d'interdite un utilisateur de saisir son vol s'il manque un certain nombre de validités.&lt;br /&gt;
&lt;br /&gt;
===Validité bloquante pour le contrôle d'accès (si requise pour la réservation)===&lt;br /&gt;
Cette colonne est visible uniquement dans le cas où un contrôle d'accès spécifique est interfacé avec OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Elle permet de définir si une validité doit bloquer une autorisation d'accès gérée par un système de contrôle d'accès.&lt;br /&gt;
&lt;br /&gt;
Le comportement du blocage est le suivant :&lt;br /&gt;
*OpenFlyers liste les validités qui ne sont pas détenues par un utilisateur et qui sont des [[Gestion des validités#Paramétrage_pour_chaque_type_de_ressources_des_validités_requises_lors_d'une_réservation|validités qui sont requises pour une réservation]].&lt;br /&gt;
*Si dans cette liste, il existe des validités qui sont marquées bloquantes pour le contrôle d'accès alors l'accès n'est pas autorisé.&lt;br /&gt;
&lt;br /&gt;
===Alerte à la connexion===&lt;br /&gt;
&lt;br /&gt;
Définit le comportement souhaité pour le [[#Contrôle-des-validités-à-la-connexion|contrôle des validités à la connexion]]. 4 types de comportements sont possibles lorsqu'une validité à échéance est périmée ou que l'expérience requise par la validité n'est pas suffisante :&lt;br /&gt;
*Pas de gestion : La validité n'est pas contrôlée à la connexion&lt;br /&gt;
*Alerte à la connexion : Affichage d'une [[#Alertes_non_bloquantes|alerte non bloquante]]&lt;br /&gt;
*[[Documentation utilisateur#Restriction_d'accès|Accès restreint au profil X]] (où X peut désigner tout profil définit pour la plateforme) : Affichage d'une [[#Alertes_non_bloquantes|alerte non bloquante]] et qui induit des restrictions sur les droits de l'utilisateur&lt;br /&gt;
*Pas d'accès : Affichage d'une [[#Alertes_bloquantes|alerte bloquante]]&lt;br /&gt;
&lt;br /&gt;
===Formule d'expérience===&lt;br /&gt;
Lorsque ce champ est renseigné avec une formule, alors le type de validité devient une &amp;quot;validité avec expérience&amp;quot;. Dans ce cas, la validité ne peut plus être attribuée à un utilisateur. Elle sert à vérifier que l'utilisateur remplit des critères variables au cours du temps. Elle est compatible avec tous les [[#Contrôle-des-validités|cas de contrôle de validité]].&lt;br /&gt;
&lt;br /&gt;
Exemples de validités à formule d'expérience :&lt;br /&gt;
*avoir plus de 3 atterrissages dans les 90 derniers jours&lt;br /&gt;
*ne pas dépasser plus de 90h dans les 30 derniers jours&lt;br /&gt;
cf. [[Formules de calcul#Expérience_récente|les formules de calcul d'expérience récente]].&lt;br /&gt;
&lt;br /&gt;
=Supprimer des types de validité=&lt;br /&gt;
*Aller sur '''Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
L'icône symbolisant une poubelle permet de supprimer un type de validité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si cette validité a été attribuée à au moins un utilisateur, alors une alerte bloquante, avec la liste des utilisateurs, empêchera la suppression de cette validité. Il faudra d'abord retirer la validité aux utilisateurs concernés.&lt;br /&gt;
&lt;br /&gt;
=Contrôle des validités=&lt;br /&gt;
==Contrôle des validités à la connexion==&lt;br /&gt;
Dès que l'utilisateur est identifié, un contrôle de ses validités est effectué. Les validités contrôlées sont uniquement celles que possède l'utilisateur et qui sont soumises à échéance ou les validités à expérience récente.&lt;br /&gt;
&lt;br /&gt;
Le paramétrage du contrôles des validités s'effectue au travers de 2 champs :&lt;br /&gt;
*le champ '''[[#Alerte_à_la_connexion|Alerte à la connexion]]''' qui définit le comportement que l'application OpenFlyers doit adopter à la connexion&lt;br /&gt;
*le champ '''[[#Soumise_à_échéance|Soumise à échéance]]''' qui doit être attribué. S'il n'y a pas d'échéance, alors il n'y a pas de contrôle de validité de l'échéance à la connexion&lt;br /&gt;
&lt;br /&gt;
==Contrôle des validités lors de la saisie d'une réservation==&lt;br /&gt;
Lors d'une réservation, OpenFlyers contrôle les validités détenues par l'utilisateur occupant la 1ère place dans la ressource et seulement s'il n'y a qu'un seul utilisateur pour cette réservation. De plus, OpenFlyers vérifie que les validités requises pour ce type de ressource sont détenues par l'utilisateur et, dans le cas de validités à échéance, que leur date d'échéance est postérieure à la date de fin de la réservation.&lt;br /&gt;
&lt;br /&gt;
Il y a 3 comportement possibles :&lt;br /&gt;
*Pas de contrôle des validités.&lt;br /&gt;
*Une [[#Alertes_non_bloquantes|alerte non bloquante]] dans le cas où il manque une ou plusieurs validités.&lt;br /&gt;
*Une [[#Alertes_bloquantes|alerte bloquante]] dans le cas où il manque une ou plusieurs validités.&lt;br /&gt;
&lt;br /&gt;
Le comportement est le même pour toutes les validités.&lt;br /&gt;
&lt;br /&gt;
==Contrôle des validités lors de la saisie d'un vol==&lt;br /&gt;
Lors de la saisie d'un vol, OpenFlyers effectue 2 contrôles :&lt;br /&gt;
#S'il n'y a qu'une seule personne pour ce vol, le logiciel vérifie la présence des validités requises pour les types de vols sélectionnés. Il y a 2 comportement possibles pour chaque validité manquante :&lt;br /&gt;
#*Une [[#Alertes_non_bloquantes|alerte non bloquante]].&lt;br /&gt;
#*Une [[#Alertes_bloquantes|alerte bloquante]].&lt;br /&gt;
#:Il y a un [[#Paramétrage_général_du_contrôle_des_validités_pour_la_saisie_des_vols|paramétrage général]] qui définit si toute validité manquante doit entrainer un blocage. Si ce n'est pas le cas, alors cela dépend du paramétrage associé à chaque type de validité.&lt;br /&gt;
#OpenFlyers affiche une alerte pour les validités périmées [[#Contrôle_des_validités_à_la_connexion|comme à la connexion]].&lt;br /&gt;
&lt;br /&gt;
=Paramétrage du contrôle des validités=&lt;br /&gt;
==Paramétrage du contrôle des validités pour les réservations==&lt;br /&gt;
Lors d'une réservation, le contrôle des validités s'effectue en fonction du type de ressource sélectionné pour la réservation.&lt;br /&gt;
&lt;br /&gt;
Un comportement général, restrictif, permissif ou sans contrôle, est défini pour toutes les ressources. Puis, pour chaque type de ressource, on définit les validités requises.&lt;br /&gt;
&lt;br /&gt;
===Paramétrage général du contrôle des validités pour les réservations===&lt;br /&gt;
Pour paramétrer, ce contrôle, il faut :&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis '''Configuration &amp;gt; Paramétrage'''.&lt;br /&gt;
*Dans le formulaire '''[[Documentation administrateur#Gestion_des_réservations|Gestion des réservations]]''', champ '''Gestion des validités''', il faut choisir le comportement général parmi les choix suivants :&lt;br /&gt;
**'''En mode &amp;quot;Restriction&amp;quot; pour les réservations''' : cela fera apparaitre des alertes bloquantes lorsqu'il y aura une absence de validités requises pour une ressource donnée&lt;br /&gt;
**'''En mode &amp;quot;Avertissement&amp;quot; pour les réservations''' : cela fera apparaitre des alertes non-bloquantes lorsqu'il y aura une absence de validité requises pour une ressource donnée&lt;br /&gt;
**'''Désactivé'''&lt;br /&gt;
*Puis cliquer sur le bouton '''Valider''' associé au formulaire&lt;br /&gt;
&lt;br /&gt;
===Paramétrage pour chaque type de ressources des validités requises lors d'une réservation===&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis choisir l'item de menu '''Ressources &amp;gt; Types de ressources'''.&lt;br /&gt;
*Dans le tableau qui liste les types de ressources, cliquer sur l'icône dans la colonne '''Action''' symbolisant une check-list [[Fichier:Checklist.png]] et intitulée '''Validité'''.&lt;br /&gt;
&lt;br /&gt;
On se retrouve avec un tableau qui permet de déterminer les validités requises lors de la réservation d'une ressource donnée.&lt;br /&gt;
&lt;br /&gt;
Les validités peuvent se suppléer les unes les autres. C'est la règle &amp;quot;ou&amp;quot; présente entre chaque validité d'une même ligne.&lt;br /&gt;
&lt;br /&gt;
Si on souhaite que les validités s'ajoutent et soient toutes nécessaires, alors il faut les disposer sur des lignes différentes qui sont séparées par la règle &amp;quot;et&amp;quot; présente en début de ligne.&lt;br /&gt;
&lt;br /&gt;
Exemples types :&lt;br /&gt;
*Si on souhaite qu'une validité A soit requise, il faut cliquer sur la check verte de cette validité sur la 1ère ligne. Une deuxième ligne apparait alors avec aucune validité de sélectionnée.&lt;br /&gt;
&lt;br /&gt;
*Si on souhaite qu'une validité A et qu'une validité B soient toutes les 2 requises, il faut cliquer sur la check verte de la validité A de la 1ère ligne puis sur la check verte de la validité B de la 2ème ligne qui est apparue. Une 3ème ligne apparait alors également avec aucune validité de sélectionnée.&lt;br /&gt;
&lt;br /&gt;
*Si on souhaite qu’indifféremment les validités A ou B soient requises, il cliquer sur les check vertes de chacune des validités de la 1ère ligne.&lt;br /&gt;
&lt;br /&gt;
Exemple pratique : On souhaite qu'un utilisateur dispose d'un brevet PPL ou d'un brevet BB et qu'il dispose également d'une visite médicale de classe 1 ou de classe 2. Pour cela, on va cliquer :&lt;br /&gt;
*sur les validités &amp;quot;PPL&amp;quot; et &amp;quot;BB&amp;quot; de la 1ère ligne.&lt;br /&gt;
*sur les validités &amp;quot;Visite médicale classe 1&amp;quot; et &amp;quot;Visite médicale classe 2&amp;quot; de la 2ème ligne.&lt;br /&gt;
&lt;br /&gt;
''Conseil OpenFlyers'' :&lt;br /&gt;
*En mode restreint, ne pas oublier d’attribuer les validités aux membres pour qu'ils ne soient pas bloqués. Il est recommandé de rester en mode avertissement durant plusieurs semaines avant d'activer les restrictions.&lt;br /&gt;
&lt;br /&gt;
==Paramétrage du contrôle des validités pour la saisie des vols==&lt;br /&gt;
Le paramétrage du contrôle des validités pour la saisie des vols s'effectue en fonction du type de vols&lt;br /&gt;
===Validités requises pour la saisie des vols===&lt;br /&gt;
Une validité est définie comme requise pour la saisie des vols si elle est requise pour un type de vol. Ensuite 2 cas se présentent pour que cette validité soit réellement requise lors de la saisie du vol :&lt;br /&gt;
#Soit ce type de vol est coché par l'utilisateur dans le formulaire de saisie du vol&lt;br /&gt;
#Soit ce type de vol est lui-même systématiquement [[#Imposer_des_types_de_validité_pour_des_types_de_ressource_différents|requis par le type de ressource]] correspondant à la ressource sélectionnée&lt;br /&gt;
&lt;br /&gt;
===Paramétrage général du contrôle des validités pour la saisie des vols===&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis choisir '''Configuration &amp;gt; Paramétrage'''.&lt;br /&gt;
*Dans le formulaire '''[[Documentation administrateur#Gestion_des_vols|Gestion des vols]]''', champ '''Gestion des validités lors de la saisie d'un vol''', il faut choisir le comportement général parmi les choix suivants :&lt;br /&gt;
**'''En mode &amp;quot;Restreint&amp;quot;''' : cela fera apparaitre des alertes bloquantes lorsqu'il y aura une absence de [[#Validités_requises_pour_la_saisie_des_vols|validités requises]] pour une ressource donnée&lt;br /&gt;
**'''En mode &amp;quot;Avertissement&amp;quot;''' : cela fera apparaitre des alertes bloquantes ou non-bloquantes lorsqu'il y a une absence de [[#Validités_requises_pour_la_saisie_des_vols|validité requises]] pour une ressource donnée. Le choix de l'alerte bloquante ou non est déterminé par OpenFlyers en fonction du [[#Validité_bloquante_pour_la_saisie_des_vols_(si_requise)|paramétrage du type de validité]].&lt;br /&gt;
**'''Désactivé'''&lt;br /&gt;
*Puis cliquer sur le bouton '''Valider''' associé au formulaire.&lt;br /&gt;
&lt;br /&gt;
===Paramétrage pour chaque type de vol des validités requises===&lt;br /&gt;
Les [[#Validités_requises_pour_la_saisie_des_vols|validités requises lors de la saisie d'un vol]] dépendent des types de vols sélectionnés pour ce vol. Le paramétrage des validités requises pour chaque type de vol s'effectue ainsi :&lt;br /&gt;
*Aller dans '''Admin'''.&lt;br /&gt;
*Puis '''Vols &amp;gt; Types de vol'''&lt;br /&gt;
*Dans le tableau '''Types de validités requises (si seul à bord) pour un type de vol donné''', cocher les validités requises pour chaque type de vol&lt;br /&gt;
&lt;br /&gt;
===Imposer des types de validité pour des types de ressource différents===&lt;br /&gt;
&lt;br /&gt;
Pour rendre obligatoire une validité pour un type de ressource en particulier il faut tout d'abord [[Paramétrage#Définir_les_types_de_vol|créer un type de vol]] pour chacun de ces types.&lt;br /&gt;
&lt;br /&gt;
Ensuite il faut [[Gestion des ressources#Types_de_vol_requis_par_type_d'aéronef|associer ce nouveau type de vol au type de ressource concerné]].&lt;br /&gt;
&lt;br /&gt;
Pour terminer il suffit de [[Gestion des validités#Paramétrage_pour_chaque_type_de_vol_des_validités_requises|définir les validités requises pour ce type de vol]].&lt;br /&gt;
&lt;br /&gt;
=Gestion des validités des utilisateurs=&lt;br /&gt;
Pour pouvoir gérer les validités des utilisateurs, la personne connectée doit disposer d'un profil ayant au moins le droit '''[[Gestion des profils#Généralités_Admin|Gestion des utilisateurs]]'''. S'il s'agit de validités à vendre, il lui faut en plus le droit '''[[Gestion des profils#Gestionnaire_des_ventes|Acheter pour les tiers]]'''.&lt;br /&gt;
&lt;br /&gt;
De plus, seules les validités listées dans '''[[Gestion des profils#Page_Profils_Plus|Type de validité que l'utilisateur peut gérer]]''' pour le profil concerné sont gérables.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une validité à un utilisateur==&lt;br /&gt;
*Aller dans '''Admin'''&lt;br /&gt;
*Puis '''Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur l’icône représentant une check-list dans la colonne '''Actions'''.&lt;br /&gt;
Vous accédez à la page de saisie des Validités :&lt;br /&gt;
*Sélectionner la validité à ajouter et Valider.&lt;br /&gt;
&lt;br /&gt;
Si la validité est une [[#Validité_à_vendre|validité à vendre]], l'utilisateur sera automatiquement débité du montant correspondant. Les écritures comptables générées correspondantes sont validés. L'objectif est d'empêcher la réversibilité de cette opération par un utilisateur qui aurait souscrit à une validité. Cela permet de garantir la traçabilité des engagements.&lt;br /&gt;
&lt;br /&gt;
Il est néanmoins possible de [[#Supprimer_la_validité_d'un_utilisateur|supprimer une validité]] à vendre indument attribuée.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de [[Gestion-des-produits-et-des-ventes#Débrayer-la-vente-d'une-validité-de-façon-temporaire|débrayer temporairement la facturation d'une validité]] pour pouvoir l'attribuer sans coût à un utilisateur.&lt;br /&gt;
&lt;br /&gt;
==Lister tous les utilisateurs détenant une validité==&lt;br /&gt;
*Aller sur '''Utilisateurs &amp;gt; Types de validités'''&lt;br /&gt;
*Cliquer sur l'icône symbolisant une liste dans la colonne '''Liste''' de la ligne correspondante à la validité concernée.&lt;br /&gt;
&lt;br /&gt;
Le tableau liste les personnes ayant la validité correspondante.&lt;br /&gt;
&lt;br /&gt;
Lorsque la validité est soumise à échéance, la liste fait ressortir en rouge sur fond gris les dates d'échéances périmées.&lt;br /&gt;
&lt;br /&gt;
Lorsque la validité est une validité à expérience, la liste contient uniquement les utilisateurs remplissant les critères de la formule d'expérience.&lt;br /&gt;
&lt;br /&gt;
==Mettre à jour la date d'échéance d'une validité à vendre==&lt;br /&gt;
*Il faut [[Gestion des produits et des ventes#Tarification_de_la_validité_.22Cotisation.22|mettre à jour]] les champs '''Formule de création''' et '''Formule de mise à jour''' dans '''Admin &amp;gt; Ventes &amp;gt; Validités à vendre'''.&lt;br /&gt;
&lt;br /&gt;
==Modifier la validité d'un utilisateur==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur l’icône Lister (la plus à droite).&lt;br /&gt;
Vous accédez à la page de saisie des Validités : les modifications s'effectuent directement sur la ligne de la validité concernée.&lt;br /&gt;
&lt;br /&gt;
''Note :''&lt;br /&gt;
*Les modifications sont prises en compte en cliquant en dehors du champ de saisie.&lt;br /&gt;
&lt;br /&gt;
==Supprimer la validité d'un utilisateur==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Utilisateurs &amp;gt; Utilisateurs'''.&lt;br /&gt;
*Cliquer sur l’icône Lister (la plus à droite).&lt;br /&gt;
Vous accédez à la page de saisie des Validités : les suppressions s'effectuent directement sur la ligne de la validité concernée en cliquant sur l'icône poubelle de la validité associée.&lt;br /&gt;
Dans le cas où la ligne de la validité concernée ne dispose pas de l'icône poubelle, cela veut dire que [[Gestion des produits et des ventes#Configuration_du_produit_Validité_.22Cotisation.22|la validité est à vendre]]. Pour pouvoir supprimer une validité vendue alors qu'elle n'aurait pas du l'être il faut suivre la procédure suivante :&lt;br /&gt;
*[[Utilisation de la comptabilité#Annuler_l'effet_d'une_écriture_comptable|Annuler l'effet d'une écriture comptable]]&lt;br /&gt;
*[[Gestion des produits et des ventes#Suppression_de_la_vente_d'une_validité|Supprimer la vente d'une validité]] en prenant soin de noter le contenu de la ligne concernée. Nous recommandons pour cela d'[[Trucs et astuces#Effectuer_une_copie_d'écran|effectuer une copie d'écran]].&lt;br /&gt;
*Supprimer la validité de l'utilisateur concerné (cf. début de la présente procédure)&lt;br /&gt;
*[[Gestion des produits et des ventes#Tarification_de_la_validité_.22Cotisation.22|Remettre en place la tarification de la validité]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15048</id>
		<title>Formules de calcul</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15048"/>
				<updated>2017-01-02T15:08:22Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* formatDate('patron', 'date') */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page à pour objet de présenter l'ensemble des fonctions et variables utilisables dans des formules de calculs d'OpenFlyers ainsi que les différents types de formules de calculs.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
==Fonctions==&lt;br /&gt;
&lt;br /&gt;
===abs(X)===&lt;br /&gt;
Retourne la valeur absolue de X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(-200) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(100) donne 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===changeTime('date', 'année', 'mois', 'jour')===&lt;br /&gt;
Retourne la date en changeant l'année, le mois et/ou le jour&lt;br /&gt;
&lt;br /&gt;
La date doit être au format '''AAAA-MM-JJ hh:mm:ss''' ou '''AAAA-MM-JJ'''&lt;br /&gt;
&lt;br /&gt;
Les valeurs possibles pour l'année, le mois ou le jour sont :&lt;br /&gt;
* 0 = L'année, le mois ou le jour reste inchangé&lt;br /&gt;
* +X = L'année, le mois ou le jour est augmenté de X&lt;br /&gt;
* -X = L'année, le mois ou le jour est diminué de X&lt;br /&gt;
* X = L'année, le mois ou le jour est placé sur X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '0', '0' ) donne 2011-05-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-test', '0' ) donne 2011-05-15 car la valeur du mois n'est pas valide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-2', '0' ) donne 2011-03-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '+2', '0' ) donne 2011-07-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '0' ) donne 2011-02-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '-1' ) donne 2011-02-14&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( %NOW_DATE, '2015', '1', '1' ) donne 2015-01-01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===formatDate('patron', 'date')===&lt;br /&gt;
&lt;br /&gt;
Formate la date selon le patron. Pour les motifs du patron, voir le [[#Formatage-des-dates-et-des-heures|formatage des dates et des heures]].&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('yyyy', '2015-03-01') donne 2015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('MM', '2015-03-01') donne 03&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('d', '2015-03-01') donne 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-01-01', %NOW_DATE ) donne le 1er janvier dans l'année en cours&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSex('person id')===&lt;br /&gt;
&lt;br /&gt;
Retourne un nombre correspondant au sexe de la personne :&lt;br /&gt;
* 0 pour un homme&lt;br /&gt;
* 1 pour une femme&lt;br /&gt;
* 2 lorsque ce n'est pas défini&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSex(1)&lt;br /&gt;
getSex(%USER_ID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour savoir si un utilisateur est une femme dans une règle de tarification des produits :&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $reductionFemme : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSumAccountBusinessField('business field id, 'person id', 'date')===&lt;br /&gt;
Retourne la somme des valeurs d'un [[Champs additionnels|champ additionnel]] de catégorie &amp;quot;Ecriture comptable&amp;quot;. Seules les valeurs du champ métier associées à des écritures comptable correspondantes à la personne et dont la date est postérieure ou égale à la date indiquée en paramètre sont prises en compte dans le calcul. La date est au format AAAA-MM-JJ.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSumAccountBusinessField(13, %PILOT, formatDate( 'yyyy-01-01', %NOW_DATE ) ) ? 100 : 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getValidityExpiredDate('person id', 'validity type id')===&lt;br /&gt;
&lt;br /&gt;
* Retourne la date d'expiration de la validité de la personne si c'est une validité soumise à échéance et que la date d'expiration a été renseigné. La date est au format AAAA-MM-JJ.&lt;br /&gt;
* Retourne &amp;quot;0000-00-00&amp;quot; dans les autres cas&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(%USER_ID, 1) donne 2014-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(0, 20) donne 0000-00-00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hasValidity('user id', 'validity type id', 'check only holding')===&lt;br /&gt;
'check only holding' est un paramètre optionnel. On ne prend en compte sa valeur que si elle est à 1. Dans les autres cas, on l'ignore.&lt;br /&gt;
&lt;br /&gt;
*Si 'check only holding' n'est pas à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si c'est une validité à formule d'expérience récente :&lt;br /&gt;
**** l'utilisateur a l'expérience requise&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** Si la validité n'est pas soumise à échéance alors l'utilisateur possède la validité&lt;br /&gt;
**** Si La validité est soumise à échéance alors l'utilisateur possède la validité et elle n'est pas encore expirée&lt;br /&gt;
** Retourne '''0''' dans les autres cas&lt;br /&gt;
*Si 'check only holding' est à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** L'utilisateur possède la validité&lt;br /&gt;
** Retourne '''0''' dans les autres cas (y compris dans le cas d'une validité à formule d'expérience récente et que l'utilisateur possède l'expérience récente)&lt;br /&gt;
&lt;br /&gt;
===max(X,Y)===&lt;br /&gt;
Retourne le maximum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===min(X,Y)===&lt;br /&gt;
Retourne le minimum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===roundCeil(X,Y)===&lt;br /&gt;
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,100) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,10) donne 120&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sprintf('pattern', 'string')===&lt;br /&gt;
&lt;br /&gt;
Formate la chaîne &amp;quot;string&amp;quot; avec le patron &amp;quot;pattern&amp;quot;. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#sprintf_format|format de sprintf]].&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%05s', %MEMBER_NUM) retourne 00010 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible derrière :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%-05d', %MEMBER_NUM) retourne 10000 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 6 caractères en ajoutant autant d'espace que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%6s', %MEMBER_NUM) retourne &amp;quot;    10&amp;quot; si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===substr(string,a,b)===&lt;br /&gt;
Retourne l'extrait de chaîne de caractères &amp;quot;string&amp;quot; à partir du caractère &amp;quot;a&amp;quot;, 0 étant le 1er caractère et &amp;quot;b&amp;quot; la longueur à extraire. Lorsque b est une valeur négative, alors il détermine le nombre de caractères devant être enlevé depuis la fin de la chaîne.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;substr('FIRST_NAME', 0, 5) returns FIRST&lt;br /&gt;
substr('FIRST_NAME', 0, -2) returns FIRST_NA&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type' )===&lt;br /&gt;
Retourne le total des heures de vol faite par un pilote %PILOT pour le type de vol 'flight type' Depuis la date indiquée.&lt;br /&gt;
&lt;br /&gt;
La position 0 correspond au 1er pilote, la position 1 au 2ème pilote.&lt;br /&gt;
&lt;br /&gt;
Si le type de vol n'est pas spécifié, le total est déterminé pour tous les types de vols.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;sumFlightTime(%PILOT, 2008, 01, 01, 00, 00, 0, 64 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Retourne en [[#Définition_Unité_sexacentimal|Sexacentimal]] le total des heures de vol faites sur le type de vol 64 en tant que pilote en place gauche depuis le 2008-01-01 00:00:00.&lt;br /&gt;
&lt;br /&gt;
===sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumPreviousFlightTime('pilot id', 'position', 'day', 'endingDate', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===strtolower(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en minuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;camelback&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strtoupper(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en majuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;CAMELBACK&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Formatage des dates et des heures==&lt;br /&gt;
To specify the format use a pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following:&lt;br /&gt;
&lt;br /&gt;
The count of pattern letters determine the format.&lt;br /&gt;
&lt;br /&gt;
(Text): 4 or more pattern letters--use full form, &amp;lt; 4--use short or abbreviated form if one exists.&lt;br /&gt;
&lt;br /&gt;
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.&lt;br /&gt;
&lt;br /&gt;
(Text &amp;amp; Number): 3 or over, use text, otherwise use number.&lt;br /&gt;
&lt;br /&gt;
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.&lt;br /&gt;
&lt;br /&gt;
A pattern containing any invalid pattern letter will result in a thrown exception during formatting or parsing.&lt;br /&gt;
&lt;br /&gt;
Syntax available:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Symbol!!Meaning!!Presentation!!Example&lt;br /&gt;
|-&lt;br /&gt;
|G||era designator||Text||AD&lt;br /&gt;
|-&lt;br /&gt;
|y||year||Number||1996&lt;br /&gt;
|-&lt;br /&gt;
|M||month in year||&amp;quot;MMM&amp;quot;: Text&amp;lt;br /&amp;gt;&amp;quot;MM&amp;quot; or &amp;quot;M&amp;quot; : Number||July&amp;lt;br /&amp;gt;07 or 7&lt;br /&gt;
|-&lt;br /&gt;
|d||day in month||Number||10&lt;br /&gt;
|-&lt;br /&gt;
|h||hour in am/pm (1~12)||Number||12&lt;br /&gt;
|-&lt;br /&gt;
|H||hour in day (0~23)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|m||minute in hour||Number||30&lt;br /&gt;
|-&lt;br /&gt;
|s||second in minute||Number||55&lt;br /&gt;
|-&lt;br /&gt;
|S||millisecond||Number||978&lt;br /&gt;
|-&lt;br /&gt;
|E||day in week||Text||Tuesday&lt;br /&gt;
|-&lt;br /&gt;
|e||dow (=day of week: 1 = sunday, 2 = monday, )||(Number)||2 (=monday)&lt;br /&gt;
|-&lt;br /&gt;
|D||day in year||Number||189&lt;br /&gt;
|-&lt;br /&gt;
|F||day of week in month||Number||2 (2nd Wed in July)&lt;br /&gt;
|-&lt;br /&gt;
|w||week in year||Number||27&lt;br /&gt;
|-&lt;br /&gt;
|W||week in month||Number||2&lt;br /&gt;
|-&lt;br /&gt;
|a||am/pm marker||Text||PM&lt;br /&gt;
|-&lt;br /&gt;
|k||hour in day (1~24)||Number||24&lt;br /&gt;
|-&lt;br /&gt;
|K||hour in am/pm (0~11)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|z||time zone||Text||Pacific Standard Time&lt;br /&gt;
|-&lt;br /&gt;
|'||escape for text||Delimiter||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;||single quote||(Literal)||'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples Using the local unit system:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Format Pattern!!Result&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyy.MM.dd G 'at' HH:mm:ss z&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.07.10 AD at 15:08:56 PDT&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;EEE, MMM d, 'yy&amp;quot;&amp;lt;/nowiki&amp;gt;||Wed, July 10, '96&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;KK:mm a, z&amp;quot;&amp;lt;/nowiki&amp;gt;||00:08 AM, PST&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h:mm a&amp;quot;&amp;lt;/nowiki&amp;gt;||12:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h 'o''clock' a, zzzz&amp;quot;&amp;lt;/nowiki&amp;gt;||12 o'clock PM, Pacific Daylight Time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyyy.MMMMM.dd GGG h:mm aaa&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.July.10 AD 0:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;dd/MMM/yyyyy HH:mm&amp;quot;&amp;lt;/nowiki&amp;gt;||10/07/1996 00:08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
===Opérateur == ===&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $womanReduction : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur OR===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 OR test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 || test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur AND===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 AND test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 &amp;amp;&amp;amp; test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
===%ACCOUNT_TYPE===&lt;br /&gt;
Type de compte&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_ARRIVAL===&lt;br /&gt;
&lt;br /&gt;
Terrain d'arrivée du vol&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_DEPARTURE===&lt;br /&gt;
&lt;br /&gt;
Terrain de départ du vol&lt;br /&gt;
&lt;br /&gt;
===%AUTHENTICATION_LOGIN===&lt;br /&gt;
Identifiant utilisateur&lt;br /&gt;
&lt;br /&gt;
===%AUTO_INCREMENT===&lt;br /&gt;
Valeur auto-incrémentale&lt;br /&gt;
&lt;br /&gt;
===%BOOKING_START_DATE===&lt;br /&gt;
Date de début d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_ARRIVAL===&lt;br /&gt;
Compteur arrivé saisi dans le formulaire.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_DEPARTURE===&lt;br /&gt;
Compteur départ saisi dans le formulaire&lt;br /&gt;
&lt;br /&gt;
===%DURATION===&lt;br /&gt;
Durée du vol&lt;br /&gt;
&lt;br /&gt;
===%EXTRAFIELDxx===&lt;br /&gt;
Permet de récupérer le contenu d'un champ additionnel&lt;br /&gt;
&lt;br /&gt;
Description :&lt;br /&gt;
*xx = numéro d'identifiant du champ additionnel. Exemple : %EXTRAFIELD12&lt;br /&gt;
*Pour les formules de tarification, seuls les champs additionnels de type de valeur suivants sont acceptés :&lt;br /&gt;
**Nombre entier&lt;br /&gt;
**Nombre entier unique&lt;br /&gt;
**Nombre à virgule&lt;br /&gt;
&lt;br /&gt;
===%FIRSTNAME===&lt;br /&gt;
Prénom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%LASTNAME===&lt;br /&gt;
Nom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%PILOT===&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules :&lt;br /&gt;
* d'email d'alerte de solde&lt;br /&gt;
* d'expérience récente&lt;br /&gt;
* de tarification des heures&lt;br /&gt;
&lt;br /&gt;
===%PILOT2===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur en seconde place. Cette variable est utilisable que dans les formules de tarification des heures.&lt;br /&gt;
&lt;br /&gt;
===%MEMBER_NUM===&lt;br /&gt;
Numéro de membre&lt;br /&gt;
&lt;br /&gt;
===%NOW_DATE===&lt;br /&gt;
Date courante au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%RESOURCE_NAME===&lt;br /&gt;
Nom de la ressource&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_ARRIVAL&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de fin saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_DEPARTURE&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de début saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===%START_DATE===&lt;br /&gt;
&lt;br /&gt;
Date de début du vol ou date d'achat de produit au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%USER_ID===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules de :&lt;br /&gt;
* compte d'export &lt;br /&gt;
* tarification des produits&lt;br /&gt;
* renouvellement de validité&lt;br /&gt;
&lt;br /&gt;
=Compte d'export=&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du compte d'export==&lt;br /&gt;
&lt;br /&gt;
*[[#sprintf('pattern',_'string')|sprintf]]&lt;br /&gt;
*[[#substr(string,a,b)|substr]]&lt;br /&gt;
*[[#strtolower(string)|strtolower]]&lt;br /&gt;
*[[#strtoupper(string)|strtoupper]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du compte d'export==&lt;br /&gt;
*[[#.ACCOUNT_TYPE|%ACCOUNT_TYPE]]&lt;br /&gt;
*[[#.AUTHENTICATION_LOGIN|%AUTHENTICATION_LOGIN]]&lt;br /&gt;
*[[#.AUTO_INCREMENT|%AUTO_INCREMENT]]&lt;br /&gt;
*[[#.FIRSTNAME|%FIRSTNAME]]&lt;br /&gt;
*[[#.LASTNAME|%LASTNAME]]&lt;br /&gt;
*[[#.MEMBER_NUM|%MEMBER_NUM]]&lt;br /&gt;
*[[#.RESOURCE_NAME|%RESOURCE_NAME]]&lt;br /&gt;
*[[#.USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul du compte d'export==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable centre&amp;quot;&lt;br /&gt;
!Formule de calcul!!Usage!!Exemples de génération&lt;br /&gt;
|-&lt;br /&gt;
|411+%ACCOUNT_TYPE||Comptes ressources et utilisateurs||4110002, 4110005&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTHENTICATION_LOGIN||Comptes utilisateurs||411pdupont '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes utilisateurs'''&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTO_INCREMENT||Comptes ressources et utilisateurs||41100001, 41100002, ...., 4110000x&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME||Comptes utilisateurs||411dupont, 411dupond&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME+substr(%FIRSTNAME,0,1)||Comptes utilisateurs||411dupontp, 411dupontf&lt;br /&gt;
|-&lt;br /&gt;
|411+%MEMBER_NUM||Comptes utilisateurs||411XXXXX, l'intitulé XXXXXX est le champ Numéro de membre qui est inscrit sur la fiche personnelle de vos adhérents. Exemple : 411001. A vous de vérifier l'unicité de cette valeurs&lt;br /&gt;
|-&lt;br /&gt;
|411+sprintf('%03s', %USER_ID)||Comptes utilisateurs||411001, 411002, etc.&lt;br /&gt;
|-&lt;br /&gt;
|411+substr(%AUTHENTICATION_LOGIN,0,3)||Comptes utilisateurs||411pdu 411 suivi de l'identifiant limité à 3 caractères. Cela permet d'être compatible avec les logiciels de comptabilités paramétrés pour n'accepter que 6 caractères. Dans ce cas, il est nécessaire de modifier les comptes d'exports en doublon.&lt;br /&gt;
|-&lt;br /&gt;
|7061+sprintf('%02s', %RESOURCE_ID)||Comptes ressources||706101, 706102, etc.  '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes ressources'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Date d'expiration=&lt;br /&gt;
==Fonctions autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
* [[#formatDate('patron',_'date')|formatDate]]&lt;br /&gt;
* [[#getValidityExpiredDate('person_id',_'validity_type_id')|getValidityExpiredDate]]&lt;br /&gt;
* [[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
* [[#.25USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
===Date fixe===&lt;br /&gt;
&amp;lt;pre&amp;gt;2012-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple une carte de réduction) valable 1 an.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité concerné :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-MM-dd', changeTime( ( hasValidity(%USER_ID, XX) ? getValidityExpiredDate(%USER_ID, 3XX3) : %NOW_DATE ), '+1', '0', '0' ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante===&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', %NOW_DATE )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple cotisation) dont la prise est valable jusqu'au 31 décembre de l'année en cours ou de l'année suivante si elle est souscrite à partir du 1er octobre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)&amp;lt;10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expérience récente=&lt;br /&gt;
==Fonctions autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
*[[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
*[[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
*[[#sumFlightHour('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumFlightHour]]&lt;br /&gt;
*[[#sumFlightTime(.25PILOT,_'year',_'month',_'day',_'hour',_'minute',_'position',_'flight_type'_)|sumFlightTime]]&lt;br /&gt;
*[[#sumLandingNumber('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumLandingNumber]]&lt;br /&gt;
*[[#sumPreviousFlightTime('pilot_id',_'position',_'day',_'endingDate',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumPreviousFlightTime]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
===Expérience récente en heures ou la détention d'une validité spécifique===&lt;br /&gt;
L'exemple suivant vérifie qu'un utilisateur a une expérience de 30 heures dans les 12 derniers mois ou qu'il possède une validité X lui permettant de s'affranchir du quota d'heures.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité spécifique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;( (sumFlightHour(%PILOT, 0, 365)+sumFlightHour(%PILOT, 1, 365) &amp;gt; 17999) OR hasValidity(%PILOT, XX) )&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Type d'activité X dans les 12 derniers mois===&lt;br /&gt;
L'exemple suivant vérifie si un utilisateur a effectué une activité d'un type X donné dans les 365 derniers jours.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type d'activité donné :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;sumFlightTime(%PILOT, formatDate('yyyy', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('M', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('d', changeTime( %NOW_DATE, '-1', '0', '0' )), 00, 00, 0, XX ) &amp;gt; 0&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tarification=&lt;br /&gt;
Outre les définitions toujours valides pour le calcul du temps d'activité, voici d'autres définitions :&lt;br /&gt;
''A rédiger''&lt;br /&gt;
&lt;br /&gt;
Voir [http://doc-en.openflyers.com/index.php?title=AdminDoc2.1 Formules en anglais]&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul de la tarification==&lt;br /&gt;
&lt;br /&gt;
* [[#getSumAccountBusinessField('business-field-id,-'person-id',-'date')|getSumAccountBusinessField]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la tarification==&lt;br /&gt;
*[[#.EXTRAFIELDxx|%EXTRAFIELDxx]]&lt;br /&gt;
*[[#.START-DATE|%START_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul de la tarification==&lt;br /&gt;
===Motoplaneur : tarification à l'heure de vol ET à l'utilisation du moteur===&lt;br /&gt;
Pour cela, on suppose que les compteurs sont utilisés et qu'ils prennent en compte le temps d'utilisation du moteur :&lt;br /&gt;
 %DURATION * $FLIGHT_HOUR_PRICE + (%COUNTER_ARRIVAL - %COUNTER_DEPARTURE) * $ENGINE_HOUR_PRICE&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le compte pilote a un solde positif===&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$S le solde positif qui doit être atteint pour bénéficier de la réduction&amp;lt;br&amp;gt;&lt;br /&gt;
$R le montant horaire de la réduction obtenue dans ce cas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil((((getBalance(%PILOT)&amp;gt;$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le vol se fait après une certaine heure===&lt;br /&gt;
&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$C2R concerne le tarif horaire réduit de l'avion après une certaine heure&amp;lt;br&amp;gt;&lt;br /&gt;
659 correspond à 06:59 en temps UTC&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas la formule considère que dès 700, la réduction s'applique.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil(((((formatDate('hmm',%START_DATE)&amp;gt;659)?$C2R:$C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
=Temps d'activité=&lt;br /&gt;
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la [[Gestion des ressources#Ajouter_un_type_de_ressource|gestion des types de ressources]].&lt;br /&gt;
&lt;br /&gt;
==Définition Unité sexacentimal==&lt;br /&gt;
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format ''sexacentimal''.&lt;br /&gt;
&lt;br /&gt;
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.&lt;br /&gt;
&lt;br /&gt;
*1 heure = 600 sexacentièmes&lt;br /&gt;
*1 minute = 10 sexacentièmes&lt;br /&gt;
*5 minutes = 50 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
*1 centième de minute = 6 sexacentièmes&lt;br /&gt;
*10 centième de minute (=1 dixième de minute) = 60 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
Exemples de formules :&lt;br /&gt;
*pour arrondir à 5 minutes : roundCeil(X,50)&lt;br /&gt;
*pour arrondir à 10 centièmes : roundCeil(X,60)&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#abs(X)|abs]]&lt;br /&gt;
*[[#max(X,Y)|max]]&lt;br /&gt;
*[[#min(X,Y)|min]]&lt;br /&gt;
*[[#roundCeil(X,Y)|roundCeil]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#.AIRFIELD-ARRIVAL|%AIRFIELD_ARRIVAL]]&lt;br /&gt;
*[[#.AIRFIELD-DEPARTURE|%AIRFIELD_DEPARTURE]]&lt;br /&gt;
*[[#.COUNTER_ARRIVAL|%COUNTER_ARRIVAL]]&lt;br /&gt;
*[[#.COUNTER_DEPARTURE|%COUNTER_DEPARTURE]]&lt;br /&gt;
*[[#.DURATION|%DURATION]]&lt;br /&gt;
*[[#.TIME_ARRIVAL|%TIME_ARRIVAL]]&lt;br /&gt;
*[[#.TIME_DEPARTURE|%TIME_DEPARTURE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul du temps d'activité==&lt;br /&gt;
===Durée saisie===&lt;br /&gt;
&amp;lt;pre&amp;gt;%DURATION&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs saisis===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durée saisie arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%DURATION, 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 centièmes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 minutes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 ou 10 minutes selon l'aérodrome de départ===&lt;br /&gt;
Si l'aérodrome de départ est LFBD, on rajoute 10 minutes à la différence des compteurs, sinon on rajoute 5 minutes :&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + ( (%AIRFIELD_DEPARTURE=='LFBD')? 100 : 50 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie à 10 centièmes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs moins 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15047</id>
		<title>Formules de calcul</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15047"/>
				<updated>2017-01-02T15:07:39Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : Annulation des modifications 15046 de Claratte (discussion)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page à pour objet de présenter l'ensemble des fonctions et variables utilisables dans des formules de calculs d'OpenFlyers ainsi que les différents types de formules de calculs.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
==Fonctions==&lt;br /&gt;
&lt;br /&gt;
===abs(X)===&lt;br /&gt;
Retourne la valeur absolue de X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(-200) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(100) donne 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===changeTime('date', 'année', 'mois', 'jour')===&lt;br /&gt;
Retourne la date en changeant l'année, le mois et/ou le jour&lt;br /&gt;
&lt;br /&gt;
La date doit être au format '''AAAA-MM-JJ hh:mm:ss''' ou '''AAAA-MM-JJ'''&lt;br /&gt;
&lt;br /&gt;
Les valeurs possibles pour l'année, le mois ou le jour sont :&lt;br /&gt;
* 0 = L'année, le mois ou le jour reste inchangé&lt;br /&gt;
* +X = L'année, le mois ou le jour est augmenté de X&lt;br /&gt;
* -X = L'année, le mois ou le jour est diminué de X&lt;br /&gt;
* X = L'année, le mois ou le jour est placé sur X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '0', '0' ) donne 2011-05-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-test', '0' ) donne 2011-05-15 car la valeur du mois n'est pas valide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-2', '0' ) donne 2011-03-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '+2', '0' ) donne 2011-07-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '0' ) donne 2011-02-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '-1' ) donne 2011-02-14&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( %NOW_DATE, '2015', '1', '1' ) donne 2015-01-01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===formatDate('patron', 'date')===&lt;br /&gt;
&lt;br /&gt;
Formate la date selon le patron. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#Date_and_time_format|format de date et d'heure]]&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('yyyy', '2015-03-01') donne 2015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('MM', '2015-03-01') donne 03&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('d', '2015-03-01') donne 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-01-01', %NOW_DATE ) donne le 1er janvier dans l'année en cours&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSex('person id')===&lt;br /&gt;
&lt;br /&gt;
Retourne un nombre correspondant au sexe de la personne :&lt;br /&gt;
* 0 pour un homme&lt;br /&gt;
* 1 pour une femme&lt;br /&gt;
* 2 lorsque ce n'est pas défini&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSex(1)&lt;br /&gt;
getSex(%USER_ID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour savoir si un utilisateur est une femme dans une règle de tarification des produits :&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $reductionFemme : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSumAccountBusinessField('business field id, 'person id', 'date')===&lt;br /&gt;
Retourne la somme des valeurs d'un [[Champs additionnels|champ additionnel]] de catégorie &amp;quot;Ecriture comptable&amp;quot;. Seules les valeurs du champ métier associées à des écritures comptable correspondantes à la personne et dont la date est postérieure ou égale à la date indiquée en paramètre sont prises en compte dans le calcul. La date est au format AAAA-MM-JJ.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSumAccountBusinessField(13, %PILOT, formatDate( 'yyyy-01-01', %NOW_DATE ) ) ? 100 : 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getValidityExpiredDate('person id', 'validity type id')===&lt;br /&gt;
&lt;br /&gt;
* Retourne la date d'expiration de la validité de la personne si c'est une validité soumise à échéance et que la date d'expiration a été renseigné. La date est au format AAAA-MM-JJ.&lt;br /&gt;
* Retourne &amp;quot;0000-00-00&amp;quot; dans les autres cas&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(%USER_ID, 1) donne 2014-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(0, 20) donne 0000-00-00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hasValidity('user id', 'validity type id', 'check only holding')===&lt;br /&gt;
'check only holding' est un paramètre optionnel. On ne prend en compte sa valeur que si elle est à 1. Dans les autres cas, on l'ignore.&lt;br /&gt;
&lt;br /&gt;
*Si 'check only holding' n'est pas à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si c'est une validité à formule d'expérience récente :&lt;br /&gt;
**** l'utilisateur a l'expérience requise&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** Si la validité n'est pas soumise à échéance alors l'utilisateur possède la validité&lt;br /&gt;
**** Si La validité est soumise à échéance alors l'utilisateur possède la validité et elle n'est pas encore expirée&lt;br /&gt;
** Retourne '''0''' dans les autres cas&lt;br /&gt;
*Si 'check only holding' est à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** L'utilisateur possède la validité&lt;br /&gt;
** Retourne '''0''' dans les autres cas (y compris dans le cas d'une validité à formule d'expérience récente et que l'utilisateur possède l'expérience récente)&lt;br /&gt;
&lt;br /&gt;
===max(X,Y)===&lt;br /&gt;
Retourne le maximum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===min(X,Y)===&lt;br /&gt;
Retourne le minimum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===roundCeil(X,Y)===&lt;br /&gt;
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,100) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,10) donne 120&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sprintf('pattern', 'string')===&lt;br /&gt;
&lt;br /&gt;
Formate la chaîne &amp;quot;string&amp;quot; avec le patron &amp;quot;pattern&amp;quot;. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#sprintf_format|format de sprintf]].&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%05s', %MEMBER_NUM) retourne 00010 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible derrière :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%-05d', %MEMBER_NUM) retourne 10000 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 6 caractères en ajoutant autant d'espace que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%6s', %MEMBER_NUM) retourne &amp;quot;    10&amp;quot; si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===substr(string,a,b)===&lt;br /&gt;
Retourne l'extrait de chaîne de caractères &amp;quot;string&amp;quot; à partir du caractère &amp;quot;a&amp;quot;, 0 étant le 1er caractère et &amp;quot;b&amp;quot; la longueur à extraire. Lorsque b est une valeur négative, alors il détermine le nombre de caractères devant être enlevé depuis la fin de la chaîne.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;substr('FIRST_NAME', 0, 5) returns FIRST&lt;br /&gt;
substr('FIRST_NAME', 0, -2) returns FIRST_NA&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type' )===&lt;br /&gt;
Retourne le total des heures de vol faite par un pilote %PILOT pour le type de vol 'flight type' Depuis la date indiquée.&lt;br /&gt;
&lt;br /&gt;
La position 0 correspond au 1er pilote, la position 1 au 2ème pilote.&lt;br /&gt;
&lt;br /&gt;
Si le type de vol n'est pas spécifié, le total est déterminé pour tous les types de vols.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;sumFlightTime(%PILOT, 2008, 01, 01, 00, 00, 0, 64 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Retourne en [[#Définition_Unité_sexacentimal|Sexacentimal]] le total des heures de vol faites sur le type de vol 64 en tant que pilote en place gauche depuis le 2008-01-01 00:00:00.&lt;br /&gt;
&lt;br /&gt;
===sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumPreviousFlightTime('pilot id', 'position', 'day', 'endingDate', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===strtolower(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en minuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;camelback&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strtoupper(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en majuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;CAMELBACK&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Formatage des dates et des heures==&lt;br /&gt;
To specify the format use a pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following:&lt;br /&gt;
&lt;br /&gt;
The count of pattern letters determine the format.&lt;br /&gt;
&lt;br /&gt;
(Text): 4 or more pattern letters--use full form, &amp;lt; 4--use short or abbreviated form if one exists.&lt;br /&gt;
&lt;br /&gt;
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.&lt;br /&gt;
&lt;br /&gt;
(Text &amp;amp; Number): 3 or over, use text, otherwise use number.&lt;br /&gt;
&lt;br /&gt;
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.&lt;br /&gt;
&lt;br /&gt;
A pattern containing any invalid pattern letter will result in a thrown exception during formatting or parsing.&lt;br /&gt;
&lt;br /&gt;
Syntax available:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Symbol!!Meaning!!Presentation!!Example&lt;br /&gt;
|-&lt;br /&gt;
|G||era designator||Text||AD&lt;br /&gt;
|-&lt;br /&gt;
|y||year||Number||1996&lt;br /&gt;
|-&lt;br /&gt;
|M||month in year||&amp;quot;MMM&amp;quot;: Text&amp;lt;br /&amp;gt;&amp;quot;MM&amp;quot; or &amp;quot;M&amp;quot; : Number||July&amp;lt;br /&amp;gt;07 or 7&lt;br /&gt;
|-&lt;br /&gt;
|d||day in month||Number||10&lt;br /&gt;
|-&lt;br /&gt;
|h||hour in am/pm (1~12)||Number||12&lt;br /&gt;
|-&lt;br /&gt;
|H||hour in day (0~23)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|m||minute in hour||Number||30&lt;br /&gt;
|-&lt;br /&gt;
|s||second in minute||Number||55&lt;br /&gt;
|-&lt;br /&gt;
|S||millisecond||Number||978&lt;br /&gt;
|-&lt;br /&gt;
|E||day in week||Text||Tuesday&lt;br /&gt;
|-&lt;br /&gt;
|e||dow (=day of week: 1 = sunday, 2 = monday, )||(Number)||2 (=monday)&lt;br /&gt;
|-&lt;br /&gt;
|D||day in year||Number||189&lt;br /&gt;
|-&lt;br /&gt;
|F||day of week in month||Number||2 (2nd Wed in July)&lt;br /&gt;
|-&lt;br /&gt;
|w||week in year||Number||27&lt;br /&gt;
|-&lt;br /&gt;
|W||week in month||Number||2&lt;br /&gt;
|-&lt;br /&gt;
|a||am/pm marker||Text||PM&lt;br /&gt;
|-&lt;br /&gt;
|k||hour in day (1~24)||Number||24&lt;br /&gt;
|-&lt;br /&gt;
|K||hour in am/pm (0~11)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|z||time zone||Text||Pacific Standard Time&lt;br /&gt;
|-&lt;br /&gt;
|'||escape for text||Delimiter||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;||single quote||(Literal)||'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples Using the local unit system:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Format Pattern!!Result&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyy.MM.dd G 'at' HH:mm:ss z&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.07.10 AD at 15:08:56 PDT&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;EEE, MMM d, 'yy&amp;quot;&amp;lt;/nowiki&amp;gt;||Wed, July 10, '96&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;KK:mm a, z&amp;quot;&amp;lt;/nowiki&amp;gt;||00:08 AM, PST&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h:mm a&amp;quot;&amp;lt;/nowiki&amp;gt;||12:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h 'o''clock' a, zzzz&amp;quot;&amp;lt;/nowiki&amp;gt;||12 o'clock PM, Pacific Daylight Time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyyy.MMMMM.dd GGG h:mm aaa&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.July.10 AD 0:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;dd/MMM/yyyyy HH:mm&amp;quot;&amp;lt;/nowiki&amp;gt;||10/07/1996 00:08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
===Opérateur == ===&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $womanReduction : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur OR===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 OR test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 || test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur AND===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 AND test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 &amp;amp;&amp;amp; test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
===%ACCOUNT_TYPE===&lt;br /&gt;
Type de compte&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_ARRIVAL===&lt;br /&gt;
&lt;br /&gt;
Terrain d'arrivée du vol&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_DEPARTURE===&lt;br /&gt;
&lt;br /&gt;
Terrain de départ du vol&lt;br /&gt;
&lt;br /&gt;
===%AUTHENTICATION_LOGIN===&lt;br /&gt;
Identifiant utilisateur&lt;br /&gt;
&lt;br /&gt;
===%AUTO_INCREMENT===&lt;br /&gt;
Valeur auto-incrémentale&lt;br /&gt;
&lt;br /&gt;
===%BOOKING_START_DATE===&lt;br /&gt;
Date de début d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_ARRIVAL===&lt;br /&gt;
Compteur arrivé saisi dans le formulaire.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_DEPARTURE===&lt;br /&gt;
Compteur départ saisi dans le formulaire&lt;br /&gt;
&lt;br /&gt;
===%DURATION===&lt;br /&gt;
Durée du vol&lt;br /&gt;
&lt;br /&gt;
===%EXTRAFIELDxx===&lt;br /&gt;
Permet de récupérer le contenu d'un champ additionnel&lt;br /&gt;
&lt;br /&gt;
Description :&lt;br /&gt;
*xx = numéro d'identifiant du champ additionnel. Exemple : %EXTRAFIELD12&lt;br /&gt;
*Pour les formules de tarification, seuls les champs additionnels de type de valeur suivants sont acceptés :&lt;br /&gt;
**Nombre entier&lt;br /&gt;
**Nombre entier unique&lt;br /&gt;
**Nombre à virgule&lt;br /&gt;
&lt;br /&gt;
===%FIRSTNAME===&lt;br /&gt;
Prénom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%LASTNAME===&lt;br /&gt;
Nom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%PILOT===&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules :&lt;br /&gt;
* d'email d'alerte de solde&lt;br /&gt;
* d'expérience récente&lt;br /&gt;
* de tarification des heures&lt;br /&gt;
&lt;br /&gt;
===%PILOT2===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur en seconde place. Cette variable est utilisable que dans les formules de tarification des heures.&lt;br /&gt;
&lt;br /&gt;
===%MEMBER_NUM===&lt;br /&gt;
Numéro de membre&lt;br /&gt;
&lt;br /&gt;
===%NOW_DATE===&lt;br /&gt;
Date courante au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%RESOURCE_NAME===&lt;br /&gt;
Nom de la ressource&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_ARRIVAL&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de fin saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_DEPARTURE&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de début saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===%START_DATE===&lt;br /&gt;
&lt;br /&gt;
Date de début du vol ou date d'achat de produit au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%USER_ID===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules de :&lt;br /&gt;
* compte d'export &lt;br /&gt;
* tarification des produits&lt;br /&gt;
* renouvellement de validité&lt;br /&gt;
&lt;br /&gt;
=Compte d'export=&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du compte d'export==&lt;br /&gt;
&lt;br /&gt;
*[[#sprintf('pattern',_'string')|sprintf]]&lt;br /&gt;
*[[#substr(string,a,b)|substr]]&lt;br /&gt;
*[[#strtolower(string)|strtolower]]&lt;br /&gt;
*[[#strtoupper(string)|strtoupper]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du compte d'export==&lt;br /&gt;
*[[#.ACCOUNT_TYPE|%ACCOUNT_TYPE]]&lt;br /&gt;
*[[#.AUTHENTICATION_LOGIN|%AUTHENTICATION_LOGIN]]&lt;br /&gt;
*[[#.AUTO_INCREMENT|%AUTO_INCREMENT]]&lt;br /&gt;
*[[#.FIRSTNAME|%FIRSTNAME]]&lt;br /&gt;
*[[#.LASTNAME|%LASTNAME]]&lt;br /&gt;
*[[#.MEMBER_NUM|%MEMBER_NUM]]&lt;br /&gt;
*[[#.RESOURCE_NAME|%RESOURCE_NAME]]&lt;br /&gt;
*[[#.USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul du compte d'export==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable centre&amp;quot;&lt;br /&gt;
!Formule de calcul!!Usage!!Exemples de génération&lt;br /&gt;
|-&lt;br /&gt;
|411+%ACCOUNT_TYPE||Comptes ressources et utilisateurs||4110002, 4110005&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTHENTICATION_LOGIN||Comptes utilisateurs||411pdupont '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes utilisateurs'''&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTO_INCREMENT||Comptes ressources et utilisateurs||41100001, 41100002, ...., 4110000x&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME||Comptes utilisateurs||411dupont, 411dupond&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME+substr(%FIRSTNAME,0,1)||Comptes utilisateurs||411dupontp, 411dupontf&lt;br /&gt;
|-&lt;br /&gt;
|411+%MEMBER_NUM||Comptes utilisateurs||411XXXXX, l'intitulé XXXXXX est le champ Numéro de membre qui est inscrit sur la fiche personnelle de vos adhérents. Exemple : 411001. A vous de vérifier l'unicité de cette valeurs&lt;br /&gt;
|-&lt;br /&gt;
|411+sprintf('%03s', %USER_ID)||Comptes utilisateurs||411001, 411002, etc.&lt;br /&gt;
|-&lt;br /&gt;
|411+substr(%AUTHENTICATION_LOGIN,0,3)||Comptes utilisateurs||411pdu 411 suivi de l'identifiant limité à 3 caractères. Cela permet d'être compatible avec les logiciels de comptabilités paramétrés pour n'accepter que 6 caractères. Dans ce cas, il est nécessaire de modifier les comptes d'exports en doublon.&lt;br /&gt;
|-&lt;br /&gt;
|7061+sprintf('%02s', %RESOURCE_ID)||Comptes ressources||706101, 706102, etc.  '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes ressources'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Date d'expiration=&lt;br /&gt;
==Fonctions autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
* [[#formatDate('patron',_'date')|formatDate]]&lt;br /&gt;
* [[#getValidityExpiredDate('person_id',_'validity_type_id')|getValidityExpiredDate]]&lt;br /&gt;
* [[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
* [[#.25USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
===Date fixe===&lt;br /&gt;
&amp;lt;pre&amp;gt;2012-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple une carte de réduction) valable 1 an.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité concerné :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-MM-dd', changeTime( ( hasValidity(%USER_ID, XX) ? getValidityExpiredDate(%USER_ID, 3XX3) : %NOW_DATE ), '+1', '0', '0' ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante===&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', %NOW_DATE )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple cotisation) dont la prise est valable jusqu'au 31 décembre de l'année en cours ou de l'année suivante si elle est souscrite à partir du 1er octobre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)&amp;lt;10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expérience récente=&lt;br /&gt;
==Fonctions autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
*[[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
*[[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
*[[#sumFlightHour('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumFlightHour]]&lt;br /&gt;
*[[#sumFlightTime(.25PILOT,_'year',_'month',_'day',_'hour',_'minute',_'position',_'flight_type'_)|sumFlightTime]]&lt;br /&gt;
*[[#sumLandingNumber('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumLandingNumber]]&lt;br /&gt;
*[[#sumPreviousFlightTime('pilot_id',_'position',_'day',_'endingDate',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumPreviousFlightTime]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
===Expérience récente en heures ou la détention d'une validité spécifique===&lt;br /&gt;
L'exemple suivant vérifie qu'un utilisateur a une expérience de 30 heures dans les 12 derniers mois ou qu'il possède une validité X lui permettant de s'affranchir du quota d'heures.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité spécifique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;( (sumFlightHour(%PILOT, 0, 365)+sumFlightHour(%PILOT, 1, 365) &amp;gt; 17999) OR hasValidity(%PILOT, XX) )&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Type d'activité X dans les 12 derniers mois===&lt;br /&gt;
L'exemple suivant vérifie si un utilisateur a effectué une activité d'un type X donné dans les 365 derniers jours.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type d'activité donné :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;sumFlightTime(%PILOT, formatDate('yyyy', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('M', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('d', changeTime( %NOW_DATE, '-1', '0', '0' )), 00, 00, 0, XX ) &amp;gt; 0&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tarification=&lt;br /&gt;
Outre les définitions toujours valides pour le calcul du temps d'activité, voici d'autres définitions :&lt;br /&gt;
''A rédiger''&lt;br /&gt;
&lt;br /&gt;
Voir [http://doc-en.openflyers.com/index.php?title=AdminDoc2.1 Formules en anglais]&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul de la tarification==&lt;br /&gt;
&lt;br /&gt;
* [[#getSumAccountBusinessField('business-field-id,-'person-id',-'date')|getSumAccountBusinessField]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la tarification==&lt;br /&gt;
*[[#.EXTRAFIELDxx|%EXTRAFIELDxx]]&lt;br /&gt;
*[[#.START-DATE|%START_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul de la tarification==&lt;br /&gt;
===Motoplaneur : tarification à l'heure de vol ET à l'utilisation du moteur===&lt;br /&gt;
Pour cela, on suppose que les compteurs sont utilisés et qu'ils prennent en compte le temps d'utilisation du moteur :&lt;br /&gt;
 %DURATION * $FLIGHT_HOUR_PRICE + (%COUNTER_ARRIVAL - %COUNTER_DEPARTURE) * $ENGINE_HOUR_PRICE&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le compte pilote a un solde positif===&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$S le solde positif qui doit être atteint pour bénéficier de la réduction&amp;lt;br&amp;gt;&lt;br /&gt;
$R le montant horaire de la réduction obtenue dans ce cas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil((((getBalance(%PILOT)&amp;gt;$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le vol se fait après une certaine heure===&lt;br /&gt;
&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$C2R concerne le tarif horaire réduit de l'avion après une certaine heure&amp;lt;br&amp;gt;&lt;br /&gt;
659 correspond à 06:59 en temps UTC&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas la formule considère que dès 700, la réduction s'applique.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil(((((formatDate('hmm',%START_DATE)&amp;gt;659)?$C2R:$C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
=Temps d'activité=&lt;br /&gt;
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la [[Gestion des ressources#Ajouter_un_type_de_ressource|gestion des types de ressources]].&lt;br /&gt;
&lt;br /&gt;
==Définition Unité sexacentimal==&lt;br /&gt;
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format ''sexacentimal''.&lt;br /&gt;
&lt;br /&gt;
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.&lt;br /&gt;
&lt;br /&gt;
*1 heure = 600 sexacentièmes&lt;br /&gt;
*1 minute = 10 sexacentièmes&lt;br /&gt;
*5 minutes = 50 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
*1 centième de minute = 6 sexacentièmes&lt;br /&gt;
*10 centième de minute (=1 dixième de minute) = 60 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
Exemples de formules :&lt;br /&gt;
*pour arrondir à 5 minutes : roundCeil(X,50)&lt;br /&gt;
*pour arrondir à 10 centièmes : roundCeil(X,60)&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#abs(X)|abs]]&lt;br /&gt;
*[[#max(X,Y)|max]]&lt;br /&gt;
*[[#min(X,Y)|min]]&lt;br /&gt;
*[[#roundCeil(X,Y)|roundCeil]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#.AIRFIELD-ARRIVAL|%AIRFIELD_ARRIVAL]]&lt;br /&gt;
*[[#.AIRFIELD-DEPARTURE|%AIRFIELD_DEPARTURE]]&lt;br /&gt;
*[[#.COUNTER_ARRIVAL|%COUNTER_ARRIVAL]]&lt;br /&gt;
*[[#.COUNTER_DEPARTURE|%COUNTER_DEPARTURE]]&lt;br /&gt;
*[[#.DURATION|%DURATION]]&lt;br /&gt;
*[[#.TIME_ARRIVAL|%TIME_ARRIVAL]]&lt;br /&gt;
*[[#.TIME_DEPARTURE|%TIME_DEPARTURE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul du temps d'activité==&lt;br /&gt;
===Durée saisie===&lt;br /&gt;
&amp;lt;pre&amp;gt;%DURATION&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs saisis===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durée saisie arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%DURATION, 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 centièmes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 minutes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 ou 10 minutes selon l'aérodrome de départ===&lt;br /&gt;
Si l'aérodrome de départ est LFBD, on rajoute 10 minutes à la différence des compteurs, sinon on rajoute 5 minutes :&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + ( (%AIRFIELD_DEPARTURE=='LFBD')? 100 : 50 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie à 10 centièmes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs moins 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15046</id>
		<title>Formules de calcul</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15046"/>
				<updated>2017-01-02T15:06:37Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* formatDate('patron', 'date') */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page à pour objet de présenter l'ensemble des fonctions et variables utilisables dans des formules de calculs d'OpenFlyers ainsi que les différents types de formules de calculs.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
==Fonctions==&lt;br /&gt;
&lt;br /&gt;
===abs(X)===&lt;br /&gt;
Retourne la valeur absolue de X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(-200) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(100) donne 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===changeTime('date', 'année', 'mois', 'jour')===&lt;br /&gt;
Retourne la date en changeant l'année, le mois et/ou le jour&lt;br /&gt;
&lt;br /&gt;
La date doit être au format '''AAAA-MM-JJ hh:mm:ss''' ou '''AAAA-MM-JJ'''&lt;br /&gt;
&lt;br /&gt;
Les valeurs possibles pour l'année, le mois ou le jour sont :&lt;br /&gt;
* 0 = L'année, le mois ou le jour reste inchangé&lt;br /&gt;
* +X = L'année, le mois ou le jour est augmenté de X&lt;br /&gt;
* -X = L'année, le mois ou le jour est diminué de X&lt;br /&gt;
* X = L'année, le mois ou le jour est placé sur X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '0', '0' ) donne 2011-05-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-test', '0' ) donne 2011-05-15 car la valeur du mois n'est pas valide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-2', '0' ) donne 2011-03-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '+2', '0' ) donne 2011-07-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '0' ) donne 2011-02-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '-1' ) donne 2011-02-14&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( %NOW_DATE, '2015', '1', '1' ) donne 2015-01-01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===formatDate('patron', 'date')===&lt;br /&gt;
Formate la date selon le patron. Pour les motifs du patron, voir le [[#Formatage-des-dates-et-des-heures|formatage des dates et des heures]].&lt;br /&gt;
&lt;br /&gt;
===getSex('person id')===&lt;br /&gt;
&lt;br /&gt;
Retourne un nombre correspondant au sexe de la personne :&lt;br /&gt;
* 0 pour un homme&lt;br /&gt;
* 1 pour une femme&lt;br /&gt;
* 2 lorsque ce n'est pas défini&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSex(1)&lt;br /&gt;
getSex(%USER_ID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour savoir si un utilisateur est une femme dans une règle de tarification des produits :&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $reductionFemme : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSumAccountBusinessField('business field id, 'person id', 'date')===&lt;br /&gt;
Retourne la somme des valeurs d'un [[Champs additionnels|champ additionnel]] de catégorie &amp;quot;Ecriture comptable&amp;quot;. Seules les valeurs du champ métier associées à des écritures comptable correspondantes à la personne et dont la date est postérieure ou égale à la date indiquée en paramètre sont prises en compte dans le calcul. La date est au format AAAA-MM-JJ.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSumAccountBusinessField(13, %PILOT, formatDate( 'yyyy-01-01', %NOW_DATE ) ) ? 100 : 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getValidityExpiredDate('person id', 'validity type id')===&lt;br /&gt;
&lt;br /&gt;
* Retourne la date d'expiration de la validité de la personne si c'est une validité soumise à échéance et que la date d'expiration a été renseigné. La date est au format AAAA-MM-JJ.&lt;br /&gt;
* Retourne &amp;quot;0000-00-00&amp;quot; dans les autres cas&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(%USER_ID, 1) donne 2014-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(0, 20) donne 0000-00-00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hasValidity('user id', 'validity type id', 'check only holding')===&lt;br /&gt;
'check only holding' est un paramètre optionnel. On ne prend en compte sa valeur que si elle est à 1. Dans les autres cas, on l'ignore.&lt;br /&gt;
&lt;br /&gt;
*Si 'check only holding' n'est pas à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si c'est une validité à formule d'expérience récente :&lt;br /&gt;
**** l'utilisateur a l'expérience requise&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** Si la validité n'est pas soumise à échéance alors l'utilisateur possède la validité&lt;br /&gt;
**** Si La validité est soumise à échéance alors l'utilisateur possède la validité et elle n'est pas encore expirée&lt;br /&gt;
** Retourne '''0''' dans les autres cas&lt;br /&gt;
*Si 'check only holding' est à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** L'utilisateur possède la validité&lt;br /&gt;
** Retourne '''0''' dans les autres cas (y compris dans le cas d'une validité à formule d'expérience récente et que l'utilisateur possède l'expérience récente)&lt;br /&gt;
&lt;br /&gt;
===max(X,Y)===&lt;br /&gt;
Retourne le maximum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===min(X,Y)===&lt;br /&gt;
Retourne le minimum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===roundCeil(X,Y)===&lt;br /&gt;
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,100) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,10) donne 120&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sprintf('pattern', 'string')===&lt;br /&gt;
&lt;br /&gt;
Formate la chaîne &amp;quot;string&amp;quot; avec le patron &amp;quot;pattern&amp;quot;. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#sprintf_format|format de sprintf]].&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%05s', %MEMBER_NUM) retourne 00010 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible derrière :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%-05d', %MEMBER_NUM) retourne 10000 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 6 caractères en ajoutant autant d'espace que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%6s', %MEMBER_NUM) retourne &amp;quot;    10&amp;quot; si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===substr(string,a,b)===&lt;br /&gt;
Retourne l'extrait de chaîne de caractères &amp;quot;string&amp;quot; à partir du caractère &amp;quot;a&amp;quot;, 0 étant le 1er caractère et &amp;quot;b&amp;quot; la longueur à extraire. Lorsque b est une valeur négative, alors il détermine le nombre de caractères devant être enlevé depuis la fin de la chaîne.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;substr('FIRST_NAME', 0, 5) returns FIRST&lt;br /&gt;
substr('FIRST_NAME', 0, -2) returns FIRST_NA&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type' )===&lt;br /&gt;
Retourne le total des heures de vol faite par un pilote %PILOT pour le type de vol 'flight type' Depuis la date indiquée.&lt;br /&gt;
&lt;br /&gt;
La position 0 correspond au 1er pilote, la position 1 au 2ème pilote.&lt;br /&gt;
&lt;br /&gt;
Si le type de vol n'est pas spécifié, le total est déterminé pour tous les types de vols.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;sumFlightTime(%PILOT, 2008, 01, 01, 00, 00, 0, 64 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Retourne en [[#Définition_Unité_sexacentimal|Sexacentimal]] le total des heures de vol faites sur le type de vol 64 en tant que pilote en place gauche depuis le 2008-01-01 00:00:00.&lt;br /&gt;
&lt;br /&gt;
===sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumPreviousFlightTime('pilot id', 'position', 'day', 'endingDate', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===strtolower(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en minuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;camelback&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strtoupper(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en majuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;CAMELBACK&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Formatage des dates et des heures==&lt;br /&gt;
To specify the format use a pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following:&lt;br /&gt;
&lt;br /&gt;
The count of pattern letters determine the format.&lt;br /&gt;
&lt;br /&gt;
(Text): 4 or more pattern letters--use full form, &amp;lt; 4--use short or abbreviated form if one exists.&lt;br /&gt;
&lt;br /&gt;
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.&lt;br /&gt;
&lt;br /&gt;
(Text &amp;amp; Number): 3 or over, use text, otherwise use number.&lt;br /&gt;
&lt;br /&gt;
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.&lt;br /&gt;
&lt;br /&gt;
A pattern containing any invalid pattern letter will result in a thrown exception during formatting or parsing.&lt;br /&gt;
&lt;br /&gt;
Syntax available:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Symbol!!Meaning!!Presentation!!Example&lt;br /&gt;
|-&lt;br /&gt;
|G||era designator||Text||AD&lt;br /&gt;
|-&lt;br /&gt;
|y||year||Number||1996&lt;br /&gt;
|-&lt;br /&gt;
|M||month in year||&amp;quot;MMM&amp;quot;: Text&amp;lt;br /&amp;gt;&amp;quot;MM&amp;quot; or &amp;quot;M&amp;quot; : Number||July&amp;lt;br /&amp;gt;07 or 7&lt;br /&gt;
|-&lt;br /&gt;
|d||day in month||Number||10&lt;br /&gt;
|-&lt;br /&gt;
|h||hour in am/pm (1~12)||Number||12&lt;br /&gt;
|-&lt;br /&gt;
|H||hour in day (0~23)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|m||minute in hour||Number||30&lt;br /&gt;
|-&lt;br /&gt;
|s||second in minute||Number||55&lt;br /&gt;
|-&lt;br /&gt;
|S||millisecond||Number||978&lt;br /&gt;
|-&lt;br /&gt;
|E||day in week||Text||Tuesday&lt;br /&gt;
|-&lt;br /&gt;
|e||dow (=day of week: 1 = sunday, 2 = monday, )||(Number)||2 (=monday)&lt;br /&gt;
|-&lt;br /&gt;
|D||day in year||Number||189&lt;br /&gt;
|-&lt;br /&gt;
|F||day of week in month||Number||2 (2nd Wed in July)&lt;br /&gt;
|-&lt;br /&gt;
|w||week in year||Number||27&lt;br /&gt;
|-&lt;br /&gt;
|W||week in month||Number||2&lt;br /&gt;
|-&lt;br /&gt;
|a||am/pm marker||Text||PM&lt;br /&gt;
|-&lt;br /&gt;
|k||hour in day (1~24)||Number||24&lt;br /&gt;
|-&lt;br /&gt;
|K||hour in am/pm (0~11)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|z||time zone||Text||Pacific Standard Time&lt;br /&gt;
|-&lt;br /&gt;
|'||escape for text||Delimiter||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;||single quote||(Literal)||'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples Using the local unit system:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Format Pattern!!Result&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyy.MM.dd G 'at' HH:mm:ss z&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.07.10 AD at 15:08:56 PDT&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;EEE, MMM d, 'yy&amp;quot;&amp;lt;/nowiki&amp;gt;||Wed, July 10, '96&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;KK:mm a, z&amp;quot;&amp;lt;/nowiki&amp;gt;||00:08 AM, PST&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h:mm a&amp;quot;&amp;lt;/nowiki&amp;gt;||12:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h 'o''clock' a, zzzz&amp;quot;&amp;lt;/nowiki&amp;gt;||12 o'clock PM, Pacific Daylight Time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyyy.MMMMM.dd GGG h:mm aaa&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.July.10 AD 0:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;dd/MMM/yyyyy HH:mm&amp;quot;&amp;lt;/nowiki&amp;gt;||10/07/1996 00:08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
===Opérateur == ===&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $womanReduction : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur OR===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 OR test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 || test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur AND===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 AND test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 &amp;amp;&amp;amp; test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
===%ACCOUNT_TYPE===&lt;br /&gt;
Type de compte&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_ARRIVAL===&lt;br /&gt;
&lt;br /&gt;
Terrain d'arrivée du vol&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_DEPARTURE===&lt;br /&gt;
&lt;br /&gt;
Terrain de départ du vol&lt;br /&gt;
&lt;br /&gt;
===%AUTHENTICATION_LOGIN===&lt;br /&gt;
Identifiant utilisateur&lt;br /&gt;
&lt;br /&gt;
===%AUTO_INCREMENT===&lt;br /&gt;
Valeur auto-incrémentale&lt;br /&gt;
&lt;br /&gt;
===%BOOKING_START_DATE===&lt;br /&gt;
Date de début d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_ARRIVAL===&lt;br /&gt;
Compteur arrivé saisi dans le formulaire.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_DEPARTURE===&lt;br /&gt;
Compteur départ saisi dans le formulaire&lt;br /&gt;
&lt;br /&gt;
===%DURATION===&lt;br /&gt;
Durée du vol&lt;br /&gt;
&lt;br /&gt;
===%EXTRAFIELDxx===&lt;br /&gt;
Permet de récupérer le contenu d'un champ additionnel&lt;br /&gt;
&lt;br /&gt;
Description :&lt;br /&gt;
*xx = numéro d'identifiant du champ additionnel. Exemple : %EXTRAFIELD12&lt;br /&gt;
*Pour les formules de tarification, seuls les champs additionnels de type de valeur suivants sont acceptés :&lt;br /&gt;
**Nombre entier&lt;br /&gt;
**Nombre entier unique&lt;br /&gt;
**Nombre à virgule&lt;br /&gt;
&lt;br /&gt;
===%FIRSTNAME===&lt;br /&gt;
Prénom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%LASTNAME===&lt;br /&gt;
Nom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%PILOT===&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules :&lt;br /&gt;
* d'email d'alerte de solde&lt;br /&gt;
* d'expérience récente&lt;br /&gt;
* de tarification des heures&lt;br /&gt;
&lt;br /&gt;
===%PILOT2===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur en seconde place. Cette variable est utilisable que dans les formules de tarification des heures.&lt;br /&gt;
&lt;br /&gt;
===%MEMBER_NUM===&lt;br /&gt;
Numéro de membre&lt;br /&gt;
&lt;br /&gt;
===%NOW_DATE===&lt;br /&gt;
Date courante au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%RESOURCE_NAME===&lt;br /&gt;
Nom de la ressource&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_ARRIVAL&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de fin saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_DEPARTURE&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de début saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===%START_DATE===&lt;br /&gt;
&lt;br /&gt;
Date de début du vol ou date d'achat de produit au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%USER_ID===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules de :&lt;br /&gt;
* compte d'export &lt;br /&gt;
* tarification des produits&lt;br /&gt;
* renouvellement de validité&lt;br /&gt;
&lt;br /&gt;
=Compte d'export=&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du compte d'export==&lt;br /&gt;
&lt;br /&gt;
*[[#sprintf('pattern',_'string')|sprintf]]&lt;br /&gt;
*[[#substr(string,a,b)|substr]]&lt;br /&gt;
*[[#strtolower(string)|strtolower]]&lt;br /&gt;
*[[#strtoupper(string)|strtoupper]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du compte d'export==&lt;br /&gt;
*[[#.ACCOUNT_TYPE|%ACCOUNT_TYPE]]&lt;br /&gt;
*[[#.AUTHENTICATION_LOGIN|%AUTHENTICATION_LOGIN]]&lt;br /&gt;
*[[#.AUTO_INCREMENT|%AUTO_INCREMENT]]&lt;br /&gt;
*[[#.FIRSTNAME|%FIRSTNAME]]&lt;br /&gt;
*[[#.LASTNAME|%LASTNAME]]&lt;br /&gt;
*[[#.MEMBER_NUM|%MEMBER_NUM]]&lt;br /&gt;
*[[#.RESOURCE_NAME|%RESOURCE_NAME]]&lt;br /&gt;
*[[#.USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul du compte d'export==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable centre&amp;quot;&lt;br /&gt;
!Formule de calcul!!Usage!!Exemples de génération&lt;br /&gt;
|-&lt;br /&gt;
|411+%ACCOUNT_TYPE||Comptes ressources et utilisateurs||4110002, 4110005&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTHENTICATION_LOGIN||Comptes utilisateurs||411pdupont '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes utilisateurs'''&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTO_INCREMENT||Comptes ressources et utilisateurs||41100001, 41100002, ...., 4110000x&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME||Comptes utilisateurs||411dupont, 411dupond&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME+substr(%FIRSTNAME,0,1)||Comptes utilisateurs||411dupontp, 411dupontf&lt;br /&gt;
|-&lt;br /&gt;
|411+%MEMBER_NUM||Comptes utilisateurs||411XXXXX, l'intitulé XXXXXX est le champ Numéro de membre qui est inscrit sur la fiche personnelle de vos adhérents. Exemple : 411001. A vous de vérifier l'unicité de cette valeurs&lt;br /&gt;
|-&lt;br /&gt;
|411+sprintf('%03s', %USER_ID)||Comptes utilisateurs||411001, 411002, etc.&lt;br /&gt;
|-&lt;br /&gt;
|411+substr(%AUTHENTICATION_LOGIN,0,3)||Comptes utilisateurs||411pdu 411 suivi de l'identifiant limité à 3 caractères. Cela permet d'être compatible avec les logiciels de comptabilités paramétrés pour n'accepter que 6 caractères. Dans ce cas, il est nécessaire de modifier les comptes d'exports en doublon.&lt;br /&gt;
|-&lt;br /&gt;
|7061+sprintf('%02s', %RESOURCE_ID)||Comptes ressources||706101, 706102, etc.  '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes ressources'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Date d'expiration=&lt;br /&gt;
==Fonctions autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
* [[#formatDate('patron',_'date')|formatDate]]&lt;br /&gt;
* [[#getValidityExpiredDate('person_id',_'validity_type_id')|getValidityExpiredDate]]&lt;br /&gt;
* [[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
* [[#.25USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
===Date fixe===&lt;br /&gt;
&amp;lt;pre&amp;gt;2012-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple une carte de réduction) valable 1 an.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité concerné :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-MM-dd', changeTime( ( hasValidity(%USER_ID, XX) ? getValidityExpiredDate(%USER_ID, 3XX3) : %NOW_DATE ), '+1', '0', '0' ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante===&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', %NOW_DATE )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple cotisation) dont la prise est valable jusqu'au 31 décembre de l'année en cours ou de l'année suivante si elle est souscrite à partir du 1er octobre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)&amp;lt;10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expérience récente=&lt;br /&gt;
==Fonctions autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
*[[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
*[[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
*[[#sumFlightHour('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumFlightHour]]&lt;br /&gt;
*[[#sumFlightTime(.25PILOT,_'year',_'month',_'day',_'hour',_'minute',_'position',_'flight_type'_)|sumFlightTime]]&lt;br /&gt;
*[[#sumLandingNumber('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumLandingNumber]]&lt;br /&gt;
*[[#sumPreviousFlightTime('pilot_id',_'position',_'day',_'endingDate',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumPreviousFlightTime]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
===Expérience récente en heures ou la détention d'une validité spécifique===&lt;br /&gt;
L'exemple suivant vérifie qu'un utilisateur a une expérience de 30 heures dans les 12 derniers mois ou qu'il possède une validité X lui permettant de s'affranchir du quota d'heures.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité spécifique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;( (sumFlightHour(%PILOT, 0, 365)+sumFlightHour(%PILOT, 1, 365) &amp;gt; 17999) OR hasValidity(%PILOT, XX) )&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Type d'activité X dans les 12 derniers mois===&lt;br /&gt;
L'exemple suivant vérifie si un utilisateur a effectué une activité d'un type X donné dans les 365 derniers jours.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type d'activité donné :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;sumFlightTime(%PILOT, formatDate('yyyy', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('M', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('d', changeTime( %NOW_DATE, '-1', '0', '0' )), 00, 00, 0, XX ) &amp;gt; 0&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tarification=&lt;br /&gt;
Outre les définitions toujours valides pour le calcul du temps d'activité, voici d'autres définitions :&lt;br /&gt;
''A rédiger''&lt;br /&gt;
&lt;br /&gt;
Voir [http://doc-en.openflyers.com/index.php?title=AdminDoc2.1 Formules en anglais]&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul de la tarification==&lt;br /&gt;
&lt;br /&gt;
* [[#getSumAccountBusinessField('business-field-id,-'person-id',-'date')|getSumAccountBusinessField]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la tarification==&lt;br /&gt;
*[[#.EXTRAFIELDxx|%EXTRAFIELDxx]]&lt;br /&gt;
*[[#.START-DATE|%START_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul de la tarification==&lt;br /&gt;
===Motoplaneur : tarification à l'heure de vol ET à l'utilisation du moteur===&lt;br /&gt;
Pour cela, on suppose que les compteurs sont utilisés et qu'ils prennent en compte le temps d'utilisation du moteur :&lt;br /&gt;
 %DURATION * $FLIGHT_HOUR_PRICE + (%COUNTER_ARRIVAL - %COUNTER_DEPARTURE) * $ENGINE_HOUR_PRICE&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le compte pilote a un solde positif===&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$S le solde positif qui doit être atteint pour bénéficier de la réduction&amp;lt;br&amp;gt;&lt;br /&gt;
$R le montant horaire de la réduction obtenue dans ce cas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil((((getBalance(%PILOT)&amp;gt;$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le vol se fait après une certaine heure===&lt;br /&gt;
&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$C2R concerne le tarif horaire réduit de l'avion après une certaine heure&amp;lt;br&amp;gt;&lt;br /&gt;
659 correspond à 06:59 en temps UTC&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas la formule considère que dès 700, la réduction s'applique.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil(((((formatDate('hmm',%START_DATE)&amp;gt;659)?$C2R:$C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
=Temps d'activité=&lt;br /&gt;
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la [[Gestion des ressources#Ajouter_un_type_de_ressource|gestion des types de ressources]].&lt;br /&gt;
&lt;br /&gt;
==Définition Unité sexacentimal==&lt;br /&gt;
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format ''sexacentimal''.&lt;br /&gt;
&lt;br /&gt;
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.&lt;br /&gt;
&lt;br /&gt;
*1 heure = 600 sexacentièmes&lt;br /&gt;
*1 minute = 10 sexacentièmes&lt;br /&gt;
*5 minutes = 50 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
*1 centième de minute = 6 sexacentièmes&lt;br /&gt;
*10 centième de minute (=1 dixième de minute) = 60 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
Exemples de formules :&lt;br /&gt;
*pour arrondir à 5 minutes : roundCeil(X,50)&lt;br /&gt;
*pour arrondir à 10 centièmes : roundCeil(X,60)&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#abs(X)|abs]]&lt;br /&gt;
*[[#max(X,Y)|max]]&lt;br /&gt;
*[[#min(X,Y)|min]]&lt;br /&gt;
*[[#roundCeil(X,Y)|roundCeil]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#.AIRFIELD-ARRIVAL|%AIRFIELD_ARRIVAL]]&lt;br /&gt;
*[[#.AIRFIELD-DEPARTURE|%AIRFIELD_DEPARTURE]]&lt;br /&gt;
*[[#.COUNTER_ARRIVAL|%COUNTER_ARRIVAL]]&lt;br /&gt;
*[[#.COUNTER_DEPARTURE|%COUNTER_DEPARTURE]]&lt;br /&gt;
*[[#.DURATION|%DURATION]]&lt;br /&gt;
*[[#.TIME_ARRIVAL|%TIME_ARRIVAL]]&lt;br /&gt;
*[[#.TIME_DEPARTURE|%TIME_DEPARTURE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul du temps d'activité==&lt;br /&gt;
===Durée saisie===&lt;br /&gt;
&amp;lt;pre&amp;gt;%DURATION&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs saisis===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durée saisie arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%DURATION, 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 centièmes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 minutes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 ou 10 minutes selon l'aérodrome de départ===&lt;br /&gt;
Si l'aérodrome de départ est LFBD, on rajoute 10 minutes à la différence des compteurs, sinon on rajoute 5 minutes :&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + ( (%AIRFIELD_DEPARTURE=='LFBD')? 100 : 50 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie à 10 centièmes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs moins 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15045</id>
		<title>Formules de calcul</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Formules-de-calcul&amp;diff=15045"/>
				<updated>2017-01-02T15:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Opérateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page à pour objet de présenter l'ensemble des fonctions et variables utilisables dans des formules de calculs d'OpenFlyers ainsi que les différents types de formules de calculs.&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Présentation=&lt;br /&gt;
&lt;br /&gt;
==Fonctions==&lt;br /&gt;
&lt;br /&gt;
===abs(X)===&lt;br /&gt;
Retourne la valeur absolue de X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(-200) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;abs(100) donne 100&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===changeTime('date', 'année', 'mois', 'jour')===&lt;br /&gt;
Retourne la date en changeant l'année, le mois et/ou le jour&lt;br /&gt;
&lt;br /&gt;
La date doit être au format '''AAAA-MM-JJ hh:mm:ss''' ou '''AAAA-MM-JJ'''&lt;br /&gt;
&lt;br /&gt;
Les valeurs possibles pour l'année, le mois ou le jour sont :&lt;br /&gt;
* 0 = L'année, le mois ou le jour reste inchangé&lt;br /&gt;
* +X = L'année, le mois ou le jour est augmenté de X&lt;br /&gt;
* -X = L'année, le mois ou le jour est diminué de X&lt;br /&gt;
* X = L'année, le mois ou le jour est placé sur X&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '0', '0' ) donne 2011-05-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-test', '0' ) donne 2011-05-15 car la valeur du mois n'est pas valide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '-2', '0' ) donne 2011-03-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '+2', '0' ) donne 2011-07-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '0' ) donne 2011-02-15&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( '2011-05-15', '0', '2', '-1' ) donne 2011-02-14&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;changeTime( %NOW_DATE, '2015', '1', '1' ) donne 2015-01-01&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===formatDate('patron', 'date')===&lt;br /&gt;
&lt;br /&gt;
Formate la date selon le patron. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#Date_and_time_format|format de date et d'heure]]&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('yyyy', '2015-03-01') donne 2015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('MM', '2015-03-01') donne 03&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate('d', '2015-03-01') donne 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-01-01', %NOW_DATE ) donne le 1er janvier dans l'année en cours&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSex('person id')===&lt;br /&gt;
&lt;br /&gt;
Retourne un nombre correspondant au sexe de la personne :&lt;br /&gt;
* 0 pour un homme&lt;br /&gt;
* 1 pour une femme&lt;br /&gt;
* 2 lorsque ce n'est pas défini&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSex(1)&lt;br /&gt;
getSex(%USER_ID)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour savoir si un utilisateur est une femme dans une règle de tarification des produits :&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $reductionFemme : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getSumAccountBusinessField('business field id, 'person id', 'date')===&lt;br /&gt;
Retourne la somme des valeurs d'un [[Champs additionnels|champ additionnel]] de catégorie &amp;quot;Ecriture comptable&amp;quot;. Seules les valeurs du champ métier associées à des écritures comptable correspondantes à la personne et dont la date est postérieure ou égale à la date indiquée en paramètre sont prises en compte dans le calcul. La date est au format AAAA-MM-JJ.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getSumAccountBusinessField(13, %PILOT, formatDate( 'yyyy-01-01', %NOW_DATE ) ) ? 100 : 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===getValidityExpiredDate('person id', 'validity type id')===&lt;br /&gt;
&lt;br /&gt;
* Retourne la date d'expiration de la validité de la personne si c'est une validité soumise à échéance et que la date d'expiration a été renseigné. La date est au format AAAA-MM-JJ.&lt;br /&gt;
* Retourne &amp;quot;0000-00-00&amp;quot; dans les autres cas&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(%USER_ID, 1) donne 2014-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;getValidityExpiredDate(0, 20) donne 0000-00-00&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hasValidity('user id', 'validity type id', 'check only holding')===&lt;br /&gt;
'check only holding' est un paramètre optionnel. On ne prend en compte sa valeur que si elle est à 1. Dans les autres cas, on l'ignore.&lt;br /&gt;
&lt;br /&gt;
*Si 'check only holding' n'est pas à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si c'est une validité à formule d'expérience récente :&lt;br /&gt;
**** l'utilisateur a l'expérience requise&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** Si la validité n'est pas soumise à échéance alors l'utilisateur possède la validité&lt;br /&gt;
**** Si La validité est soumise à échéance alors l'utilisateur possède la validité et elle n'est pas encore expirée&lt;br /&gt;
** Retourne '''0''' dans les autres cas&lt;br /&gt;
*Si 'check only holding' est à 1 :&lt;br /&gt;
** Retourne '''1''' lorsque :&lt;br /&gt;
*** Si ce n'est pas une validité à formule d'expérience récente :&lt;br /&gt;
**** L'utilisateur possède la validité&lt;br /&gt;
** Retourne '''0''' dans les autres cas (y compris dans le cas d'une validité à formule d'expérience récente et que l'utilisateur possède l'expérience récente)&lt;br /&gt;
&lt;br /&gt;
===max(X,Y)===&lt;br /&gt;
Retourne le maximum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===min(X,Y)===&lt;br /&gt;
Retourne le minimum entre X et Y&lt;br /&gt;
&lt;br /&gt;
===roundCeil(X,Y)===&lt;br /&gt;
Arrondi la valeur X au nombre supérieur multiple de l'unité Y le plus proche&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,100) donne 200&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(114,10) donne 120&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sprintf('pattern', 'string')===&lt;br /&gt;
&lt;br /&gt;
Formate la chaîne &amp;quot;string&amp;quot; avec le patron &amp;quot;pattern&amp;quot;. Pour les motifs du patron, voir [[OF_doc-en::CommonFormula#sprintf_format|format de sprintf]].&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%05s', %MEMBER_NUM) retourne 00010 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 5 caractères en ajoutant autant de zéro que possible derrière :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%-05d', %MEMBER_NUM) retourne 10000 si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour formater le numéro de membre pour qu'il ait 6 caractères en ajoutant autant d'espace que possible devant :&lt;br /&gt;
&amp;lt;php&amp;gt;sprintf('%6s', %MEMBER_NUM) retourne &amp;quot;    10&amp;quot; si %MEMBER_NUM vaut 10 par exemple&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===substr(string,a,b)===&lt;br /&gt;
Retourne l'extrait de chaîne de caractères &amp;quot;string&amp;quot; à partir du caractère &amp;quot;a&amp;quot;, 0 étant le 1er caractère et &amp;quot;b&amp;quot; la longueur à extraire. Lorsque b est une valeur négative, alors il détermine le nombre de caractères devant être enlevé depuis la fin de la chaîne.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
&amp;lt;pre&amp;gt;substr('FIRST_NAME', 0, 5) returns FIRST&lt;br /&gt;
substr('FIRST_NAME', 0, -2) returns FIRST_NA&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===sumFlightHour('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumFlightTime(%PILOT, 'year', 'month', 'day', 'hour', 'minute', 'position', 'flight type' )===&lt;br /&gt;
Retourne le total des heures de vol faite par un pilote %PILOT pour le type de vol 'flight type' Depuis la date indiquée.&lt;br /&gt;
&lt;br /&gt;
La position 0 correspond au 1er pilote, la position 1 au 2ème pilote.&lt;br /&gt;
&lt;br /&gt;
Si le type de vol n'est pas spécifié, le total est déterminé pour tous les types de vols.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;sumFlightTime(%PILOT, 2008, 01, 01, 00, 00, 0, 64 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
Retourne en [[#Définition_Unité_sexacentimal|Sexacentimal]] le total des heures de vol faites sur le type de vol 64 en tant que pilote en place gauche depuis le 2008-01-01 00:00:00.&lt;br /&gt;
&lt;br /&gt;
===sumLandingNumber('pilot id', 'position', 'day', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===sumPreviousFlightTime('pilot id', 'position', 'day', 'endingDate', 'aircraft type 1' , 'aircraft type 2', 'aircraft type X')===&lt;br /&gt;
&lt;br /&gt;
===strtolower(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en minuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;camelback&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===strtoupper(string)===&lt;br /&gt;
Retourne la chaine &amp;quot;string&amp;quot; en majuscule.&lt;br /&gt;
&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;pre&amp;gt;strtolower('CamelBack') retourne &amp;quot;CAMELBACK&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Formatage des dates et des heures==&lt;br /&gt;
To specify the format use a pattern string. In this pattern, all ASCII letters are reserved as pattern letters, which are defined as the following:&lt;br /&gt;
&lt;br /&gt;
The count of pattern letters determine the format.&lt;br /&gt;
&lt;br /&gt;
(Text): 4 or more pattern letters--use full form, &amp;lt; 4--use short or abbreviated form if one exists.&lt;br /&gt;
&lt;br /&gt;
(Number): the minimum number of digits. Shorter numbers are zero-padded to this amount. Year is handled specially; that is, if the count of 'y' is 2, the Year will be truncated to 2 digits.&lt;br /&gt;
&lt;br /&gt;
(Text &amp;amp; Number): 3 or over, use text, otherwise use number.&lt;br /&gt;
&lt;br /&gt;
Any characters in the pattern that are not in the ranges of ['a'..'z'] and ['A'..'Z'] will be treated as quoted text. For instance, characters like ':', '.', ' ', '#' and '@' will appear in the resulting time text even they are not embraced within single quotes.&lt;br /&gt;
&lt;br /&gt;
A pattern containing any invalid pattern letter will result in a thrown exception during formatting or parsing.&lt;br /&gt;
&lt;br /&gt;
Syntax available:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Symbol!!Meaning!!Presentation!!Example&lt;br /&gt;
|-&lt;br /&gt;
|G||era designator||Text||AD&lt;br /&gt;
|-&lt;br /&gt;
|y||year||Number||1996&lt;br /&gt;
|-&lt;br /&gt;
|M||month in year||&amp;quot;MMM&amp;quot;: Text&amp;lt;br /&amp;gt;&amp;quot;MM&amp;quot; or &amp;quot;M&amp;quot; : Number||July&amp;lt;br /&amp;gt;07 or 7&lt;br /&gt;
|-&lt;br /&gt;
|d||day in month||Number||10&lt;br /&gt;
|-&lt;br /&gt;
|h||hour in am/pm (1~12)||Number||12&lt;br /&gt;
|-&lt;br /&gt;
|H||hour in day (0~23)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|m||minute in hour||Number||30&lt;br /&gt;
|-&lt;br /&gt;
|s||second in minute||Number||55&lt;br /&gt;
|-&lt;br /&gt;
|S||millisecond||Number||978&lt;br /&gt;
|-&lt;br /&gt;
|E||day in week||Text||Tuesday&lt;br /&gt;
|-&lt;br /&gt;
|e||dow (=day of week: 1 = sunday, 2 = monday, )||(Number)||2 (=monday)&lt;br /&gt;
|-&lt;br /&gt;
|D||day in year||Number||189&lt;br /&gt;
|-&lt;br /&gt;
|F||day of week in month||Number||2 (2nd Wed in July)&lt;br /&gt;
|-&lt;br /&gt;
|w||week in year||Number||27&lt;br /&gt;
|-&lt;br /&gt;
|W||week in month||Number||2&lt;br /&gt;
|-&lt;br /&gt;
|a||am/pm marker||Text||PM&lt;br /&gt;
|-&lt;br /&gt;
|k||hour in day (1~24)||Number||24&lt;br /&gt;
|-&lt;br /&gt;
|K||hour in am/pm (0~11)||Number||0&lt;br /&gt;
|-&lt;br /&gt;
|z||time zone||Text||Pacific Standard Time&lt;br /&gt;
|-&lt;br /&gt;
|'||escape for text||Delimiter||&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;''&amp;lt;/nowiki&amp;gt;||single quote||(Literal)||'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples Using the local unit system:&lt;br /&gt;
{| {{prettytable}}&lt;br /&gt;
!Format Pattern!!Result&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyy.MM.dd G 'at' HH:mm:ss z&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.07.10 AD at 15:08:56 PDT&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;EEE, MMM d, 'yy&amp;quot;&amp;lt;/nowiki&amp;gt;||Wed, July 10, '96&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;KK:mm a, z&amp;quot;&amp;lt;/nowiki&amp;gt;||00:08 AM, PST&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h:mm a&amp;quot;&amp;lt;/nowiki&amp;gt;||12:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;h 'o''clock' a, zzzz&amp;quot;&amp;lt;/nowiki&amp;gt;||12 o'clock PM, Pacific Daylight Time&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;yyyyy.MMMMM.dd GGG h:mm aaa&amp;quot;&amp;lt;/nowiki&amp;gt;||1996.July.10 AD 0:08 PM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;quot;dd/MMM/yyyyy HH:mm&amp;quot;&amp;lt;/nowiki&amp;gt;||10/07/1996 00:08&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Opérateurs==&lt;br /&gt;
===Opérateur == ===&lt;br /&gt;
&amp;lt;pre&amp;gt;(getSex(%USER_ID) == 1) ? $womanReduction : 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur OR===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 OR test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 || test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Opérateur AND===&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 AND test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sur OpenFlyers 4.0 et au-dessus il est aussi possible d'utiliser :&lt;br /&gt;
&amp;lt;pre&amp;gt;( test1 &amp;amp;&amp;amp; test2 ) ? true-case : false-case&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
===%ACCOUNT_TYPE===&lt;br /&gt;
Type de compte&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_ARRIVAL===&lt;br /&gt;
&lt;br /&gt;
Terrain d'arrivée du vol&lt;br /&gt;
&lt;br /&gt;
===%AIRFIELD_DEPARTURE===&lt;br /&gt;
&lt;br /&gt;
Terrain de départ du vol&lt;br /&gt;
&lt;br /&gt;
===%AUTHENTICATION_LOGIN===&lt;br /&gt;
Identifiant utilisateur&lt;br /&gt;
&lt;br /&gt;
===%AUTO_INCREMENT===&lt;br /&gt;
Valeur auto-incrémentale&lt;br /&gt;
&lt;br /&gt;
===%BOOKING_START_DATE===&lt;br /&gt;
Date de début d'une réservation.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_ARRIVAL===&lt;br /&gt;
Compteur arrivé saisi dans le formulaire.&lt;br /&gt;
&lt;br /&gt;
===%COUNTER_DEPARTURE===&lt;br /&gt;
Compteur départ saisi dans le formulaire&lt;br /&gt;
&lt;br /&gt;
===%DURATION===&lt;br /&gt;
Durée du vol&lt;br /&gt;
&lt;br /&gt;
===%EXTRAFIELDxx===&lt;br /&gt;
Permet de récupérer le contenu d'un champ additionnel&lt;br /&gt;
&lt;br /&gt;
Description :&lt;br /&gt;
*xx = numéro d'identifiant du champ additionnel. Exemple : %EXTRAFIELD12&lt;br /&gt;
*Pour les formules de tarification, seuls les champs additionnels de type de valeur suivants sont acceptés :&lt;br /&gt;
**Nombre entier&lt;br /&gt;
**Nombre entier unique&lt;br /&gt;
**Nombre à virgule&lt;br /&gt;
&lt;br /&gt;
===%FIRSTNAME===&lt;br /&gt;
Prénom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%LASTNAME===&lt;br /&gt;
Nom de l'utilisateur&lt;br /&gt;
&lt;br /&gt;
===%PILOT===&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules :&lt;br /&gt;
* d'email d'alerte de solde&lt;br /&gt;
* d'expérience récente&lt;br /&gt;
* de tarification des heures&lt;br /&gt;
&lt;br /&gt;
===%PILOT2===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur en seconde place. Cette variable est utilisable que dans les formules de tarification des heures.&lt;br /&gt;
&lt;br /&gt;
===%MEMBER_NUM===&lt;br /&gt;
Numéro de membre&lt;br /&gt;
&lt;br /&gt;
===%NOW_DATE===&lt;br /&gt;
Date courante au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%RESOURCE_NAME===&lt;br /&gt;
Nom de la ressource&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_ARRIVAL&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de fin saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;s&amp;gt;%TIME_DEPARTURE&amp;lt;/s&amp;gt;===&lt;br /&gt;
&amp;lt;s&amp;gt;Heure de début saisie dans le formulaire&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===%START_DATE===&lt;br /&gt;
&lt;br /&gt;
Date de début du vol ou date d'achat de produit au format '''AAAA-MM-JJ hh:mm:ss'''&lt;br /&gt;
&lt;br /&gt;
Par exemple : 2015-03-31 14:20:03&lt;br /&gt;
&lt;br /&gt;
===%USER_ID===&lt;br /&gt;
&lt;br /&gt;
Id de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
Cette variable est utilisable dans les formules de :&lt;br /&gt;
* compte d'export &lt;br /&gt;
* tarification des produits&lt;br /&gt;
* renouvellement de validité&lt;br /&gt;
&lt;br /&gt;
=Compte d'export=&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du compte d'export==&lt;br /&gt;
&lt;br /&gt;
*[[#sprintf('pattern',_'string')|sprintf]]&lt;br /&gt;
*[[#substr(string,a,b)|substr]]&lt;br /&gt;
*[[#strtolower(string)|strtolower]]&lt;br /&gt;
*[[#strtoupper(string)|strtoupper]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du compte d'export==&lt;br /&gt;
*[[#.ACCOUNT_TYPE|%ACCOUNT_TYPE]]&lt;br /&gt;
*[[#.AUTHENTICATION_LOGIN|%AUTHENTICATION_LOGIN]]&lt;br /&gt;
*[[#.AUTO_INCREMENT|%AUTO_INCREMENT]]&lt;br /&gt;
*[[#.FIRSTNAME|%FIRSTNAME]]&lt;br /&gt;
*[[#.LASTNAME|%LASTNAME]]&lt;br /&gt;
*[[#.MEMBER_NUM|%MEMBER_NUM]]&lt;br /&gt;
*[[#.RESOURCE_NAME|%RESOURCE_NAME]]&lt;br /&gt;
*[[#.USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul du compte d'export==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable centre&amp;quot;&lt;br /&gt;
!Formule de calcul!!Usage!!Exemples de génération&lt;br /&gt;
|-&lt;br /&gt;
|411+%ACCOUNT_TYPE||Comptes ressources et utilisateurs||4110002, 4110005&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTHENTICATION_LOGIN||Comptes utilisateurs||411pdupont '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes utilisateurs'''&lt;br /&gt;
|-&lt;br /&gt;
|411+%AUTO_INCREMENT||Comptes ressources et utilisateurs||41100001, 41100002, ...., 4110000x&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME||Comptes utilisateurs||411dupont, 411dupond&lt;br /&gt;
|-&lt;br /&gt;
|411+%LASTNAME+substr(%FIRSTNAME,0,1)||Comptes utilisateurs||411dupontp, 411dupontf&lt;br /&gt;
|-&lt;br /&gt;
|411+%MEMBER_NUM||Comptes utilisateurs||411XXXXX, l'intitulé XXXXXX est le champ Numéro de membre qui est inscrit sur la fiche personnelle de vos adhérents. Exemple : 411001. A vous de vérifier l'unicité de cette valeurs&lt;br /&gt;
|-&lt;br /&gt;
|411+sprintf('%03s', %USER_ID)||Comptes utilisateurs||411001, 411002, etc.&lt;br /&gt;
|-&lt;br /&gt;
|411+substr(%AUTHENTICATION_LOGIN,0,3)||Comptes utilisateurs||411pdu 411 suivi de l'identifiant limité à 3 caractères. Cela permet d'être compatible avec les logiciels de comptabilités paramétrés pour n'accepter que 6 caractères. Dans ce cas, il est nécessaire de modifier les comptes d'exports en doublon.&lt;br /&gt;
|-&lt;br /&gt;
|7061+sprintf('%02s', %RESOURCE_ID)||Comptes ressources||706101, 706102, etc.  '''c'est le modèle recommandé par OpenFlyers et proposé par défaut pour les comptes ressources'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Date d'expiration=&lt;br /&gt;
==Fonctions autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
* [[#formatDate('patron',_'date')|formatDate]]&lt;br /&gt;
* [[#getValidityExpiredDate('person_id',_'validity_type_id')|getValidityExpiredDate]]&lt;br /&gt;
* [[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
* [[#.25USER_ID|%USER_ID]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de la date d'expiration==&lt;br /&gt;
&lt;br /&gt;
===Date fixe===&lt;br /&gt;
&amp;lt;pre&amp;gt;2012-12-31&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Date dans un an ou dans un an après la date d'expiration d'une validité déjà détenue===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple une carte de réduction) valable 1 an.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité concerné :&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-MM-dd', changeTime( ( hasValidity(%USER_ID, XX) ? getValidityExpiredDate(%USER_ID, 3XX3) : %NOW_DATE ), '+1', '0', '0' ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante===&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', %NOW_DATE )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fin de l'année courante ou la fin de l'année suivante si la date courante est strictement supérieure au 30 septembre===&lt;br /&gt;
Cette formule permet de vendre une validité (par exemple cotisation) dont la prise est valable jusqu'au 31 décembre de l'année en cours ou de l'année suivante si elle est souscrite à partir du 1er octobre.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;formatDate( 'yyyy-12-31', (formatDate('MM', %NOW_DATE)&amp;lt;10) ? %NOW_DATE : changeTime(%NOW_DATE, '+1', 0, 0) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expérience récente=&lt;br /&gt;
==Fonctions autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
*[[#hasValidity('user_id',_'validity_type_id')|hasValidity]]&lt;br /&gt;
*[[#changeTime('date',_'année',_'mois',_'jour')|changeTime]]&lt;br /&gt;
*[[#sumFlightHour('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumFlightHour]]&lt;br /&gt;
*[[#sumFlightTime(.25PILOT,_'year',_'month',_'day',_'hour',_'minute',_'position',_'flight_type'_)|sumFlightTime]]&lt;br /&gt;
*[[#sumLandingNumber('pilot_id',_'position',_'day',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumLandingNumber]]&lt;br /&gt;
*[[#sumPreviousFlightTime('pilot_id',_'position',_'day',_'endingDate',_'aircraft_type_1'_,_'aircraft_type_2',_'aircraft_type_X')|sumPreviousFlightTime]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
* [[#.25NOW_DATE|%NOW_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul de l'expérience récente==&lt;br /&gt;
&lt;br /&gt;
===Expérience récente en heures ou la détention d'une validité spécifique===&lt;br /&gt;
L'exemple suivant vérifie qu'un utilisateur a une expérience de 30 heures dans les 12 derniers mois ou qu'il possède une validité X lui permettant de s'affranchir du quota d'heures.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type de validité spécifique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;( (sumFlightHour(%PILOT, 0, 365)+sumFlightHour(%PILOT, 1, 365) &amp;gt; 17999) OR hasValidity(%PILOT, XX) )&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Type d'activité X dans les 12 derniers mois===&lt;br /&gt;
L'exemple suivant vérifie si un utilisateur a effectué une activité d'un type X donné dans les 365 derniers jours.&lt;br /&gt;
&lt;br /&gt;
Remplacer dans l'exemple suivant XX par l'identifiant du type d'activité donné :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;php&amp;gt;sumFlightTime(%PILOT, formatDate('yyyy', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('M', changeTime( %NOW_DATE, '-1', '0', '0' )), formatDate('d', changeTime( %NOW_DATE, '-1', '0', '0' )), 00, 00, 0, XX ) &amp;gt; 0&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Tarification=&lt;br /&gt;
Outre les définitions toujours valides pour le calcul du temps d'activité, voici d'autres définitions :&lt;br /&gt;
''A rédiger''&lt;br /&gt;
&lt;br /&gt;
Voir [http://doc-en.openflyers.com/index.php?title=AdminDoc2.1 Formules en anglais]&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul de la tarification==&lt;br /&gt;
&lt;br /&gt;
* [[#getSumAccountBusinessField('business-field-id,-'person-id',-'date')|getSumAccountBusinessField]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul de la tarification==&lt;br /&gt;
*[[#.EXTRAFIELDxx|%EXTRAFIELDxx]]&lt;br /&gt;
*[[#.START-DATE|%START_DATE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules pour le calcul de la tarification==&lt;br /&gt;
===Motoplaneur : tarification à l'heure de vol ET à l'utilisation du moteur===&lt;br /&gt;
Pour cela, on suppose que les compteurs sont utilisés et qu'ils prennent en compte le temps d'utilisation du moteur :&lt;br /&gt;
 %DURATION * $FLIGHT_HOUR_PRICE + (%COUNTER_ARRIVAL - %COUNTER_DEPARTURE) * $ENGINE_HOUR_PRICE&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le compte pilote a un solde positif===&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$S le solde positif qui doit être atteint pour bénéficier de la réduction&amp;lt;br&amp;gt;&lt;br /&gt;
$R le montant horaire de la réduction obtenue dans ce cas&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil((((getBalance(%PILOT)&amp;gt;$S ? ($C2-$R) : $C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
===Avion : réduction lorsque le vol se fait après une certaine heure===&lt;br /&gt;
&lt;br /&gt;
$C2 concerne le tarif horaire de l'avion&amp;lt;br&amp;gt;&lt;br /&gt;
$C2R concerne le tarif horaire réduit de l'avion après une certaine heure&amp;lt;br&amp;gt;&lt;br /&gt;
659 correspond à 06:59 en temps UTC&amp;lt;br&amp;gt;&lt;br /&gt;
Dans ce cas la formule considère que dès 700, la réduction s'applique.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 roundCeil(((((formatDate('hmm',%START_DATE)&amp;gt;659)?$C2R:$C2)*%DURATION/600)-0.5),1)&lt;br /&gt;
&lt;br /&gt;
=Temps d'activité=&lt;br /&gt;
Pour calculer le temps d'une activité (exemple : vol), les règles diffèrent selon les structures.&lt;br /&gt;
&lt;br /&gt;
OpenFlyers permet d'attribuer des formules de calcul de temps d'activité par type de ressource. Cf. la [[Gestion des ressources#Ajouter_un_type_de_ressource|gestion des types de ressources]].&lt;br /&gt;
&lt;br /&gt;
==Définition Unité sexacentimal==&lt;br /&gt;
En base de données, les temps et les compteurs sont stockés selon le plus petit multiple commun au système décimal (centième) et au système sexagésimale (hh min). Nous avons appelé cela le format ''sexacentimal''.&lt;br /&gt;
&lt;br /&gt;
Cela permet de stocker les valeurs de temps sous la forme d'un entier. Cela supprime donc tout problème d'arrondi qui pourrait être problématique pour les additions.&lt;br /&gt;
&lt;br /&gt;
*1 heure = 600 sexacentièmes&lt;br /&gt;
*1 minute = 10 sexacentièmes&lt;br /&gt;
*5 minutes = 50 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
*1 centième de minute = 6 sexacentièmes&lt;br /&gt;
*10 centième de minute (=1 dixième de minute) = 60 sexacentièmes&lt;br /&gt;
&lt;br /&gt;
Exemples de formules :&lt;br /&gt;
*pour arrondir à 5 minutes : roundCeil(X,50)&lt;br /&gt;
*pour arrondir à 10 centièmes : roundCeil(X,60)&lt;br /&gt;
&lt;br /&gt;
==Fonctions autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#abs(X)|abs]]&lt;br /&gt;
*[[#max(X,Y)|max]]&lt;br /&gt;
*[[#min(X,Y)|min]]&lt;br /&gt;
*[[#roundCeil(X,Y)|roundCeil]]&lt;br /&gt;
&lt;br /&gt;
==Variables autorisées pour le calcul du temps d'activité==&lt;br /&gt;
*[[#.AIRFIELD-ARRIVAL|%AIRFIELD_ARRIVAL]]&lt;br /&gt;
*[[#.AIRFIELD-DEPARTURE|%AIRFIELD_DEPARTURE]]&lt;br /&gt;
*[[#.COUNTER_ARRIVAL|%COUNTER_ARRIVAL]]&lt;br /&gt;
*[[#.COUNTER_DEPARTURE|%COUNTER_DEPARTURE]]&lt;br /&gt;
*[[#.DURATION|%DURATION]]&lt;br /&gt;
*[[#.TIME_ARRIVAL|%TIME_ARRIVAL]]&lt;br /&gt;
*[[#.TIME_DEPARTURE|%TIME_DEPARTURE]]&lt;br /&gt;
&lt;br /&gt;
==Exemples de formules de calcul du temps d'activité==&lt;br /&gt;
===Durée saisie===&lt;br /&gt;
&amp;lt;pre&amp;gt;%DURATION&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs saisis===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Durée saisie arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%DURATION, 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 centièmes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 30&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 minutes ===&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs plus 5 ou 10 minutes selon l'aérodrome de départ===&lt;br /&gt;
Si l'aérodrome de départ est LFBD, on rajoute 10 minutes à la différence des compteurs, sinon on rajoute 5 minutes :&lt;br /&gt;
&amp;lt;pre&amp;gt;%COUNTER_ARRIVAL - %COUNTER_DEPARTURE + ( (%AIRFIELD_DEPARTURE=='LFBD')? 100 : 50 )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie au 5 minutes les plus proches plus 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 25, 50) + 50&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Différence des compteurs arrondie à 10 centièmes===&lt;br /&gt;
&amp;lt;pre&amp;gt;roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 60)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION,roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée du vol et la différence des compteurs moins 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(%DURATION, %COUNTER_ARRIVAL - %COUNTER_DEPARTURE - 50)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Le plus grand entre la durée saisie, arrondie à 5 minutes, et la différence des compteurs, arrondie à 5 minutes===&lt;br /&gt;
&amp;lt;pre&amp;gt;max(roundCeil(%DURATION,50),roundCeil(%COUNTER_ARRIVAL - %COUNTER_DEPARTURE, 50))&amp;lt;/pre&amp;gt;&lt;br /&gt;
Cette formule calcule :&lt;br /&gt;
*la différence des compteurs et l'arrondi à 5 minutes&lt;br /&gt;
*la valeur de la durée de vol saisie par le pilote et l'arrondi à 5 minutes&lt;br /&gt;
Puis elle prend le plus grand des deux&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15043</id>
		<title>Utilisation de la comptabilité</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Utilisation-de-la-comptabilit%C3%A9&amp;diff=15043"/>
				<updated>2016-12-29T14:11:51Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Clôturer l'exercice comptable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de décrire la saisie des opérations de [[Comptabilité|comptabilité]].&lt;br /&gt;
&lt;br /&gt;
=Clôturer l'exercice comptable=&lt;br /&gt;
''Attention : la clôture de la comptabilité ne doit être effectuée qu'une fois qu'on est sûr et certain de ne plus avoir à intervenir sur l'exercice à clôturer. Cette opération doit donc être temporisée dans le temps sachant qu'il est tout à fait possible de poursuivre son activité sur l'exercice suivant sans que l'exercice précédent ne soit clôturé.''&lt;br /&gt;
&lt;br /&gt;
OpenFlyers affiche une [[Alertes de configuration#L'exercice_comptable_courant_a_plus_d'un_an|alerte lorsque l'exercice en cours est ouvert depuis 400 jours]].&lt;br /&gt;
&lt;br /&gt;
Avant de clôturer, il faut :&lt;br /&gt;
*Si le bilan est effectué dans OpenFlyers, [[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|saisir les écritures de fin d'exercice]]&lt;br /&gt;
*Dans tous les cas, [[#Solder-les-comptes|remettre à 0 les soldes des comptes d'exploitation]].&lt;br /&gt;
*Valider toutes les écritures antérieures à la date de clôture.&lt;br /&gt;
En effet, on ne peut clôturer qu'une période pour laquelle toutes les écritures comptables ont été validées. Pour cela, il peut être nécessaire de [[#Retrouver-les-écritures-non-validées|retrouver les écritures non validées]].&lt;br /&gt;
&lt;br /&gt;
Ensuite, pour clôturer :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Gestion / Export'''.&lt;br /&gt;
*Dans la 2ème partie intitulée '''Gestion de l'exercice comptable''', renseigner le champ '''Date de clôture'''.&lt;br /&gt;
La date de début de nouvel exercice est automatiquement actualisée.&lt;br /&gt;
&lt;br /&gt;
Pour une structure qui a un exercice annuel correspondant à l'année civile les dates devraient être 31/12/XXXX et 01/01/XXXX+1&lt;br /&gt;
*Cliquer sur le bouton '''Clôturer l'exercice puis ouvrir un nouvel exercice'''.&lt;br /&gt;
&lt;br /&gt;
=Exporter la comptabilité=&lt;br /&gt;
''Conseil OpenFlyers : l'export de la comptabilité nécessite au préalable des actions irréversibles comme la validation de l'ensemble des écritures. Pour les personnes débutantes avec cette fonction et qui souhaite pouvoir exporter sans effectuer ces actions irréversibles, il est recommandé de [[Modèle-commercial-et-compte-client-OpenFlyers#Plateforme-supplémentaire-de-test|s'entrainer avec le bac à sable]] en effectuant une recopie de sa plateforme de production.''&lt;br /&gt;
==Actions à effectuer par ordre chronologique==&lt;br /&gt;
OpenFlyers permet d'exporter uniquement les [[Bien débuter avec OpenFlyers#Validation_des_écritures|écritures validées]] et ainsi ne propose par défaut comme période d'export que la période maximum exportable ne contenant que des écritures validées.&lt;br /&gt;
&lt;br /&gt;
Les exports se font généralement à intervalle régulier : tous les mois, tous les trimestres ou tous les ans.&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas de logiciel de comptabilité, il est recommandé d'effectuer quand même l'export et de l'archiver sur un support de stockage (disque dur par exemple) pour conservation.&lt;br /&gt;
&lt;br /&gt;
Dans le cas du dernier export d'un exercice comptable donné, il est important de décider avant l'export si tout ou partie des écritures de fin d'exercice doivent être réalisées avant ou après. En général, si l'export sert ensuite à être retravaillé dans un logiciel de comptabilité, alors les écritures de fin d'exercice seront réalisées dans le logiciel de comptabilité et il ne faudra faire le &amp;quot;nettoyage&amp;quot; côté OpenFlyers qu'à l'issue de l'export comptable officiel. Ainsi les points 2 et 3 des &amp;quot;Opérations à effectuer avant tout export&amp;quot; ci-dessous doit être, dans certains cas, réalisé en partie ou en totalité après le point 2 des &amp;quot;Opérations supplémentaires pour l'export de fin d'exercice&amp;quot; ci-dessous.&lt;br /&gt;
&lt;br /&gt;
De plus, si vous utilisez un logiciel de comptabilité uniquement pour le bilan, c'est à dire que les charges sont gérées dans OpenFlyers, alors la clôture dans OpenFlyers doit être faite après la clôture dans ce logiciel de comptabilité. Il est ainsi possible de vérifier que les &amp;quot;A nouveaux&amp;quot; sont identiques dans les 2 logiciels et de corriger dans OpenFlyers si nécessaire. Il existe un [[OF_doc-en:Accounting_exports_3#Carry_forwards|rapport qui permet d'avoir les à nouveaux]].&lt;br /&gt;
&lt;br /&gt;
Prérequis à tout export comptable :&lt;br /&gt;
*[[Configuration de la comptabilité#Comptes_d'export|Attribuer les comptes d'export]] pour ne pas avoir l'alerte &amp;quot;[[#Vous_ne_pouvez_exporter_car_il_y_a_des_comptes_sans_valeur_d'export|Vous ne pouvez exporter car il y a des comptes sans valeur d'export]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Opérations à effectuer pour tout export :&lt;br /&gt;
#[[#Retrouver-les-écritures-non-validées|Retrouver les écritures non validées]] pour [[Bien débuter avec OpenFlyers#Validation_des_écritures|les valider]]&lt;br /&gt;
#[[#Export_de_la_comptabilité|Export de la comptabilité]]&lt;br /&gt;
#[[Import dans un logiciel comptable tiers|import dans un logiciel de comptabilité]]&lt;br /&gt;
&lt;br /&gt;
Opérations supplémentaires pour l'export de fin d'exercice :&lt;br /&gt;
#[[Écritures comptables#Écritures_de_fin_d'exercice_avant_la_clôture_de_la_comptabilité|Écritures de fin d'exercice avant la clôture de l'exercice]] dont le [[#Solder-les-comptes|solde des comptes d'exploitation]]&lt;br /&gt;
#Validation des écritures de fin d'exercice par la [[Utilisation de la comptabilité#Validation_d'un_flux|validation des flux]] correspondant.&lt;br /&gt;
#Ultime export pour stockage [[#Marquer_les_écritures_lors_de_l'export|en marquant les écritures]].&lt;br /&gt;
#[[#Clôturer-l'exercice-comptable|Clôture / ouverture du nouvel exercice comptable]].&lt;br /&gt;
#[[Écritures comptables#Écritures_de_début_d'exercice_après_l'ouverture_de_la_comptabilité|Écritures de début d'exercice après l'ouverture de la comptabilité]].&lt;br /&gt;
&lt;br /&gt;
==Alertes générées lors d'une tentative d'[[Utilisation de la comptabilité#Les_exports_comptables|export comptable]]==&lt;br /&gt;
===Vous ne pouvez exporter car il y a des comptes sans valeur d'export===&lt;br /&gt;
Cette alerte bloquante apparait dans '''Comptes &amp;gt; Gestion / Export''' avec les éléments suivants :&lt;br /&gt;
&amp;lt;pre&amp;gt;Vous ne pouvez exporter car il y a des comptes sans valeur d'export&lt;br /&gt;
intitulé de compte X (type de compte Y)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Pour supprimer cette alerte, il faut [[Configuration de la comptabilité#Comptes_d'export|attribuer les comptes d'export manquants]].&lt;br /&gt;
&lt;br /&gt;
==Export de la comptabilité==&lt;br /&gt;
Pour exporter la comptabilité, il faut :&lt;br /&gt;
*Aller côté '''Admin'''&lt;br /&gt;
*Puis '''Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
3 parties se superposent :&lt;br /&gt;
*'''Solder les comptes'''&lt;br /&gt;
*'''Gestion de l'exercice comptable'''&lt;br /&gt;
*'''Statistiques'''/ '''Export de la comptabilité'''&lt;br /&gt;
Le tableau '''Statistiques''' donne des informations sur les écritures. Sa lecture est indispensable pour vérifier qu'il ne subsiste pas d'écriture non validée antérieures à la fin de la période d'export souhaitée. Si c'est le cas, il faut alors [[#Retrouver-les-écritures-non-validées|trouver les écritures non validées]] et les valider.&lt;br /&gt;
&lt;br /&gt;
Au-dessous du titre apparait la période que l'on souhaite exporter. Attention: la période proposée par défaut correspond à la plus grande période possible et ne correspond donc pas à la période souhaitée. Il faut donc modifier la date de fin.&lt;br /&gt;
&lt;br /&gt;
Exemples :&lt;br /&gt;
*Si on souhaite exporter '''une année civile complète''', alors il faut sélectionner comme date de fin le 31 décembre.&lt;br /&gt;
*Si on souhaite exporter '''un mois''', il faut sélectionner comme date de fin le dernier jour du mois concerné.&lt;br /&gt;
&lt;br /&gt;
Il est également possible de marquer les écritures exportées afin qu'elles ne soient plus ré-exportées. Cependant, à la place de cette zone de saisie, il peut apparaitre la liste des comptes sans [[#Compte_d'export|valeur d'export]] c'est à dire sans le numéro de compte du plan comptable. Dans ce cas, il faut d'abord rechercher le compte concerné dans '''Comptes &amp;gt; Lister les comptes''' puis attribuer au compte concerné une valeur d'export.&lt;br /&gt;
*Cocher ou non '''[[#Marquer_les_écritures_lors_de_l'export|Marquer les écritures]]'''.&lt;br /&gt;
*L'export s'effectue en cliquant sur le bouton '''Exporter''' de la ligne du logiciel vers lequel on souhaite exporter.&lt;br /&gt;
*Il faut ensuite [[Import dans un logiciel comptable tiers|importer dans un logiciel comptable tiers]].&lt;br /&gt;
&lt;br /&gt;
'''Remarques :'''&lt;br /&gt;
*Il n'est possible d'exporter que des écritures validées. Par conséquent s'il subsiste des écritures non validées sur la période d'export souhaité, alors une alerte apparaitra signalant qu'il n'est pas possible d'exporter la période souhaitée.&lt;br /&gt;
*Dans le fichier d'export, les écritures sont triées par numéro de flux.&lt;br /&gt;
&lt;br /&gt;
===Marquer les écritures lors de l'export===&lt;br /&gt;
Lors d'un export comptable, OpenFlyers donne la possibilité de marquer ou non les écritures qui vont être exportées. Cela permet :&lt;br /&gt;
*Soit de pouvoir ré-exporter des écritures déjà exportées (mais non marquées)&lt;br /&gt;
*Soit au contraire de ne plus exporter des écritures dont OpenFlyers sait qu'elles ont déjà été exportées car marquées.&lt;br /&gt;
&lt;br /&gt;
Ce choix se fait dans le formulaire d'export en cochant '''Marquer les écritures (elles ne pourront plus être exportées de nouveau)'''.&lt;br /&gt;
&lt;br /&gt;
Il est conseillé de toujours procéder à un 1er export sans marquer les écritures. Ainsi, si l'export se passe mal, on aura la garantie de pouvoir le refaire.&lt;br /&gt;
&lt;br /&gt;
=Mettre à jour les tarifs=&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Ventes &amp;gt; Prix &amp;gt; Actualisation des prix'''&lt;br /&gt;
[[Image:Menu-vente-prix-actualisation-des-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur le bouton '''Modifier''' en bas du tableau et '''non pas sur l'icône crayon à droite de la ligne de tarif'''.&lt;br /&gt;
[[Image:Tableau-vente-prix-actualisation-de-prix.png]]&lt;br /&gt;
&lt;br /&gt;
*Saisir une nouvelle valeur et la date à partir de laquelle le tarif s'appliquera. Vous pouvez anticiper un changement de tarif. Le tarif s'appliquera à la date du mouvement.&lt;br /&gt;
[[Image:Ajout-nouvelle-valeur-variable-tarif.png]]&lt;br /&gt;
&lt;br /&gt;
'''Attention''': si vous cliquez sur l'icône &amp;quot;Édition&amp;quot; (Crayon dans la colonne action) et que vous modifiez la valeur, alors vous changez le prix de cette période mais vous ne créez pas un nouveau tarif. Vous perdrez toute possibilité de corriger par exemple un vol à une date donnée. &lt;br /&gt;
&lt;br /&gt;
*Si vous avez le message d'erreur &amp;quot;chaque variable doit disposer d'une valeur antérieure à la date de début de l'exercice comptable&amp;quot; cela signifie que la variable ne possède pas de valeur entre la date de début d'exercice (date définie dans '''Admin &amp;gt; Comptes &amp;gt; Gestion &amp;amp; Export''') et la date indiquée. Le programme refuse qu'il y ai un &amp;quot;trou tarifaire&amp;quot; (vols non facturés). &lt;br /&gt;
*Chaque variable utilisée dans les formules de tarification doit avoir une valeur initialisée depuis une date antérieure à la date de début de l'exercice comptable&lt;br /&gt;
&lt;br /&gt;
=Opérations sur les comptes=&lt;br /&gt;
&lt;br /&gt;
==Créer un compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressource &amp;gt; Comptes ressource'''.&lt;br /&gt;
*Dans la ligne de la ressource concernée, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte utilisateur, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs&amp;gt; Comptes utilisateur'''.&lt;br /&gt;
*Dans la ligne de l'utilisateur concerné, cliquer sur l'icône check du compte souhaité.&lt;br /&gt;
&lt;br /&gt;
===Créer un compte non-ressource non-utilisateur===&lt;br /&gt;
&lt;br /&gt;
Pour créer un compte, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes'''.&lt;br /&gt;
*En bas du tableau, remplir la ligne et choisir la catégorie du compte&lt;br /&gt;
*Cliquer sur le bouton '''Ajouter'''&lt;br /&gt;
&lt;br /&gt;
==Créer un type de compte==&lt;br /&gt;
&lt;br /&gt;
===Créer un type de compte ressource===&lt;br /&gt;
&lt;br /&gt;
Pour créer un type de compte ressource, il faut :&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Types de compte actifs''' puis cliquer sur le bouton '''Ajouter un compte'''.&lt;br /&gt;
*Saisir les champs du formulaire et valider .&lt;br /&gt;
&lt;br /&gt;
==Désactiver un compte==&lt;br /&gt;
Pour désactiver un compte qui ne doit plus être utilisé, il faut que :&lt;br /&gt;
* le compte ne doit pas être utilisé dans une règle de tarification. Cela concerne directement les comptes et non pas les types de comptes. Ainsi, il est possible de désactiver un compte utilisateur ou un compte ressource alors qu'il existe des règles de tarification qui utilisent le même type de compte que le compte à désactiver.&lt;br /&gt;
* dans le cas d'un compte de type utilisateur, l'utilisateur possédant ce compte ne doit pas être lié à un profil qui requiert le type de compte &lt;br /&gt;
* le compte ne doit pas être utilisé par un type de facture fournisseur&lt;br /&gt;
* le compte ne doit pas créer de trou dans la comptabilité. C'est à dire que :&lt;br /&gt;
** le [[#Solder_un_compte|solde du compte doit être à 0]]&lt;br /&gt;
** les écritures associées à ce compte doivent être toutes validées&lt;br /&gt;
Ensuite, on peut procéder à sa désactivation en cliquant sur l'icône symbolisant une poubelle sur la ligne de ce compte. Un compte n'ayant jamais eu d'écriture est supprimé au lieu de passer à l'état désactivé.&lt;br /&gt;
&lt;br /&gt;
==Lister les comptes==&lt;br /&gt;
&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Ressources &amp;gt; Comptes ressource''' pour obtenir les comptes ressource&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Utilisateurs &amp;gt; Comptes utilisateur''' pour obtenir les comptes utilisateur&lt;br /&gt;
*Aller sur la page '''Admin &amp;gt; Comptes &amp;gt; Lister les comptes &amp;gt; Tous les comptes''' pour obtenir les autres comptes.&lt;br /&gt;
&lt;br /&gt;
Dans ces pages, le solde de chaque compte est calculé en prenant les écritures datant du début d'exercice comptable jusqu'à la date et l'heure courante. Ainsi, les écritures comptables avec une date comptable future ne sont pas prises en compte pour le calcul du solde.&lt;br /&gt;
&lt;br /&gt;
=Retrouver les écritures non validées=&lt;br /&gt;
S'il y a beaucoup d'écritures à valider, il faut procéder de façon systématique en parcourant chaque interface de validation :&lt;br /&gt;
*Pour les vols, aller dans '''Admin &amp;gt; Vols &amp;gt; Liste des vols''' puis '''Valider les vols sélectionnés''' pour chaque aéronef.&lt;br /&gt;
*Pour les encaissements, aller dans '''Admin &amp;gt; Comptes &amp;gt; Pointer''' et choisir chaque type de paiement.&lt;br /&gt;
*Pour les transferts, aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux''' puis '''valider les transferts'''.&lt;br /&gt;
*Pour les factures, aller dans '''Admin &amp;gt; Achats &amp;gt; Liste des factures fournisseurs'''.&lt;br /&gt;
*Pour les ventes, aller dans '''Admin &amp;gt; Ventes &amp;gt; Valider les ventes'''. Choisir ses critères de recherche et valider le formulaire. Ensuite cocher les différentes ventes listées puis '''Pointer les entrées sélectionnées'''.&lt;br /&gt;
En procédant ainsi, il ne doit normalement ne pas subsister d'écriture à valider. Cependant, si l'essentiel des écritures a été validé, alors il est plus rapide de rechercher les écritures à valider que de parcourir chaque interface de validation.&lt;br /&gt;
&lt;br /&gt;
Pour rechercher les écritures restantes à valider, il faut :&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Gestion / Export'''&lt;br /&gt;
En-dessous du titre '''Statistiques''' figure un tableau :&lt;br /&gt;
&lt;br /&gt;
[[Image:Tableau_statistiques_gestion-export.png]]&lt;br /&gt;
&lt;br /&gt;
Dans l'exemple ci-dessus, on peut voir à la ligne ''Ecritures non validées'', colonne ''Date de première écriture'' l'horodatage &amp;quot;19/08/2013 14:45&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Cela veut dire qu'il y a au moins une écriture qui date du 19 août 2013 et qui n'a pas été validée.&lt;br /&gt;
&lt;br /&gt;
Pour retrouver cette écriture non validée, il faut :&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Mouvements'''&lt;br /&gt;
*Rechercher l'écriture d'après la date indiquée.&lt;br /&gt;
Son contenu permettra de savoir s'il s'agit d'un vol, d'un encaissement, d'un flux, etc. Si un doute subsiste sur le type d'écriture, il faut cliquer sur l'icône &amp;quot;modifier&amp;quot; de l'écriture considérée afin de se retrouver dans son formulaire d'édition.&lt;br /&gt;
&lt;br /&gt;
Remarques :&lt;br /&gt;
*Le nombre d'écritures non validées indiqué dans le tableau '''Statistiques''' correspond au nombre TOTAL d'écritures non validées. En effet, OpenFlyers sait quand est-ce que vous commencez un exercice mais il ne sait pas quand est-ce que vous voulez qu'il s'arrête. Donc il prend toutes les écritures non validées.&lt;br /&gt;
*OpenFlyers ne permet d'exporter ou de clôturer que la période qui inclut des écritures validées. Dès qu'il rencontre une écriture non validée, il bloque toute action d'export ou de clôture.&lt;br /&gt;
&lt;br /&gt;
=Saisie d'écritures comptables=&lt;br /&gt;
==Saisie d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sélectionner sur la première ligne de compte, le compte concerné&lt;br /&gt;
*Remplir le champ débit ou crédit selon le cas&lt;br /&gt;
*Sélectionner sur la 2ème ligne un compte de contre-partie&lt;br /&gt;
*Sur cette 2ème ligne, cliquer sur l'icône qui symbolise une balance avec une flèche bleue et intitulé &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Remplir le champ '''commentaires'''&lt;br /&gt;
*Choisir une date comptable dans le champ '''Date comptable''' en cliquant sur l'icône associée.&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
Remarque : La date comptable proposée par défaut correspond à la date comptable du dernier flux saisi. Cela permet de faciliter les [[Comptabilité#Règles_de_saisies_de_la_comptabilité_courante|saisies au vu du relevé de banque]].&lt;br /&gt;
&lt;br /&gt;
==Validation d'un flux==&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Comptes &amp;gt; Valider les flux'''&lt;br /&gt;
*Cocher dans la 1ère colonne '''Pointer''' les lignes à valider&lt;br /&gt;
*Cliquer sur le bouton '''Valider les flux sélectionnés (cette action est irréversible)'''&lt;br /&gt;
&lt;br /&gt;
==Annuler l'effet d'une écriture comptable==&lt;br /&gt;
Dans le cas où une écriture comptable a été validée, il n'est plus possible de la supprimer pour assurer la [[Comptabilité#Traçabilité_des_écritures|traçabilité des écritures]]. De ce fait, le seul moyen d'en annuler son effet consiste à saisir une écriture opposée. Pour cela, il faut [[#Saisie_d'un_flux|saisir un flux]] en sélectionnant les comptes mis en jeu dans l'écriture à annuler en choisissant de débiter ou créditer du même montant (mais dans le sens opposé) que l'écriture initiale.&lt;br /&gt;
&lt;br /&gt;
Exemple : Un compte A a été débité de 100 € et la contre-partie a été sur un compte B. Pour annuler l'effet de cette écriture, il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer le compte A de 100 € et débiter le compte B du même montant.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'une vente de produit type &amp;quot;pack d'heures&amp;quot;, il ne faut pas oublier d'annuler également les mouvements concernant les crédits d'heures.&lt;br /&gt;
&lt;br /&gt;
Cette solution permet de garder une traçabilité des écritures qui peuvent avoir été saisies par d'autres personnes et surtout qui peuvent affecter des comptes d'utilisateurs.&lt;br /&gt;
&lt;br /&gt;
C'est comme pour un compte bancaire : un banquier ne supprime jamais une écriture sur un compte client. Il passe simplement une nouvelle écriture qui annule l'effet de la précédente.&lt;br /&gt;
&lt;br /&gt;
==[[Écritures comptables#Avoir_clients|Saisie d'un avoir client]]==&lt;br /&gt;
Il faut [[#Saisie_d'un_flux|saisir un flux]] qui va créditer un compte utilisateur/client d'un certain montant et débiter un compte produit &amp;quot;Remise X&amp;quot; du même montant.&lt;br /&gt;
&lt;br /&gt;
==Solder un compte==&lt;br /&gt;
Pour solder un compte, il faut [[#Saisie_d'un_flux|saisir un flux]] avec la particularité que l'on souhaite &amp;quot;ramener le solde à zéro&amp;quot; d'un compte donné. Pour cela, il faut en plus des [[#Saisie_d'un_flux|opérations]] indiquées pour la saisie d'un flux, il faut :&lt;br /&gt;
*dans la première ligne de compte, sélectionner le compte concerné&lt;br /&gt;
*Cliquer sur l'icône qui symbolise une balance intitulé &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Exemple de compte de contre-partie dans le cas de la mise à zéro du solde d'un compte ressource : compte de bilan '''Report à nouveau'''&lt;br /&gt;
&lt;br /&gt;
==Retrouver les flux supprimés sans permission==&lt;br /&gt;
&lt;br /&gt;
Pour retrouver des flux supprimés sans permission, il est possible de consulter les logs. Deux rapports ont été créés pour faciliter cette tâche.&lt;br /&gt;
&lt;br /&gt;
Le premier rapport &amp;quot;[[OF_doc-en::Export_generator_3#People_who_have_deleted_encashments/flows_without_having_the_permission|liste des personnes ayant supprimés des encaissements/flux sans permission]]&amp;quot; permet d'obtenir en outre de la personne, la date de la suppression et le numéro de flux supprimé.&lt;br /&gt;
&lt;br /&gt;
Le second rapport &amp;quot;[[OF_doc-en::Export_generator_3#Historic_of_changes_for_a_specific_encashment/flow|Liste des changements spécifiques à un encaissement/flux]]&amp;quot; permet de connaître les détails d'un flux. Ce rapport est lié au champ additionnel &amp;quot;Numéro de flux&amp;quot; qui doit être préalablement créé.&lt;br /&gt;
&lt;br /&gt;
Pour avoir le détail de tous les flux supprimés, procéder ainsi :&lt;br /&gt;
# Ouvrir deux onglets sur le navigateur.&lt;br /&gt;
# Dans ces onglets, se rendre dans la page qui liste les rapports '''Admin &amp;gt; Rapports &amp;gt; Structure &amp;gt; Visualiser'''.&lt;br /&gt;
# Dans le premier onglet, sélectionner le premier rapport et valider pour avoir la liste des numéros de flux.&lt;br /&gt;
# Copier un numéro de flux (numéro dans la colonne &amp;quot;flowid&amp;quot;).&lt;br /&gt;
# Dans le second onglet, coller le numéro de flux dans le champ destiné. Sélectionner le second rapport et valider pour avoir le détail du flux.&lt;br /&gt;
# Répéter l'opération 4 et 5 pour chaque numéro de flux dont il faut les détails.&lt;br /&gt;
&lt;br /&gt;
=Solder les comptes=&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Gestion / Export'''&lt;br /&gt;
*Dans le formulaire '''Solder les comptes''' :&lt;br /&gt;
*Laisser tous les comptes &amp;quot;Ressources&amp;quot; cochés sauf si certains ne sont pas des comptes d'exploitation&lt;br /&gt;
*La date proposée dans le champ '''A la date du''' doit correspondre au 31 décembre de l'année de l'exercice comptable en cours&lt;br /&gt;
*Dans le champ '''Comptabilité''', sélectionner la comptabilité souhaitée : il faudra effectuer cette opération pour chacune des comptabilités de la plateforme&lt;br /&gt;
*Dans le chmp '''Compte de contrepartie''', sélectionner le compte de bilan souhaité, normalement il s'agit du compte '''Report à nouveau (Bilan)''' pour la comptabilité générale&lt;br /&gt;
*Cliquer sur le bouton '''Générer les écritures'''&lt;br /&gt;
&lt;br /&gt;
Ce module génère alors un unique flux qui solde les comptes de charges, de produits et ceux liés aux ressources vers un compte de contrepartie de sorte que ces comptes soient ramenés à 0 à la date sélectionnée.&lt;br /&gt;
&lt;br /&gt;
Seuls les comptes actifs sont pris en compte.&lt;br /&gt;
&lt;br /&gt;
=Factures fournisseurs=&lt;br /&gt;
==Saisie des factures fournisseurs==&lt;br /&gt;
Nous conseillons de se connecter en https à votre plateforme https://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
*Depuis la page du planning de réservation, cliquer sur le menu '''Admin''' : [[Image:accueil_espace_client.png]]&lt;br /&gt;
*Cliquer sur le menu '''Achats &amp;gt; Saisie Factures fournisseurs'''.&lt;br /&gt;
*Vous vous retrouvez alors avec le formulaire de saisie suivant :&lt;br /&gt;
[[Image:saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
2 cas peuvent se présenter :&lt;br /&gt;
*Soit [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|le type de facture fournisseur correspondant à la facture à saisir est déjà existant]]&lt;br /&gt;
*Soit la facture fournisseur à saisir nécessite la création d'un nouveau type de facture fournisseur. Dans ce cas, il existe plusieurs façons de créer un nouveau type de facture fournisseur dont la possibilité de [[#Saisie_d'une_facture_fournisseur_dont_le_type_est_nouveau|le faire directement en saisissant la facture]].&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type de facture est déjà enregistré===&lt;br /&gt;
*Sélectionner le '''type de facture fournisseur''' correspondant à la facture à saisie. Le nombre de champs à renseigner se réduit alors automatiquement :&lt;br /&gt;
[[Image:facture_fournisseur_à_compléter.png]]&lt;br /&gt;
*Reporter sur la facture originale le '''numéro de pointage''' qui apparaît dans le formulaire. Ce numéro de pointage est unique et permet de rapprocher les factures fournisseurs saisies dans OpenFlyers avec leurs originaux.&lt;br /&gt;
*Cocher &amp;quot;'''J'ai bien pris en compte cette valeur et je l'ai reporté sur ma facture'''&amp;quot;. A défaut, si vous validez, le système refusera votre saisie et une alerte apparaitra.&lt;br /&gt;
*Le champ '''Description''' permet d'indiquer toute information utile concernant la facture et d'en faciliter la recherche ultérieure.&lt;br /&gt;
*Indiquer la date de facturation en cliquant sur le calendrier. Il est possible de paramétrer le format d'affichage de la date en allant dans le menu '''Données/Affichage''' puis de modifier le contenu du champ '''fiche personnelle/Patron de format de date'''.&lt;br /&gt;
*Renseigner le '''montant hors taxe'''&lt;br /&gt;
*Renseigner la '''TVA''' (champ visible uniquement si la comptabilité est paramétrée pour la prise en compte de la TVA). Si la TVA est nulle, il faut indiquer 0.&lt;br /&gt;
*Cliquer sur '''Valider''' ou '''Valider et Saisir le suivant''' si vous avez plusieurs factures à saisir à la volée. Dans ce dernier cas, le formulaire de saisie de facture fournisseur s'affiche à nouveau et il faut reprendre les opérations de saisie depuis le début de ce paragraphe.&lt;br /&gt;
&lt;br /&gt;
===Saisie d'une facture fournisseur dont le type est nouveau===&lt;br /&gt;
Lors de la saisie d'un nouveau compte fournisseur, aucun élément n'est renseigné par défaut et le formulaire à la forme suivante :&lt;br /&gt;
&lt;br /&gt;
[[Image:Saisie_facture_fournisseur_vierge.png]]&lt;br /&gt;
&lt;br /&gt;
Plusieurs parties du formulaire peuvent se réduire à partir du moment où dans le champ précédant la partie réductible, l'utilisateur remplace '''Autre...''' par un choix proposé. A contrario, en laissant '''Autre...''' ou '''Associer un nouveau compte''' (dans le cas du premier champ), c'est l'information saisie dans le champ suivant qui sera prise en compte.&lt;br /&gt;
&lt;br /&gt;
La saisie va consister à définir les ventilations comptables associée à ce type de facture fournisseur. A savoir :&lt;br /&gt;
*le fournisseur et son compte fournisseur qui sera crédité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*le compte de charge qui sera débité du montant des factures associées à ce type de facture fournisseur&lt;br /&gt;
*Si la gestion de la TVA est activée, le compte de TVA qui sera débité du montant de la TVA associée à ce type de facture fournisseur&lt;br /&gt;
*De plus, si la gestion des budgets est activée, il est demandé, pour chaque compte (fournisseur, charge et TVA), le budget à associer&lt;br /&gt;
&lt;br /&gt;
*Ainsi, si on doit saisir une facture fournisseur associée à un nouveau type de facture fournisseur, alors il faut laisser '''associer un nouveau compte''' au champ '''Type de facture fournisseur''' et renseigner l'intitulé souhaité pour le type de facture fournisseur dans le champ suivant '''Nom de type de facture'''&lt;br /&gt;
*Ensuite, dans le champ '''Fournisseur''', là aussi, 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le fournisseur à mentionner est déjà dans la liste proposée dans le champ '''Fournisseur''' et auquel cas il faut le sélectionner (et le champ suivant '''Nom du fournisseur''' disparaitra)&lt;br /&gt;
**Soit le fournisseur à mentionner n'est pas déjà dans la liste proposée dans le champ '''Fournisseur''' et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer'''' au fournisseur ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner pour tous les fournisseurs un budget ''Fournisseurs''.&lt;br /&gt;
***Renseigner le champ '''Nom du fournisseur''' qui doit correspondre au fournisseur souhaité&lt;br /&gt;
***Choisir un compte d'export associé au nouveau fournisseur créé :&lt;br /&gt;
****Soit il existe déjà un compte d'export dans le champ '''Compte du fournisseur'''&lt;br /&gt;
****Soit il n'existe pas de compte d'export associable à ce nouveau fournisseur (en général on associe un compte d'export différent pour chaque compte défini dans OpenFlyers) et auquel cas, il faut renseigner le champ '''Compte fournisseur d'export'''. On peut, par exemple, saisir ''401NOMDUFOURNISSEUR'' dans le cas du plan comptable français.&lt;br /&gt;
***Si la gestion des budgets est active, le champ suivant est '''Budget à attribuer''' et OpenFlyers a dû le remplir par défaut avec la même valeur que pour le champ du même nom rattaché au '''Nom du fournisseur'''. Il ne doit pas y avoir besoin de modifier le contenu de ce champ.&lt;br /&gt;
*Dans le champ '''Compte de charge''', 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de charge à associer est déjà dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de charge à associer n'est pas déjà dans la liste proposée et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de charge que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget représentatif du type de facture et ainsi avoir la ventilation de toutes les factures fournisseurs par poste budgétaire&lt;br /&gt;
***Renseigner le champ '''Nom du compte''' avec l'intitulé correspondant au compte de charge à créer&lt;br /&gt;
***Renseigner le champ '''Compte d'export''' avec la valeur du plan comptable correspondante. Pour le plan comptable français, ce sera un compte en 6xx.&lt;br /&gt;
*Si la gestion de la TVA est activée, le champ '''Compte TVA du type de facture''' est présent et 2 cas peuvent se présenter :&lt;br /&gt;
**Soit le compte de TVA à associer à ce type de facture est dans la liste proposée et auquel cas il faut le sélectionner&lt;br /&gt;
**Soit le compte de TVA n'existe pas et il faut dans ce cas :&lt;br /&gt;
***Si la gestion des budgets est active : choisir dans le champ suivant un '''Budget à attribuer''' au compte de TVA que l'on crée ou laisser '''Aucun budget'''. On peut, par exemple, sélectionner un budget ''TVA Fournisseur''&lt;br /&gt;
***Renseigner le champ '''Nom de compte TVA'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''TVA déductible sur autres biens et services''&lt;br /&gt;
***Renseigner le champ '''Compte TVA d'export'''. Par exemple, dans le cas des factures fournisseurs provenant de France : ''445660''.&lt;br /&gt;
*Le reste de la saisie s'effectue comme pour la [[#Saisie_d'une_facture_fournisseur_dont_le_type_de_facture_est_déjà_enregistré|saisie d'une facture fournisseur dont le type de facture est déjà enregistré]].&lt;br /&gt;
&lt;br /&gt;
===Suppression d'une facture fournisseur===&lt;br /&gt;
Pour supprimer une facture fournisseur qui aurait été saisie par erreur, il faut :&lt;br /&gt;
*Aller dans le menu '''Achats/Liste des factures fournisseurs''' ;&lt;br /&gt;
[[Image:achats-liste-des-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Rechercher le '''numéro de pointage''' de la facture concernée en ayant pris soin au préalable de sélectionner le mois de la facture (ou l'année complète pour lister l'ensemble des factures) ;&lt;br /&gt;
&lt;br /&gt;
[[Image:numéro-de-pointage.png]]&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
Le numéro de la facture supprimée n'existera plus dans la comptabilité. Il ne sera pas proposé à nouveau lors de la saisie d'une nouvelle facture. Par ailleurs, la numérotation des factures saisies a posteriori de la facture supprimée demeurera inchangée.&lt;br /&gt;
&lt;br /&gt;
===Suppression d'un type de facture fournisseur===&lt;br /&gt;
Pour supprimer un type de facture fournisseur qui aurait été saisi par erreur, il faut :&lt;br /&gt;
&lt;br /&gt;
*Aller dans le menu '''Achats/Types de factures fournisseurs''' ;&lt;br /&gt;
&lt;br /&gt;
[[Image:achats-types-de-factures-fournisseurs.png]]&lt;br /&gt;
&lt;br /&gt;
*Sélectionner le type de fournisseur concerné dans la colonne '''Nom''' ;&lt;br /&gt;
&lt;br /&gt;
*Cliquer sur l'icône poubelle associée à la facture concernée.&lt;br /&gt;
&lt;br /&gt;
[[Image:icône-poubelle.png]]&lt;br /&gt;
&lt;br /&gt;
==Saisie d'un [[Écritures comptables#Paiement_(à_un_fournisseur)|paiement à un fournisseur]]==&lt;br /&gt;
*Aller dans '''Comptes &amp;gt; Saisir un flux'''&lt;br /&gt;
*Sur la première ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte du fournisseur&lt;br /&gt;
**dans la colonne '''Débit''' saisir le montant du paiement que vous effectuez. Si vous souhaiter solder le compte du fournisseur, il vous suffit de cliquer sur l'icône représentant une balance et intitulée &amp;quot;Ramener le solde à zéro&amp;quot;&lt;br /&gt;
*Sur la deuxième ligne :&lt;br /&gt;
**dans la colonne '''Compte''' sélectionner le compte bancaire depuis lequel l'argent est débité&lt;br /&gt;
**cliquer sur l'icône représentant une balance avec une flèche bleue et intitulée &amp;quot;Equilibrer la dernière ligne&amp;quot;&lt;br /&gt;
*Dans le champ '''Commentaires''' saisir un texte libre&lt;br /&gt;
*Ne pas oublier de renseigner le champ '''Date comptable'''&lt;br /&gt;
*Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
=Bon de commande et facture clients=&lt;br /&gt;
&lt;br /&gt;
==Visualiser des factures au format PDF==&lt;br /&gt;
Nous conseillons de se connecter en https à votre espace http://openflyers.com/nom-de-plateforme/index.php&lt;br /&gt;
&lt;br /&gt;
OpenFlyers propose par défaut un [[Modèle de facture ODT|modèle de facture]] qui permet d'éditer des factures PDF pour les prestations suivantes :&lt;br /&gt;
*les achats réalisés depuis le gestionnaire des ventes&lt;br /&gt;
**depuis la page du planning de réservation, cliquer sur le menu '''Comptes/Acheter''' ;&lt;br /&gt;
[[Image:comptes-acheter.png]]&lt;br /&gt;
*les validités qui ont été achetées/renouvelées&lt;br /&gt;
*les vols.&lt;br /&gt;
**Aller dans le menu '''Comptes/Etat/Pilote''' et se rendre dans la [[Documentation utilisateur#Colonne_.22Numéro_de_pointage_ou_de_facture.22|colonne numéro de pointage ou de facture]]&lt;br /&gt;
[[Image:comptes-etat-pilote.png]]&lt;br /&gt;
&lt;br /&gt;
==Importer son [[Modèle de facture ODT|modèle de facture]]==&lt;br /&gt;
&lt;br /&gt;
'''/!\ En important un [[Modèle de facture ODT|modèle de facture]], ce sera celui-ci qui va être utilisé pour générer les nouvelles factures au format PDF. Les factures qui ont déjà créées avant la mise en place du nouveau modèle continuera d'appliquer les anciens versions du modèle ou ceux fournis par défaut par OF'''&lt;br /&gt;
&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Configuration &amp;gt; Import de template ODT''' :&lt;br /&gt;
[[Image:configuration-import-de-templates-odt.png]]&lt;br /&gt;
* Préparer le fichier ODT contenant tous les modèles utilisés qui doivent être organisés comme suit :&lt;br /&gt;
*:'''page 1''' : Facture client&lt;br /&gt;
*:'''page 2''' : Duplicata de la facture client&lt;br /&gt;
*Importer  le fichier&lt;br /&gt;
*Cocher '''Facturation client'''&lt;br /&gt;
*Valider&lt;br /&gt;
&lt;br /&gt;
==Calcul du montant HT, de la TVA et du montant TTC==&lt;br /&gt;
&lt;br /&gt;
Les différents montants sont calculés de la sorte :&lt;br /&gt;
* Pour la TVA, on effectue la somme des écritures de débit et de crédit liés aux&lt;br /&gt;
** comptes de catégorie TVA&lt;br /&gt;
** produits de type de vente TVA&lt;br /&gt;
* Pour le montant TTC, on effectue la somme des écritures de débit et de crédit liées aux&lt;br /&gt;
** comptes qui ne sont pas de catégorie TVA&lt;br /&gt;
** produits qui ne sont pas de type de vente TVA&lt;br /&gt;
* Pour le montant HT, on effectue la différence entre la TVA et le montant TTC&lt;br /&gt;
&lt;br /&gt;
==Relevés de factures clients==&lt;br /&gt;
Une facture client est un document unique. Les PDF d'une facture déjà exportée seront générés avec la mention &amp;quot;Duplicata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Formulaire de sélection===&lt;br /&gt;
Ce formulaire permet d'établir une sélection générale de factures clients.&lt;br /&gt;
*Aller dans '''Admin &amp;gt; Rapports &amp;gt; Générique &amp;gt; Relevés de factures clients'''&lt;br /&gt;
*Les champs &amp;quot;A partir du&amp;quot; et &amp;quot;Jusqu'au&amp;quot; permettent d'établir une sélection en fonction des dates de facturation. Pour éviter un temps de chargement trop long, il est conseillé de définir une plage d'un mois maximum.&lt;br /&gt;
*Le champ &amp;quot;Compte client&amp;quot; permet de sélectionner les relevés de factures d'un client particulier&lt;br /&gt;
*Le champ &amp;quot;Types de vols&amp;quot; permet de sélectionner des factures en fonction du type de vol&lt;br /&gt;
*Le champ &amp;quot;Produits non stockés&amp;quot; permet de sélectionner des factures en fonction de la nature du produit&lt;br /&gt;
*Le champ &amp;quot;Validités&amp;quot; permet de sélectionner des factures en fonction des produits de type &amp;quot;validité&amp;quot;&lt;br /&gt;
*Valider pour accéder aux factures à exporter&lt;br /&gt;
&lt;br /&gt;
===Tableau de factures à exporter===&lt;br /&gt;
Ce tableau est le résultat du formulaire. Il liste des factures clients.&lt;br /&gt;
*Sélectionner au cas par cas les factures à exporter&lt;br /&gt;
*Cliquer sur le bouton '''Générer PDF''' en bas du tableau pour générer le PDF des factures sélectionnées&lt;br /&gt;
*Cliquer sur le bouton '''Sauver dans un fichier CSV''' en bas du tableau pour exporter les factures sélectionnées au format CSV&lt;br /&gt;
&lt;br /&gt;
=Gestion des règlements clients=&lt;br /&gt;
==Saisir un encaissement==&lt;br /&gt;
Cf. les [[Écritures comptables#Saisie_d'un_encaissement_(d'un_client)|mouvements associés à un encaissement client]] pour connaitre les mouvements créés lors de la saisie comptable.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' seuls les [[Comptabilité#Comptes_clients|comptes clients]] et les [[Comptabilité#Comptes_utilisateurs|comptes utilisateurs]] peuvent recevoir des encaissements. En effet, comptablement, cela n'a pas de sens de faire un encaissement sur d'autres types de comptes.&lt;br /&gt;
&lt;br /&gt;
*'''Comptes &amp;gt; Approvisionner''' ou '''Admin &amp;gt; Comptes &amp;gt; Encaissements &amp;gt; Saisir un encaissement'''&lt;br /&gt;
*'''Comptes clients''' :&lt;br /&gt;
**Si le payeur est un utilisateur de la plateforme, laisser sélectionné '''Utilisateur'''&lt;br /&gt;
**Sinon, sélectionner '''Non-utilisateur'''&lt;br /&gt;
*'''Date du paiement''' :&lt;br /&gt;
**pour les paiements par chèque on laisse en général la date du jour qui correspond &amp;quot;au mieux&amp;quot; à la date à laquelle l'encaissement sera fait.&lt;br /&gt;
**pour les paiements en espèce on met la date à laquelle les sommes ont été reçus.&lt;br /&gt;
**pour les paiements par virement on met la date du virement.&lt;br /&gt;
*'''Encaissement de l'utilisateur''' : sélectionner le nom de l'utilisateur effectuant le paiement&lt;br /&gt;
ou&lt;br /&gt;
*'''Compte à créditer''' : sélectionner le nom du client &amp;quot;connu&amp;quot; ou à défaut &amp;quot;Clients extérieurs&amp;quot;&lt;br /&gt;
Attention : il faut sélectionner le compte correspondant à celui qui a été facturé et donc débité.&lt;br /&gt;
*'''Montant''' : indiquer le montant du paiement&lt;br /&gt;
*Cliquer sur le bouton '''Valider''' ou le bouton '''VALIDER ET SAISIR LE SUIVANT'''&lt;br /&gt;
&lt;br /&gt;
==Saisir l'encaissement d'un comité d'entreprise ou d'un groupement d'utilisateurs==&lt;br /&gt;
Dans le cas où un comité d'entreprise ou un groupement d'utilisateurs (comme la DGAC dans le cas des contrôleurs aériens) prend en charge tout ou partie du coût d'une activité générée par OpenFlyers, la plateforme est normalement configurée pour que ce soit le compte du CE ou du groupement qui soit automatiquement débité lors de la saisie de l'activité.&lt;br /&gt;
&lt;br /&gt;
De ce fait, saisir dans OpenFlyers un règlement provenant d'une telle entité revient à [[#Saisir_un_encaissement|saisir un encaissement d'un &amp;quot;non-utilisateur&amp;quot; sur son propre compte client]].&lt;br /&gt;
&lt;br /&gt;
==Validation des règlements clients==&lt;br /&gt;
Le comptable, trésorier, secrétaire, etc. doit valider les règlements avant de remettre l'argent à la banque, que la saisie soit faite pas un pilote ou par une personne tierce.&lt;br /&gt;
&lt;br /&gt;
Tant qu'une écriture n'est pas validée, elle apparaît différemment dans les extraits de compte afin de bien signifier que le mouvement n'est pas validé et que le solde du compte est donc susceptible d'être modifié. Une écriture non validée peut être modifiée mais '''Une fois la validation effectuée'''  il n'est plus possible de '''revenir en arrière'''. &lt;br /&gt;
&lt;br /&gt;
En cas d'erreur, le trésorier doit faire une écriture d'annulation et ressaisir le règlement correct.&lt;br /&gt;
&lt;br /&gt;
Pour valider les règlements le trésorier dispose d'une page accessible uniquement avec le droit &amp;quot;'''Valider les encaissements'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Voici la description de la tâche de validation des règlements par le trésorier :&lt;br /&gt;
*Récupérer les chèques et espèces à valider&lt;br /&gt;
*Classer les chèques par ordre de date.&lt;br /&gt;
*Aller dans la page '''Admin &amp;gt; Comptes &amp;gt; Pointer &amp;gt; Chèques'''&lt;br /&gt;
*Cette pages affiche les règlements que les pilotes ont saisies et qui sont en attente de validation&lt;br /&gt;
*Cocher les règlements dont vous possédez les chèques.&lt;br /&gt;
*Si des règlements ne sont pas dans la liste en attente, le trésorier les ajoute à l'aide d'un bouton prévu à cet effet puis les coche.&lt;br /&gt;
*Si des saisies sont erronées, corrigez-les puis les cocher.&lt;br /&gt;
*Supprimer les saisies inopportunes.&lt;br /&gt;
*Une fois que tout les chèques sont pointés, cliquez sur '''Éditer le bordereau de remise'''.&lt;br /&gt;
*On passe sur la page de la liste de vos règlements validés, faite une vérification&lt;br /&gt;
*Imprimez la bordereau de remise en banque, utilisez le menu de votre navigateur '''Fichier &amp;gt; Imprimer'''.&lt;br /&gt;
*Valider le bordereau. &amp;quot;'''Attention, cette action est irréversible'''&amp;quot;&lt;br /&gt;
*Faire les opérations ci-dessus pour chaque type de règlement&lt;br /&gt;
*Porter les remises en banque&lt;br /&gt;
&lt;br /&gt;
La validation régulière de vos règlements permet de bloquer les modifications par les pilotes et augmente la fiabilité de votre comptabilité&lt;br /&gt;
&lt;br /&gt;
=Cas particuliers=&lt;br /&gt;
==Ecritures manuelles dans le cadre [[Conseils spécifiques pour la comptabilité#Facturation_automatique_à_des_organismes_avec_ou_sans_quotas|d'une facturation automatique à un organisme tiers]]==&lt;br /&gt;
Normalement, le paramétrage d'une plateforme OpenFlyers est effectué pour que les écritures soient automatiquement réalisées lors de la saisie d'une activité.&lt;br /&gt;
&lt;br /&gt;
Cependant, si les écritures ne se sont pas effectuées automatiquement, ne serait-ce que dans le cas où le paramétrage a été mis en place ultérieurement à la saisie d'activité et que ces saisies ont été validées, il est nécessaire d'effectuer la saisie manuelle des flux permettant d'obtenir la [[Facturation des clients#Cascade_d'écritures_comptables|situation comptable souhaitée]].&lt;br /&gt;
&lt;br /&gt;
Ainsi, si l'utilisateur a été intégralement débité du montant de l'activité et qu'il faut simplement saisir une écriture permettant de créditer son compte du montant devant être débité à l'organisme tiers, il suffit de [[#Saisie_d'un_flux|saisir un flux]] qui va créditer son compte du montant concerné et débiter le compte de l'organisme tiers du même montant.&lt;br /&gt;
&lt;br /&gt;
De plus, si une gestion de quota est en place, il faut également corriger le compte de quota de l'utilisateur concerné sur le même modèle d'écriture que pour l'[[Conseils spécifiques pour la comptabilité#Initialisation_du_solde_d'heures_lors_de_la_mise_en_place_des_packs|initialisation d'un quota]] mais en sens opposé (le compte quota de l'utilisateur doit être débité au lieu d'être crédité et inversement pour le compte de bilan correspondant).&lt;br /&gt;
&lt;br /&gt;
==Gestion des baptêmes==&lt;br /&gt;
===Utiliser le [[Configuration de la comptabilité#Gestion_des_baptêmes|paramétrage préconisé des baptêmes]]===&lt;br /&gt;
On appelle dans l'exemple &amp;quot;Clients extérieurs&amp;quot; le compte client qui est utilisé pour les clients baptêmes. La dénomination peut changer d'une configuration à l'autre.&lt;br /&gt;
Lorsqu'un baptême est effectué :&lt;br /&gt;
#Saisir le vol avec comme type de vol &amp;quot;baptême&amp;quot; : le coût du vol au tarif solo est alors débité sur le compte client &amp;quot;Clients extérieurs&amp;quot;.&lt;br /&gt;
#Encaisser le paiement du baptême sur le compte client &amp;quot;Clients extérieurs&amp;quot; (qui est accessible dans le formulaire de saisie des encaissements en sélectionnant comme type d'utilisateur &amp;quot;non utilisateur&amp;quot;).&lt;br /&gt;
Ainsi, le compte client &amp;quot;Clients extérieurs&amp;quot; se retrouvera avec un solde correspondant à la différence entre le prix du baptême payé par le client et le prix du vol solo facturé par OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Il suffit alors de passer une écriture, par exemple tous les mois, tous les trimestres ou tous les ans, entre le compte &amp;quot;Clients extérieurs&amp;quot; et un compte produit (par exemple compte produit &amp;quot;delta baptêmes&amp;quot;) qui va recevoir le solde du compte client &amp;quot;Clients extérieurs&amp;quot; afin de le ramener à 0.&lt;br /&gt;
&lt;br /&gt;
Cas pratique :&lt;br /&gt;
*Tarif solo : 100 €/h&lt;br /&gt;
*Tarif baptême : 60 €&lt;br /&gt;
*Vol effectué de 30 minutes&lt;br /&gt;
&lt;br /&gt;
Alors :&lt;br /&gt;
*En saisissant le vol de 30 minutes en tant que &amp;quot;baptême&amp;quot;, le compte &amp;quot;clients extérieurs&amp;quot; sera débité du montant du tarif solo soit 50 €.&lt;br /&gt;
*En saisissant l'encaissement du paiement de 60 € effectué par le baptisé, le compte &amp;quot;clients extérieurs&amp;quot; sera crédité de 60 €.&lt;br /&gt;
*Il est résulte sur le compte &amp;quot;clients extérieur&amp;quot; un solde positif de 10 €.&lt;br /&gt;
A la fin de l'année, le compte &amp;quot;clients extérieur&amp;quot; aura vu son solde augmenter au fur et à mesure que les baptêmes auront été effectuée. Admettons qu'il se retrouve avec un solde positif de 1210 €. Il faut alors passer un mouvement (via la saisie d'un flux) pour débiter le compte &amp;quot;clients extérieurs&amp;quot; de 1210 € et créditer un compte produit &amp;quot;delta baptêmes&amp;quot; de 1210 €. Ce faisant le solde du compte client &amp;quot;clients extérieurs&amp;quot; est ramené à 0 ce qui est important pour montrer comptablement que personne ne doit de l'argent à l'aéro-club et le gain spécifique aux baptêmes est enregistré dans le compte produit &amp;quot;delta baptêmes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Les taxes==&lt;br /&gt;
===Gérer les taxes d'atterrissage dans OpenFlyers===&lt;br /&gt;
Les taxes d'atterrissages sont facturées à la structure aéronautique qui souvent les débitent sur le compte de ses clients. Voici 2 méthodes pour gérer ces opérations dans OpenFlyers :&lt;br /&gt;
*La méthode la plus simple consiste à partir du principe que les factures des taxes d'atterrissages sont déjà existantes et qu'il s'agit juste de faire payer la personne réellement concernée par la taxe. Pour ce faire, il suffit de saisir un flux en débitant le compte du client du montant de la facture de la taxe d'atterrissage et de créditer un compte produit &amp;quot;taxe d'atterrissage&amp;quot;. Cette méthode est pratique dans le cas où le prix de la taxe n'est jamais le même.&lt;br /&gt;
*Pour les aérodromes dont les taxes sont récurrentes, il peut être intéressant de créer un type de vente pour gérer les taxes. Cette solution n'est pratique que dans le cas où les montants sont constants. Cela permet alors d'éviter d'avoir à saisir à chaque fois le prix de la taxe. L'autre intérêt de cette méthode est qu'elle permet de générer une facture fournisseur au nom de la structure dans le cas où le client le souhaiterait.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Mod%C3%A8le-commercial-et-compte-client-OpenFlyers&amp;diff=15038</id>
		<title>Modèle commercial et compte client OpenFlyers</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Mod%C3%A8le-commercial-et-compte-client-OpenFlyers&amp;diff=15038"/>
				<updated>2016-12-22T09:02:25Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Plateforme supplémentaire de test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Définitions=&lt;br /&gt;
==Plateforme de démonstration==&lt;br /&gt;
Les plateformes de démonstration sont accessibles au public et servent de bac à sable.&lt;br /&gt;
&lt;br /&gt;
Le sous-domaine de l'URL des plateformes de démonstration est ''demo'' ou commence par ''demo-''. Il existe également des plateformes de démonstration spécifiques dont le sous-domaine est différent.&lt;br /&gt;
&lt;br /&gt;
Elles sont réinitialisées toutes les heures à la minute 44.&lt;br /&gt;
==Plateforme en production==&lt;br /&gt;
Une plateforme est considérée en production lorsque l'abonnement pour l'année en cours a été payé.&lt;br /&gt;
&lt;br /&gt;
La phase de paramétrage qui précède le &amp;quot;passage en production&amp;quot; effectif s'effectue toujours sur une &amp;quot;plateforme en production&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Plateforme en test==&lt;br /&gt;
Les plateformes en test sont de 2 natures :&lt;br /&gt;
*Les plateformes créées par un utilisateur et qui ne sont pas [[#Plateforme_en_production|en production]];&lt;br /&gt;
*[[#Plateforme_supplémentaire_de_test|Les plateformes supplémentaires de test]];&lt;br /&gt;
&lt;br /&gt;
=Le modèle commercial de la SARL OpenFlyers=&lt;br /&gt;
==Fonctionnement économique==&lt;br /&gt;
OpenFlyers fonctionne sur le modèle économique d'une ASP (=Application Service Provider) ou SaaS (= Software as a Service). On parle également de &amp;quot;cloud computing&amp;quot; (informatique dans les nuages). C'est-à-dire que nous fournissons un service applicatif par le biais d'internet pour lequel nous facturons un abonnement annuel.&lt;br /&gt;
&lt;br /&gt;
Les avantages de ce système pour les clients finaux sont les suivants :&lt;br /&gt;
*la maintenance logiciel est déportée et ne nécessite plus le déplacement d'un technicien. Cela permet également de mettre en œuvre plus rapidement des correctifs à la demande ;&lt;br /&gt;
*le coût des développements est mutualisé entre les différents clients ;&lt;br /&gt;
*nous assurons nous-mêmes la pérennité des données par sauvegardes journalières sur plusieurs serveurs en plusieurs lieux et cela sur 20 jours glissants.&lt;br /&gt;
&lt;br /&gt;
De plus, OpenFlyers existe en plusieurs versions dont certaines sont disponibles en téléchargement. Vous pouvez retrouver [http://wiki.openflyers.org/index.php?title=FAQ#May_I_install_OpenFlyers_on_my_own_server? plus d'infos sur notre support libre].&lt;br /&gt;
&lt;br /&gt;
==Arbitrage des demandes de développements==&lt;br /&gt;
Les demandes de développements pour avoir de nouvelles fonctionnalités sont infinies. Au début de son existence OpenFlyers devait arbitrer entre les demandes des différents clients. Pour cela, l'équipe de développement OpenFlyers tenait compte de la taille d'un client ou d'un prospect pour arbitrer les différentes demandes et du potentiel impact qui pouvait en résulter sur le chiffre d'affaire au travers des nouveaux clients qui pouvaient se décider à passer à OpenFlyers du fait de l'existence de telle ou telle fonctionnalité. Ces demandes étant nombreuses, les demandes non retenues étaient nombreuses et cela pouvait conduire à &amp;quot;vexer&amp;quot; un client qui pouvait considérer que sa demande non retenue ou mise en attente était plus pertinente qu'une autre demande retenue.&lt;br /&gt;
&lt;br /&gt;
Afin de ne plus être juge et parti, OpenFlyers a remis au goût du jour le [[Wikipedia-fr:Suffrage_censitaire|vote censitaire]] au travers des heures de bonus développement. Ainsi, les conditions générales d'OpenFlyers donne la possibilité aux clients de choisir eux-mêmes les développements qui leur seront le plus profitable. Le fonctionnement est le suivant :&lt;br /&gt;
*Tout client désireux de voir développer une nouvelle fonctionnalité peut faire '''une unique demande''' de devis développement '''par an'''. Cette demande doit être effectuée par e-mail en précisant le nom de la structure aéronautique cliente.&lt;br /&gt;
*En fonction du coût en heures de développement, ce développement peut être financé par les heures de bonus développement dont bénéficie chaque client. Plusieurs clients peuvent mutualiser leurs heures de bonus de développement. Les développements peuvent être également financés en partie ou en totalité par une facturation spécifique dans le cas où le bonus développement ne permet pas de couvrir l'intégralité du coût en heures.&lt;br /&gt;
*A l'issue d'une demande de devis, un client peut demander un nouveau devis à condition qu'il ait accepté le 1er devis. Le but est de limiter le temps consacré par l'équipe OpenFlyers à effectuer des devis.&lt;br /&gt;
Nous mutualisons les développements : tous nos développements sont intégrés au sein de l'unique version en cours de développement. Ainsi, tous les clients bénéficient des demandes de chacun d'entre-eux.&lt;br /&gt;
*Les développements &amp;quot;votés&amp;quot; sont triés par ordre d'arrivé sauf pour ceux dont une partie est financée en somme &amp;quot;sonnante et trébuchante&amp;quot; qui passent en priorité.&lt;br /&gt;
&lt;br /&gt;
Enfin, les clients peuvent, avant d'effectuer une demande de devis par e-mail, faire part de leur demande sur le [http://support-fr.openflyers.com/ forum] dans la partie '''Evolutions et Adaptations''' en vérifiant qu'elle n'existe pas déjà. C'est aussi un moyen pour le demandeur d'inviter d'autres clients à s'associer à leur demande en mutualisant leurs heures de bonus développement.&lt;br /&gt;
&lt;br /&gt;
==Bonus assistance/développement==&lt;br /&gt;
Chaque client dispose en fonction de son abonnement d'un quota d'heures de bonus qui peuvent être utilisées comme assistance ou comme développement (cf. [[#Arbitrage_des_demandes_de_développements|Arbitrage des demandes de développements]]).&lt;br /&gt;
&lt;br /&gt;
L'assistance permet de couvrir une demande de support téléphonique ou une demande d'intervention sur la plateforme.&lt;br /&gt;
&lt;br /&gt;
Pour utiliser les heures de bonus, il faut :&lt;br /&gt;
*Faire une demande par e-mail d'intervention ou de support.&lt;br /&gt;
''Nous répondons en indiquant le temps à prévoir/déduire des heures de bonus''&lt;br /&gt;
*Confirmer sa demande par retour d'e-mail&lt;br /&gt;
&lt;br /&gt;
Les demandes sont triées par ordre d'arrivé sauf pour celles dont une partie est financée en somme &amp;quot;sonnante et trébuchante&amp;quot; qui passent en priorité.&lt;br /&gt;
&lt;br /&gt;
A noter que les heures non utilisées dans l'année sont perdues (cf. les [https://openflyers.com/fr/entreprise/conditions-generales conditions générales de vente]).&lt;br /&gt;
&lt;br /&gt;
Il n'existe pas à ce jour d'interface permettant de suivre les heures déjà utilisées. Il est néanmoins possible d'en obtenir le suivi sur simple demande par e-mail.&lt;br /&gt;
&lt;br /&gt;
==Calcul du nombre de ressources retenues pour l'abonnement==&lt;br /&gt;
Seules les ressources qui génèrent du chiffre d'affaires pour la structure cliente sont intégrées dans l'abonnement. Ainsi, les salles de cours ne sont pas retenues dans le calcul de l'abonnement.&lt;br /&gt;
&lt;br /&gt;
Dans le calcul de l'abonnement, on ne prend en compte que les ressources actives dont [[Gestion-des-ressources#Catégorie-de-type-de-ressource|la catégorie est du groupe aéronef ou simulateur]] :&lt;br /&gt;
* et qui ont la saisie d'activité lorsque le mode de réservation par type est activé&lt;br /&gt;
* et qui sont réservables ou qui ont la saisie d'activité lorsque le mode de réservation par type est désactivé&lt;br /&gt;
&lt;br /&gt;
=Compte client OpenFlyers=&lt;br /&gt;
Attention, il ne faut pas confondre son compte client OpenFlyers qui permet d'accéder à sa fiche client OpenFlyers et qui permet de renouveler son abonnement OpenFlyers avec son identifiant personnel permettant d'accéder à sa plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
==Accéder à son compte client OpenFlyers==&lt;br /&gt;
Aller sur [https://client.openflyers.com l'espace client] OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'identifiant permettant d'accéder à votre compte client correspond au nom de votre plateforme.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si votre plateforme est référencée par l'adresse :&lt;br /&gt;
 http://openflyers.com/mermoz/&lt;br /&gt;
&lt;br /&gt;
Alors le nom de votre plateforme est '''mermoz'''.&lt;br /&gt;
&lt;br /&gt;
C'est donc '''mermoz''' qu'il faut utiliser comme identifiant pour vous connecter au .&lt;br /&gt;
&lt;br /&gt;
Si vous n'avez pas le mot de passe, vous pouvez le réactiver avec la fonction '''Mot de passe oublié ?''' qui est sur la page d'identification.&lt;br /&gt;
&lt;br /&gt;
Une adresse e-mail vous sera demandée. Vous pourrez saisir l'adresse e-mail de la structure aéronautique ou celle du contact qui ont été saisies dans la fiche client (il s'agit des adresses e-mails sur lesquelles sont envoyées nos e-mails d'alerte de renouvellement ou d'information).&lt;br /&gt;
&lt;br /&gt;
Dans le but de ne pas être submergés par les demandes, nous facturons la ré-initialisation manuelle, par nos soins, du mot de passe ou la mise à jour des adresses e-mails présentes sur la fiche client pour les abonnement First Price (cf. le [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire]).&lt;br /&gt;
&lt;br /&gt;
==Changer de responsable en charge d'OpenFlyers==&lt;br /&gt;
Lorsqu'il y a un changement de responsable en charge d'OpenFlyers, pour que la passation se passe dans les meilleures conditions, il faut penser à effectuer les 3 changements suivants :&lt;br /&gt;
*[[Gestion des utilisateurs#Modifier_un_utilisateur|Attribuer un profil]] d'administrateur de la plateforme OpenFlyers au niveau de la plateforme.&lt;br /&gt;
*[[Documentation administrateur#Responsable_OpenFlyers|Mettre à jour le champ du responsable OpenFlyers]] au niveau de la plateforme.&lt;br /&gt;
*Mettre à jour le nom du responsable OpenFlyers au niveau de la fiche client en effectuant la procédure suivante :&lt;br /&gt;
**[[#Accéder_à_son_compte_client_OpenFlyers|Se connecter à l'espace client OpenFlyers]]&lt;br /&gt;
**Aller dans '''Fiche contact'''&lt;br /&gt;
**Mettre à jour la fiche&lt;br /&gt;
**Cliquer sur le bouton '''Valider'''&lt;br /&gt;
&lt;br /&gt;
Dans le cas où la passation ne peut pas se faire ainsi car l'ancien responsable OpenFlyers ne peut pas effectuer ces opérations ou transmettre les couples (identifiants, mots de passe) au nouveau responsable pour qu'il effectue ces opérations, vous pouvez nous demandez, uniquement par e-mail, d'effectuer ces changements de responsable OpenFlyers, en joignant à l'e-mail :&lt;br /&gt;
*Un courrier signé du responsable de la structure (gérant, président, etc.) contenant la demande de mise à jour du responsable OpenFlyers désigné et indiquant explicitement le nom du nouveau responsable avec son adresse e-mail&lt;br /&gt;
*Une copie d'un document officiel (extrait K-BIS, procès-verbal d'assemblée générale, etc.) permettant de prouver la qualité du responsable de la structure.&lt;br /&gt;
Le courrier scanné n'est pas nécessaire dans le cas où le nouveau responsable OpenFlyers apparait sur l'extrait K-BIS.&lt;br /&gt;
&lt;br /&gt;
'''Attention :''' dans le cas d'une société, le responsable de la structure doit détenir plus de la moitié des parts dans la société. Dans le cas où il y a cogérance, alors il faut que le courrier soit signé de l'ensemble des responsables de sorte à représenter plus de la moitié des parts de la société.&lt;br /&gt;
&lt;br /&gt;
==Mettre à jour sa fiche client==&lt;br /&gt;
*[[#Accéder_à_son_compte_client_OpenFlyers|Se connecter à l'espace client]]&lt;br /&gt;
*Cliquer sur le menu '''Fiche contact'''&lt;br /&gt;
*Mettre à jour le contenu des champs concernés&lt;br /&gt;
*Cliquer sur le bouton valider&lt;br /&gt;
''Conseil OpenFlyers :'' Il est fortement recommandé d'avoir 2 adresses e-mails différentes pour les champs '''E-mail client''' et '''E-mail contact'''&lt;br /&gt;
&lt;br /&gt;
==Migrer vers une nouvelle version OpenFlyers==&lt;br /&gt;
Chez OpenFlyers, nous parlons de migration vers une nouvelle version lorsqu'il s'agit de mettre à jour une plateforme d'une version X vers une version Y incluant des changements majeurs.&lt;br /&gt;
&lt;br /&gt;
Par contre, il existe les mises à jours. Les mises à jour ne changent pas le numéro de version principal (exemple : 3.2 ou 3.5 correspondent à la même version principale). OpenFlyers effectue ces mises à jour automatiquement. Leur objectif est de corriger des bugs ou de rajouter de nouvelles fonctionnalités.&lt;br /&gt;
&lt;br /&gt;
Hormis pour les abonnements Première, qui disposent d'une plateforme avec une version gelée et indépendante d'OpenFlyers, toutes les autres plateformes OpenFlyers sont sur un moteur commun qui est mis à jour de façon transparente plusieurs fois par semaine, voir même par jour.&lt;br /&gt;
&lt;br /&gt;
Nous ne présentons ci-dessous que les migrations &amp;quot;majeurs&amp;quot; qui peuvent impliquer des opérations de nettoyage manuel post-migration.&lt;br /&gt;
&lt;br /&gt;
===Coût d'une migration===&lt;br /&gt;
Lorsque vous êtes en production sur une version X d'OpenFlyers, vous pouvez demander à migrer vers la dernière version stable proposée aux nouveaux clients ou même vers la dernière version en développement dénommée &amp;quot;alpha&amp;quot; ou &amp;quot;beta&amp;quot; (par exemple &amp;quot;version 3.0alpha&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Les migrations sont incluses dans le support des abonnement Business, Première et Corporate.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un abonnement First Price, la migration est facturée 50 € HT sauf dans le cas d'une migration vers une version alpha ou beta ou depuis vers une version alpha ou beta vers la version stable suivante. Exemple de migrations offertes en abonnement First Price :&lt;br /&gt;
*Migration depuis la version 3.0alpha vers la version 3&lt;br /&gt;
*Migration depuis la version 3.5 vers la version 4.0alpha&lt;br /&gt;
*Migration depuis la version 4.0alpha vers la version 4&lt;br /&gt;
&lt;br /&gt;
Enfin, dans le cas où la plateforme bénéficiait d'un ancien tarif, le fait de migrer implique le passage au tarif en vigueur au moment de la migration et à l'acquittement de la différence de tarif par rapport à l'ancien tarif.&lt;br /&gt;
&lt;br /&gt;
===Déroulement de la migration===&lt;br /&gt;
#Il faut avoir pris connaissance des [[#Conséquences-de-la-migration|conséquences d'une migration]] et accepter le fait qu'elle est irréversible&lt;br /&gt;
#Il faut éventuellement créer la ou les factures selon l'abonnement déjà souscrit et l'abonnement souhaité (cf. [[#Coût-d'une-migration|Coût d'une migration]] en [[#Accéder-à-son-compte-client-OpenFlyers|se connectant sur l'espace client]].&lt;br /&gt;
#Il faut payer les factures correspondantes ainsi créées.&lt;br /&gt;
#Il faut en faire la demande par e-mail et précisant la date avant laquelle vous ne souhaitez pas qu'on effectue de migration. Il n'est pas possible de programmer une date pour une migration : cela se fait en fonction de la synchronisation des disponibilités des différents collaborateurs d'OpenFlyers qui doivent intervenir à tour de rôle.&lt;br /&gt;
#Nous créons alors les factures liées à la migration, à la différence de tarif et au forfait paramétrage selon votre abonnement et les options souscrites (cf. le [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire]).&lt;br /&gt;
#Vous payez.&lt;br /&gt;
#Nous procédons alors à cette migration. Lors de la migration l'interruption de service est seulement de quelques minutes. Elle est donc transparente pour la quasi totalité des utilisateurs.&lt;br /&gt;
#Si vous avez souscrit au forfait paramétrage ou qu'il est inclut dans votre abonnement, nous vous envoyons un questionnaire pour le paramétrage. Cf. [[Bien-débuter-avec-OpenFlyers#Forfait-paramétrage|Forfait paramétrage]]&lt;br /&gt;
&lt;br /&gt;
===Conséquences de la migration===&lt;br /&gt;
*Toute migration est irréversible : nous ne créons pas de script permettant de revenir vers une version antérieure. En effet, nous effectuons des migrations &amp;quot;cachées&amp;quot; plusieurs fois par semaine qui constituent des corrections de bugs ou l'ajout de nouvelles fonctionnalités. De ce fait, notre exploitation est organisée pour pouvoir palier à un défaut apparaissant à l'issue d'une migration tout comme elle est organisée pour faire face à l'apparition d'un nouveau bug lors d'une mise à jour transparente.&lt;br /&gt;
*Attention notamment à une migration vers une version &amp;quot;alpha&amp;quot; ou &amp;quot;beta&amp;quot; : en effet, une migration vers cette version implique que vous acceptiez de fonctionner sur une version qui évolue sans cesse. Outre les corrections de bugs, nous rajoutons sur la version beta régulièrement des fonctionnalités qui peuvent créer de nouvelles anomalies. Bien entendu, nous faisons le nécessaire dès que nous avons connaissance d'un problème (notamment par le [http://bts.openflyers.org BTS] pour résoudre les défauts. C'est d'ailleurs grâce aux clients volontaires pour fonctionner sur la version beta que nous pouvons faire évoluer le produit.&lt;br /&gt;
&lt;br /&gt;
==Ajouter une ressource à son abonnement OpenFlyers==&lt;br /&gt;
L'abonnement OpenFlyers est calculé en fonction du nombre de ressources. Le nombre est déterminé pour l'année civile complète.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez rajouter une ressource en cours d'année, alors vous devez [[#Accéder-à-son-compte-client-OpenFlyers|vous connecter sur l'espace client OpenFlyers]] et créer une facture d'ajout de ressource en indiquant le nombre de ressources supplémentaires. Le tarif appliqué sera alors celui de l'année complète.&lt;br /&gt;
&lt;br /&gt;
Une fois le paiement de la facture correspondante acquitté, il sera possible d'intervenir sur la plateforme concernée pour rajouter la ressource. Il y alors 2 cas possible :&lt;br /&gt;
*C'est une ressource dont les tarifs correspondent à un type de ressource déjà présent sur la plateforme concernée. Dans ce cas, l'opération est relativement simple et nous conseillons de suivre soi-même la [[Gestion des ressources#Ajouter_une_ressource|procédure de création]].&lt;br /&gt;
*C'est une ressource qui nécessite la création d'un nouveau type de ressource avec de nouveaux tarifs : dans ce cas, l'opération est plus complexe. Elle peut être effectuée de façon autonome en suivant la [[Gestion des ressources#Ajouter_une_ressource|procédure de création]] et en procédant par comparaison avec les types de ressources existantes. Cependant, si vous souhaitez éviter tout risque d'erreur, il est préférable de nous confier cette tâche en nous communiquant les éléments comme lors de la mise en place du paramétrage par nos soins à l'aide du questionnaire. Nous décomptons notre intervention des heures de bonus assistance/développement à hauteur d'une heure.&lt;br /&gt;
&lt;br /&gt;
==Enlever une ressource à son abonnement OpenFlyers==&lt;br /&gt;
Si vous enlevez une ressource en cours d'année, il n'y a aucun changement d'abonnement puisque les ressources sont souscrites pour toute l'année.&lt;br /&gt;
&lt;br /&gt;
===[[Gestion des ressources#Désactiver_une_ressource|Désactiver une ressource sur sa plateforme Openflyers]]===&lt;br /&gt;
&lt;br /&gt;
==Remplacer une ressource par une autre dans son abonnement OpenFlyers==&lt;br /&gt;
S'il y a un remplacement de ressource, alors il n'y a pas besoin d'acquitter un nouvel abonnement pour la nouvelle ressource. Le remplacement doit se faire en 2 étapes :&lt;br /&gt;
#[[Gestion-des-ressources#Désactiver-une-ressource|désactiver l'ancienne ressource]]&lt;br /&gt;
#[[Gestion-des-ressources#Ajouter-une-ressource|activer la nouvelle ressource]]&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un remplacement temporaire, il peut être aussi simple de renommer la ressource concernée (immatriculation par exemple). A noter que dans ce cas, les statistiques totaliseront l'activité des 2 ressources en 1 seule.&lt;br /&gt;
&lt;br /&gt;
Si vous ne souhaitez pas désactiver cette ressource, alors vous pouvez [[#Ajouter_une_ressource_à_son_abonnement_OpenFlyers|créer une facture complémentaire d'abonnement pour une ressource supplémentaire]].&lt;br /&gt;
&lt;br /&gt;
==Renouveler son abonnement OpenFlyers==&lt;br /&gt;
Pour renouveler l'abonnement, il faut :&lt;br /&gt;
#[[#Accéder_à_son_compte_client_OpenFlyers|Se connecter]] sur le compte client OpenFlyers&lt;br /&gt;
#Créer la facture en fonction du choix d'abonnement (vous trouverez plus d'informations dans notre [http://www.openflyers.com/doc/catalogue-tarifaire.pdf catalogue tarifaire])&lt;br /&gt;
#Ensuite, payer soit :&lt;br /&gt;
#*par carte bancaire en cliquant sur le lien &amp;quot;paiement par carte bancaire&amp;quot; (le choix le plus pratique pour une prise en compte immédiate)&lt;br /&gt;
#*par transfert bancaire (dans ce cas, vous devez prendre en charge tous les frais liés à la transaction). Les coordonnées bancaires sont indiquées sur la facture.&lt;br /&gt;
#*par chèque (attention au délai d'acheminement du courrier)&lt;br /&gt;
&lt;br /&gt;
===Variation du nombre de ressources lors du renouvellement===&lt;br /&gt;
Lors du renouvellement, le nombre minimum de ressources proposées, dans l'interface de renouvellement de l'abonnement, correspond au nombre de ressources activées dans la plateforme OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez augmenter le nombre de ressources pour l'année suivante, il suffit de modifier la valeur proposée par défaut.&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez diminuer le nombre de ressources pour l'année suivante, il faut [[#Désactiver_une_ressource_sur_sa_plateforme_OpenFlyers|désactiver des ressources dans la plateforme OpenFlyers]] afin que le nombre proposé par défaut diminue avant de créer la facture de renouvellement d'abonnement.&lt;br /&gt;
&lt;br /&gt;
==Plateforme supplémentaire de test==&lt;br /&gt;
Cette fonctionnalité, disponible pour les clients étant au moins sous la version 3.6 d'OpenFlyers, est utile dans le cas où vous souhaitez :&lt;br /&gt;
*effectuer des tests sur une recopie de la plateforme de démonstration.&lt;br /&gt;
*effectuer des tests sur une recopie de votre propre plateforme et ainsi modifier son paramétrage sur une version [[Wikipedia-fr:Sandbox_(sécurité_informatique)|sandbox]] sans impacter la version de production.&lt;br /&gt;
*essayer la version 4 d'OpenFlyers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sandbox.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour cela, il faut :&lt;br /&gt;
*Se connecter sur son [[#Accéder-à-son-compte-client-OpenFlyers|compte client]]&lt;br /&gt;
*Aller dans le menu '''Plateforme'''&lt;br /&gt;
* Plusieurs choix sont proposés :&lt;br /&gt;
** Si vous êtes sous la version 3.6 :&lt;br /&gt;
*** '''De openflyers.com/demo-fr vers openflyers.com/acbd.test''' : Permet de créer une plateforme de test en effectuant une recopie de la plateforme démo avec suppression du message d'accueil &amp;quot;La base de données cette plateforme de démonstration est réinitialisée toutes les heures, vers XX:45&amp;quot;.&lt;br /&gt;
*** '''De openflyers.com/acbd vers openflyers.com/acbd.of4''' : Permet de créer une plateforme d'essai sous la version 4 d'OpenFlyers en effectuant une recopie de votre plateforme existante puis en faisant une montée de version sur cette recopie&lt;br /&gt;
** Si vous êtes sous la version 3.6 ou supérieure :&lt;br /&gt;
*** '''De openflyers.com/acbd vers openflyers.com/acbd.test''' : Permet de créer une plateforme de test en effectuant une recopie de votre plateforme existante&lt;br /&gt;
* Cliquer sur '''Valider'''&lt;br /&gt;
&lt;br /&gt;
Si votre plateforme est référencée par l'adresse :&lt;br /&gt;
&amp;lt;pre&amp;gt;http://openflyers.com/acbd/&amp;lt;/pre&amp;gt;&lt;br /&gt;
L'accès à la plateforme de test se fait par l'adresse :&lt;br /&gt;
&amp;lt;pre&amp;gt;http://openflyers.com/acbd.test/&amp;lt;/pre&amp;gt;&lt;br /&gt;
L'accès à la plateforme d'essai de la version 4 d'OpenFlyers se fait par l'adresse :&lt;br /&gt;
&amp;lt;pre&amp;gt;http://openflyers.com/acbd.of4/&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15037</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15037"/>
				<updated>2016-12-12T18:28:46Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Supprimer une saisie automatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique. Voir [[#Empêcher-la-mémorisation-des-saisies-dans-les-formulaires|Empêcher la mémorisation des saisies dans les formulaires]].&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Ouvrir une console sous Windows=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15036</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15036"/>
				<updated>2016-12-12T18:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Navigateurs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Empêcher la mémorisation des saisies dans les formulaires==&lt;br /&gt;
Sur Chrome :&lt;br /&gt;
*Icône menu &amp;gt; '''Paramètres'''&lt;br /&gt;
*'''Afficher les paramètres avancés'''&lt;br /&gt;
*Chapitre '''Mots de passe et formulaires''' : décocher '''Activer la saisie automatique pour remplir les formulaires Web en un simple clic'''&lt;br /&gt;
&lt;br /&gt;
Sur Firefox :&lt;br /&gt;
*'''Outils &amp;gt; Options'''&lt;br /&gt;
*'''Vie privée'''&lt;br /&gt;
*Chapitre '''Historique''', décocher '''Conserver l’historique des recherches et des formulaires'''&lt;br /&gt;
&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Ouvrir une console sous Windows=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15035</id>
		<title>Trucs et astuces</title>
		<link rel="alternate" type="text/html" href="https://doc3-fr.openflyers.com/index.php?title=Trucs-et-astuces&amp;diff=15035"/>
				<updated>2016-12-09T09:35:10Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Supprimer une saisie automatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Présentation=&lt;br /&gt;
L'objet de cette page est de présenter des trucs et astuces généraux et indépendants de l'utilisation d'[[Accueil|OpenFlyers]] .&lt;br /&gt;
&lt;br /&gt;
=Administration réseau=&lt;br /&gt;
==Trouver l'adresse IP du routeur==&lt;br /&gt;
Pour connaître l'adresse IP d'une passerelle (box ou routeur).&lt;br /&gt;
===Trouver l'adresse IP du routeur freebox à distance===&lt;br /&gt;
*Aller sur le site de [http://www.free.fr free].&lt;br /&gt;
*Cliquer sur '''Mon compte'''&lt;br /&gt;
*Saisir l'identifiant et le mot de passe du compte pour lequel on souhaite connaitre l'adresse IP&lt;br /&gt;
*Aller sur '''Ma Freebox &amp;gt; Afficher mon adresse IP'''&lt;br /&gt;
*L'adresse IP est indiquée dans le champ '''Votre adresse IP :'''&lt;br /&gt;
Cette adresse IP dite &amp;quot;fixe&amp;quot; est présente avec le message '''Ceci est votre adresse IP, pour les abonnés dégroupés ainsi que les abonnés IPADSL ayant demandé une IP Fixe'''&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur sous Windows===&lt;br /&gt;
*[[#Ouvrir_une_console_sous_Windows|Ouvrir une console]]&lt;br /&gt;
*Taper ''ipconfig /all'' pour afficher la structure de la connexion au réseau.&lt;br /&gt;
*L'adresse du routeur est indiquée à la ligne '''passerelle par défaut''' de la '''carte Ethernet''' du PC pour une connexion par câble RJ45 ou sous la '''carte WLAN''' pour une connexion sans fil (par exemple wifi).&lt;br /&gt;
&lt;br /&gt;
===Trouver l'adresse IP du routeur par l'interface graphique de Windows 7===&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*cliquer sur '''Panneau de configuration'''&lt;br /&gt;
*Cliquer sur '''Réseau et Internet'''&lt;br /&gt;
*Cliquer sur '''Centre de réseau et partage'''&lt;br /&gt;
*Cliquer sur '''Afficher l'intégralité du réseau''' dan&lt;br /&gt;
*Survoler l’icône Passerelle : l'adresse IP du matériel apparait dans le popup&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_W7.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Sous Linux===&lt;br /&gt;
*Ouvrir une console&lt;br /&gt;
*Taper « netstat -r -n » &lt;br /&gt;
*L'adresse IP est dans la colonne Passerelle (Gateway en Anglais)&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Reseau_Linux.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Monitoring d'une freebox==&lt;br /&gt;
*http://mafreebox.freebox.fr/pub/fbx_info.txt&lt;br /&gt;
&lt;br /&gt;
=Connexion à un routeur=&lt;br /&gt;
==Connexion à distance à une livebox==&lt;br /&gt;
Prérequis :&lt;br /&gt;
*la livebox doit avoir été configurée pour permettre une contrôle à distance&lt;br /&gt;
*Il faut connaitre l'adresse IP externe de la livebox, soit parce qu'elle est fixe, soit parce qu'un service Dynamic DNS a été mis en place&lt;br /&gt;
&lt;br /&gt;
*Dans un navigateur saisir l'URL pour accéder à la livebox. Cette URL doit être écrite avec &amp;quot;https://&amp;quot; suivie de l'adresse IP externe de la livebox suivie de &amp;quot;:10000&amp;quot; qui correspond au port par défaut proposée par la livebox lors de la mise en place d'une connexion à distance. Cela donne une URL sous la forme : https://X.X.X.X:10000&lt;br /&gt;
*Dans le champ '''identifiant''', saisir l'identifiant créé pour la connexion à distance&lt;br /&gt;
*Dans le champ '''mot de passe''', saisir le mot de passe créé pour la connexion à distance&lt;br /&gt;
*Cliquer sur le bouton '''s'identifier'''&lt;br /&gt;
&lt;br /&gt;
=Editer un fichier texte=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Notepad%2B%2B|Notepad++]] pour visualiser ou modifier un fichier texte depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
=Effectuer une copie d'écran=&lt;br /&gt;
Nous recommandons l'utilisation de l'outil [[Wikipedia-en:Greenshot|Greenshot]] pour effectuer une copie d'écran depuis un ordinateur sous système d'exploitation Windows.&lt;br /&gt;
&lt;br /&gt;
Une fois le logiciel installé et lancé, il suffit d'appuyer sur la touche &amp;quot;Imp. écr&amp;quot; du clavier pour lancer la copie d'écran. Greenshot vous permettra alors de sélectionner la zone à copier puis vous proposera de sauvegarder le fichier.&lt;br /&gt;
&lt;br /&gt;
Lorsque la copie d'écran doit être envoyée par e-mail ou ajouter dans un rapport de bug, il est indispensable de la communiquer sous son format d'origine c'est à dire au format png ou jpg. Surtout, ne mettez pas vos copies d'écran dans un document texte : cela rend son exploitation difficile.&lt;br /&gt;
&lt;br /&gt;
=LibreOffice=&lt;br /&gt;
Les procédures suivantes sont normalement identiques sous OpenOffice et existent également sous Word ou Excel mais avec des commandes différentes.&lt;br /&gt;
&lt;br /&gt;
==Afficher uniquement un certain type de lignes==&lt;br /&gt;
Cas pratique : lors de l'import des à nouveaux, lorsqu'il existe plusieurs types de comptes par utilisateur, il peut être intéressant de n'afficher que les lignes d'un seul type de compte à la fois&lt;br /&gt;
&lt;br /&gt;
Dans LibreOffice, une fois que le document à traiter est ouvert :&lt;br /&gt;
*&amp;quot;Données &amp;gt; Filtre &amp;gt; AutoFiltre&amp;quot;&lt;br /&gt;
Cela fait apparaitre à droite de chaque cellule de la première colonne une flèche&lt;br /&gt;
*Cliquer sur la flèche correspondante à la cellule dont on souhaite restreindre les types de données visibles (exemple : cellule &amp;quot;account_type_name&amp;quot; pour ne faire apparaitre qu'un seul type de compte)&lt;br /&gt;
*Sélectionner/désélectionner les types de données à faire apparaitre/disparaitre&lt;br /&gt;
&lt;br /&gt;
==Changer le format d'affichage des dates dans une colonne==&lt;br /&gt;
*Positionner le pointeur de la souris sur la lettre de la colonne concernée&lt;br /&gt;
*Effectuer un clic droit pour faire apparaitre le menu contextuel&lt;br /&gt;
*Sélectionner '''Formater les cellules...''' pour faire apparaitre une boite de dialogue intitulée '''Formatage des cellules'''&lt;br /&gt;
*Laisser sélectionné le premier onglet '''Nombres'''&lt;br /&gt;
*Dans le champ '''Catégorie''', sélectionner &amp;quot;Date&amp;quot;&lt;br /&gt;
*Dans le champ '''Format''', sélectionner le format souhaité si existant (penser à utiliser l'ascenseur du champ pour faire défiler l'intégralité des formats proposés)&lt;br /&gt;
*Si le format souhaité est inexistant, dans le champ '''Description de format''', renseigner le format souhaité&lt;br /&gt;
Pour construire le format souhaité, il suffit en général de s'inspirer des formats existants. Exemple de format pour les dates tel que demandé pour l'import des utilisateurs dans OpenFlyers : &amp;quot;YYYY-MM-DD&amp;quot;&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
==Exporter au format csv pour OpenFlyers==&lt;br /&gt;
Dans OpenFlyers, l'encodage de caractère par défaut utilisé est l'UTF-8 et la séparation entre les champs est le point-virgule. Voici comment effectuer un export de fichier .csv respectant ces éléments :&lt;br /&gt;
*Sélectionner '''Fichier &amp;gt; Enregistrer sous...'''&lt;br /&gt;
*Choisir le répertoire et le nom de fichier&lt;br /&gt;
*Dans le champ '''Type''' sélectionner '''Texte CSV (.csv) (*.csv)'''&lt;br /&gt;
*Cocher '''Éditer les paramètres du filtre'''&lt;br /&gt;
*Cliquer sur le bouton '''Enregistrer'''&lt;br /&gt;
Dans la fenêtre '''Export de fichiers texte''' :&lt;br /&gt;
*Dans le champ '''Jeu de caractères''' taper la lettre &amp;quot;U&amp;quot; puis sélectionner '''Unicode (UTF-8)'''&lt;br /&gt;
*Appuyer sur la touche TAB pour éditer le champ suivant, cela permet non seulement de mettre le focus dans le champ mais également de sélectionner tout le contenu de la cellule&lt;br /&gt;
*Dans le champ '''Séparateur de champ''', taper &amp;quot;;&amp;quot;&lt;br /&gt;
*Appuyer sur la touche TAB&lt;br /&gt;
*Taper sur la touche &amp;quot;Supprimer&amp;quot; du clavier de sorte à vider le contenu du champ '''Séparateur de texte'''&lt;br /&gt;
*Cliquer sur le bouton '''OK'''&lt;br /&gt;
&lt;br /&gt;
=Modifier le comportement la souris=&lt;br /&gt;
Voici les procédures pour modifier le comportement de la souris, et notamment le &amp;quot;clic molette&amp;quot; dont nous recommandons l'usage dans la [[Documentation utilisateur#Clic_droit_et_clic_molette|version 3]] d'OpenFlyers :&lt;br /&gt;
*Sur Windows : http://windows.microsoft.com/fr-fr/windows/change-mouse-settings#1TC=windows-7&lt;br /&gt;
*Sur Mac OS : http://support.apple.com/fr-fr/HT2490&lt;br /&gt;
&lt;br /&gt;
=Navigateurs=&lt;br /&gt;
==Imprimer avec un navigateur==&lt;br /&gt;
===Imprimer avec Chrome===&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*'''Imprimer...'''&lt;br /&gt;
&lt;br /&gt;
===Imprimer avec Firefox===&lt;br /&gt;
*'''Fichier &amp;gt; Imprimer...'''&lt;br /&gt;
Alternative si le menu n'est pas disponible :&lt;br /&gt;
*Cliquer sur le bouton en haut à droite de la barre de navigation symbolisant un menu (trois traits horizontaux)&lt;br /&gt;
*Cliquer sur le bouton symbolisant une imprimante&lt;br /&gt;
&lt;br /&gt;
==Supprimer une saisie automatique==&lt;br /&gt;
Si le navigateur est paramétré pour enregistrer les champs dans un formulaire, il peut être nécessaire de pouvoir supprimer une entrée. C'est par exemple le cas lorsque l'on saisit par erreur son mot de passe dans le champ identifiant et qu'il se retrouve ainsi mémorisé en clair.&lt;br /&gt;
&lt;br /&gt;
Dans le cas d'un ordinateur en accès public, il est déconseillé de paramétrer les navigateurs pour permettre cet enregistrement automatique.&lt;br /&gt;
&lt;br /&gt;
Pour supprimer cette entrée il faut :&lt;br /&gt;
*Saisir le début du texte jusqu'à ce que l'entrée à supprimer apparaisse dans la liste des propositions en auto-complétion.&lt;br /&gt;
*Positionner le curseur de la souris sur l'entrée à supprimer.&lt;br /&gt;
*Appuyer sur la touche ''Suppr'' du clavier.&lt;br /&gt;
&lt;br /&gt;
=Ouvrir une console sous Windows=&lt;br /&gt;
==Ouvrir une console sous Windows 7==&lt;br /&gt;
*Cliquer sur le bouton '''Démarrer'''&lt;br /&gt;
*Dans le champs '''Rechercher''' taper ''cmd'' puis sélectionner le fichier '''cmd.exe'''.&lt;br /&gt;
*Taper sur la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;br /&gt;
&lt;br /&gt;
==Ouvrir une console sous Windows 8==&lt;br /&gt;
*Aller avec le pointeur de la souris dans le coin inférieur gauche de l'écran&lt;br /&gt;
*Le petit rectangle '''Accueil''' doit s'afficher : cliquer sur le bouton droit de la souris&lt;br /&gt;
*Un menu contextuel doit s'afficher : cliquer sur l'item '''Exécuter'''&lt;br /&gt;
*Une fenêtre '''Exécuter''' doit s'ouvrir. Taper ''cmd'' dans le champ '''Ouvrir''' et valider avec la touche &amp;quot;Entrer&amp;quot; pour ouvrir la console DOS.&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	</feed>