Filiere STI

La filière STI (Sécurité et Technologies Informatique) de l'ENSI de Bourges forme des ingénieurs en informatique hautement spécialisés dans la sécurisation et le développement de systèmes d'informations. L'ingénieur ENSI filière STI a reçu une formation en informatique couvrant toutes les composantes scientifiques, techniques et humaines lui permettant de concevoir, gérer, développer et sécuriser tout type de systèmes d'informations ou de logiciels.

Profil de l'ingénieur STI

L'ingénieur STI a une bonne connaissance des concepts et des modèles de l'informatique théorique ce qui lui permet de tenir compte des aspects de complexité, de calculabilité et de performances. Il sait mettre en oeuvre les techniques de base pour résoudre les problèmes combinatoires (fiabilité, optimisation, cryptographie, vérification).

Il maîtrise le développement de logiciels selon des méthodes de conception professionnelles et scientifiques. Il possède une connaissance approfondie de tous les concepts de spécification (B, Z, UML, Merise, SA), de modélisation, de programmation, de vérification et de test. Il maîtrise notamment différents langages de programmation fonctionnelle, logique, et orientée objet.

Une des particularités de sa formation réside dans sa solide culture des systèmes d'exploitation et des réseaux informatiques au travers de l'étude de normes (POSIX) et des architectures réseau (OSI, protocoles de l'Internet, services web). Il est conscient des difficultés d'administration de tels systèmes. Il sait aussi mettre en oeuvre des solutions pour garantir leur sécurité.

Il est architecte des systèmes d'informations. Il sait concevoir, implanter des bases de données (PostGreSQL, Oracle). Il sait également développer les applicatifs et les intergiciels du système d'informations.

Selon l'option choisie en dernière année, il a acquis des connaissances approfondies en : sécurité des systèmes et des réseaux et de leurs applications embarquées; conception, déploiement et exploitation de systèmes d'informations répartis et transactionnels en respectant des méthodologies et normes de qualité; transmission numériques, leurs protocoles et modèles ainsi que les problèmes de sécurité et de fiabilité qui y sont liés.

Sa formation en sciences humaines lui donne une large autonomie pour développper et analyser en ayant le sens du besoin utilisateur, le travail en équipe et la gestion d'un projet complet, en respectant les normes et les contraintes réglementaires. Il possède également les connaissances en sciences sociales, en économie et en anglais qui lui permettent de diriger un service et de communiquer avec les différents acteurs du milieu professionnel en France et à l'étranger.

Sa formation généraliste en informatique et sa maîtrise des technologies de logiciels libres et propriétaires lui permettent en outre de prendre rapidement en main des technologies émergentes.

Cursus

Le cursus de la filière STI est découpée en 3 années:

  • 1ère année: 800h d'enseignement et stage de découverte de l'entreprise d'un mois.
  • 2ème année: 800h d'enseignement dont un enseignement d'approfondissement au choix et un stage technique de deux mois.
  • 3ème année: 400h d'enseignement dont une option au choix et un stage ingénieur de six mois.

Deux choix majeurs s'offrent à l'étudiant de la filière STI durant son cursus:

1ère année

La première année du cycle ingénieur de la filière STI est consacrée aux fondamentaux des sciences de l'informatique. L'objectif pédagogique est de mettre à niveau les étudiants ingénieurs mais aussi de leur donner une base solide centrée autour de la programmation, aussi bien d'un point de vu conceptuel que pratique. Les Unités d'Enseignements couvertes sont:

Tronc commun

  • Informatique de base 1: Principes de programmation. Cette UE permet de découvrir un système informatique. Il s'agit ensuite d'étudier les principes algorithmiques de base et d'étudier un langage de programmation (le C) les mettant en oeuvre.
  • Informatique de base 2: Principes avancés de programmation. Cette UE permet d'étudier les algorithmes et les structures de données complexes utilisés en programmation impérative.
  • Mathématiques :pour l'ingénieur 1 et 2: Cette UE permet de mettre à niveau en mathématiques les étudiants de première année du cycle ingénieur. Il s'agit d'étudier les fondamentaux en mathématiques nécessaires pour l'informatique théorique en deuxième année: traitement du signal, systèmes linéaires, probabilités et statistiques, logique.
  • Programmation réseaux et systèmes. Cette UE couvre les aspects réseaux et systèmes d'exploitation de l'informatique. Il s'agit de découvrir, en étudiant les aspects de programmation, les couches basses d'un système d'exploitation afin de pouvoir apréhender le fonctionnement et l'architecture d'un système informatique.
  • Développement avancé. Cette UE cloture l'enseignement en développement logiciel/système de la première année du cursus STI: on y étudie le shell et son langage de programmation, la compilation et les outils d'aide au développement et une introduction formelle sur les grammaires et les automates prépare l'informatique théorique de la deuxième année.

Sciences humaines et sociales, langues

Un certain nombre de UEs participent à l'élaboration du savoir nécessaire à l'ingénieur, lui donnant une ouverture sur le monde de l'entreprise et des contraintes économiques.

  • Introduction à l'économie et à la communication en entreprise: cette UE permet à l'élève de découvrir l'entreprise et son environnement macro et micro-économique ainsi que les moyens de communication écrite et orale utilisés en entreprise. Le projet permettra la mise en application des acquis de cette UE.
  • La gestion de l'entreprise : finance, marketing, droit: cette UE permet de découvrir différents aspects de la gestion de l'entreprise: gestion comptable et financière, gestion commerciale et marketing, ainsi que les problèmes juridiques liés à internet et au commerce électronique.
  • Anglais général et initiation au vocabulaire de l'informatique: cette UE se focalise sur l'anglais des affaires (savoir présider et participer à une réunion d'ordre commercial ou technique, savoir faire une présentation technique formelle) et sur l'anglais dans le domaine de l'informatique (Computer Architecture, Networks, Information security).

4 projets d'application des connaissances

4 projets encadrés se déroulent en parallèle des cours et travaux dirigés classiques de la formation d'ingénieur. Ils permettent de mettre en pratique les notions vus en cours et illustrées en TD et demandent aux étudiants un travail personnel afin d'approfondir leurs connaissances, découvrir la gestion de projet et le travail en équipe.

Projet Sciences humaines et sociales

Ce premier projet permet aux étudiants de travailler sur la recherche documentaire, le traitement et la structuration de l'information ainsi qu'à la présentation écrite et orale de ces informations. Ci-dessous un exemple de projet:

  1. Le transfert de données dans les années à venir. Exemple de rapport, présentation.

Projet Algorithmique et Programmation

Ce projet demande un lourd travail de développement en C ainsi que la mise en oeuvre d'algorithme travaillant sur des données souvent complexes. La nature du projet change chaque année mais est souvent découpée en une partie concernant des entrées/sorties fichiers, la réalisation de traitement complexes sur des données mises en méoire, la réalisation d'une interface graphique de visualisation des algorithme. Pour développer l'aspect ludique du projet, il s'agit souvent de concevoir une variante d'un jeu de la littérature. Ci-dessous quelques exemples de projets:

  1. Projet Wargame: il s'agit de réaliser un jeu de plateau en mode texte permettant à des combattants de s'affronter tour par tour. La difficulté réside dans l'échange et la synchronisation des cartes et des joueurs par le réseau. Exemples de présentations, photos:
  2. Projet Jeu de la Vie: il s'agit de réaliser la simulation d'un ecosystème marin en gérant la reproduction, la prédation et la mort des animaux marins. Exemple d'évolution de l'ecosystème:
  3. Projet Fractales: dans ce projet, on cherche à remplir une forme géométrique par d'autres formes géométriques afin de réaliser un pavage de la première forme. La deuxième partie du projet consiste à réaliser ce pavage en utilisant des formes fractales au lieu d'un pavage totalement aléatoire. Exemples de rapport 1, rapport 2 , présentations et photos:
  4. Projet Pic-pic: le but de ce projet est de générer des grilles du jeu Pic-pic ainsi que de réaliser une interface graphique permettant de jouer au jeu. Le jeu consiste à relier deux cases numérotées par i par des chemins de longueur i. Un solveur automatique permet au joueur d'obtenir une aide et le concepteur des grilles est capable de vérifier si une grille du pic-pic génère un dessin unique. Exemple de soutenances du projets:

Projet Système et Réseau

Ce projet permet de travailler sur le coeur de l'informatique enseigné au second semestre de la première année: le réseau et le système. Il permet de s'exercer de manière approfondie à la programmation réseau et à la programmation système ce qui nécessite une bonne maitrise du langage C, des primitives bas niveau réseau et POSIX. Les étudiants travaillent en binôme et présentent au travers d'un rapport, d'une soutenance leurs travaux. Une démonstration réseau déployée sur un petit ensemble de machines illustrent leurs résultats.

  1. Projet Wargame distribué FIXME
  2. Projet Serveur web FIXME

Projet d'application

Le projet d'application est un sujet personnalisé pour chaque binôme, encadré par un enseignant-chercheur de l'école. Les sujets sont très divers et recouvrent plusieurs unités d'enseignements vues dans l'année. Il peut s'agir de développement bas niveau, réseau, système; de développement web, initiation à la base de donnée, initiation à des points particuliers de la sécurité. Ces projets sont la charnière pédagogique entre la première et deuxième année: il s'agit d'approfondir les enseignements de la première année et d'aider l'étudiant ingénieur à l'autoformation à partir de livres et références techniques tout en introduisant une des unités d'enseignement de la deuxième année. Exemples de rapports, présentations, photos: FIXME

Stage

Un stage d'une durée minimale d'un mois est effectué en fin de première année. Il permet de mettre en application les divers concepts vus en cours et d'avoir, pour la majorité des élèves ingénieur, une première expérience du monde du travail.

2ème année

La deuxième année du cycle ingénieur de la filière STI développe l'informatique théorique, approfondit les enseignements réseaux et systèmes permettant d'introduire les bases des enseignements en sécurité. Les Unités d'Enseignements couvertes sont:

Tronc commun

  • Informatique fondamentale: Cette UE permet d'aborder certaines bases de l'informatique théorique à travers le parallèlisme, l'intelligence artificielle et la vérification de codes.
  • Systèmes d'information: Les aspects fondamentaux des systèmes d'informations sont enseignés dans cette UE: il s'agit de couvrir les aspects bases de données, conception et développement de logiciels ainsi que les premiers aspects de sécurités à travers la cryptographie.
  • Mathématiques des codes: Cette UE introduit la complexité et la calculabilité ainsi que les principes théoriques des codes de hashage et de cryptage.
  • Systèmes d'Information Avancés: Dans le prolongement de l'UE Systèmes d'Information, les bases de données et langages de développement avancés sont étudiés. Une introduction au développement particulier pour le web intervient dans cette UE.
  • Recherche opérationnelle: Un second volet du socle d'informatique théorique intervient dans cette UE: il s'agit d'étudier les méthodes de modélisation de problèmes et systèmes ainsi que les méthodes d'optimisations combinatoires classiques.
  • Sécurité: L'UE sécurité est l'UE d'enseignement centrale de la filière STI. Il s'agit de couvrir tous les aspects de sécurité qui s'appuient aussi bien sur le socle de l'informatique théorique que de l'informatique pratique. L'étude des systèmes d'exploitation et des réseaux est renforcés et les aspects concernant la sécurité de ceux-ci sont étudiés.

Au choix: 1 enseignement d'approfondissement

  1. Ingénierie du Multimédia: cet enseignement d'approfondissement permet de découvrir les principes théoriques de la synthèse d'image ainsi que les outils de modélisation et de rendu 3D ainsi que les algorithmes claissques de traitements et de compression d'images et de vidéos. Il s'agit aussi d'étudier l'ergonomie des interfaces logiciels ainsi que les bibliothèques de développement Java permettant de réaliser des prototypes d'interfaces très rapidemment.
  2. Commerce Électronique: cet enseignement d'approfondissement permet de découvrir les technologies de développement du web pour la construction de sites marchands. Il s'agit des standards basés autour d'XML et des web services, ainsi que des outils de mise en ligne de contenu et de paiement sur internet ainsi que des aspects de sécurité de ces paiements.
  3. Mobilité: cet enseignement d'approfondissement permet de découvrir les applications sur plate-formes embarquées (téléphones mobiles, cartes à puces, etc…). Il s'agit d'étudier les aspects spécifiques à l'embarqué concernant les systèmes d'exploitation, les méthodes de développement, d'optimisation, de test et de vérification des logiciels embarqués.

Sciences humaines et sociales, langues

En deuxième année, l'élève ingénieur reçoit aussi quelques Unités d'Enseignement plus générales:

  • Conduite de projets et management des risques: cette UE permet de découvrir la problématique de la gestion de projets en entreprise ainsi que les méthodes et outils d'analyse des systèmes d'information permettant d'en maîtriser les risques.
  • Ressources humaines, droit et gestion du risque: le but de cette UE est de permettre aux élèves d'avoir une approche globale de la sociologie des organisations ainsi que des risques en entreprise. Cette UE contient également un approfondissement des connaissances dans le domaine du droit informatique.
  • Anglais de l'informatique et des affaires 1: cette UE, qui couvre toute la deuxième année, permet de mettre en situation le futur ingénieur. Il s'agit de découvrir comment présider et participer à une réunion d'ordre commercial ou technique, comment faire une présentation technique formelle et rédiger un rapport d'ordre commercial ou technique.

Projet d'année

Par ailleurs, un projet d'application est réalisé tout au long de l'année. Celui-ci consiste en une étude et une réalisation approfondie sur un sujet technique en lien avec les divers enseignement d'approfondissement.

Stage de deuxième année

En fin de deuxième année, un stage d'au minimum deux mois est demandé. Celui-ci est général très technique. Il est aussi souvent l'occasion de partir à l'étranger.

3ème année

Pour sa dernière année de formation, l'élève ingénieur suit une spécialisation plus poussée dans l'une des options choisies au cours du premier semestre avant d'effectuer son stage d'ingénieur durant 6 mois minimum.

En informatique, les élèves ont actuellement le choix entre deux options (une troisième est en cours de définition). Le but est de donner une spécialisation particulière en lien avec leurs affinités personnelles. Ils suivent quelques cours communs entre les deux options, mais la différentiation se fait au niveau de l'option. Il n'existe plus de cours commun en informatique.

  • Des UEs spécifiques non informatiques:
    • Anglais de l'informatique et des affaires 2
    • Stratégie et intelligence économique: l'objectif de l'UE est une sensibilisation aux problématiques stratégiques de l'entreprise, ainsi qu'aux processus de veille et de l'intelligence économique.
  • 3 UEs d'informatique spécifiques à l'option choisie.
  • une UE spécifiquement dédiée à deux projets de grande envergure:
    • Projet d'option: le projet d'option est un projet technique de niveau ingénieur mettant en oeuvre l'ensemble des connaissances acquises au cours de la formation.
    • Projet de création entrepreunariale: le projet de création entrepreunariale amène les élèves à rentrer dans le processus complet de la création d'une entreprise, depuis l'idée directrice jusqu'au dépôt des statuts, en passant par la recherche de financements et les études de marché.

1 option au choix:

Les étudiants de 3ème année de la filière STI choisissent une des deux options suivantes:

  • Administration et Sécurité des Systèmes
  • Architecture et Sécurité Logicielles
  • Sécurité des Systèmes Ubiquitaires

Administration et Sécurité des Systèmes (A2S)

Les systèmes d'exploitation et le réseau sont les deux principaux vecteurs d'attaque d'un système d'information. L'enjeu de cette option est de former des experts capables d'analyser, d'auditer et de protéger les systèmes informatiques. L'option prépare un ingénieur spécialisé dans ce domaine. Celui-ci est alors capable de définir les politiques de sécurité adaptées aux besoins de l'entreprise, de proposer et de développer les moyens de garantir ces politiques. On s'intéresse en particulier à l'administration de la sécurité et des réseaux, à la sécurité des services (comme la sécurité web et la sécurité mail) et à la sécurité des systèmes d'exploitation.

Architecture et Sécurité Logicielles (ASL)

Quand on considère l'élaboration de logiciels complexes, on constate que les notions de sécurité doivent être introduites à toutes les étapes du cycle de vie du produit : de sa conception à sa mise en production, en passant par sa réalisation concrète. Ceci assure que le processus d'élaboration du logiciel est optimisé, garantissant ainsi qualité, performance et sécurité.

L'option ASL approfondit et formalise les notions de génie logiciel abordées durant le cursus. Elle apporte des notions de sécurité du logiciel de la conception aux tests des logiciels, sans écarter les aspects humains (interface, utilisabilité). Elle aborde de manière conséquente la sécurité dans le domaine des bases de données et de façon plus large traite des architectures logicielles réparties et/ou transactionnelles, dont l'ingénieur acquiert les compétences techniques mais est aussi sensibilisé aux aspects fonctionnels.

Aborder le logiciel à la fois du point de vue du concepteur et de l'utilisateur prépare ainsi l'élève ingénieur à des missions d'ampleur au sein de l'entreprise et de ses futurs contacts avec le client, et lui donne les clés de son évolution de carrière.

Sécurité des Systèmes Ubiquitaires (2SU)

Les réseaux ambiants ou ubiquitaires se caractérisent par des entités mobiles communicantes de différentes tailles, comme les terminaux, routeurs, PDA ou téléphones cellulaires. Ils peuvent servir de support à différentes applications de type multimédia (réalité virtuelle), grid-computing (calcul intensif), pair-à-pair (répartition de données)… Ces nouveaux systèmes posent directement des problèmes de mobilité, de sécurité et de sûreté (confidentialité des données, fiabilité des applications), de continuité de service (tolérance aux pannes) et de qualité de service. L'objectif de cette option est de former des ingénieurs capables de maîtriser les divers concepts liés à cette problématique d'avenir, de savoir mettre en place des solutions adaptées, garantissant les niveaux de sécurité requis par chacune des applications.

Projet d'option

Voici quelques exemples de projets réalisés, et pour certains proposés par les étudiants eux-mêmes

EO A2S

FIXME

EO ASL

  • Projet d'application web de site web d'agence de “voyages à la carte”

L'idée novatrice proposée ici est un site web capable de planifier vos voyages, en fonction de vos destinations et de vos thèmes de découvertes. L'application gère d'elle-même les transitions entre les lieux/thèmes. Utilisation de AJAX et middleware JDBC pour connection au serveur DB2 qui stocke les données. Développement applicatif en Java.

Interface de composition du voyage à la carteAffichage du voyage planifié sur agenda

  • Projet d'application de gestion de crise nationale

(projet en lien avec le travail réalisé par F. Dupré, en année de césure à Dayton, USA) L'application, réalisée à l'aide du framwork de développement peer-to-peer Java JXTA, permet de gérer les ressources diverses mise en jeu durant une situation de crise (catastrophe, attentat, etc.) avec leur autorisation et accréditations propres.

Interface Web de gesiton des unités

  • Projet d'importation d'emploi du temps

Ce projet a eu pour objectif d'étudier la faisabilité d'un outil d'extraction automatique des données contenu dans le logiciel HyperPlanning utilisé par la scolarité de l'ENSI de Bourges pour la définition des emplois du temps pour les exporter vers la base de donnée du logiciel Chandler, beaucoup utilisé par le membres de l'équipe de recherche SDS du LIFO. La difficulté résidait ici dans l'extraction des données plus que l'automatisation de leur insertion dans la base Chandler.

Visualisation d'un emploi du temps sous Hyperplanning Outil d'exportation (non automatisé) de HyperPlanning Schéma du flux de traitement Résultat de l'importation de l'emploi du temps HyperPlanning sous Chandler

  • Projet : réalisation d'une Game API pour Firefox

L'évolution du web (avec l'influence des technologie Google et web 2.0, Cloud Computing, services distants) est tellement puissante qu'il est possible que toute une frange de logiciels et services soient uniquement accessibles à distance d'ici quelques années. Pour rendre ces services totalement indépendants des OS, il est probable que les parties clientes s'exécutent directement dans les navigateurs. Ce projet s'inscrit dans cette démarche est a permis la création d'une interface de programmation en Java-Javascript afin de développer (ou porter des jeux existants) facilement pour être exécuté au sein du navigateur.

Exemple de jeu (Pac-Man) porté sous Firefox à l'aide de l'API développée

  • Projet : Réalisation d'un outil graphique de monitoring et d'administration de la sécurité d'un réseau

Ce projet, à la fois de développement et d'administration, était très orienté dans le domaine de la sécurité puisqu'il permettait de consulter et déployer des outils et des politiques de sécurité présentes sur les différents noeuds d'un réseau. Les outils pouvaient être des IDS, des monitors, …

Accueil du logiciel Exemple de sélection d'un outil à déployer sur certains machines du réseau

EO 2SU

FIXME

Stages

FIXME

Débouchés

L'ingénieur STI est particulièrement apte à travailler dans le domaine de la sécurité informatique et des systèmes d'information, en tant que:

  • Ingénieur sécurité: il est chargé de la sécurité des logiciels et infrastructures de l'entreprise. Il occupe principalement les postes suivants:
    • consultant sécurité
    • administrateur système
    • ingénieur réseau
  • Ingénieur système d'information: il est architecte, responsable du développement et de la maintenance du système d'information de l'entreprise. Il occupe principalement les postes suivants:
    • intégrateur système
    • ingénieur en déploiement de systèmes d'information
    • administrateur de bases de données
    • architecte web
    • ingénieur qualité
    • chef de projet logiciel

Salaires d'embauche

Le tableau suivant donne le salaire moyen d'embauche de l'ingénieur STI:

2005 2006 2007 2008 2009
Sans primes 29,5 K€ 29,6 K€ 29 K€ 30.4 K€ 30.5 K€

FIXME les missions classiques associés à ces métiers. Les salaires. Les types d'entreprises. Les partenaires privilégiés.

La recherche

La filière STI est adossée aux chercheurs du LIFO, Laboratoire d'Informatique Fondamental d'Orléans, et particulièrement l'équipe SDS, Sécurité et Distribution des Systèmes. L'équipe SDS travaille sur les aspects sécurité des systèmes d'exploitation, des logiciels et des applications répartis. L'équipe est constituée de 2 Professeurs d'Universités, 5 Maîtres de conférences, 2 attachés temporaires de recherche et 4 doctorants. Tous ces enseignants-chercheurs enseignent principalement dans la filière STI.

Les travaux de l'équipe SDS concernent principalement les axes suivants:

  • Sécurité et systèmes répartis à large échelle.
  • Sécurité des très grands clusters de calcul.
  • Détection d'intrusion et infrastructures de captures d'attaquants.
  • Politiques de sécurité des systèmes et des logiciels.
  • Sécurité des systèmes d'exploitation classiques et à base de cartes à puces.
  • Corrélation d'attaques et apprentissage de politiques.

Quelques exemples de publications de l'équipe SDS:

Masters

FIXME

 
accueil.txt · Dernière modification: 2011/04/04 17:22 par asma.adnane     Haut de page