B. Le système Poséidon appliqué à l'initiation à la communication sous UNIX

Sommaire:

  1. Présentation de la séquence
    1. Introduction
    2. Baie de Contrôle et de mesure:
    3. Découpage de la séquence:
    4. Objectifs de la séquence:
    5. Capacités:
    6. Découpage
      1. Phase 1: Présentation du système
        1. Contenu
        2. Validation
      2. Phase 2: Introduction à UNIX
        1. Contenu
        2. Validation
      3. Phase 3: Exploitation de documents techniques en anglais
        1. Pré-requis
        2. Contenu
        3. Validation
      4. Phase 4: HTML
        1. Pré-requis
        2. Contenu
        3. Validation
      5. Phase 5: Reprise du point de vue du programmeur du concept de fichier UNIX
        1. Pré-requis
        2. Contenu
        3. Validation
  2. Calendrier
  3. Bilan de séquence:

B.1. Présentation de la séquence

B.1.1. Introduction

Cette étude s'appuie sur le système industriel Poséidon 2.

On s'intéresse plus particulièrement à l'objet technique "Baie de Contrôle et de mesure".

B.1.2. Baie de Contrôle et de mesure:

Système informatisé tournant sous UNIX, capable (entre autre):

B.1.3. Découpage de la séquence:

6 séances de 4 heures de cours/TD en classe entière + 1 séance de 2 heures de cours

6 séances de 4 heures de TP en demi-groupe (3 séances par demi-groupe).

B.1.4. Objectifs de la séquence:

A la fin de la séquence, les élèves seront capables:

  1. D'exploiter une documentation technique en anglais: recherche des modes de fonctionnement, des contraintes et des informations relatives à la sécurité.
  2. De produire un document technique simple au format HTML (comprenant du texte simple, différents niveaux de titre et des liens hyper-texte entre documents), à partir des documents constructeur précisant les contraintes de développement, les algorithmes utilisés et les modes de fonctionnement du produit à réaliser.
  3. D'utiliser une machine UNIX pour les opérations de base liées à l'utilisation de la machine (UNIX utilisateur: gestion de fichiers, gestion des droits d'accès, édition du texte, visualiser des documents HTML) et la programmation (UNIX programmeur: utilisation des outils de programmation standard, compilateur, makefile).
  4. D'effectuer des entrées/sorties sous UNIX (accès à des fichiers réguliers, des périphériques et aux ports d'E/S). De faire communiquer différents processus situés sur la même machine.

B.1.5. Capacités:

Les objectifs de cette séquence visent les capacités suivantes:
Collecter Extraire les spécifications utiles à l'application à partir des notices techniques (Objectif 1).
Analyser Mettre en forme ou compléter des spécifications existantes, rédiger une notice d'utilisation (Objectif 2)
Réaliser Réaliser des fichiers sources et produire le code exécutable (Objectif 3), stocker contrôler et protéger des informations (Objectif 3 et 4)
Interconnecter Ètablir une communication, échanger des informations (Objectif 4)

B.1.6. Découpage

Le découpage se fait en 5 phases:

  1. présentation du système
  2. introduction à UNIX
  3. Exploitation de documentations techniques en anglais
  4. Rédaction de documents sous UNIX au format HTML
  5. Programmation sous UNIX

Il est à noter que les phases 3 et 4 consistent à acquérir des techniques de travail et de communication. L'emploi de ces techniques se prolonge dans toute la séquence.

B.1.6.1. Phase 1: Présentation du système

Cours2 heures
TD2 heures
B.1.6.1.1. Contenu
Présentation du système Poséidon 2
B.1.6.1.2. Validation
Lors de la séance suivante, interrogation reprenant: des éléments du cours, les exercices résolus en TD.

B.1.6.2. Phase 2: Introduction à UNIX

Cours2 fois 2 heures
B.1.6.2.1. Contenu

Présentation générale du système UNIX

B.1.6.2.2. Validation
En deux étapes
  1. Par questionnement durant le cours
  2. Par l'interrogation écrite à la fin de la phase 3.

B.1.6.3. Phase 3: Exploitation de documents techniques en anglais

