Sur l'enseignement en "systèmes"
contribution à la préparation du quadriennal

Sacha Krakowiak

Evolution du domaine

La discipline désignée sous le terme général de "systèmes " a profondément évolué au cours des 10 dernières années sous l'influence des progrès de la recherche et du développement technologique. Elle s'est étendue des systèmes d'exploitation vers les systèmes répartis ainsi que vers le développement d'applications sur l'Internet. Parallèlement, le niveau d'exigence sur les compétences a également évolué : Les évolutions les plus significatives peuvent se résumer comme suit. Par ailleurs, l'intérêt croissant pour le logiciel libre (open source) n'est pas sans influence tant sur les besoins en compétences que sur les techniques propres de l'enseignement.

Le domaine des systèmes et applications répartis a des interactions avec plusieurs autres domaines, dont doivent tenir compte les programmes d'enseignement.

Dans cette note, on se limite aux systèmes au sens strict. Les interactions avec les autres domaines devront être précisées ultérieurement.

Objectifs et moyens de l'enseignement

Objectifs

Les objectifs sont exprimés en termes de compétences et de savoir-faire qui devraient être acquis aux principales étapes des cursus tant généraux que spécialisés. Les programmes détaillés doivent être élaborés à partir de ces objectifs. Concernant ces programmes, une réflexion approfondie a été menée en 1998-99 (avec consultation des professionnels du domaine) à l'occasion de la mise en place de la formation d'ingénieurs RICM et de la rénovation de l'option Systèmes Répartis et Réseaux du DESS GI. Elle devrait être maintenant réactualisée.

Au niveau Bac+3, on a défini les objectifs d'une formation générale (destinée à être poursuivie plus avant). Les objectifs d'une formation professionnelle à ce niveau doivent intégrer un plus fort accent sur le savoir-faire développé autour de projets (cf Licence professionnelle).
 
Objectifs à Bac + 3 : Formation générale
Connaissance des principes
  • Connaissance élémentaire du fonctionnement général d'un système d'exploitation, de son architecture d'ensemble et de ses interfaces.
  • Principes généraux de la programmation répartie, illustrés par des systèmes client-serveur
Savoir-faire pratique
  • Utilisation des principales fonctions du langage de commande d'un système d'exploitation (niveau utilisateur et niveau API).
  • Introduction à la programmation d'applications réparties simples, par utilisation de langages de scripts

Dans la tranche "Bac +4-Bac+5", la première année (Bac+4) est consacrée à l'acquisition des principes de base, illustrés par des applications destinées à maîtriser les mécanismes élémentaires et les méthodes de travail en projets, notamment en équipe. La seconde année (Bac+5) vise surtout à approfondir l'expertise technique dans les domaines choisis et à développer les compétences liées au travail en projets (architecture, qualité, communication).
 
Objectifs à Bac + 4 : Formation générale, ou formation professionnelle orientée vers les applications (par ex. MIAGE)
Connaissance des principes
  • Principes des systèmes d'exploitation (processus, programmation concurrente, gestion de fichiers, principes de désignation, liaison, composition ; architecture d'ensemble d'un système : noyau, extensions, communication.
  • Principes de base des systèmes répartis : intergiciels, construction de services, intégration de logiciel
Savoir-faire pratique
  • Programmation concurrente élémentaire (illustrée par ex. avec threads Java)
  • Utilisation élémentaire de systèmes intergiciels (par ex. une application simple en Java RMI et en CORBA)
  • Utilisation de mécanismes de base de déport d'exécution (par ex. applets et servlets)
Objectifs à Bac + 4 : Formation professionnelle "systèmes" (par ex. ingénieurs RICM option archi. réseaux-systèmes)
Connaissance des principes
Cf ci-dessus, plus :
  • Approfondissement des systèmes d'exploitation : architecture interne, gestion de mémoire, multiprocesseurs, communications
  • Eléments d'algorithmique répartie
  • Modélisation, mesure, évaluation de performances
Savoir-faire pratique
Cf ci-dessus, plus :
  • Programmation avancée en communication (couches basses des protocoles, etc.) 
  • Administration de système (notamment introduction à la sécurité)

 
 
Objectifs à Bac + 5 : Formation professionnelle "systèmes" (par ex. ingénieurs RICM et DESS GI, options réseaux-systèmes)
Connaissance des principes
  • Approfondissement des principes de l'intergiciel avec objets, composants
  • Sécurité des réseaux, systèmes, applications 
  • Tolérance aux fautes ; qualité de service
Savoir-faire pratique
  • Utilisation de systèmes intergiciels
  • Développement d'outils intergiciels pour des cas d'utilisation spécifiques
  • Construction de systèmes spécialisés (embarqués, etc) par assemblage de composants
  • Adaptation de systèmes à des environnements spécifiques (mobile, etc).
Objectifs à Bac + 5 : Formation professionnelle (autre domaine de spécialité)
Connaissance des principes
  • Sécurité des réseaux, systèmes, applications
Savoir-faire pratique
  • Utilisation de systèmes intergiciels
  • Déploiement et administration d'applications (composition d'applications, intégration)
  • Mise en oeuvre de politiques de sécurité

Ces objectifs sont exprimés pour les formations générales et professionnelles. Ne sont pas pris en compte ici les objectifs de la formation par la recherche (actuel DEA). Voir l'organisation actuelle du profil SAP "Systèmes et réseaux, Applications Parallèles et Réparties..." du DEA ISC.

Moyens

Les modalités de l'enseignement évoluent avec les nouveaux modes de diffusion des informations (matériau sur le web, logiciel libre) et les exigences croissantes sur le niveau de qualité des projets. Même si les cours sont nécessaires (surtout jusqu'à Bac+4) pour asseoir les principes et assurer la cohérence globale de l'enseignement, le centre de gravité de l'activité d'enseignement se déplace vers les activités de projets ou de travail d'acquisition semi-encadré. La préparation des supports et matériaux de projets, l'encadrement et la coordination de ces activités, requierent un effort qu'il faut chiffrer. Trois remarques peuvent etre faites à ce propos. Nous avons fourni à plusieurs reprises (sans aucun résultat visible) une évaluation détaillée, filière par filière, des besoins non couverts pour l'enseignement des systèmes. Nous n'avons pas réactualisé ces documents mais les besoins exprimés n'ont évidemment fait que s'accroître.

L'enseignement dans le domaine des systèmes (comme dans tout domaine technique spécialisé) doit être pris en charge par une équipe pédagogique, qui doit nécessairement être active en recherche dans le domaine concerné. Cela est d'autant plus vrai que l'évolution technique du domaine est rapide et que l'enseignement requiert la maîtrise d'outils techniques "pointus". Ce mode de fonctionnement, faut-il le rappeler, est à la base même de la notion d'enseignement supérieur. On peut intégrer des enseignants faisant leur recherche dans un autre domaine  (c'est même très souhaitable), mais la seule manière de le faire raisonnablement, et en respectant une cohérence globale, est de s'appuyer sur un cadre et des outils préparés par une équipe spécialisée, qui doit être active en recherche dans la discipline concernée. Le poids des projets dans la formation ne fait que renforcer ce point.