TDB-SSI 1.1 LES EXTENSIONS

Dimension: px
Commencer à balayer dès la page:

Download "TDB-SSI 1.1 LES EXTENSIONS"

Transcription

1 TDB-SSI 1.1 LES EXTENSIONS

2 U n i v e r s i t é d e l a M é d i t e r r a n é e F a c u l t é d e M é d e c i n e Projet TDB-SSI Documentation du Tableau de Bord de Sécurité des Systèmes d Information Marseille, le 13/03/2009 Les extensions Documentation du TDB-SSI Date : 13/03/09 Nom du fichier : TDB-SSI_1.1_Les_extensions.pdf Nombre de pages : 76 Auteur(s) : Jean-marc Pelle Validation : Chef de projet (Philippe Tourron) Approbation : Équipe Projet TDB-SSI Licence de ce document : TDB-SSI Les extensions by Université de la Méditerranée (CIGR - Faculté de Médecine de Marseille) est mis à disposition selon les termes de la licence Creative Commons Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0 France. Basé sur une oeuvre à infocigr.timone.univ-mrs.fr. Licence du logiciel TDB-SSI : Le logiciel TDB-SSI est régi par la licence CeCILL soumise au droit français et respectant les principes de diffusion des logiciels libres. CIGR Université de la Méditerranée 2 tdb-ssi@medecine.univmed.fr

3 Historique des modifications Date Objet de la modification Auteur(s) Statut 13/03/09 Création du document pour la diffusion de l application TDB-SSI 11/12/09 Mise en conformité avec les changements apportés par la version 1.0 RC2 02/04/10 Mise en conformité avec les changements de la version 1.0 RC3 Jean-Marc Pelle Jean-Marc Pelle Jean-Marc Pelle Validé Validé Validé 19/05/10 Modifications dûes à la version 1.1 beta Jean-Marc Pelle Validé 28/03/11 Mise à jour suite à modification API Jean-Marc Pelle Validé Ce document a été réalisé dans le cadre du projet TDB-SSI Les commentaires et suggestions sont encouragés et peuvent être adressés à l'adresse suivante : tdb-ssi@medecine.univmed.fr CIGR Université de la Méditerranée 3 tdb-ssi@medecine.univmed.fr

4 Table des matières 1 Présentation Démarche conceptuelle de création d'une extension Pourquoi développer une extension? L'identification des indicateurs et de leur type Les quatre types d'indicateurs Arbre décisionnel de choix du type d'indicateur L'identification des autres éléments constituant une extension Les sources Les sous-thèmes Les thèmes Les modèles d indicateur Les données saisies manuellement La récupération des données correspondant aux valeurs des indicateurs à partir d'outils externes à TDB-SSI L'architecture d'une extension Le fichier d'extension sur le serveur WEB Le fichier d'une source sur le serveur de collecte L'API de développement d'une extension du module WEB La classe ELEMENT_SOURCE La classe ELEMENT_THEME La classe ELEMENT_SS_THEME La classe ELEMENT_MODELE La classe ELEMENT_INDIC_MOY_DIRECT La classe ELEMENT_INDIC_SI_AUTO La classe ELEMENT_DONNEE La classe ELEMENT_INDIC_MANUEL La classe PLUGIN Le constructeur : construct (string $code_ext) get_nb_moyens_si () get_resultat_exec () get_tab_moyens_si (int $i, string $champ) get_version_ext () load_tab_moyens_si () save_donnee_et_indic_manuel (element_donnee $donnee, element_indic_manuel $indic_manuel) save_indic_moyen_direct (element_indic_moy_direct $indic_moy_dir) save_indic_si_auto (element_si_auto $indic_si_auto) save_modele (element_modele $modele) save_source (element_source $source) save_ss_theme (element_ss_theme $ss_theme) save_theme (element_theme $theme) set_version_ext (string $version_ext) signaler_erreur($message_erreur) signaler_warning($message_erreur) La fonction exec_plugin() L'API du module de collecte La classe COLLECTE construct (string $code_ext, int $num_source) find_derniere_valeur_donnee (int $num_donnee, string $champ [, string $code_si = NULL] [, string $code_ext = NULL])...30 CIGR Université de la Méditerranée 4 tdb-ssi@medecine.univmed.fr

5 5.1.3 find_derniere_valeur_indic_existant (int $num_id_indic, string $champ [, string $code_si = NULL] ) find_derniere_valeur_indic_moyen_modele (int $num_modele, int $num_moy, string $champ) find_derniere_valeur_indic_si_auto (int $num_indic, string $champ [, string $code_si = NULL] [, string $code_ext = NULL]) get_nb_indics_moyen_dir () get_nb_moy_audites_par_modele () get_rep_donnees_tdb () get_si_serveur () get_tab_indics_moyen_dir (int $i, string $champ) get_tab_moy_audites_par_modele (int $i, string $champ) get_tab_moy_audites_par_indic_dir (int $i, string $champ) get_tdb_connec () insert_valeur_indic_moyen_direct (int $indice_tab_indic_moy_dir, string $valeur [, string $rapport = NULL]) insert_valeur_indic_moy_dir_par_id_ext($id_externe, $groupe_externe, $valeur, [$log_if_not_exists = FALSE], [$rapport = NULL] ) insert_valeur_indic_moyen_modele (int $num_modele, int $num_moy, string $valeur [, string $rapport = NULL]) insert_valeur_indic_si_auto (int $num_indic, string $valeur [, string $rapport = NULL]) load_tab_indics_moyen_dir (string $groupe_externe) load_tab_moy_audites_par_modele (int $num_modele) log_erreur (string $message_erreur) La fonction exec_collecte() Structure des fichiers d'une extension Structure d'un fichier d'extension (module WEB) Structure d'un fichier d'une source (module de collecte) Tutoriel : Développer une extension Environnement de développement Les avantages du développement d'une extension avec un IDE Comment développer une extension en local avec un IDE? Développer avec un IDE : Captures d'écran Présentation du cas fictif servant d'exemple au cours de ce tutoriel Création du fichier d'extension sur le serveur WEB du tableau de bord Définition de (des) l'indicateur(s) en fonction de vos besoins Détermination des propriétés des éléments de l'extension Développement du fichier de l'extension Création du fichier d'une source sur le serveur de collecte du tableau de bord Trouver le moyen de récupérer la valeur des indicateurs associés à une source Développement du fichier de la source Test de votre extension Création de l'extension dans le tableau de bord Activation de l'extension pour votre SI Test de la collecte Exemples d'extensions par type d'indicateurs créés Indicateurs de moyen par modèle : l'extension LOGCHECK Le fichier sur le serveur WEB Le fichier sur le serveur de collecte Indicateurs de moyen directs : l'extension ZABBIX Le fichier sur le serveur WEB...60 CIGR Université de la Méditerranée 5 tdb-ssi@medecine.univmed.fr

