Linux en BTS au lycée Caraïbes
Préambule
Ce panorama n'est qu'un début d'essai de mise en forme d'une présentation
de ce que l'on peut faire avec un peu de volonté pour utiliser Linux
!
Ceci étant, je ne suis pas un grand spécialiste de Linux
et je peux seulement dire que je commence à l'utiliser de manière
correcte.
Il me semble que la <<possession>> de Linux est le résultat
d'un cheminement de durée différente selon les personnes.
La durée de l'imprégnation dépend évidemment
beaucoup de l'aliènation que l'on a vis à vis de
windows, mais elle dépend aussi de la manière que l'on
peut appréhender une vision assez nouvelle de l'informatique. On
peut aussi dire que le regard que l'on porte sur Linux dépend
de la profondeur de son propre esprit critique et de l'idée que
l'on se fait de la liberté (ça paraît grandiloquent
n'est-ce pas !).
Aller vers Linux n'est pas aller vers la facilité au début,
mais au bout de presque 6 ans d'utilisation relativement "cool",
je peux faire un bilan très positif quant à mon usage personnel
:
Il possède toutes les caractéristiques d'UNIX et un
véritable sytème multitâches et multi-utilisateurs
;
Il est très convivial grâce à son interface graphique
X-Window
et il ne prend pas grand place, mais il est constamment en évolution
;
Les forums qui lui sont consacrés offrent une source performante
pour l'aide en ligne ;
Dire qu'il est gratuit, puissant et populaire (dans la communauté
des pionniers d'Internet et dans dans toutes les universités du
monde) serait un pléonasme alors disons qu'il est pratique et sympathique
ce qui change un peu des produits uniquement commerciaux.
Pourquoi ?
Notre équipe pédagogique avait une raison objective
de s'équiper avec Linux, en effet, en BTS informatique industrielle
le programme ainsi que la plupart des sections y font plus ou moins référence
(Unix). Le saut dans un relatif inconnu a été peut-être
facilité par le fait que j'utilise Emacs et LaTeX
pour composer mes documents (cela peut paraître étrange mais
c'est ainsi).
Nous avons alors commandé un logiciel particulier SoftWorks
qui
allait nous permettre de travailler en multitâche et multi-utilisateurs
sur des cibles distantes.
L'installation s'est faite au début de septembre 1997.
Comment ?
En pleine rentrée scolaire nous étions donc pris par le temps
et il a donc fallu faire un rapide choix entre 3 options pour l'installation
:
Première solution : chaque utilisateur a tous les outils sur sa
machine ;
Deuxième solution : L'utilisateur se loge en local mais son <<homedir>>
est quelque-part sur le serveur. Donc chacun compile, etc, ... localement,
mais je n'ai pas encore la pratique de NFS !
Troisième solution : Fonctionnement centralisé : tout est
centralisé sur le serveur mais chaque machine peut, en local, compiler,
déboguer et travailler directement sur les cibles sans passer par
le logiciel SoftWorks.
La 2ème solution est probablement la meilleure, mais pour
des raisons de temps, de manque de formation et de <<spécificités>>
due à l'éloignement de la métropole (ce qui complique
tout), nous avons choisi la troisième solution (je devrais plutôt
dire qu'elle s'est imposée à nous).
Depuis 1999 certaines machines sont utilisées pour des tp
sur des cibles locales du type Electrome : ascenseur, parking, carrefour.
Maintenant
maintenant en 1ère année de BTS, nous avons fait des
séries de TP dont un peu moins de 50% se font sur Linux
le
reste se faisant sur W95.
En deuxième année quelques projets utilisent aussi Linux
mais aussi beaucoup OS9-68000 qui est, somme toute, un petit cousin
de Linux.
C'est quoi les cibles MII (microprocess)?
Ce sont (pour rester concis) des <<racks>> comportant des cartes
sur fond de panier (bus G96 pour certaines et bus VME pour d'autres) tournant
sous OS9-68000. On a ainsi :
-
une carte unité centrale de type CPU avec un processeur 68040 et
des coupleurs d'E/S (68681 et 68230) ;
-
une ou des cartes CAN/CNA ;
-
une ou des cartes RAM ;
-
une ou des cartes séries à base de 6850 ;
-
une ou des cartes parallèles à base de 6821 ;
-
carte réseau Éthernet ;
-
etc...
-
Disque dur et lecteur 3.5 pouces.
Qui c'est SoftWorks ?
C'est un outil de développement croisé.
De quoi est-il fait et à quoi sert-il ?
Chaîne de compilation croisée C/C++ ;
Débogueur croisé temps réel multitâches ;
Interface homme-machine conviviale (le débogueur ressemble
beaucoup à xxgdb de Linux) , qui permet de profiter
du confort d'un PC ( à défaut d'une station de travail) pour
la mise au point sur cible ;
La génération de code se fait pour Softkernel
(exécutif temps réel que nous venons d'obtenir), OS9,
etc... ;
Simulateur pour la mise au point sans cible y compris pour les entrées/sorties.
Où et avec quoi ?
Ce qui suit va être un (trop) rapide panorama du matériel
et du logiciel à ce jour.
Il existe 2 salles (pour le moment) utilisant le réseau Éthernet
:
-
La salle 1 est équipée de 8 PC (pentium 150 et écran
17 pouces)et d'un concentrateur. Des cibles y sont aussi utilisées
pour les TP sous Linux.
-
La salle 2 est équipée d'une douzaine de PC et de 2 concentrateurs
pour la salle elle-même et permettant la mise en réseau des
2 salles. Des cibles y sont aussi utilisées pour les TP sous Linux
et des parties opératives pour les projets de 2ème année.
-
1 réseau Éthernet (utilisation de cartes réseau compatibles
NE2000) ;
-
une vingtaine de PC dont 8 Siemens (pentium 150, 36Mo ), 1 HP
(pentium 120, 40Mo), 8 PC ACER 330 (en 1999) et 5 PC Olivetti 486
(à tendance poussive mais utilisables) ;
-
1 serveur Linux (2.0.27) biprocesseur 200MHz avec des périphériques
SCSI (Hd, cd, lecteur de bande);
-
1 serveur Windows NT (pentium 200) ;
-
2 disques durs 1,6Go chacun pour les machines Siemens et 4Go chacun
pour les machines Acer, un disque Linux sur lequel la machine <<boote>>
et un disque windows NT ; Il faut malheureusement ajouter que WNT
ne supporte pas du tout la version Suse de Linux et que le "lilo" est impossible
: l'épluchage de divers HOWTO n'a pas permis de résoudre
le problème alors que celà s'est passé sans difficulté
lors du passage de W 98 à WNT sur les machines tournant sous linux-Slackware
!
-
4 cibles microprocess MII sous OS9-68000, utilisant des 68040 ;
-
1 cible Eltec ;
-
1 cible Mic.
-
Les logiciels
Tournant sur windows NT :
-
C++ Builder ;
-
Envision (atelier de génie logiciel) ;
-
Rational Rose (atelier de génie logiciel).
Tournant sur Linux version 2.0.27 pour certaines machines
(distribution slackware) et Suse 6.0 (noyau 2.0.35) depuis 1999
puis 6.3
-
gcc, g++, xxgdb, emacs-19 ;
-
Applix Builder et Glade-gtk;
-
OS9-68000 pour les cibles microprocess (et son éditeur Umacs)
;
-
SoftWorks pour la mise en oeuvre de cibles distantes microprocess
par l'intermédiaire du réseau Éthernet.
Quelques exemples de ce que nous faisons sous Linux
Les TP sous WNT sont essentiellement tournés vers l'apprentissage
et la mise en oeuvre des entrées-sorties en mode local c'est à
dire les E/S série (com1 ou com2) et/ou parallèle. Ils utilisent
pour ce faire C, C++ et C++Builder : par exemple les
commandes d'afficheurs, les crayons optiques (code barre) et les cartes
à puce et depuis peu la commande de TES avec liaison jbus.
Les TP sous Linux sont essentiellement tournés vers l'apprentissage
et la mise en oeuvre de processus sur des cibles distantes mettant éventuellement
en jeu du <<multitâches>>. Ils utilisent pour ce faire
C et C++ sous Emacs, SoftWorks et le réseau Éthernet
:
par exemple les
liaisons séries, l'étude des asservissements de position
et de vitesse, la mise en oeuvre de petites parties opératives telles
que convoyeur, barrières automatiques et carrefour (Electrome) et
ascenseur (Electrome).
Exemples d'apprentissages sous Linux (1ère année)
-
Apprentissage des commandes Linux (commandes de base puis commandes
permettant d'utiliser certains logiciels);
-
Utilisation d'Emacs pour l'édition de texte et pour celles des programmes
en C et C++ ;
-
Apprentissage de la communication par FTP et par Telnet ;
-
Mise en oeuvre du logiciel SoftWorks pour les liaisons par Éthernet
entre les PC et les cibles OS9;
-
Déboguage à distance ;
-
Ultérieurement, réalisation d'interfaces graphiques à
l'aide d'ApplixBuilder, de gtk ou de glade ;
-
Principe et utilisation des sockets (tcp et udp);
-
La manipulation des fichiers sous UNIX/LINUX (les fonctions
systèmes, termios, select);
-
Utilisation des ports séries ;
-
Mise en oeuvre de maquettes Electrome (C'est surtout la présence
de capteurs et d'actionneurs ainsi que le fait que ces divers composants
sont interfacés et solidement implantés qui me font utiliser
ces maquettes) ;
-
Un paquetage est en développement pour la mise en oeuvre d'une "machine
d'état" de pilotage de maquettes sous Unix: pmu.0.3.1 ;
Exemples
de TP sous Linux
Bernard Le Fol
samedi 25 mars 2000
adresse :
mailto:bernez.arfoll@wanadoo.fr
