firefly

Firefly : Guide de l'administrateur

Dernière version de ce document : 2001-02-19
Ce document est destiné aux utilisateurs de firefly disposant des droits administrateur.
Auteur : Open Internet Center, Open Care, oic@ocare.com.

Sommaire

1. Système d'authentification
2. Ajouter des groupes
3. Ajouter des utilisateurs
4. Administrer les références
5. Administration du support

1. Le système d'authentification de firefly

1.1 Système de sessions

Les connexions http étant de nature intermittente, un système de session est nécessaire à l'identification de la personne connectée.
Firefly utilise un système courant : A la première connexion d'un utilisateur, une valeur aléatoire est créée. Cette valeur est à la fois stockée dans la base de données côté serveur, et dans un cookie dans le navigateur de l'utilisateur.

A chaque action dans firefly, le cookie est comparé à la table des sessions. Si une session active correpondant au cookie est trouvée, on recharge le profil de l'utilisateur correspondant à cette session.

Si aucune session valide ne correspond au cookie, l'accès à l'application est refusé et l'utilisateur est redirigé vers la page de login.

1.2 Un login = une personne

A chaque personne correspond un et un seul identifiant (login). A cet identifiant sont asscociés des profils de groupe et des profils personnels, donnant un niveau d'accès détermité à chaque module.
L'identifiant unique de personne est enregistré dans la base à chaque ajout ou modification, afin de tracer les interventions sur la base de données.

C'est pourquoi il est déconseillé de créer des logins "génériques" qui seraient utilisés par plusieurs personnes. L'exemple type est le ou les administrateurs. Plutôt que de communiquer à chacun le login et le mot de passe administrateur, il vaut mieux associer des droits d'administrateur à leur login personnel.

1.3 Politique de sécurité

Firefly inclut plusieurs mécanismes de restriction à l'accès aux données.

- Au niveau des sessions, si on tente de visualiser les pages sans être passé par la page de login, aucune donnée ne pourra s'afficher. De même si la personne connectée n'a pas chargé une page après un temps déterminé : sa session est alors expirée.

- Les niveaux de droits associés à un login restreignent également les droits d'accès aux pages. Si un utilisateur connecté n'a pas le droit d'intervenir sur cetaines parties du logiciel, les liens associés ne s'afficheront pas, et saisir directement l'url dans le navigateur ne permet pas de contourner cette restriction.

- Enfin, certaines données au sein même des pages ne s'afficheront que si l'utilisateur est habilité à les visualiser ou à les modifier. Dans le module support, un client ne pourra voir que les données correspondant à sa société (contacts, contrats, incidents).

Dans tous les cas, l'analyse des droits utilisateurs a lieu avant tout renvoi de données au navigateur.

Les autres éléments intervenant dans la sécurité du système (serveur Apache, sgbd), ne font pas partie du présent propos. Il appartient à l'administrateur système de s'assurer de la sécurité des serveurs.
Il est recommandé de ne pas permettre au navigateur client d'afficher le contenu des répertoires /include ;
Le SGBD ne doit répondre qu'à des clients identifiés (en l'occurence, le ou les serveurs apache sur le/lesquels sont servis les scripts firefly).

Enfin, dans l'optique d'un accès externe à firefly, utiliser un serveur sécurisé (https) avec le module SSL d'apache est une bonne option.

2. Ajouter des groupes

Les utilisateurs de firefly font partie de groupes de travail disposant chacun de différents niveau de droits sur chaque application.

2.1 Ajouter un nouveau groupe

Dans le module admin (représenté par un méccano sur la barre horizontale des modules en haut de la fenêtre firefly), il y a une liste des groupes existants. A l'installation de firefly, il n'existe qu'un seul groupe, le groupe "admin".
Le lien "add new group" vous permet d'ajouter un nouveau groupe de travail.
Une fois avoir cliqué sur le lien, un formulaire vous demande de préciser un nom et une abréviation pour ce nouveau groupe. Une fois ces champs renseignés, cliquez sur le bouton "Ajouter/Mettre à jour".