6 8.2.2 Le fichier sur le serveur de collecte Indicateurs de SI à collecte automatique : l'extension STATS Le fichier sur le serveur WEB Le fichier sur le serveur de collecte Indicateurs de SI à collecte manuelle et données saisies : l'extension BUDGET Le fichier sur le serveur WEB Le fichier sur le serveur de collecte (cas du traitement d'un indicateur composé)...75 CIGR Université de la Méditerranée 6 tdb-ssi@medecine.univmed.fr

7 1 Présentation Les extensions sont un centre vital du tableau de bord, elles permettent d'une part de créer des indicateurs ainsi que d'autres éléments structurant nécessaires à leur intégration dans l'application et, d'autre part, elles mettent en place les mécanismes de collecte automatique des valeurs de ces indicateurs. Sans extension, le tableau de bord ne pourrait créer et gérer que des indicateurs issus de données à saisie manuelle. Structure de cette documentation : Chapitre 2 : Démarche conceptuelle d'une extension et présentation des éléments créés. Chapitre 3 : Architecture physique d'une extension. Chapitre 4 : Présentation de l'api de développement d'une extension (module WEB). Chapitre 5 : Présentation de l'api de développement d'une source (module de collecte). Chapitre 6 : Structure des fichiers d'une extension. Chapitre 7 : Tutoriel de développement d'une extension. Chapitre 8 : Exemples complets d'extensions. Vous n'êtes bien sûr pas obligés de lire cette documentation dans l'ordre. Vous pouvez par exemple essayer de suivre le tutoriel avant d'avoir regarder la présentation de l'api quitte à aller voir ponctuellement la documentation exacte d'une méthode. N'hésitez pas non plus à vous reporter aux exemples du chapitre 8 afin de mieux appréhender la structure d'une extension pour tous les types d'indicateurs. CIGR Université de la Méditerranée 7 tdb-ssi@medecine.univmed.fr

8 2 Démarche conceptuelle de création d'une extension 2.1 Pourquoi développer une extension? Le besoin de développer une extension peut avoir deux origines : Vous avez déjà mis en place des outils de remontée d'information au sein de votre SI et vous voulez que des indicateurs du tableau de bord synthétisent ces informations dans une interface unique. Vous avez identifié un besoin de visibilité précis pour un élément de votre SI, malheureusement aucune extension existante du tableau de bord ne répond à votre besoin. Vous avez néanmoins réussi à trouver un outil pouvant vous donner les informations que vous désirez et vous voulez qu'il alimente un ou plusieurs indicateurs du tableau de bord. Dans les deux cas, le développement d'une extension répondra effectivement à votre besoin. La première étape est d' identifier avec précision les indicateurs dont vous avez besoin 2.2 L'identification des indicateurs et de leur type Un indicateur est une valeur numérique ou textuelle qui évolue dans le temps et qui offre une mesure permettant d'appréhender l'état d'un élément du système d'information. Il existe quatre types d'indicateurs, il va donc falloir déterminer le type de l'indicateur que vous désirez Les quatre types d'indicateurs - L indicateur de SI automatique : C est un indicateur qui concerne un SI dans son ensemble par opposition aux indicateurs de moyen qui se rapportent uniquement à un moyen du SI. La collecte des valeurs d un indicateur de ce type est automatique, elle est déclenchée par le CRON du serveur de collecte. Exemples d indicateurs de ce type : Nombre de postes infectés par un virus dans votre parc, Nombre de moyens sous contrat de maintenance - L indicateur de SI manuel : C est un indicateur qui concerne aussi un SI dans son ensemble. A la différence du type d indicateur précédent, celui-ci est issu d une donnée saisie manuellement dans le tableau de bord. Cela implique que la collecte de ses valeurs n est pas assurée par le serveur de collecte, elle est uniquement déclenchée en cas d ajout ou de modification d une valeur de la donnée saisie correspondante via l'interface WEB de saisie. - L indicateur de moyen par un modèle : C est un indicateur qui concerne un moyen particulier du SI. Il est de plus issu d un modèle d indicateur, c'est-à-dire que sa création et ses propriétés par défaut sont issues de l association d un modèle d'indicateur à un moyen (le modèle d indicateur est défini ultérieurement). Exemple d indicateur de ce type : Criticité du rapport de log d un serveur. CIGR Université de la Méditerranée 8 tdb-ssi@medecine.univmed.fr

9 - L indicateur de moyen direct : C est aussi un indicateur qui concerne un moyen particulier du SI. Ce qui le différencie de l indicateur de moyen par modèle est d ordre technique. Il est en effet créé dynamiquement à l'exécution d'une extension en interrogeant une base de données externe au tableau de bord. Cette base contient des informations sur les différents moyens du tableau de bord (typiquement, la base de données d'une plateforme de supervision). Les indicateurs de moyen directs sont donc des indicateurs qui ne sont pas créés par un utilisateur mais qui sont générés dynamiquement en requêtant une base de données externe Arbre décisionnel de choix du type d'indicateur Il va falloir se poser un certain nombre de questions pour arriver à trouver le type d'indicateur adéquat. On peut matérialiser cette démarche sous la forme d'un arbre décisionnel. Est-ce que je veux créer un indicateur qui audite un moyen en particulier? Oui, cet indicateur doit auditer un moyen précis identifiable par une adresse IP OUI NON Non cet indicateur concerne l ensemble du SI Je veux que l utilisateur crée lui-même l indicateur en sélectionnant le moyen qu il veut auditer ainsi qu un patron d indicateur prédéfini Je veux que les indicateurs soient créés dynamiquement à l exécution de l extension en interrogeant une base de données qui contient des informations sur les moyens de mon parc Cet indicateur doit être issu d une donnée saisie manuellement via l interface WEB du tableau de bord La collecte de cet indicateur est automatique, il ne provient pas d une donnée saisie manuellement dans le tableau de bord Je dois créer un modèle d indicateur Je dois créer un indicateur de moyen direct Je dois créer une donnée à saisie manuelle et un indicateur manuel Je dois créer un indicateur de SI automatique CIGR Université de la Méditerranée 9 tdb-ssi@medecine.univmed.fr

10 2.3 L'identification des autres éléments constituant une extension Cinq autres éléments sont nécessaires afin de définir et d'intégrer les indicateurs au sein du tableau de bord Les sources Une source est un fichier PHP exécuté automatiquement par le serveur de collecte (via le CRON). Un indicateur est associé à une source, cette dernière aura à sa charge la collecte et l'enregistrement des valeurs de cet indicateur à intervalle régulier. Une source assure la collecte des valeurs d'un ou plusieurs indicateurs issus de l'extension. L'intervalle entre chaque exécution automatique d'une source est configurable. N.B. : Les indicateurs de type manuel sont une exception dans le sens où leur source est constituée par la saisie manuelle des données qu'ils auditent. Il n'y a donc pas de collecte automatique dans leur cas Les sous-thèmes Les sous-thèmes regroupent sémantiquement les différents indicateurs et données saisies selon une thématique commune (exemple : menaces virales, menaces IDS ). Ils serviront à créer des groupes d' indicateurs ayant un fort lien sémantique afin de les présenter de manière organisée dans l'interface WEB Les thèmes Ils permettent de regrouper les sous-thèmes traitant d'une même thématique (exemple: les sousthèmes «Menaces virales» et «Menaces IDS» pourront appartenir au thème «Sécurité»). La création d'un thème dans une extension est assez rare puisqu'il faut que l'extension crée plusieurs sous-thèmes pour qu'un thème ait un intérêt Les modèles d indicateur Ce sont des modèles d indicateurs qui auditeront des moyens enregistrés dans le tableau de bord. En associant un modèle d'indicateur à un moyen on crée immédiatement un indicateur de moyen par modèle qui audite ce moyen. Toutes les propriétés par défaut de l'indicateur seront celles du modèle qui a servi à le générer (exemples de propriétés : libellé de l'indicateur, durée d historisation, représentation graphique par défaut, indice d importance de l'alarme ). Un des avantages des modèles, outre la rapidité de création des indicateurs, est qu'ils permettent la modification de masse des indicateurs qui leur sont liés. En effet, la modification d'une propriété d'un modèle entraine la modification de cette propriété pour tous les indicateurs qui en sont issus Les données saisies manuellement Il s agit de données dont les valeurs seront saisies manuellement à travers l interface utilisateur du tableau de bord. Chaque donnée à saisie manuelle peut-être auditée par un indicateur (et un seul). L indicateur sera de type indicateur de SI manuel. CIGR Université de la Méditerranée 10 tdb-ssi@medecine.univmed.fr

11 2.4 La récupération des données correspondant aux valeurs des indicateurs à partir d'outils externes à TDB-SSI L'API des extensions permet de créer des indicateurs et les éléments structurant nécessaires à leur intégration, elle permet également de retrouver ces indicateurs à partir du module de collecte et d'enregistrer régulièrement de manière simple et automatisée leurs valeurs dans la base de données du tableau de bord. Le traitement spécifique à chaque outil externe consistant à récupérer l'information que vous désirez reste par contre à votre charge et est différent pour chaque outil considéré. Vous pouvez y parvenir de différentes manières : en utilisant l'api de l'outil, en exécutant une commande SHELL, en interrogeant directement la base de données de l'outil, etc... N'hésitez pas à vous référer à la documentation de l'outil afin de voir les différentes possibilités envisageables. CIGR Université de la Méditerranée 11 tdb-ssi@medecine.univmed.fr

12 3 L'architecture d'une extension Une extension est constituée par deux fichiers. Le premier se situe sur le serveur WEB alors que le second se trouve sur le serveur de collecte. Ces deux fichiers ont des rôles totalement différents. 3.1 Le fichier d'extension sur le serveur WEB Ce fichier se situe sur le serveur WEB de l application TDB-SSI, il se nomme «plg-<code_de_l_extension>.php», il est à placer dans le répertoire tdb-web/site/plugins. Son rôle est de créer un ou plusieurs indicateurs ainsi qu'au moins une source et un sous-thème. Il peut créer des modèles d'indicateurs et des données à saisie manuelle si les types d'indicateurs que vous avez choisi le requièrent. De manière facultative, ce fichier peut également créer un thème. Ce fichier crée donc des indicateurs ainsi que tous les éléments qui sont nécessaires à leur fonctionnement. Remarque : Dans le cas des indicateurs de moyen par modèle, l'extension ne crée pas directement des indicateurs de ce type, elle crée uniquement le modèle d'indicateur qui permettra ensuite de générer des indicateurs via l'interface graphique du tableau de bord en sélectionnant ce modèle et un moyen à auditer. 3.2 Le fichier d'une source sur le serveur de collecte Ce fichier se nomme «<code_de_l_extension><numéro_de_la_source_dans_l_extension>.php». Il est à placer dans le répertoire tdb-collecte/sources du serveur de collecte. Il s'agit d'un fichier PHP exécuté automatiquement par le serveur de collecte grâce au CRON, il correspond à l'élément nommé «source» que nous avons vu dans le chapitre 2. Son rôle est d assurer la collecte des valeurs des indicateurs qui lui sont associés. Si l'extension ne crée qu'une seule source, ce qui est généralement le cas, il n' y aura donc qu'un seul fichier qui assurera la collecte des valeurs de tous les indicateurs générés à partir de cette extension. La source, puisqu'il n'y en a qu'une, a alors le numéro 1. Le fichier portera donc le nom «<code_de_l_extension>1.php». Ce fichier «source» est indispensable sauf dans le cas des indicateurs manuels dont la collecte n est pas automatisée et n'est donc pas assurée par le serveur de collecte. CIGR Université de la Méditerranée 12 tdb-ssi@medecine.univmed.fr

13 4 L'API de développement d'une extension du module WEB L'API est constituée d'une part par 8 classes qui vous permettront de créer les éléments qui constitueront votre plugin et d'autre part par la classe PLUGIN qui fournit un ensemble de méthodes permettant d'enregistrer ces éléments et d'effectuer d'autres tâches qui seront décrites par la suite. Les 8 classes des éléments du plugin comportent chacune un ensemble d'attributs publics qui permettent de définir les propriétés de ces éléments. 4.1 La classe ELEMENT_SOURCE La classe element_source permet de définir les propriétés d'une source. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $num_source Numéro de la source dans l'extension $lib_source Libellé de la source String(128 max) $description_source Description de la source String(255 max) non $perio_collecte $collecte_nocturne Code de la périodicité de collecte. Valeurs possibles : 'min', 'heure', 'jour', 'sem', 'mois', 'an', 'manuel' Collecte effectuée en nocturne ou pas 4.2 La classe ELEMENT_THEME int String(6 max) int (booléen valant 0 ou 1) La classe element_theme permet de définir les propriétés d'un thème. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $num_theme Numéro du thème dans l'extension $lib_theme Libellé du thème String(128 max) Int CIGR Université de la Méditerranée 13 tdb-ssi@medecine.univmed.fr

14 4.3 La classe ELEMENT_SS_THEME La classe element_ss_theme permet de définir les propriétés d'un sous-thème. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $num_ss_theme Numéro du sous-thème dans l'extension $lib_theme Libellé du sous-thème String(128 max) $theme Thème auquel appartient ce sous-thème. Int Objet de type ELEMENT_THEME non 4.4 La classe ELEMENT_MODELE La classe element_modele permet de définir les propriétés d'un modèle d'indicateur. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $code_graph $code_histo $code_niv Code de la représentation graphique par défaut. Valeurs possibles: 'cam', 'cour', 'histo' (camembert, courbe et histogramme) Code de la durée d'historisation. Valeurs possibles: 'aucune', '12h', 'jour', 'sem', 'mois', '6mois', 'an', 'def' Code du niveau de visibilité. Valeurs possibles: 'ope', 'pilo', 'strat' (opérationnel, pilotage, stratégique) String (6 max) String (6 max) String (6 max) non CIGR Université de la Méditerranée 14 tdb-ssi@medecine.univmed.fr

15 $code_type_val Code du type de valeur. TDB-SSI Les extensions Valeurs possibles: 'bool', 'int', 'real', 'string'. (booléen, entier, nombre décimal, chaine de caractères) String (6 max) $comment_indic Commentaires String (65535 max) non $description_indic Description de l'indicateur String (255 max) non $envoi_ Envoi d' en cas d'alarme de l'indicateur. Int (Booléen 0 ou 1) $generation_rapport Génération d'un rapport Int (Booléen 0 ou 1) $ind_alarme $ind_conf Indice du niveau d'alarme de l'indicateur (Entier de 0 à 3) Indice de confidentialité. Entier de 0 à 4 $lib_indic Libellé de l'indicateur string (128 max) $lib_modele Libellé du modèle String(128 max) $num_modele Numéro du modèle dans l'extension int $operateur_seuil $priorite Opérateur de seuil de déclenchement de l'alarme. Valeurs possibles : '<', '<=', '=', '<>', '>=', '>' Priorité d'affichage de l'indicateur. Entier de 0 à 5 int int String(2 max) $source Source associée à l'indicateur Objet de type $ss_theme Sous-thème d'appartenance de l'indicateur. int ELEMENT_SOURCE Objet de type ELEMENT_SS_THEME $unite Unité de la valeur de l'indicateur String non $valeur_cible Valeur cible de l'indicateur. String non $valeur_seuil $value_change_saving Valeur seuil du déclenchement de l'alarme de l'indicateur Sauvegarde par changement de valeur. String Int (booléen 0 ou 1) non non Remarque sur le choix de la représentation graphique par défaut: - Les courbes montrent l'évolution des valeurs de type numérique d'un indicateur au cours du temps. Seuls les indicateurs dont la valeur est de type entier ou réel peuvent donc être représentés par une courbe. - Les camemberts et histogrammes montrent la fréquence d'apparition des différentes valeurs de l'indicateur pour une période donnée. Ces types de représentations graphiques ne sont donc pertinentes que pour des indicateurs qui n'ont que peu de valeurs différentes. CIGR Université de la Méditerranée 15 tdb-ssi@medecine.univmed.fr

16 4.5 La classe ELEMENT_INDIC_MOY_DIRECT La classe element_moy_direct permet de définir les propriétés d'un indicateur de moyen direct. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $code_graph $code_histo $code_niv $code_type_val Code de la représentation graphique par défaut. Valeurs possibles: 'cam', 'cour', 'histo' (camembert, courbe et histogramme) Code de la durée d'historisation. Valeurs possibles: 'aucune', '12h', 'jour', 'sem', 'mois', '6mois', 'an', 'def' Code du niveau de visibilité. Valeurs possibles: 'ope', 'pilo', 'strat' (opérationnel, pilotage, stratégique) Code du type de valeur. Valeurs possibles: 'bool', 'int', 'real', 'string'. (booléen, entier, nombre décimal, chaine de caractères) String (6 max) String (6 max) String (6 max) String (6 max) $comment_indic Commentaires String (65535 max) non $description_indic Description de l'indicateur String (255 max) non $envoi_ Envoi d' en cas d'alarme de l'indicateur. Int (Booléen 0 ou 1) $generation_rapport Génération d'un rapport Int (Booléen 0 ou 1) $id_externe_indic Identifiant externe String (14 max) $ind_alarme $ind_conf Indice du niveau d'alarme de l'indicateur (Entier de 0 à 3) Indice de confidentialité. Entier de 0 à 4 $lib_indic Libellé de l'indicateur string (128 max) $num_moy Numéro du moyen audité par l'indicateur. int int int non CIGR Université de la Méditerranée 16 tdb-ssi@medecine.univmed.fr

17 $operateur_seuil $priorite TDB-SSI Les extensions Opérateur de seuil de déclenchement de l'alarme. Valeurs possibles : '<', '<=', '=', '<>', '>=', '>' Priorité d'affichage de l'indicateur. Entier de 0 à 5 String(2 max) $source Source associée à l'indicateur Objet de type $ss_theme Sous-thème d'appartenance de l'indicateur. int ELEMENT_SOURCE Objet de type ELEMENT_SS_THEME $groupe_externe Groupe externe d'appartenance String (20 max) $unite Unité de la valeur de l'indicateur String non $valeur_cible Valeur cible de l'indicateur. String non $valeur_seuil $value_change_saving Valeur seuil du déclenchement de l'alarme de l'indicateur Sauvegarde par changement de valeur. String Int (booléen 0 ou 1) non non Remarque sur le choix de la représentation graphique par défaut: - Les courbes montrent l'évolution des valeurs de type numérique d'un indicateur au cours du temps. Seuls les indicateurs dont la valeur est de type entier ou réel peuvent donc être représentés par une courbe. - Les camemberts et histogrammes montrent la fréquence d'apparition des différentes valeurs de l'indicateur pour une période donnée. Ces types de représentations graphiques ne sont donc pertinentes que pour des indicateurs qui n'ont que peu de valeurs différentes. CIGR Université de la Méditerranée 17 tdb-ssi@medecine.univmed.fr

18 4.6 La classe ELEMENT_INDIC_SI_AUTO La classe element_indic_si_auto permet de définir les propriétés d'un indicateur de SI à collecte automatique. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $code_graph $code_histo $code_niv $code_type_val Code de la représentation graphique par défaut. Valeurs possibles: 'cam', 'cour', 'histo' (camembert, courbe et histogramme) Code de la durée d'historisation. Valeurs possibles: 'aucune', '12h', 'jour', 'sem', 'mois', '6mois', 'an', 'def' Code du niveau de visibilité. Valeurs possibles: 'ope', 'pilo', 'strat' (opérationnel, pilotage, stratégique) Code du type de valeur. Valeurs possibles: 'bool', 'int', 'real', 'string'. (booléen, entier, nombre décimal, chaine de caractères) String (6 max) String (6 max) String (6 max) String (6 max) $comment_indic Commentaires String (65535 max) non $description_indic Description de l'indicateur String (255 max) non $envoi_ Envoi d' en cas d'alarme de l'indicateur. Int (Booléen 0 ou 1) $generation_rapport Génération d'un rapport Int (Booléen 0 ou 1) $ind_alarme $ind_conf Indice du niveau d'alarme de l'indicateur (Entier de 0 à 3) Indice de confidentialité. Entier de 0 à 4 $lib_indic Libellé de l'indicateur string (128 max) $num_indic Numéro de l'indicateur de SI automatique dans l'extension. int int int non CIGR Université de la Méditerranée 18 tdb-ssi@medecine.univmed.fr

19 $operateur_seuil $priorite TDB-SSI Les extensions Opérateur de seuil de déclenchement de l'alarme. Valeurs possibles : '<', '<=', '=', '<>', '>=', '>' Priorité d'affichage de l'indicateur. Entier de 0 à 5 String(2 max) $source Source associée à l'indicateur Objet de type $ss_theme Sous-thème d'appartenance de l'indicateur. int ELEMENT_SOURCE Objet de type ELEMENT_SS_THEME $unite Unité de la valeur de l'indicateur String non $valeur_cible Valeur cible de l'indicateur. String non $valeur_seuil $value_change_saving Valeur seuil du déclenchement de l'alarme de l'indicateur Sauvegarde par changement de valeur. String Int (booléen 0 ou 1) non non Remarque sur le choix de la représentation graphique par défaut: - Les courbes montrent l'évolution des valeurs de type numérique d'un indicateur au cours du temps. Seuls les indicateurs dont la valeur est de type entier ou réel peuvent donc être représentés par une courbe. - Les camemberts et histogrammes montrent la fréquence d'apparition des différentes valeurs de l'indicateur pour une période donnée. Ces types de représentations graphiques ne sont donc pertinentes que pour des indicateurs qui n'ont que peu de valeurs différentes. CIGR Université de la Méditerranée 19 tdb-ssi@medecine.univmed.fr

20 4.7 La classe ELEMENT_DONNEE La classe element_donnee permet de définir les caractéristiques d'une donnée à saisie manuelle. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $description_donnee Description de la donnée String (255 max) non $ind_conf_donnee Indice de confidentialité de la donnée Entier de 0 à 4 $lib_donnee Libellé de la donnée string (128 max) $num_donnée $perio_donnee $ss_theme $type_val_donnee Numéro de la donnée dans l'extension. Périodicité de la donnée. Valeurs possibles: 'an', 'jour', 'mois' Sous-thème d'appartenance de l'indicateur. Code du type de valeur de la donnée. Valeurs possibles: 'bool', 'int', 'real', 'string'. (booléen, entier, nombre décimal, chaine de caractères) int int String (6 max) Objet de type ELEMENT_SS_THEME String (6 max) $unite_donnee Unité de la valeur de la donnée String non CIGR Université de la Méditerranée 20 tdb-ssi@medecine.univmed.fr

21 4.8 La classe ELEMENT_INDIC_MANUEL La classe element_indic_manuel permet de définir les propriétés d'un indicateur auditant une donnée à saisie manuelle. Remarque : La classe element_indic_manuel ne dispose pas des attributs publics : Libellé, Type de valeur, Unité, Indice de confidentialité, Sous-thème. En effet, pour cette liste de propriétés, l'indicateur hérite de celles de la donnée à saisie manuelle qu'il audite. Les attributs publics de cette classe correspondent aux propriétés que vous pourrez renseigner ou devrez renseigner s'ils sont obligatoires. Constructeur : construct () Attributs publics : Nom de l'attribut Commentaires Type Obligatoire $code_graph $code_niv Code de la représentation graphique par défaut. Valeurs possibles: 'cam', 'cour', 'histo' (camembert, courbe et histogramme) Code du niveau de visibilité. Valeurs possibles: 'ope', 'pilo', 'strat' (opérationnel, pilotage, stratégique) String (6 max) String (6 max) $comment_indic Commentaires String (65535 max) non $description_indic Description de l'indicateur String (255 max) non $donnee Donnée à saisie manuelle auditée par l'indicateur $envoi_ $ind_alarme $operateur_seuil $priorite Envoi d' en cas d'alarme de l'indicateur. Indice du niveau d'alarme de l'indicateur (Entier de 0 à 3) Opérateur de seuil de déclenchement de l'alarme. Valeurs possibles : '<', '<=', '=', '<>', '>=', '>' Priorité d'affichage de l'indicateur. Entier de 0 à 5 Objet de type ELEMENT_DONNEE Int (Booléen 0 ou 1) int String(2 max) $valeur_cible Valeur cible de l'indicateur. String non $valeur_seuil Valeur seuil du déclenchement de l'alarme de l'indicateur int String non non non CIGR Université de la Méditerranée 21 tdb-ssi@medecine.univmed.fr

22 Remarque sur le choix de la représentation graphique par défaut: - Les courbes montrent l'évolution des valeurs de type numérique d'un indicateur au cours du temps. Seuls les indicateurs dont la valeur est de type entier ou réel peuvent donc être représentés par une courbe. Les camemberts et histogrammes montrent la fréquence d'apparition des différentes valeurs de l'indicateur pour une période donnée. Ces types de représentations graphiques ne sont donc pertinentes que pour des indicateurs qui n'ont que peu de valeurs différentes. 4.9 La classe PLUGIN Le constructeur : construct (string $code_ext) construct (string $code_ext) Paramètres Type Nom Description string $code_ext Code de l'extension Description Constructeur de la classe PLUGIN get_nb_moyens_si () int get_nb_moyens_si () Valeur de retour : int Renvoie l'entier correspondant au nombre d'enregistrements du tableau $tab_moyens_si. Description Getter de l'attribut $nb_moyens_si. $nb_moyens_si correspond au nombre d'enregistrements existant dans le tableau $tab_moyens_si. Ce tableau contient le numéro et l'adresse IP de tous les moyens du SI. CIGR Université de la Méditerranée 22 tdb-ssi@medecine.univmed.fr

23 4.9.3 get_resultat_exec () array get_resultat_exec () Valeur de retour : array Renvoie un tableau associatif contenant des informations sur le résultat de l'exécution du plugin. Description Cette méthode renvoie un tableau associatif contenant des informations sur le résultat de l'exécution du plugin. Le tableau tableau associatif possède 3 champs (ou clés) : 'etat' : Booléen indiquant la réussite ou l'échec de l'exécution du plugin. 'version_ext' : String, version de l'extension exécutée. 'message_erreur' : String, message généré par une éventuelle erreur au cours de l'exécution get_tab_moyens_si (int $i, string $champ) mixed get_tab_moyens_si (int $i, string $champ) Paramètres Type Nom Description int $i Indice de l'enregistrement voulu dans le tableau $tab_enreg_moyens_si. string $champ Champ voulu du sous-tableau associatif. Deux clés sont possibles: 'num' ou 'ip' Valeur de retour : mixed La valeur de retour est un entier si le champ demandé est le numéro du moyen, elle est par contre de type string si c'est le champ correspondant à l'adresse ip du moyen qui est demandé. Si aucun enregistrement n'existe dans le tableau $tab_moyens_si à l'indice $i, la méthode renvoie FALSE. Description Getter de l'attribut $tab_moyens_si. $tab_moyens_si est un tableau bidimensionnel indice/associatif('num','ip') Il s'agit d'un tableau de tous les moyens du SI. Un sous-tableau associatif contient le numéro et l'adresse IP de chaque moyen. NB. Ce tableau est vide à l'instanciation d'un objet de type PLUGIN, appelez la méthode load_tab_moyens_si afin de charger le tableau avec les données en base. CIGR Université de la Méditerranée 23 tdb-ssi@medecine.univmed.fr

24 4.9.5 get_version_ext () string get_version_ext () Valeur de retour : string Renvoie la version de l'extension exécutée. Description Getter de l'attribut $version_ext. Cette méthode renvoie la version de l'extension exécutée load_tab_moyens_si () void load_tab_moyens_si () Valeur de retour : void Description La méthode load_tab_moyens_si charge le tableau de moyens avec les données en base. $tab_moyens_si est un tableau bidimensionnel indice/associatif('num','ip') Il s'agit d'un tableau de tous les moyens du SI. Un sous-tableau associatif contient le numéro et l'adresse IP de chaque moyen save_donnee_et_indic_manuel (element_donnee $donnee, element_indic_manuel $indic_manuel) bool save_donnee_et_indic_manuel (element_donnee $donnee, element_indic_manuel $indic_manuel) Paramètres Type Nom Description element_donnee $donnee Objet de type element_donnee. Donnée à saisie manuelle à sauver. element_indic_manuel $indic_manuel Objet de type element_indic_manuel. Indicateur manuel à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. CIGR Université de la Méditerranée 24 tdb-ssi@medecine.univmed.fr

25 Description TDB-SSI Les extensions Méthode qui permet d'ajouter ou de mettre à jour une donnée à saisie manuelle dans la base ainsi que l'indicateur manuel qui l'audite save_indic_moyen_direct (element_indic_moy_direct $indic_moy_dir) bool save_indic_moyen_direct(element_indic_moy_direct $indic_moy_dir) Paramètres Type Nom Description element_indic_moy_direct $indic_moy_dir Objet de type element_indic_moy_direct. Indicateur de moyen direct à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. Description Méthode permettant d'ajouter ou de mettre à jour un indicateur de moyen direct dans la base save_indic_si_auto (element_si_auto $indic_si_auto) bool save_indic_si_auto(element_indic_si_auto $indic_si_auto) Paramètres Type Nom Description element_indic_si_auto $indic_si_auto Objet de type element_indic_si_auto. Indicateur de SI à collecte automatique à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. Description Méthode permettant d'ajouter ou de mettre à jour un indicateur de SI à collecte automatique dans la base. CIGR Université de la Méditerranée 25 tdb-ssi@medecine.univmed.fr

26 save_modele (element_modele $modele) bool save_modele(element_modele $modele) Paramètres Type Nom Description element_modele $modele Objet de type element_modele. Modèle d'indicateur à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. Description Méthode permettant d'ajouter ou de mettre à jour un modèle d'indicateur dans la base save_source (element_source $source) bool save_source(element_source $source) Paramètres Type Nom Description element_source $source Objet de type element_source. Source à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. Description Méthode permettant d'ajouter ou de mettre à jour une source dans la base. CIGR Université de la Méditerranée 26 tdb-ssi@medecine.univmed.fr

27 save_ss_theme (element_ss_theme $ss_theme) bool save_ss_theme(element_ss_theme $ss_theme) Paramètres Type Nom Description element_ss_theme $ss_theme Objet de type element_ss_theme. Sous-thème à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. Description Méthode permettant d'ajouter ou de mettre à jour un sous-theme dans la base save_theme (element_theme $theme) bool save_theme(element_theme $theme) Paramètres Type Nom Description element_theme $theme Objet de type element_theme. Thème à sauver. Valeur de retour : bool La méthode renvoie True en cas de réussite et False en cas d'échec. Description Méthode permettant d'ajouter ou de mettre à jour un thème dans la base. CIGR Université de la Méditerranée 27 tdb-ssi@medecine.univmed.fr

28 set_version_ext (string $version_ext) void set_version_ext (string $version_ext) Paramètres Type Nom Description string $version_ext Version de l'extension. Valeur de retour : void Description Setter de l'attribut $version. Cette méthode permet de renseigner la version correspondant au fichier d'extension en cours d'exécution signaler_erreur($message_erreur) void signaler_erreur (string $message_erreur) Paramètres Type Nom Description string $message_erreur Message d'erreur à afficher Valeur de retour : void Description Cette méthode permet de signaler une erreur à l'exécution du plugin. Le message d'erreur passé en paramètre sera affiché à la sortie de la fonction exec_plugin(). CIGR Université de la Méditerranée 28 tdb-ssi@medecine.univmed.fr

29 signaler_warning($message_erreur) void signaler_warning (string $message_erreur) Paramètres Type Nom Description string $message_erreur Message d'avertissement à afficher Valeur de retour : void Description Cette méthode permet de signaler un warning à l'exécution du plugin. Le message d'erreur passé en paramètre sera affiché à la sortie de la fonction exec_plugin() La fonction exec_plugin() array exec_plugin() Valeur de retour : array Tableau associatif contenant des informations sur le résultat de l'exécution du plugin. Le tableau tableau associatif possède 4 champs (ou clés) : 'etat' : Booléen indiquant la réussite ou l'échec de l'exécution du plugin. 'version_ext' : String, version de l'extension exécutée. 'message_erreur' : String, message généré par une éventuelle erreur au cours de l'exécution. 'warning' : Booléen indiquant si l'exécution du plugin a donné lieu à un warning. Description Cette fonction est en marge de l' API, il s'agit en effet d'une spécification que chaque fichier d'extension doit implémenter. Son rôle est d'encapsuler l'ensemble du code du fichier d'une extension et de tenir informé l'application du résultat de l'exécution du plugin. Vous devrez fournir la valeur de retour de la fonction en utilisant la méthode get_resultat_exec() de l'objet de la classe PLUGIN de l'extension. CIGR Université de la Méditerranée 29 tdb-ssi@medecine.univmed.fr

30 5 L'API du module de collecte 5.1 La classe COLLECTE La classe COLLECTE représente l'api de développement d'extensions du module Collecte, elle permet de construire le fichier correspondant à une «source» d'une extension. Cette classe fournit un ensemble de méthodes permettant de collecter les valeurs des indicateurs associés à une source identifiée construct (string $code_ext, int $num_source) construct (string $code_ext, int $num_source) Paramètres Type Nom Description string $code_ext Code de l'extension de la source. int $num_source Numéro de la source dans l'extension. Description Constructeur de la classe COLLECTE find_derniere_valeur_donnee (int $num_donnee, string $champ [, string $code_si = NULL] [, string $code_ext = NULL]) string bool find_derniere_valeur_donnee (int $num_donnee, string $champ [, string $code_si = NULL] [, string $code_ext = NULL]) Paramètres Type Nom Description int $num_donnee Numéro de la donnée dans l'extension string $champ Information voulue à propos de la dernière valeur: 'valeur' ou 'date'. String $code_si Paramètre optionnel. String $code_ext Paramètre optionnel. Code du SI de la donnée. Valeur par défaut : NULL, la méthode se servira du code du SI du serveur de collecte. Code de l'extension d'origine de la donnée. Valeur par défaut : NULL, la méthode se servira du code extension courant de l'objet COLLECTE instancié. CIGR Université de la Méditerranée 30 tdb-ssi@medecine.univmed.fr

31 Valeur de retour : string bool TDB-SSI Les extensions Date ou valeur de la dernière valeur enregistrée de la donnée. Renvoie FALSE si aucune valeur n'est enregistrée pour le numéro de donnée. Description Méthode qui selon le paramètre $champ fourni('valeur' ou 'date'), recherche et renvoie la dernière valeur ou bien la date de dernière valeur d'une donnée. Remarque : Cette méthode ne doit être utilisée que dans le cas de données générées par une extension. Si la donnée a été créée via l'interface WEB du tableau de bord, vous pouvez récupérer la dernière valeur de l'indicateur qui l'audite en utilisant la méthode find_derniere_valeur_indic_existant(...) find_derniere_valeur_indic_existant (int $num_id_indic, string $champ [, string $code_si = NULL] ) string bool find_derniere_valeur_indic_existant (int $num_id_indic, string $champ [, string $code_si = NULL]) Paramètres Type Nom Description int $num_id_indic Numéro ID auto-incrémenté de l'indicateur string $champ Information voulue à propos de la dernière valeur: 'valeur' ou 'date'. String $code_si Paramètre optionnel. Code du SI de l'indicateur. Valeur par défaut : NULL, la méthode se servira du code du SI du serveur de collecte. Valeur de retour : string bool Date ou valeur de la dernière valeur enregistrée de l'indicateur. Renvoie FALSE si aucune valeur n'est enregistrée pour le numéro ID indicateur. Description Cette méthode fonctionne peu importe le type d'indicateur ou son extension d'origine. L'inconvénient de cette méthode est qu'il faut d'abord récupérer le numéro ID de l'indicateur existant, ce dernier a été créé automatiquement par la base de données. Le numéro ID d'un indicateur est visible dans la partie 'Administration' de l'interface WEB du TDB. Remarque: Cette méthode est l'unique moyen de récupérer la valeur d'un indicateur de moyen direct ou bien celle d'un indicateur manuel créé via l'interface WEB du tableau de bord et non via une extension. CIGR Université de la Méditerranée 31 tdb-ssi@medecine.univmed.fr

32 5.1.4 find_derniere_valeur_indic_moyen_modele (int $num_modele, int $num_moy, string $champ) string bool find_derniere_valeur_indic_moyen_modele (int $num_modele, int $num_moy, string $champ Paramètres Type Nom Description int $num_modele Numéro du modèle dans l'extension Int $num_moy Numéro du moyen audité string $champ Information voulue à propos de la dernière valeur: 'valeur' ou 'date'. Valeur de retour : string bool Date ou valeur de la dernière valeur enregistrée de l'indicateur. Renvoie FALSE si aucune valeur n'est enregistrée pour l'indicateur correspondant au num_modele et au num_moyen choisis. Description Méthode qui selon le paramètre $champ fourni('valeur' ou 'date'), recherche et renvoie la dernière valeur ou bien la date de dernière valeur d'un indicateur de moyen par modèle issu de cette extension find_derniere_valeur_indic_si_auto (int $num_indic, string $champ [, string $code_si = NULL] [, string $code_ext = NULL]) string bool find_derniere_valeur_indic_si_auto (int $num_indic, string $champ [, string $code_si = NULL] [, string $code_ext = NULL]) Paramètres Type Nom Description int $num_indic Numéro de l'indicateur de SI automatique dans l'extension string $champ Information voulue à propos de la dernière valeur: 'valeur' ou 'date'. String $code_si Paramètre optionnel. String $code_ext Paramètre optionnel. Code du SI de l'indicateur. Valeur par défaut : NULL, la méthode se servira du code du SI du serveur de collecte. Code de l'extension d'origine de l'indicateur. Valeur par défaut : NULL, la méthode se servira du code extension courant de l'objet COLLECTE instancié. CIGR Université de la Méditerranée 32 tdb-ssi@medecine.univmed.fr

33 Valeur de retour : string bool TDB-SSI Les extensions Date ou valeur de la dernière valeur enregistrée de l'indicateur. Renvoie FALSE si aucune valeur n'est enregistrée pour le numéro de l'indicateur. Description Méthode qui selon le paramètre $champ fourni('valeur' ou 'date'), recherche et renvoie la dernière valeur ou bien la date de dernière valeur d'un indicateur de SI à collecte automatique get_nb_indics_moyen_dir () int get_nb_indics_moyen_dir () Valeur de retour : int Nombre d'enregistrements existant dans le tableau $tab_indics_moyen_dir. Description Getter de l'attribut $nb_indics_moyen_dir. L'attribut $nb_indics_moyen_dir correspond au nombre d'enregistrements existant dans le tableau $tab_indics_moyen_dir. Ce tableau contient les indicateurs de moyen direct actifs pour ce SI, cette source et le groupe_externe passé en paramètre dans la méthode load_tab_indics_moyen_dir(...) get_nb_moy_audites_par_modele () int get_nb_moy_audites_par_modele () Valeur de retour : int Nombre d'enregistrements existant dans le tableau $tab_moy_audites_par_modele. Description Getter de l'attribut $nb_moy_audites_par_modele. L'attribut $nb_moy_audites_par_modele correspond au nombre d'enregistrements existant dans le tableau $tab_moy_audites_par_modele. Le tableau reçoit les moyens de ce SI audités par au moins un indicateur actif lié à un modèle ayant ce fichier comme source. CIGR Université de la Méditerranée 33 tdb-ssi@medecine.univmed.fr

34 5.1.8 get_rep_donnees_tdb () string get_rep_donnees_tdb () Valeur de retour : string Répertoire où sont enregistrées les données du module de collecte du tableau de bord Description Getter de l'attribut rep_donnees_tdb. Cette méthode renvoie le répertoire où sont enregistrées les données du module de collecte du tableau de bord, l'emplacement de ce répertoire est configuré dans le fichier config_tdb.php get_si_serveur () string get_si_serveur () Valeur de retour : string Code du SI rattaché au serveur de collecte. Description Getter de l'attribut $si_serveur. Cette méthode renvoie le code du SI rattaché au serveur de collecte, ce code est configuré dans le fichier config_tdb.php get_tab_indics_moyen_dir (int $i, string $champ) mixed get_tab_indics_moyen_dir (int $i, string $champ) Paramètres Type Nom Description int $i Indice de l'enregistrement voulu dans le tableau $tab_indics_moyen_dir string $champ Champ voulu du sous-tableau associatif. Deux clés sont possibles: 'num_id_indic' et 'id_externe' CIGR Université de la Méditerranée 34 tdb-ssi@medecine.univmed.fr

35 Valeur de retour : mixed TDB-SSI Les extensions Numéro ID de l'indicateur ou bien identifiant externe de l'indicateur. Si le champ passé en paramètre n'est ni 'num_id_indic' ni 'id_externe', la méthode renvoie FALSE. Description Getter de l'attribut $tab_indics_moyen_dir. $tab_indics_moyen_dir est un tableau bi-dimensionnel indice/associatif des indicateurs de moyen direct actifs pour ce SI, cette source et le groupe_externe passé en paramètre dans la méthode load_tab_indics_moyen_dir(...). Champs de la dimension associative: 'num_id_indic', 'id_externe' Remarque : Le tableau est vide lorsque l'objet COLLECTE est instancié, il est nécessaire de le charger avec la méthode load_tab_indics_moyen_dir get_tab_moy_audites_par_modele (int $i, string $champ) mixed get_tab_moy_audites_par_modele (int $i, string $champ) Paramètres Type Nom Description int $i Indice de l'enregistrement voulu dans le tableau $tab_moy_audites_par_modele string $champ Champ voulu du sous-tableau associatif. Deux clés sont possibles: 'num' et 'ip'. Valeur de retour : mixed Numéro ou adresse ip du moyen (selon le champ passé en paramètre). Si le champ passé en paramètre n'est ni 'num' ni 'ip', la méthode renvoie FALSE. Description Getter de l'attribut $tab_moy_audites_par_modele. $tab_moy_audites_par_modele est un tableau bi-dimensionnel indice/associatif('num','ip') Le tableau reçoit les moyens de ce SI audités par un indicateur actif lié à un modèle passé en paramètre à la méthode load_tab_moy_audites_par_modele. Remarque : Le tableau est vide lorsque l'objet COLLECTE est instancié, il est nécessaire de le charger avec la méthode load_tab_moy_audites_par_modele CIGR Université de la Méditerranée 35 tdb-ssi@medecine.univmed.fr

36 get_tab_moy_audites_par_indic_dir (int $i, string $champ) mixed get_tab_moy_audites_par_indic_dir (int $i, string $champ) Paramètres Type Nom Description int $i Indice de l'enregistrement voulu dans le tableau $tab_moy_audites_par_indic_dir string $champ Champ voulu du sous-tableau associatif. Deux clés sont possibles: 'num' et 'ip'. Valeur de retour : mixed Numéro ou adresse ip du moyen (selon le champ passé en paramètre). Si le champ passé en paramètre n'est ni 'num' ni 'ip', la méthode renvoie FALSE. Description Getter de l'attribut $tab_moy_audites_par_indic_dir. $tab_moy_audites_par_indic_dir est un tableau bi-dimensionnel indice/associatif('num','ip') Le tableau reçoit les moyens de ce SI audités par au moins un indicateur actif de moyen direct lié à cette source. Remarque : Le tableau est vide lorsque l'objet COLLECTE est instancié, il est nécessaire de le charger avec la méthode load_tab_moy_audites_par_indic_dir get_tdb_connec () ressource get_tdb_connec() Valeur de retour : ressource Ressource de connexion à la base de données du tableau de bord. Description Getter de l'attribut tdb_connec. Cette méthode renvoie une ressource de connexion à la base de données du tableau de bord. Remarque : cette méthode n'est utile que dans des cas très spécifiques où les indicateurs de l'extension développée puisent leurs valeurs dans des éléments du tableau de bord lui-même. CIGR Université de la Méditerranée 36 tdb-ssi@medecine.univmed.fr

37 insert_valeur_indic_moyen_direct (int $indice_tab_indic_moy_dir, string $valeur [, string $rapport = NULL]) void insert_valeur_indic_moyen_direct (int $indice_tab_indic_moy_dir, string $valeur [, string $rapport = NULL]) Paramètres Type Nom Description int $indice_tab_indic_moy_dir Indice correspondant à l'indicateur dans le tableau $tab_indics_moyen_dir string $valeur Valeur de l'indicateur. string $rapport Paramètre optionnel. Rapport accompagnant la valeur de l'indicateur. Valeur de retour : void Description Méthode qui insère la valeur de l' indicateur de moyen direct se trouvant dans le tableau tab_indic_moy_dir à l'indice passé en paramètre. CIGR Université de la Méditerranée 37 tdb-ssi@medecine.univmed.fr

38 insert_valeur_indic_moy_dir_par_id_ext($id_externe, $groupe_externe, $valeur, [$log_if_not_exists = FALSE], [$rapport = NULL] ) void insert_valeur_indic_moy_dir_par_id_ext(string $id_externe, string $groupe_externe, string $valeur, bool $log_if_not_exists = FALSE, string $rapport = NULL ) Paramètres Type Nom Description string $id_externe ID externe de l'indicateur string $groupe_externe Groupe externe d'appartenance de l'indicateur string $valeur Valeur de l'indicateur. bool $log_if_not_exists Paramètre optionnel. string $rapport Paramètre optionnel. Log d'un warning si aucun indicateur actif ne correspond aux paramètres. Rapport accompagnant la valeur de l'indicateur. Valeur de retour : void Description Méthode qui insère la valeur de l'indicateur de moyen direct issu de l'extension et de la source en cours dont l'id_externe et le groupe externe sont ceux passés en paramètre. CIGR Université de la Méditerranée 38 tdb-ssi@medecine.univmed.fr

39 insert_valeur_indic_moyen_modele (int $num_modele, int $num_moy, string $valeur [, string $rapport = NULL]) void insert_valeur_indic_moyen_modele (int $num_modele, int $num_moy, string $valeur [, string $rapport = NULL]) Paramètres Type Nom Description int $num_modele Numéro du modèle dans l'extension int $num_moy Numéro du moyen audité string $valeur Valeur de l'indicateur. string $rapport Paramètre optionnel. Rapport accompagnant la valeur de l'indicateur. Valeur de retour : void Description Méthode qui insère la valeur d'un indicateur de moyen lié à un modèle associé à cette source insert_valeur_indic_si_auto (int $num_indic, string $valeur [, string $rapport = NULL]) void insert_valeur_indic_si_auto(int $num_indic, string $valeur [, string $rapport = NULL]) Paramètres Type Nom Description int $num_indic Numéro de l'indicateur de SI automatique dans l'extension. string $valeur Valeur de l'indicateur. string $rapport Paramètre optionnel. Rapport accompagnant la valeur de l'indicateur. Valeur de retour : void Description Méthode qui insère la valeur d'un indicateur de SI automatique associé à cette source. CIGR Université de la Méditerranée 39 tdb-ssi@medecine.univmed.fr

40 load_tab_indics_moyen_dir (string $groupe_externe) void load_tab_indics_moyen_dir (string $groupe_externe) Paramètres Type Nom Description string $groupe_externe Groupe externe d'appartenance de l'indicateur Valeur de retour : void Description Méthode qui charge le tableau $tab_indics_moyen_dir avec les données en base. $tab_indics_moyen_dir est un tableau bi-dimensionnel indice/associatif des indicateurs de moyen direct actifs pour cette source et le groupe_externe passé en paramètre Champs de la dimension associative: 'num_id_indic', 'id_externe' load_tab_moy_audites_par_modele (int $num_modele) void load_tab_moy_audites_par_modele (int $num_modele) Paramètres Type Nom Description int $num_modele Numéro du modèle voulu dans l'extension. Valeur de retour : void Description Méthode qui charge le tableau $tab_moy_audites_par_modele avec les données en base. $tab_moy_audites_par_modele est un tableau bi-dimensionnel indice/associatif('num','ip'). La méthode charge le tableau avec les moyens de ce SI audités par un indicateur actif lié au modèle passé en paramètre. CIGR Université de la Méditerranée 40 tdb-ssi@medecine.univmed.fr

41 log_erreur (string $message_erreur) void log_erreur(string $message_erreur) Paramètres Type Nom Description string $message_erreur Message de l'erreur à écrire dans les logs de l'application. Valeur de retour : void Description Méthode qui ajoute un message d'erreur aux logs de l'application. 5.2 La fonction exec_collecte() void exec_collecte() Valeur de retour : void Description Cette fonction est en marge de l' API, il s'agit en effet d'une spécification que chaque fichier de source doit implémenter. Son unique rôle est en effet d'encapsuler l'ensemble du code du fichier d'une source. Cette fonction n'a aucune valeur de retour. CIGR Université de la Méditerranée 41 tdb-ssi@medecine.univmed.fr

42 6 Structure des fichiers d'une extension 6.1 Structure d'un fichier d'extension (module WEB) Comme nous l'avons vu, ce fichier du module WEB a pour rôle de créer des indicateurs (ou modèles d'indicateurs) ainsi que tous les éléments qui sont nécessaires à leur fonctionnement. La structure de ce fichier est commune à toutes les extensions. Etape 1 : Déclaration de la fonction exec_plugin() qui encapsulera tout le code de l'extension. Etape 2 : Instanciation d'un objet de type PLUGIN et renseignement de la version de l'extension via la méthode set_version_ext de l'objet plugin. Etape 3 : Instanciation d'un objet ELEMENT_SOURCE, définition de ses propriétés et sauvegarde de l'élément via la méthode save_source de l'objet plugin (cette étape est répétable si l'extension crée plusieurs sources) Etape 4 (facultative) : Instanciation d'un objet ELEMENT_THEME, définition de ses propriétés et sauvegarde de l'élément via la méthode save_theme de l'objet plugin (cette étape est facultative étant donné que la création d'un thème n'est pas obligatoire). Etape 5 : Instanciation d'un objet ELEMENT_SS_THEME, définition de ses propriétés et sauvegarde de l'élément via la méthode save_ss_theme de l'objet plugin (cette étape est répétable si l'extension crée plusieurs sous-thèmes). Etape 6 : Instanciation d'un élément indicateur (ELEMENT_INDIC_XXX) ou d'un élément modèle d'indicateur (ELEMENT_MODELE), définition des ses propriétés et sauvegarde de l'élément via la méthode save_xxx correspondant au type d'indicateur (cette étape est répétable pour chaque indicateur ou modèle d'indicateur créé). Etape 7 : Affectation de la valeur de retour de la fonction exec_plugin() en utilisant la méthode get_resultat_exec() de l'objet plugin. Fermeture de la fonction. CIGR Université de la Méditerranée 42 tdb-ssi@medecine.univmed.fr

43 6.2 Structure d'un fichier d'une source (module de collecte) Ce fichier du module de collecte a pour rôle d assurer la collecte des valeurs des indicateurs qui lui sont associés. La structure de ce fichier comporte des étapes commune à toutes les sources. Néanmoins, la récupération de la valeur d'un indicateur reste un traitement spécifique à chaque source selon l'outil externe utilisé. Etape 1 : Déclaration de la fonction exec_collecte() qui encapsulera tout le code de l'extension. Etape 2 : Instanciation d'un objet de type COLLECTE. Etape 3 : Repérage des indicateurs dont la source doit collecter la valeur. Cette étape est très simple pour les indicateurs de SI automatique puisqu'on connait le numéro qu'on leur a directement attribué dans le fichier d'extension du module WEB. Pour les indicateurs auditant des moyens, il faudra par contre utiliser des outils fournis par la classe COLLECTE afin d'y parvenir : Cas des indicateurs de moyen par modèle : Vous connaissez les modèles que l'extension a créé dans le fichier du module WEB (avec leurs numéros respectifs que vous leur avez attribué) mais pas les indicateurs qui ont été créés par la suite en associant ce modèle à un moyen du SI. La méthode load_tab_moy_audites_par_modele($num_modele) permet de récupérer les numéros et les adresses IP de tous les moyens audités par un indicateur lié au modèle passé en paramètre. Pour chaque moyen du tableau, on peut alors récupérer la valeur de l'indicateur (il n'existe qu'un seul indicateur pour un modèle et un moyen donné). Cas des indicateurs de moyen directs : Les indicateurs de moyen direct sont créés dynamiquement en interrogeant une base de donnés externe, vous ne les connaissez donc pas. La méthode load_tab_indics_moy_dir($groupe_externe) permet de récupérer tous les indicateurs de moyen direct actifs créés dynamiquement en utilisant le groupe externe passé en paramètre. Etape 4 : Récupération de la valeur de chaque indicateur. Cette étape est spécifique à chaque fichier source, elle dépend des outils externes utilisés et de la solution retenue afin d'obtenir l'information. Etape 5 : Insertion de la valeur obtenue à l'étape précédente pour chaque indicateur ciblé. Cette insertion se fait via la méthode de l'objet Collecte insert_valeur_indic_xxx correspondant au type de l'indicateur. Etape 6 : Fermeture de la fonction exec_collecte() (cette fonction ne comporte pas de valeur de retour). CIGR Université de la Méditerranée 43 tdb-ssi@medecine.univmed.fr

44 7 Tutoriel : Développer une extension La lecture des chapitres 2, 3 et 6 est nécessaire afin de suivre ce tutoriel. Elle vous permettra en effet de connaître la structure d'une extension et de savoir à quoi correspondent les éléments qu'elle crée. Vous pouvez vous reporter ponctuellement à la documentation sur l'api afin d'avoir plus d'informations sur une méthode particulière d'une classe. 7.1 Environnement de développement Les avantages du développement d'une extension avec un IDE Comme pour toute application PHP, vous pouvez développer une extension avec n'importe quel éditeur de texte. Néanmoins, l'utilisation d'un IDE (environnement de développement intégré) offre plusieurs avantages : Bénéficier de l'auto-complétion : L'auto-complétion vous permet d'accéder automatiquement à la liste des méthodes et propriétés publiques d'un objet. Vous n'avez donc pas à retenir la syntaxe des méthodes et propriétés des classes de l' API, l' IDE vous les proposera automatiquement. Bénéficier de la PHPDOC : Pour chaque méthode ou propriété affichée via l'auto-complétion, l' IDE affiche également sa documentation au format PHPDOC. Vous aurez donc à votre disposition toutes les informations vous permettant de choisir l'élément adapté à votre besoin et de savoir comment l'utiliser. Bénéficier de la correction syntaxique : Toute erreur syntaxique PHP sera automatiquement indiquée par l' IDE Comment développer une extension en local avec un IDE? Choisissez, téléchargez et installez un IDE Il faut dans un premier temps télécharger et installer l'ide sur sa machine. Deux IDE libres, gratuits et multi-plateformes sont disponibles pour développer en PHP : Netbeans et Eclipse. Les captures d'écran du paragraphe suivant sont issues de Netbeans. Veuillez vous référer à la documentation de l'ide choisi pour plus d'informations. Préparez le dossier qui contiendra le projet de développement de plugin. Créez un nouveau dossier sur votre machine que vous nommerez par exemple dev-plugin. Copiez à l'intérieur de ce dossier les fichiers du tableau de bord correspondant à son API, à savoir : Les fichiers du répertoire tdb-web/site/modules/admin/api Le fichier tdb-collecte/lib/class_collecte.php CIGR Université de la Méditerranée 44 tdb-ssi@medecine.univmed.fr

45 Créez un nouveau projet PHP dans l'ide. Dans l'ide, choisissez de créer un nouveau projet PHP avec des sources déjà existantes en indiquant le dossier dev-plugin que vous avez précédemment créé (NB : les fichiers PHP de l'application sont encodés en ISO ). Créez les fichiers PHP qui constitueront votre extension dans le dossier du projet. Une fois que vous aurez développé l'extension, il faudra copier les fichiers de l'extension sur le(s) serveur(s) du tableau de bord dans les modules WEB et collecte à leur emplacement prévu afin de les tester : Le répertoire tdb-web/site/plugin pour le fichier d'extension de la forme plg-xxx.php Le répertoire tdb-collecte/sources pour le fichier de la source de l'extension de la forme <code_extension><num_source>.php (ou les fichiers des sources s'il y en a plusieurs) Développer avec un IDE : Captures d'écran Image 1 :Auto-complétion proposée pour un objet de la classe PLUGIN CIGR Université de la Méditerranée 45 tdb-ssi@medecine.univmed.fr

46 Image 2 : Auto-complétion proposée pour un objet de la classe ELEMENT_INDIC_SI_AUTO 7.2 Présentation du cas fictif servant d'exemple au cours de ce tutoriel Un logiciel de votre parc nommé «Safe Data», pilote votre robot de sauvegarde, vous avez remarqué que les sauvegardes incrémentielles nocturnes échouaient ponctuellement. Vous aimeriez qu'un indicateur du tableau de bord remonte quotidiennement les éventuelles erreurs de sauvegarde. C'est à travers ce cas fictif que nous allons voir comment développer une extension. 7.3 Création du fichier d'extension sur le serveur WEB du tableau de bord Définition de (des) l'indicateur(s) en fonction de vos besoins Cette étape est fortement liée à l'expression des besoins qui vous poussent à vouloir développer une extension. Vous devez déterminer précisément les caractéristiques des indicateurs que vous voulez créer. Dans notre exemple, nous voulons que l'indicateur représente chaque jour l'absence ou la présence d'erreur au cours de la dernière sauvegarde. Nous pouvons donc déterminer son libellé, le type de sa valeur (entier valant 0 ou 1), la périodicité de collecte de sa valeur (quotidienne), son niveau de visibilité (opérationnel)... Il faut maintenant définir le type de l'indicateur en suivant l'arbre de décision donné au chapitre 2. Est-ce que l'indicateur concerne un moyen précis ou l'ensemble du SI? Si l'élément qui fournira la valeur de l'indicateur est bel et bien un moyen identifiable (le serveur sur CIGR Université de la Méditerranée 46 tdb-ssi@medecine.univmed.fr

47 lequel le logiciel Safe Data est installé), l'indicateur porte quant à lui sur l'ensemble du SI puisqu'il concerne les erreurs de sauvegarde. Il s'agit donc d'un indicateur de SI à collecte automatique puisque vous ne voulez pas saisir l'information mais la récupérer de manière automatisée Détermination des propriétés des éléments de l'extension Vous devez déterminer les propriétés de chaque élément composant votre extension. Choisissez un code et un nom pour votre extension. Pour notre exemple, prenons «safdat» et «Safe Data». Déterminez les propriétés de la source (au minimum le libellé, la périodicité de collecte, collecte en nocturne ou pas). Pour notre cas fictif : «Safe Data», «jour» (nous voulons que la collecte soit quotidienne) et 0 (nous voulons que la collecte soit diurne pour que la sauvegarde nocturne effectuée par Safe data soit terminée). Choisissez les propriétés d'un sous-thème (au minimum un libellé). Nous choisirons «Etat des sauvegardes» pour notre exemple. Nous ne créerons pas de thème. Déterminez les propriétés que vous désirez pour l'indicateur de SI à collecte automatique (libellé, niveau de visibilité, indice d'alarme, opérateur seuil et valeur seuil, valeur cible, représentation graphique par défaut, etc...) Développement du fichier de l'extension Il faut tout d'abord créer le fichier PHP dont le nom est de la forme plg-<code_extension>.php. Dans notre exemple ce sera donc «plg-safdat.php». Le code du fichier respectera la structure indiquée dans le chapitre 6.1. <?php Etape 1 : Ouverture de la fonction exec_plugin() function exec_plugin() { Etape 2 : Instanciation d'un objet de type PLUGIN et renseignement de la version de l'extension via la méthode set_version_ext de l'objet plugin. $mon_plugin = new plugin('safdat'); $mon_plugin->set_version_ext('1.0'); //Ce code de version permettra de suivre d'éventuelles modifications sur votre extension Etape 3 : Instanciation de l'objet element_source, définition de ses propriétés et enregistrement de la source. $source = new element_source(); $source->num_source = 1; //numéro ordinal, première source de l'extension $source->lib_source = "Safe Data"; $source->description_source = NULL; $source->perio_collecte = "jour"; $source->collecte_nocturne = 0; //Enregistrement de la source $mon_plugin->save_source($source); CIGR Université de la Méditerranée 47 tdb-ssi@medecine.univmed.fr

48 Etape 4 : Instanciation de l'objet element_ss_theme, définition de ses propriétés et enregistrement du sous-thème. $ss_theme = new element_ss_theme(); $ss_theme->num_ss_theme = 1; //numéro ordinal, premier sous-thème de l'extension $ss_theme->lib_ss_theme = "Etat des sauvegardes"; $ss_theme->theme = NULL; //Enregistrement du sous-thème $mon_plugin->save_ss_theme($ss_theme); Etape 5 : Instanciation de l'objet element_indic_si_auto, définition de ses propriétés et enregistrement de l'indicateur. $indic_si_auto1 = new element_indic_si_auto(); $indic_si_auto1->num_indic = 1;//premier indicateur de SI automatique de l'extension $indic_si_auto1->ind_alarme = 2; //alarme de niveau moyen $indic_si_auto1->code_type_val = 'int'; // La valeur de l'indicateur sera 0 ou 1 $indic_si_auto1->code_niv = 'ope'; //L'indicateur concerne le niveau opérationnel $indic_si_auto1->code_graph = 'cour'; // graphique par défaut : courbe $indic_si_auto1->code_histo = 'an'; //Les valeurs seront conservées 1 an en base $indic_si_auto1->lib_indic = 'Déroulement de la dernière sauvegarde'; $indic_si_auto1->description_indic = NULL; $indic_si_auto1->comment_indic = "Signification des valeurs : 0 = La dernière sauvegarde s'est correctement déroulée ". "/ 1 = Warning(s) ou erreur(s) lors de la dernière sauvegarde"; $indic_si_auto1->unite = NULL; $indic_si_auto1->valeur_seuil = 1;//L'alarme se déclenche si la valeur = 1 $indic_si_auto1->operateur_seuil = '='; //L'alarme se déclenche si la valeur = 1 $indic_si_auto1->valeur_cible = 0; $indic_si_auto1->priorite = 0; //La priorité d'affichage est utile si l'extension crée plusieurs indicateurs $indic_si_auto1->value_change_saving = 0; //Méthode de sauvegarde de la valeur : normale $indic_si_auto1->ind_conf = 0; //L'indice de confidentialité est minimal $indic_si_auto1->envoi_ = 0; //L'indicateur ne génère pas d'envoi d' $indic_si_auto1->generation_rapport = 1; //L'indicateur génèrera un rapport $indic_si_auto1->source = $source; $indic_si_auto1->ss_theme = $ss_theme; //Enregistrement de l'indicateur de SI auto1 $mon_plugin->save_indic_si_auto($indic_si_auto1); CIGR Université de la Méditerranée 48 tdb-ssi@medecine.univmed.fr

49 Etape 6 : Affectation de la valeur de retour de la fonction exec_plugin() par la méthode get_resultat_exec() de l'objet plugin. Fermeture de la fonction. //Retour du résultat de l'exécution du plugin return $mon_plugin->get_resultat_exec(); }?> Etape 7 : Copiez le fichier plg-safdat.php sur le serveur WEB dans le répertoire tdbweb/site/plugins afin de pouvoir le tester. NB : Lorsque vous souhaitez qu' une propriété facultative d'un élément n'ait pas de valeur, vous pouvez soit ne lui donner aucune valeur, soit lui donner la valeur NULL, soit lui donner la valeur '' (chaine de caractères vide). 7.4 Création du fichier d'une source sur le serveur de collecte du tableau de bord Trouver le moyen de récupérer la valeur des indicateurs associés à une source En tout premier lieu, il faut trouver comment le fichier d'une source peut accéder aux valeurs des indicateurs qui lui sont associés. Cette étape dépend de l'outil externe utilisé pour cette extension. De quels moyens dispose-t-il afin d'extraire de l'information? Une API? Une base de données? La lecture de la documentation de cet outil reste la meilleure source d'information. Dans notre cas fictif, la documentation de l'application Safe Data nous indique qu'il existe une commande SHELL nommée «operrors» qui renvoie les erreurs de sauvegarde pour une période que l'on peut indiquer en option. Cette commande est le moyen d'obtenir notre information. Il faut que le serveur de collecte se connecte sur le serveur Safe Data, exécute la commande avec les options voulues et récupère les erreurs. La mise en place de cette opération implique des opérations système et réseau que nous ne traiterons pas ici : accès réseau, gestion des droits d'accès, création d'un compte utilisateur spécifique au serveur de collecte sur le serveur Safe Data etc... CIGR Université de la Méditerranée 49 tdb-ssi@medecine.univmed.fr

50 7.4.2 Développement du fichier de la source Il faut tout d'abord créer le fichier PHP dont le nom est de la forme <code_extension><numero_source>.php. Dans notre exemple ce sera donc «safdat1.php». Le code du fichier respectera la structure indiquée dans le chapitre 6.2. <?php Etape 1 : Déclaration de la fonction exec_collecte() qui encapsulera tout le code de l'extension. function exec_collecte() { Etape 2 : Instanciation d'un objet de type COLLECTE. $code_ext = 'safdat'; $num_source = 1; $ma_collecte = new collecte($code_ext,$num_source); Etape 3 : Repérage des indicateurs dont la source doit collecter la valeur. Dans notre cas, c'est facile, l'extension n'a créé qu'un indicateur de SI automatique dont on connait le numéro (numéro 1 puisque c'est le premier et le seul indicateur de ce type créé par l'extension). $num_indic_sauvegarde = 1; Etape 4 : Récupération de la valeur de l'indicateur. C'est au cours de cette étape que le traitement est différent pour chaque fichier de source. /* Dans notre exemple, le traitement consiste à : Se connecter sur le serveur Safe Data Exécuter la commande operrors. Tester la chaine de caractères retournée. Si elle est vide, la valeur de l'indicateur sera 0, il n'y a eu aucune erreur de sauvegarde, si elle n'est pas vide, la valeur de l'indicateur sera 1, il y a eu des erreurs de sauvegarde, l'indicateur déclenchera une alarme. * Pseudo-traitement spécifique à notre cas fictif : * 1 - connexion au serveur Safe Data * 2 exécution de la commande operrors * 3 La variable $string_erreurs reçoit le résultat de la commande */ if(strlen(trim($string_erreurs)) == 0) $valeur_indic = 0 else $valeur_indic = 1; CIGR Université de la Méditerranée 50 tdb-ssi@medecine.univmed.fr

51 Etape 5 : Insertion de la valeur obtenue à l'étape précédente pour chaque indicateur ciblé. Dans notre cas fictif, nous allons insérer la valeur $valeur_indic obtenue pour notre unique indicateur et nous allons également nous servir de la chaine de caractères $string_erreurs en tant que rapport de l'indicateur. //Insertion de la valeur de l'indicateur $ma_collecte->insert_valeur_indic_si_auto( $num_indic_sauvegarde, $valeur_indic, $string_erreurs); Etape 6 : Fermeture de la fonction exec_collecte(), cette fonction ne comporte pas de valeur de retour. }?> Etape 7 : Copiez le fichier safdat1.php sur le serveur de collecte dans le répertoire tdb-collecte/sources afin de pouvoir le tester. Remarque : N'hésitez pas à tester chaque instruction susceptible de provoquer une erreur (par exemple la connexion à un serveur distant, à une base de données, exécution d'une commande SHELL etc...). Vous pouvez utiliser la méthode log_erreur($message_erreur) de la classe COLLECTE afin d'ajouter un message d'erreur aux logs du module de collecte de TDB-SSI. La méthode de log se charge de formater le message d'erreur, notamment en le préfixant par la date et l'heure actuelle. Par exemple, nous aurions pu écrire au cours de l'étape 4 dans notre exemple : if (!$connexion_serveur) $ma_collecte->log_erreur(«impossible de se connecter au serveur Safe Data!»); CIGR Université de la Méditerranée 51 tdb-ssi@medecine.univmed.fr

52 7.5 Test de votre extension Création de l'extension dans le tableau de bord Afin de pouvoir tester l'extension, il va d'abord falloir la créer via l'interface graphique du tableau de bord dans le menu Accueil > Administration générale > Extensions > Ajouter une extension. Indiquez le code et le libellé de l'extension et créez-la Activation de l'extension pour votre SI Vous pouvez activer l'extension en vous rendant au menu : Accueil > Nom de votre SI > Administration du SI > Activation des extensions Votre extension devrait normalement apparaître dans le tableau des extensions. Si ce n'est pas le cas, il doit y avoir une erreur au niveau du code de l'extension rentré dans l'application ou bien dans le nom du fichier de l'extension. Si un problème survient durant l'exécution du script de votre extension, un message d'erreur indiquant de quel problème il s'agit s'affichera. Image 1 : Exemple de message d'erreur, ici une propriété de l'objet element_source n'est pas valide Image 2 : Activation réussie de l'extension Safe Data. La version de l'extension activée est indiquée. CIGR Université de la Méditerranée 52 tdb-ssi@medecine.univmed.fr

53 7.5.3 Test de la collecte Vous pouvez à partir de l'interface WEB demander une collecte immédiate afin d'exécuter le fichier de la source safdat1.php. Vous pourrez voir les éventuels messages d'erreurs générés par l'exécution de la collecte dans le fichier de log courant de l'application : /var/local/tdb-collecte/collecte.log. CIGR Université de la Méditerranée 53 tdb-ssi@medecine.univmed.fr

TDB-SSI LES EXTENSIONS

TDB-SSI LES EXTENSIONS TDB-SSI LES EXTENSIONS U n i v e r s i t é d e l a M é d i t e r r a n é e F a c u l t é d e M é d e c i n e Projet TDB-SSI Documentation du Tableau de Bord de Sécurité des Systèmes d Information Marseille,

Plus en détail

TDB-SSI Extension OpenVAS

TDB-SSI Extension OpenVAS TDB-SSI Extension OpenVAS U n i v e r s i t é d e l a M é d i t e r r a n é e F a c u l t é d e M é d e c i n e Projet TDB-SSI Documentation du Tableau de Bord de Sécurité des Systèmes d Information Marseille,

Plus en détail

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM Manuel d'utilisation OPTIMALOG 2008 Table des matières I Table des matières Part I Gestionnaire d'alarmes Optim'Alarm

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

Plus en détail

OPTENET DCAgent 2.01. Manuel d'utilisateur

OPTENET DCAgent 2.01. Manuel d'utilisateur OPTENET DCAgent 2.01 Manuel d'utilisateur SOMMAIRE 1. INTRODUCTION...1 2. INSTALLATION...2 3. ÉTABLISSEMENT DES PERMISSIONS...4 Pour de plus amples informations, reportez-vous aux annexes «Conditions requises

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement) HP Data Protector Express Software - Tutoriel 4 Utilisation de Quick Access Control (Windows uniquement) Que contient ce tutoriel? Quick Access Control est une application qui s'exécute indépendamment

Plus en détail

Cédric Gendre Inra, ESR Toulouse

Cédric Gendre Inra, ESR Toulouse ODR, Bases de données administratives à différentes échelles spatiales Cédric Gendre Inra, ESR Toulouse 2èmes journées de recherches en sciences sociales INRA SFER CIRAD 11 & 12 décembre 2008 LILLE, France

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

ETI/Domo. Français. www.bpt.it. ETI-Domo Config 24810150 FR 10-07-144

ETI/Domo. Français. www.bpt.it. ETI-Domo Config 24810150 FR 10-07-144 ETI/Domo 24810150 www.bpt.it FR Français ETI-Domo Config 24810150 FR 10-07-144 Configuration du PC Avant de procéder à la configuration de tout le système, il est nécessaire de configurer le PC de manière

Plus en détail

Définition des Webservices Ordre de paiement par email. Version 1.0

Définition des Webservices Ordre de paiement par email. Version 1.0 Définition des Webservices Ordre de paiement par email Version 1.0 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Historique du document

Plus en détail

Edutab. gestion centralisée de tablettes Android

Edutab. gestion centralisée de tablettes Android Edutab gestion centralisée de tablettes Android Résumé Ce document présente le logiciel Edutab : utilisation en mode enseignant (applications, documents) utilisation en mode administrateur (configuration,

Plus en détail

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée) IBM SPSS Statistics Version 22 Instructions d'installation sous Windows (licence simultanée) Table des matières Instructions d'installation....... 1 Configuration requise........... 1 Installation...............

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

Kaseya 2. Guide de démarrage rapide. pour VSA 6,0

Kaseya 2. Guide de démarrage rapide. pour VSA 6,0 Kaseya 2 Monitoring Configuration Guide de démarrage rapide pour VSA 6,0 June 10, 2010 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private

Plus en détail

Personnalisation Fiche Annuaire

Personnalisation Fiche Annuaire Personnalisation Fiche Annuaire Personnalisation des données de sa fiche annuaire - E.N.T., onglet Mon dossier. Septembre 2012 Version : 1.0.1 Direction Informatique Personnalisation des données de sa

Plus en détail

Mémo d'utilisation de BD Dico1.6

Mémo d'utilisation de BD Dico1.6 Mémo d'utilisation de BD Dico1.6 L'application BDDico a été développée par la Section Cadastre et Géomatique de la RCJU. Son utilisation demeure réservée aux personnes autorisées. Les demandes d'utilisation

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

Peregrine. AssetCenter. Product Documentation. Solution Asset Tracking. Part No. DAC-441-FR38. Build 49

Peregrine. AssetCenter. Product Documentation. Solution Asset Tracking. Part No. DAC-441-FR38. Build 49 Peregrine AssetCenter Product Documentation Solution Asset Tracking Part No. DAC-441-FR38 Build 49 AssetCenter Copyright 2005 Peregrine Systems, Inc. Tous droits réservés. Les informations contenues dans

Plus en détail

PARAGON SYSTEM BACKUP 2010

PARAGON SYSTEM BACKUP 2010 PARAGON SYSTEM BACKUP 2010 Paragon System Backup 2010 2 Manuel d'utilisation SOMMAIRE 1 Introduction...3 1.1 Comment System Backup protège mon ordinateur?...3 1.1.1 Emplacement du stockage des clichés...

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Administration Centrale : Opérations

Administration Centrale : Opérations Administration Centrale : Opérations 2 Administration Centrale Opération 30/01/09 Sommaire 1 Introduction... 3 2 Topologie et services... 4 2.1 Serveurs de la Batterie... 4 2.2 Services sur le Serveur...

Plus en détail

Middleware eid v2.6 pour Windows

Middleware eid v2.6 pour Windows Manuel d'utilisation Middleware eid v2.6 page 1 de 19 Table des matières Introduction...3 Installation...4 Les éléments du logiciel eid...6 Module pour la zone de notification dans la barre des tâches...7

Plus en détail

McAfee Security-as-a-Service

McAfee Security-as-a-Service Guide Solutions de dépannage McAfee Security-as-a-Service Pour epolicy Orchestrator 4.6.0 Ce guide fournit des informations supplémentaires concernant l'installation et l'utilisation de l'extension McAfee

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

GUIDE INTERMINISTERIEL SUR LES SYSTEMES D'INFORMATION ET APPLICATIONS SENSIBLES

GUIDE INTERMINISTERIEL SUR LES SYSTEMES D'INFORMATION ET APPLICATIONS SENSIBLES REPUBLIQUE FRANÇAISE PREMIER MINISTRE Secrétariat Général de la Défense Nationale N 730/ SCSSI Issy-les-Moulineaux, le 13 janvier 1997 GUIDE INTERMINISTERIEL SUR LES SYSTEMES D'INFORMATION ET APPLICATIONS

Plus en détail

Auguria_PCM Product & Combination Manager

Auguria_PCM Product & Combination Manager Auguria_PCM Product & Combination Manager Guide utilisateurs v1.5 Auguria 9, rue Alfred Kastler 44300 NANTES FRANCE +33251135012 contact@auguria.net Plan 1 Description générale du module...3 2 Mise en

Plus en détail

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09 Document FAQ Infrastructure - Capacity planning EXP Page: 1 / 7 Table des matières Détails de la fonctionnalité... 3 I.Généralités... 3 II.Configuration... 3 III.Vue globale des capacités...3 IV.Vue par

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Dans la série. présentés par le site FRAMASOFT

Dans la série. présentés par le site FRAMASOFT Dans la série Les tutoriels libres présentés par le site FRAMASOFT CRÉER DES EXERCICES AVEC JCLIC-AUTHOR Logiciel: JClic-author Plate-forme(s): Linux, Windows, Mac OS X Version: 0.1.1.9 Licence: GNU General

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com Contenu I.Validation (ou inscription) de son adresse chez Google...2 II.Utilisation des fonctionnalités du blog...5 1.Accès

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

Plus en détail

Installation de Windows 2000 Serveur

Installation de Windows 2000 Serveur Installation de Windows 2000 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

Télécharger et Installer OpenOffice.org sous Windows

Télécharger et Installer OpenOffice.org sous Windows Télécharger et Installer OpenOffice.org sous Windows Version Date Auteur Commentaires 1.00 15/11/2008 Denis Bourdillon Création du document. Mise en forme de texte 1/15 Saison 2008-2009 Table des matières

Plus en détail

Installation de Windows 2003 Serveur

Installation de Windows 2003 Serveur Installation de Windows 2003 Serveur Introduction Ce document n'explique pas les concepts, il se contente de décrire, avec copies d'écran, la méthode que j'utilise habituellement pour installer un Windows

Plus en détail

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

Cours: Administration d'une Base de Données

Cours: Administration d'une Base de Données Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Administration d'une Base de Données Table of Contents Principes...1 Structure d'un Base de Données...1 Architecture...1

Plus en détail

Manuel d'utilisation de TURBO Suite Entreprise 2005

Manuel d'utilisation de TURBO Suite Entreprise 2005 Manuel d'utilisation de TURBO Suite Entreprise 2005 Table des matières Généralités... 1 L'interface - les éléments de votre écran... 2 Les fonctions permanentes... 4 Impression... 5 Accueil... 7 Paramétrage

Plus en détail

Mon Compte Epargne Temps (CET) : manuel utilisateur

Mon Compte Epargne Temps (CET) : manuel utilisateur Mon Compte Epargne Temps (CET) : manuel utilisateur Février 2012 Version : 1.0 Direction Informatique Version : 1.0 Date : Février 2012 Editeur : Rédacteurs : Copyright : Université de Strasbourg Sylvie

Plus en détail

Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0

Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0 Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0 Windows Mobile ID DU DOCUMENT : DC01246-01-0100-01 DERNIERE REVISION : Mars 2010 Copyright 2010 Sybase, Inc. Tous droits réservés. Cette publication

Plus en détail

GESTION DES BONS DE COMMANDE

GESTION DES BONS DE COMMANDE GESTION DES BONS DE COMMANDE P1 P2 Table des Matières LA GESTION DES BONS DE COMMANDE 4 PREMIERE EXECUTION DU LOGICIEL 5 DEFINITION DES PARAMETRES 8 Services 9 Comptes Utilisateurs 10 Adresse de livraison

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

Présentation de GnuCash

Présentation de GnuCash Par Jean-Marc St-Hilaire De JMS Informatique Enr. Jean-Marc St-Hilaire a une formation en programmation et en comptabilité (H.E.C.) Cette présentation est disponible à www.jmsinformatique.com/ateliers

Plus en détail

CA ARCserve Backup Patch Manager pour Windows

CA ARCserve Backup Patch Manager pour Windows CA ARCserve Backup Patch Manager pour Windows Manuel de l'utilisateur r16 La présente documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après nommés "Documentation"),

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Table des matières Les éléments à télécharger sont disponibles

Plus en détail

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team

Annexe 5. Kaspersky Security For SharePoint Servers. Consulting Team Annexe 5 Kaspersky Security For SharePoint Servers Consulting Team 2015 K A S P E R S K Y L A B Immeuble l Européen 2, rue 1 Joseph Monier 92859 Rueil Malmaison Cedex Table des matières Table des matières...

Plus en détail

Netissime. [Sous-titre du document] Charles

Netissime. [Sous-titre du document] Charles [Sous-titre du document] Charles Sommaire I. Commandez votre sauvegarde en ligne 2 II. Installation 3-7 III. Utilisation du logiciel de sauvegarde en ligne 8-19 A. Fonctionnement de l application de protection

Plus en détail

Manuel d'utilisation d'apimail V3

Manuel d'utilisation d'apimail V3 Manuel d'utilisation d'apimail V3 I Préambule Page 3 II Présentation Page 4 III Mise en route Configuration Page 5 Messagerie Serveur smtp Serveur pop Compte pop Mot de passe Adresse mail Laisser les messages

Plus en détail

Nécessité de concevoir un outil de recherche PDF... 3. Présentation des fonctionnalités d'indexation et de recherche... 3

Nécessité de concevoir un outil de recherche PDF... 3. Présentation des fonctionnalités d'indexation et de recherche... 3 1 Table des matières Nécessité de concevoir un outil de recherche PDF... 3 Présentation des fonctionnalités d'indexation et de recherche... 3 Architecture IFilter... 4 Performances et extensibilité : des

Plus en détail

v7.1 SP2 Guide des Nouveautés

v7.1 SP2 Guide des Nouveautés v7.1 SP2 Guide des Nouveautés Copyright 2012 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Pour valider les pré-requis nécessaires, avant d'aborder le TP, répondez aux questions ciaprès

Pour valider les pré-requis nécessaires, avant d'aborder le TP, répondez aux questions ciaprès énoncé SQL Server 2012 Durée : 3 heures 10 minutes Mots-clés Opérateurs, travaux, alerte, messagerie Objectifs Ce chapitre va vous permettre de mettre en pratique la gestion des opérateurs et des travaux,

Plus en détail

Créer une base de données

Créer une base de données Access Créer une base de données SOMMAIRE Généralités sur les bases de données... 3 Création de la base de données... 4 A) Lancement d'access... 4 B) Enregistrement de la base de données vide... 4 Création

