SOSbogue - Documentation technique

Un article de ScriptdigitalWiki.

Jump to: navigation, search

SOSbogue - Guide d'utilisation - Documentation technique


Sommaire

Vue d'ensemble

SOSbogue permet, via une macro, de fournir un interface Web pour enregistrer des anomalies (bogues) rencontrées pendant l'utilisation d'un cours. Cette macro générera un formulaire qui permettra de préciser l'anomalie et d'insérer celle-ci dans la banque de données de Mantis et sera accessible via l'interface de cette dernière application Web.

SOSbogue a été développé avec la version 1.0.3 de Mantis et se sert des interfaces de programmation natives de Mantis.

SOSbogue est indépendant des cadres d'applications ControleAcces et de ServicesWeb.

Préparation de Mantis pour SOSbogue

Pour se servir correctement de SOSbogue, il faut tout d'abord configurer Mantis pour SOSbogue (cela sous-entend que Mantis est déjà installé et fonctionnel).

Utilisateur anonyme

Il est impérieux de créer un utilisateur anonyme dans Mantis. Si dans le formulaire de SOSbogue, dans le champ rapporteur, l'adresse courriel du rapporteur est inconnue de Mantis, le rapporteur sera inséré comme un utilisateur anonyme dans Mantis.

Utilisateur enregistré

Si l'on veut permettre à un usager de poster une anomalie et que celle-ci lui soit attribué dans Mantis, il faut créer dans Mantis cet usager. SOSbogue se servira de l'adresse courriel enregistrée dans Mantis pour faire cette attribution.

Projet

Pour poster une anomalie dans Mantis à partir de SOSbogue, il faut créer un projet avec pour nom le sigle du cours. Il s'agit d'une convention qui permettra à SOSbogue de s'y retrouver. Si le projet n'est pas créé dans Mantis avec le sigle du cours, SOSbogue générera une erreur.

SOSbogue

Voici les instructions pour se servir de SOSbogue une fois qu'on a configuré correctement Mantis pour SOSbogue.

Configurer SOSBogue

Le fichier suivant est le fichier de configuration de SOSbogue. Les options de configurations données ici concernent le formulaire de SOSbogue dont le gabarit est à /edusofad/sites/sosbogue2/formulaire-bogue.php.

Configuration

Fichier de configuration : 
/configurations/sosbogue/conf_sosbogue2.inc

Exemple

   // gabarit du formulaire
   $SOSbogue_formulaire    = 'http://example.org/www/edusofad/sites/sosbogue2/formulaire-bogue.php';
   // image pour la macro
   $SOSbogue_img           = 'http://example.org/www/edusofad/sites/sosbogue2/images/bug.gif';
   // option pour la fenêtre surgissante générée via Javascript
   $SOSbogue_confJSfenetre = 'resizable=yes,scrollbars=yes,location=no,menubar=no,toolbar=no, width=700, height=500';
   // fichier css qui servira pour le formulaire et aussi pour la macro (voir @import plus bas dans heredoc $SOSbogue)
   $SOSbogue_css           = 'http://example.org/www/edusofad/sites/sosbogue2/bogue.css';

Sigle du cours

C'est grâce aux options relatives aux sigles des cours que SOSbogue peut trouver programmatiquement le sigle du cours dans lequel la macro $MACRO['sosbogue'] a été insérée. L'heuristique est assez simple; SOSbogue se servira d'une partie de l'URL de la page dans laquelle est incluse la macro $MACRO['sosbogue'] pour découvrir le sigle du cours.

Exemple
 $cours_sigle['example.org']["W-SCP-4010"]   = '/www/servicesweb2/sites/W-SCP-4010';
 $cours_sigle['example.org']["W-SCH-4022"]   = '/www/servicesweb2/sites/W-SCH-4022';
 $cours_sigle['example.org']["W-SCH-4023"]   = '/www/servicesweb2/sites/W-SCH-4023';

Nom du cours

Le nom du cours est aussi connu de SOSbogue en suivant la même logique que pour le sigle du cours.

