Master Professionnel ILI

Ingéniérie Logicielle pour l'Internet

Master Sciences : Mention Informatique

Université d'Artois à l'UFR des Sciences (Lens)

SECU1 Sécurité informatique

ECTS : 4
Heures de Cours : 16
Heures de TD : 15
Heures de TP : 12
Enseignants : Salem Benferhat et Karim Tabia

En conjonction avec ILI-SECU2, cette unité a pour objectif l'acquisition des principes fondamentaux de sécurité informatique.

  1. Notions de base sur la cryptographie
    • cryptographie à clef secrète
    • cryptographie à clef publique
    • fonctions de hachage cryptographique
    • méthodes d'anonymisation
    • protocoles sécurisés (identification, échange de secrets, etc.)
  2. Systèmes de contrôle d'accès
    • définitions des propriétés de sécurité
    • analyse des systèmes DAC, TMAC, et RBAC.
  3. Détection d'intrusions
    • approches comportementales (exemple : systèmes EMERALD)
    • approches par signature (exemple : système SNORT)
    • corrélation d'alertes : du format IDMEF à la détection d'attaques distribuées

RES Réseaux locaux : administration et protocoles - Langages de scripts et d'administration

ECTS : 8
Heures de Cours : 24
Heures de TD : 24
Heures de TP : 36
Enseignants : Bertrand Mazure et François Chevallier

L'objectif de cette unité est de former les étudiants à la conception, la configuration et l'administration des réseaux locaux. Cette unité vise aussi à former les étudiants aux langages de script pour l'administration des réseaux.