Plus en détail

Analyse tarifaire en ligne (TAO) de l'omc

Analyse tarifaire en ligne (TAO) de l'omc Analyse tarifaire en ligne (TAO) de l'omc L'analyse tarifaire en ligne (TAO) permet d'effectuer des recherches et d'analyser les données tarifaires conservées dans deux bases de données de l'omc, à savoir

Plus en détail

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/2010 1 / 15

Comptabilité - USR. Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/2010 1 / 15 Logiciel : Comptabilité USR - Version 2,16 Documentation réalisée par JJ Gorge Trésorier Tir à l'arc le 04/04/2010 1 / 15 Table des matières Ecran principal de saisie...3 Ajouter une nouvelle opération

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

NON URGENTE TEMPORAIRE DEFINITIVE. OBJET : FONCTIONNEMENT OmniVista 4760 SUR UN RÉSEAU VPN / NAT

NON URGENTE TEMPORAIRE DEFINITIVE. OBJET : FONCTIONNEMENT OmniVista 4760 SUR UN RÉSEAU VPN / NAT COMMUNICATION TECHNIQUE N TC0803 Ed. 01 OmniPCX Enterprise Nb de pages : 10 Date : 03-07-2006 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE OBJET : FONCTIONNEMENT OmniVista 4760 SUR Veuillez trouver ci-après