Exemple
 // nom des cours bases sur HTTP_HOST et PATH_INFO
 // le PATH_INFO est le repertoire contenant l'application web
 // ISO-8859-1
 $sites_noms['example.org']["Le nucléaire : de l'énergie dans la matière"]              = '/www/servicesweb2/sites/W-SCP-4010';
 $sites_noms['example.org']["L'industrialisation et l'urbanisation au Québec"]                   = '/www/servicesweb2/sites/W-SCH-4022';
 $sites_noms['example.org']["La démocratie et la culture au Québec"]                           = '/www/servicesweb2/sites/W-SCH-4023';

Configuration de la banque de données de Mantis

SOSbogue se sert de la banque de données de Mantis pour conserver les bogues. Il faut donc reprendre les même permissions définies pour Mantis. Il est à noter qu'au contraire de Mantis, SOSbogue ne peut utiliser que MySQL.

Exemple
   // Configuration MySQL reprise de /mantis/config_inc.php
   $bdNom          = "bugtracker";
   $bdHote         = "example.org";
   $bdUsager       = "mantis";
   $bdMotDePasse   = "secret";

Configuration de l'utilisateur anonyme

Plutôt que de quérir à chaque fois MySQL pour obtenir l'identifiant de l'utilisateur anonyme, il a paru plus simple de mettre cet identifiant dans l'une des options de configurations. Pour trouver cet identifiant, il faut ouvrir la banque de données utilisée par Mantis (par défaut, elle est nommée bugtracker), et regarder dans la table mantis_user_table, et prendre la valeur de la colonne id qui correspond à la valeur anonymous de la colonne username.

Exemple
 $mantis_utilisateurAnonyme_id = 5;

Activation de SOSBogue pour un cours

Si le cours est placé sous ServicesWeb, on peut configurer SOSBogue pour l'ensemble des pages du cours en ajoutant la ligne de code suivante à la fin du fichier de configurations global.inc du cours.

/servicesweb2/configurations/SIGLEDUCOURS/global.inc
 
include_once ($ENV_SOFAD['sosbogue2_contr_inc']);

Dans toutes les autres situations, il faut alors ajouter à chaque page les lignes de code suivantes :

Cours sous Contrôle Accès

<?php
include_once ($ENV_SOFAD['sosbogue2_contr_inc']);
?>

Cours hors Contrôle Accès

<?php
include_once ("I:\developpement\sofad\configurations\global.inc"); // EXEMPLE! EXEMPLE! EXEMPLE!
include_once ($ENV_SOFAD['sosbogue2_contr_inc']);
?>

Appel du formulaire de description dans les pages du cours

Pour permettre l'affichage du formulaire de description d'une anomalie, il faut placer la $MACRO['sosbogue'] dans chaque page (ou gabarit) à l'endroit où on veut voir apparaître le symbole Image:bug.png.

<?php echo $MACRO['sosbogue'] ?>


Affiche

string codeSOSbogueEtLienOuvertureFenêtreFormulaireBogue

Exemple

<?php echo $MACRO['sosbogue'] ?>

==>
<script language="Javascript">
<!--
function fenetre_formulairebogue () {

	var urlFormulaire = "http://example.org/sofad/sites/sosbogue2/formulaire-bogue.php";
	var confFenetre = "resizable=yes,scrollbars=yes,location=no,menubar=no,toolbar=no, width=600, height=500";
	newWin = window.open (urlFormulaire,'Rapporter un bogue', confFenetre);
	newWin.focus ();
	return true;
}
//-->
</script>

<span>
	<a 	 title="Rapporter une anomalie" onClick='fenetre_formulairebogue ()'>
		
		<img 	src="http://example.org/sofad/sites/sosbogue2/images/bug.gif" 
				alt="" height="20"  
				border="0">
	</a>
</span>

Configuration page formulaire d'enregistrement du bogue

La page du formulaire d'enregistrement des bogues est chargée par la fenêtre externe qui est ouverte lorsque l'utilisateur clique sur le lien affiché par la macro $MACRO['sosbogue'].

Veuillez noter qu'on ne peut accéder directement à cette page, mais qu'il faut toujours passer par le lien affiché par la macro $MACRO['sosbogue'].

Fichier

/edusofad/sites/sosbogue2/formulaire-bogue.php


$MACRO['msg_action']

Définition

Affiche un message pour confirmer que le bogue a été inséré dans la banque de données.

Affiche

string messageConfirmationEtDate

