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é
:
-
d'une part, une bonne connaissance du domaine est maintenant requise de
tout informaticien en raison de la diffusion générale des
techniques liées aux services et applications réparties.
-
d'autre part, un niveau élevé de compétence et de
savoir-faire est requis des spécialistes du domaine en raison de
l'accroissement de sa complexité technique. Est également
requise une grande capacité d'évolution (noter que la plupart
des mots-clés énumérés ci-après n'existaient
pas il y a 10 ans), ce qui suppose une formation de base solide centrée
sur les principes.
Les évolutions les plus significatives peuvent se résumer
comme suit.
-
Développement et diffusion du domaine des applications et services
répartis, reposant sur des outils intergiciels (middleware)
; les mots-clés dans ce domaine sont Java, CORBA, Enterprise
Java Beans, bus logiciels (MOM), composants logiciels, services Web.
-
Développement de l'informatique "ubiquitaire" (infrastructure globale
d'accès aux services, objets communicants, mobilité des services
et des utilisateurs), tant pour le monde professionnel que pour le grand
public.
-
Evolution du domaine des systèmes d'exploitation : à côté
des systèmes d'exploitation "traditionnels", se développe
le domaine des noyaux et exécutifs "sur mesure" pour les systèmes
embarqués, les télécommunications, et plus généralement
l'informatique ubiquitaire, ainsi que les grappes ouvertes de processeurs
pour les applications parallèles.
-
Importance croissante des aspects "non fonctionnels" : sécurité,
disponibilité et tolérance aux fautes, qualité de
service pour les données multimédia.
-
Importance croissante des aspects liés à l'administration
(systèmes, réseaux, applications, composition de services)
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.
-
réseaux et protocoles de communication, administration de systèmes
et de réseaux, administration d'applications
-
modélisation de systèmes, évaluation de performances,
systèmes critiques
-
systèmes parallèles, grappes, metacomputing
-
génie logiciel (en particulier techniques liées aux composants
et à l'architecture logicielle)
-
bases de données et systèmes d'information
-
interfaces et communication homme-machine.
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.
-
la préparation et le suivi de projets dans un domaine technique
spécialisé ne s'improvisent pas et demandent un ensemble
de compétences et un environnement que l'on ne peut trouver que
dans une équipe techniquement active dans le domaine.
-
c'est de plus en plus sur de tels projets réalistes, de taille crédible,
utilisant les techniques et les standards courants, que se fera la différenciation
entre les formations, notamment professionnelles, et que s'établira
leur rayonnement et leur attractivité tant vis-à-vis des
étudiants que de leurs futurs employeurs (et cela d'autant plus
que ces projets seront diffusés vers l'extérieur, ce qui
est un objectif visé à terme).
-
de tels projets constituent enfin un support essentiel pour les activités
de formation permanente pour lesquelles la demande est grande.
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.