Plus en détail

Création d'un questionnaire (sondage)

Création d'un questionnaire (sondage) Création d'un questionnaire (sondage) Le but de ce petit tuto est d'avoir les séquences pas à pas pour la création d'un questionnaire de façon à ne pas devoir rechercher la manière de procéder si l'outil

Plus en détail

Guide d'utilisation du Serveur USB

Guide d'utilisation du Serveur USB Guide d'utilisation du Serveur USB Copyright 20-1 - Informations de copyright Copyright 2010. Tous droits réservés. Avis de non responsabilité Incorporated ne peut être tenu responsable des erreurs techniques

Plus en détail

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local. Tutoriel d'utilisation de Chamilo Chamilo 1.8.6.2-1.8.7 Version Administrateur Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local. Table des matières Le serveur...2

Plus en détail

Diagnostic adaptatif d'un flux d'alarmes par méta diagnostic distribué Application à la détection d'intrusions dans un serveur Web

Diagnostic adaptatif d'un flux d'alarmes par méta diagnostic distribué Application à la détection d'intrusions dans un serveur Web LogAnalyzer Thomas Guyet 1,2, René Quiniou 2 et Marie Odile Cordier 3 1 AGROCAMPUS OUEST 2 INRIA/IRISA Centre de Rennes (Équipe DREAM) 3 Université de Rennes/IRISA (Équipe DREAM) Contact : thomas.guyet@irisa.fr