Attention : La liste des groupes n'est pas automatiquement rafraichie. En revanche, un formulaire "Profils pour ce groupe" apparaît à la création. Vous y définirez les droits du groupe.
Pour modifier un groupe, cliquez sur le lien "Editer" approprié dans la liste des groupes.

2.2 Affecter des droits au groupe

La procédure est exactement la même qu'il s'agisse d'un groupe que vous venez de créer ou qu'il s'agisse d'un groupe existant.
Si vous désirez modifier les droits d'un groupe, cliquez sur le lien "Editer" correspondant dans la liste des groupes.

Une série de listes à choix multiples s'affiche, une par application.
Si vous désirez créer un groupe pour vos clients, vous pouvez leur donner des droits "Visiteur" et "Client" dans le module support, "Client" dans le module contacts et "Lecteur" dans le module de documentation.
Sous netscape/X11, un clic sélectionne un élément, un autre le déselectionne. Sous win32, il faut maintenir la touche [ctrl] enfoncée pour effectuer des sélections multiples.
Une fois vos modifications effectuées, cliquez sur le bouton "Ajouter/Mettre à jour" situé sous les listes.

Notez que les modifications sur les groupes existants se répercutent immédiatement sur les droits des utilisateurs faisant partie de ces groupes.
Par conséquent, si vous retirez au groupe des administrateurs les droits sur le module admin, vous ne pourrez plus rien faire dans le module d'administration, et le rétablissement de vos droits d'administrateur ne pourra se faire que par intervention manuelle sur la base de données.

3. Ajouter des utilisateurs

Seuls des utilisateurs identifiés peuvent se connecter à firefly. Aussi, il est nécessaire d'affecter un login à chaque personne que vous voulez autoriser à accéder au framework.

3.1 Ajouter un nouveau login

Dans le module d'administration, vous pouvez voir une rubrique "Rechercher un identifiant" en haut, à gauche de la fenêtre. Cliquez sur le bouton "Ajouter un identifiant", puis sur le lien du même nom en haut de la liste des identifiants.
Un formulaire apparaît : Renseignez le champ "identifiant" et les deux champs "mot de passe", avec le même mot de passe. Cliquez ensuite sur un des deux liens "société" ou "contact" afin de rechercher à qui vous voulez attribuer cet identifiant.
Remarque : les sociétés ou contacts possédant déjà un login n'apparaîtront pas dans les résultats de la recherche.

Dans la liste des personnes ou sociétés trouvées, cliquez sur celle qui vous intéresse. Enfin, vous pouvez confirmer l'ajout par un clic sur le bouton "ajouter".
Le formulaire d'identifiant doit s'afficher.

Vous pouvez, dans la première partie de ce formulaire, redéfinir le mot de passe de la personne, affecter la langue par défaut de l'application pour cette personne, ou modifier son identifiant.
Les utilisateurs peuvent redéfinir à tout moment leur mot de passe dans le module support, qui est également le point d'entrée de firefly. Avertissez vos utilisateurs que ce changement est de leur entière responsabilité.
Remarque sur les mots de passe : Les mots de passe ne sont pas stockés en clair dans la base mais cryptés de manière non bijective. A moins d'utiliser un outil de décryptage par la méthode brute, il n'y a pas de moyen de retrouver un mot de passe oublié. Dans ce cas, il faut le remplacer. .

3.2 Affecter l'utilisateur à des groupes

Que ce soit un nouveau login ou un login nouvellement créé n'a pas d'importance. En bas du formulaire de profils pour l'utilisateur que vous éditez figure une rubrique "Groupes de cet identifiant".
Il suffit de sélectionner le groupe auquel vous voulez affecter l'identifiant et de cliquer sur le bouton "ajouter".
De la même façon, il suffit de cliquer sur le lien "retirer" qui figure à côté de chaque groupe pour exclure l'identifiant de ce groupe. Le lien "editer" vous permet de visualiser, et d'éditer le cas échéant les profils du groupe en question.

