require("../global.php");
entete();
?>
TESTS DE DETECTION
Tous les profs d'infos savent çà : un bon programme est un
programme non-plantable. Quelque soit le type de matériel ou la
configuration, le programme devra se terminer par un message
d'erreur plutôt que par un bug. En effet, on ne peut pas
vraiment dire d'un programme qui détecte qu'il ne va pas
fonctionner et qui retourne au DOS sans planter qu'il ne
marche pas. Et donc on ne peut pas vraiment demander le
remboursement du produit dans un tel cas. Ainsi est-il
indispensable de savoir déterminer la configuration hard
d'une machine, ainsi que la configuration soft. Mais il est
aussi parfois plus important de connaître le type
d'utilisateur plutôt que le type de processeur. Or il est
possible d'obtenir des renseignements très révélateurs par
soft, sans donc qu'il soit nécessaire pour l'acheteur du
produit de se livrer à une longue et pénible séance de
configuration.
Nous allons passer en revue plusieurs cas où l'utilisateur à
une influence qu'il ne soupçonne pas sur le déroulement du
programme.
1. Securitée adaptative sensitive.
Vous écrivez une interface archi-sursécurisée, mais vous vous
demandez à partir de quel niveau de récursion votre routine
demandant la confirmation ("Etes-vous sur ? (O/N)") de la
confirmation de la confirmation de la confirmation etc de
l'effacement du fichier "toto.bak" commence à irriter
l'utilisateur.
La solution : déterminer le niveau en fonction de la patience
de l'utilisateur évaluée lors du lancement du programme par
ce test :
Avant de démarrer quoique ce soit, faites une pause de
quelques minutes, et lisez le clavier. Chaque touche pressée
rapporte un point, ESPACE ou ENTER rapportent deux points,
ESC en rapporte trois, les combinaisons CTRL+C et CRTC+Break
en rapportent cinq, et CTRL+ALT+DEL en rapporte dix. En
fonction du score obtenu pendant cette pause, le programme
détermine la patience de l'utilisateur (plus le score est
élevé, moins il faut de récurence dans la confirmation pour
effacer un petit fichier).
2. Shell intelligent intuitif et personnalisé
Votre patron vous demande de programmer "un shell intuitif et
simple, c'est pour les secrétaires elles en ont marre de
perdre des fichiers dans leur disque dur, et pis pour moi
aussi faut que ca me permette de lancer doom dans
C:\RAPPORT.DAT\JEUX\DOOM1\SAVEGAME\DOOM2\BIN, c'est facile je
sais pas moi, débrouilles toi".
Comment faire pour que les secrétaires ne perdent plus de
fichiers ? Simple : les cantonner à un répertoire (puisque la
simple idée de réessayer de leur apprendre quelques commandes
vous fait passer une nuit blanche). Et pour le patron alors,
comment va t'il aller jouer à DOOM ? Il faut un shell qui
s'adapte à l'utilisateur ! Si l'utilisateur est
inexpérimenté, il faut lui interdire les commandes CD, MD,
RD, etc...
Determiner l'expérience de l'utilisateur est chose aisée.
Plusieurs choix s'offrent à vous, nous vous présentons leurs
points forts/faibles. Choisissez :
- Détournez l'IRQ1 sur un compteur qui déterminera la cadence
de frappe de l'utilisateur. Note : Mais une cadence de frappe
très élevée peut appartenir à une secrétaire qui s'énerve, ou
à un sac à main posé sur le clavier par inadvertance.
- Rajoutez dans l'int9 un TSR qui détermine et comptabilise
les différentes commandes tapées. Si moins de cinq commandes
différentes sont tapées il s'agit d'une secrétaire (test
réalisé sur un échantillon de trois entreprises et deux facs,
mais de toute facon c'est partout pareil). Note : Mais si la
seule commande tappée est "CD", il s'agit du patron qui
cherche DOOM.
- Affichez un message d'erreur quelconque plus ou moins bidon,
du genre "Température ambiante trop élevée : (O)uvrir la
fenêtre ou (A)ugmenter la vitesse du ventilateur ?". Puis
chronometrez le temps de réponse. Lent : La secrétaire est
partie chercher un spécialiste (qui est absent, personne ne
l'a vu ce matin, peut-etre au café ?). Rapide : le patron
s'en fout de la température, il veut jouer à DOOM. Note :
Mais il est possible que la secrétaire n'ait pas vu le
message et ait appuyé sur ENTER par habitude.
- Testez la première commande tapée au clavier :
- dir : secrétaire vérifiant on se sait trop quoi.
- azerty (puis deleté scrupuleusement et non validé) :
secrétaire vérifiant que le clavier fonctionne ou se mettant
en condition.
- CD RAPPORT.DAT
CD JEUX
CD DOOM1
CD SAVEGAME
CD DOOM2
CD BIN
DOOM.EXE : patron
- CD RAPPORT.DAT\JEUX\DOOM1\SAVEGAME\DOOM2\BIN : un intrus
(Note : vous remarquerez pour l'anecdote que le patron est
incapable d'avoir installé DOOM lui même. En fait il a
découvert ce jeu sur son disque dur alors qu'il cherchait à
installer Digger. On ne sait pas qui à installé DOOM. En
général il s'agit d'un ancien employé qui ne travaille plus
là depuis longtemps. Mais de toute facon personne ne sait
comment effacer un fichier)
3. Detecteur de compétence.
Vous devez écrire un programme pour une boite, mais vous ne
savez pas s'il convient de sécuriser le programme à coup de
"Etes-vous sur ?", "F1 pour l'aide" et autres "Cliquez ici je
vous prie". En fait, il faudrait que le programme détermine
le niveau du responsable informatique de la boite. Pas de
problème, ici encore des tests simples permettent de s'en
sortir :
- Testez le fichier de configuration de windows :
- Présence d'une image de fond : impossible qu'un employé
soit capable de personnaliser windows. Vous pouvez être sur
de la présence d'un responsable qualifié.
- le nom de l'image de fond est "claudia*.bmp" ou
"cyndy*.bmp". Victoire, il s'agit d'une boite d'informatique !
- l'image est une des images par défaut de windows : Pas de
chance ! Une companie d'assurances !
- "C:\WINDOWS" : chemin invalide. Il n'y à pas de responsable
informatique. Ou bien s'il y en à un, il est très fort : rares
sont ceux qui osent changer un nom de répertoire par défaut.
- Recherchez récursivement le plus grand nombre de répertoires
imbriqués les uns dans les autres. S'il y à autant de
répertoires que de fichiers, ou si au contraire le programme
trouve des choses du genre DOS\TMP\WINWORD\BACKUP\DOOMSAVE\DOS
c'est que l'administrateur réseau risque d'appeler votre
hot-line trois fois par jour (la première fois pour demander
des explications au sujet de l'installation, la seconde pour
savoir dans quel sens introduire la disquette, et la
troisième pour gueuler parceque vous avez vendu des
disquettes double-face qu'on ne peut mettre que dans un seul
sens).
- Recherchez tous les exécutables dans les répertoires
"\BORLAND", "\BORLANDC", "\TURBOP", etc... Exécutez chacun de
ces fichiers en redirigeant la sortie vers un fichier.
Comparez le fichier de sortie à "Hello World".
- Comptez le nombre de fichier "*.DRV" sur le disque. Si vous
trouvez plus de 20 drivers graphiques et une quinzaine de
drivers sonnores différents, vous êtes chez quelqu'un qui ne
sait pas à quoi servent les fichiers (ou, pire : qui le sait
mais qui n'ose pas les effacer) ...
- Recherchez un éventuel réportoire "\REP" :)
4. Programmes socio-adaptatifs
Vous êtes l'heureux auteur d'un jeu qui relègue DOOM et Wolf3d
au rang de Bubble-Bobble pour vieilles grands mères
puritaines. Seul problème : interdire le jeu aux mineurs.
Première chose à tester : le processeur ! Si le joueur dispose
d'un ORIC ou d'un VAX, il est probable qu'il ne soit pas née
d'hier (il est encore plus probable que le jeu ne tourne
pas).
Un autre test est de rechercher des fichiers "*.GIF" et
"*.FLI". Ce n'est pas tant le nombre de fichiers qui compte
mais plutôt leur localisation. Si vous trouvez le fichier
"Z:\WINDOWS\TMP\TEXTES\AVION.GIF", il s'agit en fait du
fichier "PAMELA.GIF" renommé et caché dans cette partition
secrète du disque dur de son popa par un petit ado de 15 ans.
Si vous trouvez plutot "C:\INZEBUTT.FLI" bien classé entre un
"CONFIG.SYS" et un "AUTOEXEC.BAT", vous êtes chez une
personne plus agée qui s'assume.
Vous pouvez aussi rechercher les autres jeux présents sur le
disque. Voici une petite échelle :
- de 1 à 5 ans : C:\NATHAN\BEBE1.COM (Bébé apprend à lire)
- de 6 à 10 ans : C:\NATHAN\BEBE2.COM (Bébé apprend à compter)
- de 11 à 15 ans : C:\JEUX\DOOM.EXE (Bébé apprend à découper
un alien mutant à la tronçonneuse)
- de 16 à 20 ans : C:\BORLAND\TP.EXE (Ca ne rigole plus,
l'utilisateur veux coder une démo)
- de 21 à 25 ans : C:\BORLANDC\BC.EXE (l'utilisateur en à
marre de se faire bassiner parcequ'il programme des démos en
Pascal)
- de 26 à 30 ans : C:\CIEL\COMPTA.EXE (l'employé regrette le
temps ou il codait des démos en Pascal, mais il faut bien
manger)
- au delà : C:\RAPPORT.DAT\JEUX\DOOM1\SAVEGAME\DOOM2\BIN
Si vous en connaissez d'autres, faites savoir.
PiedDePage(); ?>