Plus en détail

Projet E-formation. Système MOODLE_ COLLABORATIF. Spécifications fonctionnelles

Projet E-formation. Système MOODLE_ COLLABORATIF. Spécifications fonctionnelles 1/15 Projet E-formation Système MOODLE_ COLLABORATIF Spécifications fonctionnelles Date : 10/11/2006 Version :1.3 Auteurs :Lahcen Oubahssi, xxxx, xxxx Contributeurs : xxxxx, xxxx, xxxx, xxxxx 2/15 Spécifications

Plus en détail

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration L'évolution de VISUAL MESSAGE CENTER Architecture et intégration Sommaire Résumé exécutif Base technologique : VISUAL Message Center 2 3 VISUAL Message Center Core Engine VISUAL Message Center Extended

Plus en détail

Communiqué de Lancement

Communiqué de Lancement Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles Manuel d utilisation de la plate-forme de gestion de parc UCOPIA La mobilité à la hauteur des exigences professionnelles 2 Manuel d utilisation de la plate-forme de gestion de parc UCOPIA 1 Table des matières

Plus en détail

Procédure Création : 04/05/2009 ARCHIVAGE DE LA MESSAGERIE

Procédure Création : 04/05/2009 ARCHIVAGE DE LA MESSAGERIE Procédure Création : 04/05/2009 DSIO / Direction Système d Information et Organisation ARCHIVAGE DE LA MESSAGERIE TABLE DES MATIÈRES 1. Objet de l opération... 2 2. Rappel des bonnes pratiques... 3 3.

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Gérer ses impressions en ligne