Exemple

<?php echo $MACRO['msg_action'] ?>

==> "Le bogue a &eacute;t&eacute; enregistr&eacute;: 14/03/2005 17:17:36"
Configuration
Fichier

/configurations/msg_generaux_fr.inc

Exemple
$msg_bogue_enregistrementOK = "Le bogue a &eacute;t&eacute; enregistr&eacute; ";

$MACRO['sosbogue_coursNom']

Définition

Affiche le nom du cours d'où provient la page d'appel de la macro $MACRO['sosbogue']

Affiche

string NOM DU COURS

Exemple

<?php echo $MACRO['sosbogue_coursNom'] ?>

==> "L'industrialisation et l'urbanisation au Québec (SCH-4022)"
Configuration
Fichier

/configurations/sosbogue/conf_sosbogue2.inc

Exemple

La valeur de la configuration est l'URL relative du répertoire racine du site.

$sites_noms['example.org']["L'industrialisation et l&apos;urbanisation au Québec"] = '/www/servicesweb2/sites/W-SCH-4022';

$MACRO['sosbogue_listeCategorie']

Définition

Affiche les balises <option> des catégories pour spécifier un bogue.

Affiche

string optionsMenuDéroulantCatégories

Exemple

<?php echo $MACRO['sosbogue_url'] ?>

==> 

<option value="0">Choisir une catégorie</option>
<option value="1">Contenu</option>
<option value="2">Hyperlien</option>
<option value="3">Image</option>
<option value="4">Flash</option>
<option value="5">Vidéo</option>
<option value="6">Audio</option>
<option value="7">Formulaire</option>
<option value="8">Fichier à  télécharger</option>
<option value="9">Affichage/Mise en page</option>
<option value="10">Navigation</option>
<option value="11">Programmation</option>
<option value="12">Accès</option>
<option value="13">Indéterminé</option>


Configuration
Fichier

/configurations/sosbogue/conf_sosbogue2.inc

Exemple
// ISO-8859-1

// categories

$menuListe_categorie[0] 	= 'Choisir une catégorie';
$menuListe_categorie[1] 	= 'Contenu';
$menuListe_categorie[2] 	= 'Hyperlien';
$menuListe_categorie[3] 	= 'Image';
$menuListe_categorie[4] 	= 'Flash';
$menuListe_categorie[5] 	= 'Audio';
$menuListe_categorie[6] 	= 'Vidéo';
$menuListe_categorie[7] 	= 'Fichier à  télécharger';
$menuListe_categorie[8] 	= 'Affichage/Mise en page';
$menuListe_categorie[9] 	= 'Navigation';
$menuListe_categorie[10] 	= 'Programmation';
$menuListe_categorie[11] 	= 'Indéterminé';

$MACRO['sosbogue_pageDuBogue_nom']

Définition

Affiche le nom du fichier de la page d'appel dans laquelle est insérée la macro $MACRO['sosbogue']

Affiche

string nomFichierPageAppel

Exemple

<?php echo $MACRO['sosbogue_pageDuBogue_nom'] ?>

==> "pagedappel.php"


$MACRO['sosbogue_pageDuBogue_swf']

Définition

Affiche s'il y a lieu les chemins menant aux Flash insérés dans la page $MACRO['sosbogue']. Une virgule est insérée automatiquement devant chaque chemin, car on utilise cette macro en la précédant de la macro $MACRO['sosbogue_pageDuBogue_nom'].

Affiche

string listeFlash

Exemple

<?php echo $MACRO['sosbogue_pageDuBogue_swf'] ?>

==> ", images_theme/e1t112_rep.swf"

$MACRO['sosbogue_url']

Définition

Affiche l'URL de la page d'appel dans laquelle est insérée la macro $MACRO['sosbogue']

Affiche

string urlPageAppel

Exemple

<?php echo $MACRO['sosbogue_url'] ?>

==> "http://example.org/sofad/sites/SIGLECOURS/pagedappel.php"

Configuration de la page de rétroaction

Lorsqu'un bogue est enregistré, une page de rétroaction est affichée. Les macros sont les mêmes que la page de formulaire pour enregistrer un bogue (voir section précédente).

Fichier

/edusofad/sites/sosbogue2/formulaire-retroaction.php