Les protocoles et services dans les réseaux locaux

  • adressage dynamique (DHCP) et nommage (DNS)
  • services d'authentifications (nis, nis+, ldap, etc.)
  • routage et translation d'adresse
  • partage de fichiers et de ressources (NFS, NetBEUI/Samba)
  • serveur Web (apache)
  • Installation et administration pratique :
    • des serveurs (adressage, web, fichier, authentification, etc.)
    • des postes clients (sous Linux, Windows, etc.)
  • Les réseaux locaux sans fil
    • Introduction, réseaux locaux sans fil, Wifi
    • Principes de transmission sans fil
    • Les protocoles de la couche physique (DSSS, FHSS, OFDM, CCK, etc.)
    • Partage du canal, couche MAC (DCF, PCF, etc.)
    • Sécurité des réseaux sans fil (WEP, WPA, WPA2, Kerberos)
  • Langage de scripts pour l'administration de systèmes et réseaux

    L'objectif de cette seconde partie de l'unité est de présenter un outil permettant l'automatisation de certaines tâches d'administration, des systèmes d'exploitation et des réseaux. A cette fin, le langage de scripts PERL sera étudié et une ou plusieurs applications pratiques seront réalisées.

    • Introduction
    • Le langage de scripts PERL
      • Scalaires
      • Structures de contrôle
      • Listes et tableaux
      • Fonctions
      • Table de Hachage
      • Tranches
      • Fichiers
      • Expressions régulières
      • Références
      • Modules : utilisation et écriture
      • Programmation objet
    • Applications à l'administration des systèmes et des réseaux
      • Traitement des informations systèmes (bases de registres, log, etc.)
      • Gestion automatique des utilisateurs (création, suppression, mise-à-jour) et des annuaires (LDAP, nis)
      • Analyse et gestion automatique de trames réseaux
      • Déploiement automatisé de logiciels

    XML : Programmation et Langages XML

    ECTS : 5
    Heures de Cours : 14
    Heures de TD : 13
    Heures de TP : 18
    Enseignant : Anne Parrain

    L'objectif de cette unité est l'acquisition d'une bonne compréhension des enjeux de XML et de l'ensemble des outils construits pour XML. Elle est organisée en deux parties :

    1. Programmation XML : Nous étudierons la manipulation de documents XML à partir de langages
      • de programmation classiques (avec les API SAX et DOM)
      • ou plus dédiés au Web (Javascript et Ajax).
    2. Langages XML : En restant dans le domaine purement XML, nous aborderons le problème d'une bonne représentation des connaissances dans un document XML, donc du typage, puis des opérations XML qui peuvent être faites sur ces documents (transformation, interrogation). Nous terminerons en présentant un langage spécifique de représentation de connaissances en XML basé sur la logique de description.
      • typage de documents XML : DTD, XML-schema, RelaxNG
      • extraction d'information et interrogation : XPath et XQuery
      • transformation de documents XML : XSLT
      • modélisation de connaissances : logiques de description et OWL

    JAI Java pour l'internet

    ECTS : 4
    Heures de Cours : 12
    Heures de TD : 12
    Heures de TP : 16
    Enseignant : Daniel Le Berre

    Le but de cette unité est d'acquérir des compétences dans la réalisation de systèmes multi-tiers légers en Java. On se limitera à l'utilisation des servlets pour la couche métier. La couche présentation sera traitée par une utilisation avancée des JSP (balises personnalisées) et de frameworks comme Struts ou Java Server Faces. La couche persistance se fera à l'aide de JPA.

    FOUIL - Fouille de données

    ECTS : 3
    Heures de Cours : 16
    Heures de TD : 12
    Heures de TP : 9
    Enseignants : Salem Benferhat et Karim Tabia

    -Outils de data-mining : des fondements théoriques aux algorithmes - Arbres de décision : exemple : C4.5 - Réseaux Bayésiens - Les machines à vecteurs de support (SVM) - Système de recherche d'informations et text mining

    PROGC - Outils pour la programmation par contraintes

    ECTS : 3
    Heures de Cours : 12
    Heures de TP : 8
    Enseignants : Christophe Lecoutre, Mohamed Saïd Radjef et Daniel Le Berre

    Le but de cette unité est de faire découvrir aux étudiants les principaux outils de programmation par contraintes pour la modélisation et la résolution de problèmes combinatoires. Trois outils seront particulièrement étudiés : Sixtus, Choco et CPLEX.

    Pour chacun des outils, nous présenterons les notions de bases; des exemples de modélisation de résolution de problèmes; des applications.

    JAVA Programmation Orientée Objet avancée (en Java)

    ECTS : 7
    Heures de Cours : 24
    Heures de TD : 26
    Heures de TP : 30
    Enseignants : Daniel Le Berre et Gérald Duquesnoy

    Cette unité fait suite à l'unité JAI.

    Partie 1. Java pour l'entreprise.

    La partie métier devient maintenant plus complexe. Elle sera gérée par des EJB (version simplifiée, 3.0) : session, entité, messages. À partir d'une étude des patrons de conception utilisés dans les applications d'entreprise, explication du fonctionnement d'un serveur d'applications JEE. Architecture des serveurs d'application. Modèle de composants OSGi.

    Partie 2. Java avancé.

    Programmation réseau avancée en Java (RMI/Corba, Pair-à-Pair (JXTA), orientée agents (JADE)). Programmation orientée aspects avec AspectJ. Programmation Java 5 avancée : classes paramétrées (generics) et annotations. Optimisation de code en Java.

    BD Bases de données avancées et entrepôts de données

    ECTS : 3
    Heures de Cours : 8
    Heures de TD : 8
    Heures de TP : 12
    Enseignant : Stéphane Cardon

    Cette unité permet d'acquérir une vue d'ensemble des outils et méthodes mis en oeuvre pour la conception, la gestion et l'utilisation des entrepôts de données.

    • Intégration de données pour la création et la maintenance d'entrepôts de données (data warehouses) ou de magasins de données (data marts)
    • Modélisation multidimensionnelle et OLAP
    • Les différentes implémentations pour le multidimensionnel : ROLAP, MOLAP, MROLAP
    • Techniques d'évaluation et d'expérimentation
    • Panorama des solutions logicielles existantes : BusinessObjects, Metacuble, Oracle Express Server, WEKA.

    SECU2

    ECTS : 4
    Heures de Cours : 16
    Heures de TD : 15
    Heures de TP : 9
    Enseignant : Sylvain Lagrue

    Cette unité fait suite à ILI-SECU1

    1. Sécurité des réseaux
      • analyse des problèmes de sécurité
      • sécurisation des réseaux par restriction d'accès (pare-feu, systèmes mandataires, etc.)
      • sécurisation des protocoles par la cryptographie (protocoles basés sur SSL, certificats, VPN, etc.)
      • politiques de sécurisation des systèmes
    2. Sécurité des programmes
      • analyse des problèmes de sécurité
      • sécurisation du code (segmentation fault, buffer overflow, le modèle Java, etc.)
      • sécurisation de la conception : introduction aux méthodes formelles, méthodes de test, reprise sur incident
    3. Sécurité des matériels
      • analyse des problèmes de sécurité
      • présentation des solutions générales (protection, redondance, etc.)
      • corrélation d'alertes : du format IDMEF à la détection d'attaques distribuées

    ANGL Anglais technique

    ECTS : 3
    Heures de TD : 40
    Enseignants : Gilles Choquet

    L'objectif de cette unité est l'approfondissement de la maîtrise écrite et orale du lexique propre à l'anglais de l'informatique; entraînement à la rédaction en anglais; développement de la compréhension écrite et orale de documents, apprentissage de la rédaction de mémoires et de documents; entraînement aux techniques d'exposés oraux.

    CONF Conférences

    ECTS : 3
    Heures de Cours : 40
    Responsable : Éric Grégoire

    Cette unité se présente sous la forme d'un cycle de conférences où des professionnels du milieu informatique présentent leurs expériences, des outils et des éléments méthodologiques, notamment de gestion de projet, jugés essentiels dans la profession.

    STAGE Stage en entreprise

    ECTS : 10
    Responsable : Daniel Le Berre

    Ce stage de 12 semaines s'effectuera en entreprise sur un projet validé par l'équipe pédagogique sur un sujet du Master seconde année. Il fera l'objet d'une soutenance et d'un rapport écrit.