Gérer ses impressions en ligne Gérer ses impressions en ligne Service d'impression en ligne et copieurs numériques en réseau E.N.T : onglet Services pratiques, Rubrique Gérer ses impressions. Octobre 2012 Version : 1.1.1 Direction des

Plus en détail

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration CMS Made Simple Version 1.4 Jamaica Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL. Tutoriel utilisateur Récapitulatif Administration Le système de gestion de contenu

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application

Connexion à une base de données. Connexion à une base de données. Connexion à une base de données Développement d'une application On souhaite réaliser la connexion d'un programme avec des sources de données Ici, des bases de données relationnelles Deux approches sont possibles qui mettent en œuvre chacune son propre jeu de classes

Plus en détail

Travaux pratiques avec RapidMiner

Travaux pratiques avec RapidMiner Travaux pratiques avec RapidMiner Master Informatique de Paris 6 Spécialité IAD Parcours EDOW Module Algorithmes pour la Fouille de Données Janvier 2012 Prise en main Généralités RapidMiner est un logiciel

Plus en détail

English Nederlands Deutsch Français Español Italiano Português. Manuel

English Nederlands Deutsch Français Español Italiano Português. Manuel Manuel Logiciel Safescan TA 4.0 English Nederlands Deutsch Français Español Italiano Português 1 Table des matières 1.0 Avant-propos 2.0 Présentation du manuel utilisateur 2.1 Utilisation du manuel 2.2