3.3 Définir des droits personnalisés

La démarche est exactement la même que pour les profils des groupes : Une série de listes à choix multiples par application. Vous pouvez ici déterminer des droits spécifiques à l'identifiant, qui ne seraient pas accordés par l'appartenance à ses groupes de travail.
Les droits finaux d'un identifiant sont ceux de ses groupes ajoutés à ses droits personnalisés.

4. Ajouter ou modifier les références

Un certain nombre de données de référence sont stockées dans des tables de la base de données, et peuvent être modifiées directement dans le module d'administration.
Certaines de ces données étant nécessaires au fonctionnement de firefly, il est recommandé de procéder aux modifications avec la plus grande prudence. D'une manière générale, une fois que firefly est entré en phase de production, les références existantes, parce que les autres données de la base y font elles-même référence, ne doivent pas être modifiées.

4.1 Modifier les références non critiques

Dans le module d'administration, cliquez sur le lien "Référence" dans le menu de gauche. Un formulaire "Edition des champs de référence" doit s'afficher.
Le contenu des références qui ne sont pas des niveaux de droits n'est pas critique pour le fonctionnement de firefly. En revanche, leur existence l'est. C'est pourquoi il n'y a pas de formulaire de suppression de référence.

Pour éditer une référence, cliquez d'abord sur le nom du type de référence (par exemple "Document"), puis sur la référence à éditer. Vous pouvez alors modifier la référence en question dans le champ textuel en-dessous, puis valider en cliquant sur le bouton du même nom.
A nouveau, si votre base de données est en production, évitez de changer un nom de référence par un autre au sens différent.
Le lien "ajouter" permet d'ajouter une référence du même type, ainsi, on peut imaginer d'autres types d'adresse, de téléphones, de documents, etc.

Des références demandent des détails :
- Les pays ont deux champs supplémentaires, un code étant le code de langue utilisé par les navigateurs internet (browsers), et l'autre le préfixe téléphonique international.
- Les options de contrat sont munis d'une case à cocher indiquant si c'est une option unique (case décochée) ou pouvant être prise plusieurs fois. La référence "Contacts Nommés Supplémentaires" est utilisée pour la logique de firefly et sa modification doit se limiter aux fautes d'orthographe ou à une traduction.

Une référence particulière est le type d'entité. Elle est utilisée dans la logique de la base de données et ne doit généralement pas être modifiée du tout.

4.2 Comment modifier les niveaux de droits

Etant stockés dans la base de donnée pour des raisons pratiques, les niveaux de droits sont disponibles à la modification dans le module d'administration.
Ces niveaux sont en relation avec du code "en dur" dans les scripts. Leur ajout ou modification n'a lieu qu'en cas de mise à jour ou d'ajout d'un nouveau module à firefly.

5. Administration du support

Cette rubrique est destinée à l'administrateur du support technique, seul habilité à ajouter un nouveau produit à la liste des produits supportés, à ajouter ou modifier un contract de support dans la base, et à visualiser les statistiques du support.

5.1 Ajouter des produits/plateformes

Dans le menu de gauche, sous la rubrique "ADMIN", cliquez sur le lien "Produits". La table des produits doit s'afficher.

- Ajouter un produit.
En bas du tableau, renseignez les champs "Nom" (ex : firefly, mysql); "Type" (ex : Help desk software, web server, sgbd); "Utilisateur" (ex : Administrateurs, développeurs, ingénieurs). Vous pouvez ajouter un bref commentaire sur le produit.
Cliquez sur le bouton "Ajouter". Le produit figure maintenant dans la liste.

- Ajouter une plateforme.
La démarche est identique à celle des produits. Exemples : Linux-x86; Linux-Alpha; Solaris-Alpha; etc...