TD3 fois 2 heures
TP4 heures par demi-groupe
B.1.6.3.1. Pré-requis
B.1.6.3.2. Contenu
B.1.6.3.3. Validation
Par interrogation écrite (cette interrogation valide également la phase 2), avec à disposition la copie des pages de manuel distribuée lors de la phase 3: Questions de cours sur l'utilisation des commandes de base indispensables, problèmes à résoudre.

B.1.6.4. Phase 4: HTML

TP4 heures par demi-groupe
(fusionné avec le TP de la phase 3)
B.1.6.4.1. Pré-requis
B.1.6.4.2. Contenu

Ètant données 4 fonctions UNIX, rechercher le manuel de ces fonctions, et rédiger une version HTML de cette documentation.
Déterminer l'algorithme d'un programme mettant en oeuvre ces fonctions. Rédiger cet algorithme dans un fichier HTML, et faire des liens hyper-texte de ce fichier vers les fichiers décrivants les fonctions utilisées.

Les fonctions étudiées sont:

Le programme les mettant en oeuvre est un programme devant autoriser l'accès aux ports d'E/S de l'ordinateur, et lançant ensuite un processus utilisateur se servant effectivement de ces ports.

B.1.6.4.3. Validation
Au cours des TP. + Evaluation sommative par QCM lors de la validation de la phase 5.

B.1.6.5. Phase 5: Reprise du point de vue du programmeur du concept de fichier UNIX

Cours/TD2 fois 4 heures
TP2 fois 4 heures par demi-groupe
B.1.6.5.1. Pré-requis

programmation en C.

B.1.6.5.2. Contenu

Reprise du point de vue du programmeur du concept de fichier UNIX.

Notion de processus père/fils

B.1.6.5.3. Validation

Interrogation écrite: mise en oeuvre dans un programme des techniques de programmation sous UNIX


B.2. Calendrier

Cette séquence s'est déroullée dans la classe de seconde années du BTS informatique industrielle du lycée Louis RASCOL, du 8/11/1999 au 10/1/2000.

Cette séquence a également servi de support pour mon mémoire professionnel.


B.3. Bilan de séquence:

Les élèves sont maintenant capables de: %
Se connecter à une station UNIX et d'effectuer les opérations courantes (navigation dans les répertoires, création/suppression de fichiers, éditions) 100
Ècrire un document simple au format HTML 80
Ècrire et compiler un programme (appel du compilateur en ligne de commande) 60-80
Accéder à des fichiers ou aux E/S standards en C sous UNIX 60-80
Créer et lancer un processus en C 50-75
Créer des tubes et les utiliser pour la communication entre processus 50-70
Rechercher des informations dans le manuel ou dans une documentation constructeur en anglais 40-60
Rechercher des informations dans le manuel ou dans une documentation constructeur en anglais 40-60

Cependant, certains élèves ne maîtrisent toujours pas les notions élémentaires de la programmation structurée (boucles en particulier), et, en outre, beaucoup d'élèves ont encore de grosses lacunes au niveau de la syntaxe des langages C et C++.
Cet état de fait a deux conséquences majeures:

Ce second point s'est révélé particulièrement visible lors de l'interrogation du 13/12/1999 où les notes très basses (moyenne de la classe 5,5) reflètent plutôt que les problèmes de maîtrise des connaissances nouvelles, des problèmes liés à l'incapacité pure et simple de près de 60% des élèves à écrire un programme rudimentaire en C sur papier (programme principal, mise en oeuvre des structures de contrôle, appel de fonctions, syntaxe des expressions). Toujours d'après les résultats de l'interrogation du 13/12/1999, et sur le même programme, il apparaît que moins de 20% des élèves sont capables d'écrire sur papier un programme correct (c'est à dire syntaxiquement juste et répondant aux exigences posées).

A l'inverse, pendant le dernier TP, il apparaissait une compréhension des entrées/sorties sur fichiers par plus de 80% des élèves et de la notion de tube par près des trois quart d'entre eux.

Cette différence de résultats entre travail sur papier et sur machine, s'explique par la démarche empirique adoptée en TP par les élèves, et qui consiste à produire un "premier jet" et à effectuer des modifications successives afin de satisfaire le compilateur et se débarrasser des messages d'erreurs, plutôt qu'à une attitude réfléchie commençant par une phase d'analyse structurée.




Séquence Pédagogique, © 1999-2000 Sylvain LEROUX
1