Plus en détail

Retrospect 7.7 Addendum au Guide d'utilisation

Retrospect 7.7 Addendum au Guide d'utilisation Retrospect 7.7 Addendum au Guide d'utilisation 2011 Retrospect, Inc. Certaines parties 1989-2010 EMC Corporation. Tous droits réservés. Guide d utilisation d Retrospect 7.7, première édition. L utilisation

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Mobyt Intégration par Webservice TABLE DES MATIERES

Mobyt Intégration par Webservice TABLE DES MATIERES Mobyt Intégration par Webservice TABLE DES MATIERES INTRODUCTION... 2 CONFIGURATION DE LA LIBRAIRIE... 2 ENVOI DE SMS... 3 ÉTAT DES MESSAGES... 4 HISTORIQUE DES MESSAGES... 5 CRÉDIT SMS DISPONIBLE... 6

Plus en détail

AGRÉGATION «ÉCONOMIE ET GESTION»

AGRÉGATION «ÉCONOMIE ET GESTION» AGRÉGATION «ÉCONOMIE ET GESTION» CONCOURS INTERNE SESSION 2002 ÉPREUVE SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PÉDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation

Plus en détail

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

COBIT (v4.1) INTRODUCTION COBIT

COBIT (v4.1) INTRODUCTION COBIT COBIT (v4.1) Un référentiel de «bonnes pratiques» pour l informatique par René FELL, ABISSA Informatique INTRODUCTION Le Service Informatique (SI) est un maillon important de la création de valeur dans

Plus en détail

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR HISTORIQUE DES VERSIONS Vers. Date Rédacteur Objet de la modification 1.00 Juillet 2007 GTBO_AGRI Création du document 1.01 Février 2009 SAMOA

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

Extension McAfee Security-as-a-Service

Extension McAfee Security-as-a-Service Guide de l'utilisateur Extension McAfee Security-as-a-Service A utiliser avec le logiciel epolicy Orchestrator 4.6.0 COPYRIGHT Copyright 2011 McAfee, Inc. Tous droits réservés. Aucune partie de cette publication

Plus en détail

CA Desktop Migration Manager

CA Desktop Migration Manager CA Desktop Migration Manager Manuel de configuration du déploiement DMM Service Pack 12.8.01 La présente Documentation, qui inclut des systèmes d'aide et du matériel distribués électroniquement (ci-après

Plus en détail