scripts-reco

Des scripts pour faciliter le reconditionnement de portables - retour accueil

git clone git://bebou.netlib.re/scripts-reco

Log | Files | Refs | README |

README (4066B)


      1 # Scripts reconditionnement
      2 
      3 Un ensemble de scripts facilitant l'évaluation de l'état d'un ordinateur. Ecrit
      4 initiallement pour les besoins de [Commown](https://commown.coop). Inspiré du
      5 travail de Louis, adapté en scripts shell plus simples et plus portables.
      6 
      7 ## Arboresence
      8 
      9 	.
     10 	├── bin                         # Un dossier contenant du code factorisé
     11 	│   └── common.sh
     12 	├── create_keyboard_profile.sh  # Un script permettant de créer les dispositions de claviers dans keyboard
     13 	├── generic.sh                  # La suite de test la plus générique
     14 	├── keyboard                    # Dossier contenant les dispositions des claviers
     15 	│   └── omen.kbd                # Une disposition de clavier
     16 	├── README                      # Ce fichier
     17 	└── tests                       # Les fichiers de test. Généralement des scripts.
     18 		├── audio
     19 		├── blue.png
     20 		├── bluetooth
     21 		...
     22 
     23 ## Usage
     24 
     25 Lancer une suite de tests :
     26 
     27 	$ ./omen.sh
     28 
     29 Il est possible qu'il vous soit demandé en cours de route d'entrer le mot de
     30 passe du compte root ou le votre si vous êtes sudoers.
     31 
     32 ## Fonctionnement général
     33 
     34 L'idée est d'avoir un ensemble de tests sous forme de scripts dans le dossier
     35 `tests`. Ces tests peuvent être assemblés dans une suite de test qui aident au
     36 reconditionnement d'un PC portable. Le début d'une suite de test instanciera
     37 certaines variables et fonctions qui peuvent être utilisées dans les tests.
     38 Ces variables et fonctions sont détaillées par la suite.
     39 
     40 ## Dépendances
     41 
     42 test | liste dépendances
     43 -----|------------------
     44 tous | shell, awk, grep, sed, sort
     45 rapport | dmidecode
     46 écran | feh
     47 webcam | ffmpeg
     48 audio | aplay/arecord
     49 wifi | iw
     50 bluetooth | bluetoothctl (bluez)
     51 clavier | fzy, xev, stdbuf
     52 génération profil clavier | xev, stdbuf
     53 
     54 Sous debian ces dépendances peuvent-être installées en faisant :
     55 
     56 	$ sudo apt install feh dmidecode ffmpeg alsa-utils iw xclip fzy
     57 
     58 A noter que `ffmpeg` est un paquet très lourd. Il pourrait être intéressant de
     59 le remplacer.
     60 
     61 ## Ecrire un test
     62 
     63 Un test est un script se trouvant dans le dossier `tests`. Il peut être
     64 écrit dans le langage de son choix. Les variables et fonctions shell
     65 disponibles pertinents lors d'un test lorsqu'il sera appelé dans une suite de
     66 test sont :
     67 
     68 Les variables
     69 
     70   * `$tmpdir` - le chemin du dossier temporaire créé pour cette suite de test.
     71     On peut y stocker des choses, pour le test en cours ou les suivants.
     72   * `$model_name` - contient le nom du fichier de la suite de test en cours
     73     moins son extension. Par exemple, si l'on lance `./omen.sh`, `$model_name`
     74     contiendra `omen`.
     75 
     76 Les fonctions
     77 
     78   * `inform blabla` - Affiche un message informatif et invite à appuyer sur
     79     entrée pour continuer. Typiquement utilisé en début de test pour préparer
     80     l'opérateurice à ce qu'il va se passer.
     81 
     82 ## Ecrire une suite de test
     83 
     84 Une suite de test est un script constitué d'un ensemble ordonné de tests se
     85 trouvant dans `tests`. Cette suite de test peut à priori se trouver n'importe
     86 où. Elle **doit** commencer par :
     87 
     88     #! /usr/bin/env ./common.sh
     89 
     90 Qui en fait script exécuté par `common.sh`. C'est ce script qui prépare les
     91 fonctions et variables importantes. On utilise ensuite la fonction
     92 `launch_test` suivi du nom d'un test existant pour déclarer les tests qui
     93 seront exécutés :
     94 
     95     launch_test rapport
     96     launch_test ecran
     97     launch_test audio
     98     launch_test webcam
     99     launch_test wifi
    100     launch_test bluetooth
    101 
    102 On fini par la fonction affichant le rapport de fin :
    103 
    104     end
    105 
    106 ## Ecrire le profil d'un clavier
    107 
    108 Pour faciliter les tests des claviers un script compagnon permet de facilement
    109 inscrire dans un fichier la disposition du clavier d'un ordinateur. Pour cela
    110 lancer
    111 
    112 	$ ./create_keyboard_profile.sh | tee keyboard/modele.kbd
    113 
    114 Il suffit ensuite de taper chaque touche dans l'ordre de son choix. Si un
    115 touche est répétée où si l'on faut une erreur il sera toujours possible
    116 d'ouvrir le fichier texte généré et le corriger à la main.