컴컴컴컴컴컴컴컴컴
                           TESTS DE DETECTION
                           컴컴컴컴컴컴컴컴컴



      Tous  les  profs  d'infos  savent �a : 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  plutot  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   connaitre   le   type
      d'utilisateur  plutot  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  plutot  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

         Vous pouvez sans doute en trouver d'autres...