- Modifier un produit ou une plateforme.
A droite de chaque enregistrement produit ou plateforme figure un lien "Editer". Cliquez sur ce lien. La ligne correspondant à l'enregistrement à éditer doit s'afficher en vidéo inverse, les champs textuels sont alors pré-remplis. Effectuez les modifications désirées, puis cliquez sur le bouton "Editer".

5.2 Ajouter/Modifier un contrat

Dans le menu de gauche, cliquez sur le lien "NOUVEAU...Contrat". Le formulaire d'ajout de contrat s'affiche.

- Informations générales.
Souscrit par : La société signataire du contrat. Cliquez sur l'icone "torche" à droite du champ textuel. Effectuez la recherche de la companie signataire (ou ajoutez-la si elle n'est pas encore dans la base de données), puis dans la liste des résultats, cliquez sur la flèche bleue afin de renseigner le champ.
Type de contrat : Indiquez ici le type de contrat. La liste des types de contrats est stockée dans le fichier de configuration du support.
Numéro de contrat : Un numéro administratif sans incidence sur le fonctionnement de la base. Choisissez un numéro en cohérence avec votre système interne de classement.
Dates de signature, d'effet et de fin : Fiwées par défaut à la date courante. Il suffit par exemple d'indiquer l'année actuelle +1 pour créer un contrat souscrit aujourd'hui et expirant dans un an.

- Détails du contrat.
C'est ici que vous ajoutez les produits supportés dans le contrat. Un produit de contrat est une combinaison d'un produit sur une plateforma particulière.
Utilisez les deux listes déroulantes pour créer une combinaison Produit/Plateforme, puis cliquez sur le bouton "Ajouter un produit". Un produit est ajouté à la liste. Pour le retirer en cas d'erreur, cliquez sur le lien "Annuler".

- Options du contrat.
Indiquez ici les différentes options souscrites par le client. Comme vu plus haut, ces options sont de deux types : Uniques (sous la forme d'une case à cocher) ou multiples (sous la forme d'un champ numérique).

Une fois le contrat défini, cliquer sur "Save" enregistrera le contrat dans la base.
Vérifiez vos entrées ! Une fois enregistré, le contrat ne peut plus être supprimé. Le seul moyen de l'invalider est alors de spécifier une date de fin expirée.

- Définir les contacts nommés.
Un Contact Nommé est une personne identifiée de la société cliente, habilitée à appeler le centre de support et à soumettre le cas échéant des incidents par internet.
Une ligne vous indique le nombre de contacts nommés restant à inscrire, et une liste déroulante vous permet de les sélectionner. Le bouton "Ajouter un contact" vous permet d'affecter la personne au contrat.
Si les contacts de la société ne sont pas dans la liste, ou si aucune liste n'apparaît, il vous faudra ajouter ces contacts par le module "contacts".

- Editer un contrat.
Utilisez le lien "Modifier le contrat" situé en bas de la feuille de détails de contrat.
La démarche est la même que pour un ajout. Cependant, deux rubriques ne sont pas modifiables : Le type de contrat et la société contractante.

5.3 Statistiques et récapitulatifs

Quelques statistiques sont disponibles dans la rubrique "ADMIN", en cliquant sur le lien "Statistiques".
Sélectionnez la période à visualiser en haut de la fenêtre, puis choisissez une rubrique.

Contrat : Le nombre d'incidents et la durée totale d'occupation des techniciens support pour la période considérée.
Le lien "envoyer un mail" pré-rédige un courrier électronique de récapitulatif des incidents pour la période. Note : Le bouton "envoyer" ne fonctionne pas avec Outlook. Utilisez le copier-coller avec ce logiciel de client mail.

Technicien : Nombre d'incidents et durée d'occupation pour chaque technicien support.

Graphiques : Affiche les données précédentes sous forme d'histogrammes, ainsi qu'un graphique en secteurs indiquant le nombre d'incident par produit (ce qui permet d'identifier les produits qui nécessitent le plus d'interventions).