Photo
Christian Toinard
Professeur des Universités en informatique

1ère classe par le CNU 27 en 2012 - Systèmes d'exploitation et sécurité













Cours en informatique en tant que Professeur


A l’ENSI, j’ai assuré la responsabilité de différents modules aussi bien pour la partie cours que TD sachant que les TDs se passent tous sur machine et demande un temps de préparation important et des évolutions chaque année. Je cite l’ensemble des modules dont j’ai eus la responsabilité et que j’ai enseignés. Actuellement, je n’ai en charge qu’une partie de ces modules, mais les cours et les TDs que j’ai préparés ont servi de bases aux enseignants d’informatique que j'ai progressivement recrutés.

Chaque module présente un volume horaire pour les étudiants d’une vingtaine d’heures de cours et TD. Sachant que pour un module, j’ai pu être amené à faire un groupe de TD voir deux selon les années et les promotions.

A titre d’information sur 2011-2012 et 2012-2013, j’ai préparé quatre nouveaux modules autour du Cloud et de la Sécurité :



Liste des principaux modules enseignés depuis 2002 :

- programmation shell, en première année de l’ENSI : donner les techniques de base de programmation du langage proposé par l’interpréteur de commande traditionnel d’Unix à savoir le Bourne shell.

- programmation système, en première année STI : présenter les appels systèmes Unix classiques et toutes les méthodes de communication entre processus (IPC) afin de maîtriser la programmation d’application et services système.

- programmation réseau, en première année STI : initier les étudiants au réseau, essentiellement Internet, via l’apprentissage de l’interface de programmation que constitue l’API socket. Cette démarche est efficace mais particulièrement difficile pour l’enseignant puisqu’en même temps, on doit leur faire comprendre les mécanismes de base de réseau et leur apprendre à programmer des applications réseaux.

- architecture des ordinateurs, en première année STI : introduction des différents composants matériels d’une machine, processeur, bus, mémoire, entrées-sorties. Ce module présente aussi les méthodes d’adressage, d’interruption et d’accès direct à la mémoire.

- système d’exploitation, en première puis en deuxième année STI : introduction des notions de bases de systèmes, noyau, entrées-sorties, système de fichiers, mémoire virtuelle, ordonnancement des processus, appels systèmes, etc.

- réseau, en première puis en deuxième année STI: présentation du modèle OSI, de l’architecture d’Internet, détails des niveaux liaisons, réseau, transport et principe des couches hautes session, présentation et application. L’essentiel des TD est d’étudier l’architecture d’Internet et des notions fondamentales (connexions, fiabilité, débit utile, méthode d’optimisation du débit, routage, transport, etc…).

- administration système, en deuxième et troisième année STI : j’ai donné quelques cours et TD d’administration NFS, annuaire et d’administration Unix.

- administration réseau, en deuxième et troisième année STI : j’ai donné quelques cours et TD essentiellement sur le routage, DHCP, le DNS.

- réseau informatique, en première année MRI : le but de ce module est de faire une présentation pour des ingénieurs généralistes de ce qu’est un réseau informatique. Le but est de leur faire appréhender concrètement l’architecture d’Internet et de leur apprendre à utiliser cette architecture via l’administration de machine et la programmation avec l’API socket.

- Systèmes répartis, en troisième année STI : ce module donne les fondements de ce qu’est un système réparti, présente tous les avantages, les impossibilités et les difficultés. Nous étudions les architectures et les techniques de base, client-serveur, mémoire répartie, traitement des défaillances, système transactionnel réparti, etc.

- Ingénierie du Web, en deuxième année STI : ce module présente les principales architectures permettant de développer des applications Web. Il présente HTML, HTTP, JavaScript, DHTML, CSS, Ajax, Servlet Java, JavaServer Page et PHP. Les TD permettent d’expérimenter différentes techniques, écriture HTML, JavaScript, CSS, PHP et JavaServer Page. Il présente aussi des outils comme Visual Studio pour la programmation HTML évènementielle.

- XML, en deuxième année STI : ce module présente les principes de XML et ses différents composants, DTD, XSL, XML Schema, XPath, XSLT. Il présente les librairies de programmation XML comme les parseurs et transformateurs de document.

- Services Web, en deuxième année STI : ce module donne les différents éléments d’un service Web, SOAP, WSDL et annuaire UDDI. Il permet de pratiquer les différents API permettant d’écrire un client ou serveur SOAP. Il offre aussi la possibilité d’utiliser de façon comparée les outils de développements intégrés comme VisuaStudio, NetBean et Eclipse.

- Sécurité Internet, en troisième année de l’option Sécurité des Systèmes et des Réseaux de STI : j’ai fait quelques cours de sécurité du Web et de sécurité du niveau réseaux IP, sachant que le reste du module est fait par des vacataires extérieurs.

- Sécurité des middlewares, en option Architecture et Sécurité des Systèmes : ce module présente les mécanismes de sécurité présents dans les différents middleware basés sur Java, .NET, XML et Corba. Il détaille la sécurité de Microsoft .NET et la sécurité des services Web.

- Composants logiciels, en option Architecture et Sécurité des Logiciels : ce module présente l’approche par composants présente dans Microsoft .NET.

- Sécurité des applications, en option Architecture et Sécurité des Logiciels : ce module présente les mécanismes de sécurité associées aux applications Web notamment ASP.NET.


La liste des modules que j’enseigne actuellement est la suivante : Systèmes répartis et Cloud, Sécurité des systèmes virtualisés, Sécurité des Systèmes d'exploitation, Sécurité réseaux, programmation réseau, réseau, Projets de système et réseau, Ingénierie du Web, Services Web, Sécurité des middlewares.