> Accueil > Campus de Rennes > Formation Initiale > Mineures rennaises 2017-2018
Mineures rennaises
 
Campus de Rennes :
Accueil
Formation initiale
Formation continue
Recherche et relations industrielles
Personnel
Bibliothèque
 
Mineures du campus de Rennes

Les étudiants doivent choisir une mineure par colonne M1 à M6 (liste sujette à modifications). Cliquer sur une mineure pour en obtenir le détail. Cliquer ici pour une présentation générale des mineures.

octobre-décembrejanvier-mars
choix M1 choix M2 choix M3 choix M4 choix M5 choix M6
Objets Connectés Applications télécommunication Service réseau Analyse et Commande des Grands Systèmes Compilation Jeux vidéo et serious game
Processus de développement Systèmes d'exploitation Codes correcteurs d'erreurs en communications numériques Management de la production Systèmes de production d'énergie électrique Commande avancée
Conception d'ASIC analogiques Bâtiments intelligents et responsables Systèmes d'energie électrique Stratégie internationale et compétitivité Systèmes dynamiques hybrides Développement web
Ingénierie collaborative multiphysique avec Modelica Gestion des ressources humaines Electronique embarquée Architectures reconfigurables Systèmes d'exploitation embarqués et temps réel Eco-techniques de l'information et de la communication
Techniques de communication interpersonnelle         Ingénierie des systèmes complexes

Dans le tableau suivant, cliquer un thème pour sélectionner les mineures correspondantes :

Automatique Informatique Télécommunications Traitement du Signal et Electronique Energie
Dév. Durable
Métiers

En cas d'inscription en Master, cliquer son nom pour connaître les mineures obligatoires et les choix interdits :

MAE Master i-Mars Master SE Master SISEA SIF DD Smart Grids Spé ATE

Les mineures proposées sur le campus de Rennes se répartissent en quatre grandes catégories : entreprise et mondialisation, développement personnel, ouverture Scientifique et sociétale, approfondissement.

Les mineures transverses du domaine de l'entreprise privilégient la prise en compte du contexte international et des effets de la mondialisation sur la stratégie des entreprises, la gestion de l'information, le fonctionnement des équipes multiculturelles ainsi que l'amélioration de la productivité.

Par ailleurs, une possibilité de développement personnel est proposée aux élèves souhaitant mieux se connaître et améliorer leur performance individuelle dans un environnement professionnel.

Les mineures d'ouverture sont accessibles à tous, quelle que soit la majeure suivie, et sont destinées à faire le point sur un thème scientifique ou technique, une technologie, un secteur d'activité, avec le souci d'en présenter les aspects économiques et sociétaux.

Enfin, les mineures de la catégorie approfondissement apportent une expertise sur un thème particulier et se situent le plus souvent dans le prolongement des majeures du domaine correspondant. Cependant, très peu d'entre elles supposent le pré-requis d'une majeure et elles restent ainsi ouvertes à la totalité des élèves.

Entreprise et mondialisation
Stratégie Internationale et Compétitivité
(M4) Coordination : Véronique ALANOU ; Christian RICHARD
Parcours : « Entreprise » « International » « Master Administration des Entreprises »

Quel que soit son niveau de responsabilité, l'action d'un « ingénieur manager » se situe dans un contexte de mondialisation. Ses décisions au quotidien se prennent dans un environnement global incertain avec une concurrence accrue qu'il lui est nécessaire de décoder pour agir dans le cadre d'une stratégie internationale de l'entreprise. L'objectif de ce cours est de présenter les méthodes d'analyse les plus récentes afin de permettre aux participants de faire un diagnostic d'entreprise et de formuler des stratégies possibles.

Pré-requis : cours d'économie de 1a et 2a

Contenu : Les outils de la stratégie (modèles SCP, SWOT, de Porter, ...). Stratégies génériques de différentiation, domination, de niche. Environnement juridique international. Mise en oeuvre : proposer une offre de services ou de produits adaptée au marché visé, aborder des marchés globaux mais segmentés, établir un réseau,...

Gestion des Ressources Humaines
(M2) Coordination : Véronique ALANOU ; Damien BOHELAY
Parcours : « Entreprise » « Master Administration des Entreprises »

Un « ingénieur manager » doit au quotidien mobiliser et développer les capacités de ses collaborateurs afin de garantir une bonne cohésion et un niveau d'efficacité optimal. En collaboration avec les directions des ressources humaines, il les accompagne pendant leur vie dans l'entreprise et en particulier dans la gestion de leurs carrières. L'objectif du cours est de mettre en évidence les tâches susceptibles de lui incomber et celles qu'il peut déléguer, sous-traiter ou externaliser.

Pré-requis : aucun

Contenu : Fonction « Ressources Humaines » dans l'entreprise. Administration des « Ressources humaines » : gestion des carrières du recrutement au départ. Gestion des salaires et de la masse salariale. Relations sociales : délégués syndicaux, comité d'entreprise. Entretien annuel et bilan de compétences. Aspects internationaux : cas particulier des cadres expatriés.

Management de la Production
(M4) Coordination : Nabil SADOU
Parcours : « Science des Systèmes » « Entreprise »

Face à l'accroissement de la concurrence due en partie à la mondialisation, les entreprises se doivent d'être plus compétitives. L'amélioration de leur productivité passe par une organisation et un contrôle des unités et des flux de production efficace. Ce cours traite des moyens et méthodes de management de la production. Les principes de gestion d'une chaîne logistique, de la gestion de production ainsi que la Total Productive Maintenance y sont présentés.

Pré-requis : aucun

Contenu : « Supply Chain » et système d'information, Modules de la gestion de production, Pilotage des flux et des stocks, « Total Productive Maintenance », Dimensionnement d'atelier de production, « Lean Manufacturing ».

Développement personnel
Techniques de communication interpersonnelle
(M1) Coordination : Véronique ALANOU ; Gérard VAILLANT
Parcours : « individuel »
La communication tient une place très importante dans la vie professionnelle, en particulier dans les situations de responsabilité. L'objectif est de sensibiliser les participants à leur expression personnelle, de les aider à mieux percevoir leurs points forts et leurs limites dans ce domaine afin de leur apporter des éléments de progression.

Une attention particulière est donnée aux relations et processus d’interactions dans un groupe.
Plusieurs approches complémentaires sont proposées : Analyse transactionnelle, le MBTI, ActionTypes, la métaphore des cubes. Postures d’écoutes, formes d’écoute, règles des temps de parole, protocoles d’inclusion et déclusion, préalable de Korsybski et cadres de référence, ...
Partage de représentations sur la philosophie et les pratiques de management

Pré-requis : volonté d’amélioration

Contenu : Mise en situation et analyse de la qualité d’écoute, animation de réunions. Introduction aux méthodes « Action Type » et MBTI. Actiontypes et motivation profondes. Analyse transactionnelle. Recherche d’emploi.
- Mise en pratique et partage de représentations sur la communication en équipe. Postures d’écoutes, formes d’écoute, règles des temps de parole, protocoles d’inclusion et déclusion, préalable de Korsybski et cadres de référence.
- Partage de représentations sur la philosophie et les pratiques de management (et les pratiques relationnelles en management)

Ouverture scientifique et sociétale
Objets connectés
(M1) Coordination : Jacques WEISS
Parcours : « Systèmes Electroniques »

L’objectif est de découvrir l’électronique des objets connectés (« Hardware for IoT ») et leur utilisation dans le domaine de la domotique, de la géolocalisation ou de la robotique ; ces objets utilisent un processeur qui traite des données de capteurs pour les transmettre à d’autres objets ou à un système informatique. L’utilisation de ces objets pouvant être mobile ou nomade, les contraintes de choix des composants vont être axées sur la consommation, la taille et la portée (radio). Le choix de la réalisation sera aussi largement dicté par les solutions déjà disponibles dans les communautés de développeurs (Github, RPI, MBED, Arduino). Cette mineure est organisée sous forme cours/TD/projets afin de mettre en œuvre quelques exemples d’objets connectés simples (à base d’Arduino) ou plus évolués (à base de Raspberry PI). Un projet « fil rouge » sera défini par binôme pour la durée de la mineure, avec soutenance et démonstration.

Pré-requis : Cours 1A/2A

Contenu : Architectures de microcontrôleurs et processeurs embarqués. Langages et outils de programmation. Interfaces courants de communication filaires et radio (domotique et informatique). Topologie de réseaux. Technologies de capteurs et modules de communication. Interface avec des systèmes informatiques (box, serveur ou smartphone)

Jeux vidéo et « Serious Game »
(M6) Coordination : Renaud SÉGUIER
Parcours : « Multimédia »

Les « Serious games » ou jeux sérieux ont pour objectif de diffuser des informations, de faire acquérir des connaissances ou un savoir-faire en utilisant les aspects ludiques des jeux vidéos avec une intention sérieuse. De nombreux domaines nécessitant des entraînements et des mises en situation sont concernés (transports, médical, conduite de processus industriels, éducation, défense,...). Après une introduction générale sur la construction des jeux vidéo, l'accent est mis sur l'autonomie des agents avant de traiter la problématique des « serious game ». Les outils de conception de tels jeux seront mis en pratique.

Pré-requis : Modèles de programmation (1A).

Contenu : Éléments d'Intelligence Artificielle, Conception de Personnages Non Joueur, Etudes de cas en « serious game »

Eco-Techniques de l'Information et de la Communication
(M6) Coordination : Jacques PALICOT
Parcours : « Télécommunications » « Énergie & Développement durable »

Plus connues sous les termes « Eco TIC » et « Green-ITs », il s'agit de principes visant à réduire l'impact environnemental de la société grâce aux TIC (Technologies de l'Information et de la Communication) et à leur utilisation pour réorganiser / optimiser des processus métiers en fonction de leur empreinte écologique. A l'inverse, les TIC représentent 13,5% de la consommation d'électricité en France, et elles renferment un important potentiel de réduction d'énergie consommée qui reste à exploiter.

Pré-requis : cours de 1A & 2A

Contenu : Contributions des TIC au développement durable, efficience énergétique, « green communications », gestion des déchets d'équipements électriques et électroniques (DEEE), « Greenwashing ».

Systèmes d'Énergie Électrique (en langue anglaise)
(M3) Coordination : Hervé GUÉGUEN
Parcours : « Énergie & Développement durable »

L’objectif de cette mineure (complémentaire de la mineure « Systèmes de Production d’Énergie Électrique ») est de former les élèves aux enjeux que constituent le développement, le contrôle, la commande et l’optimisation du système de fourniture d’énergie électrique dans un environnement dérégulé et dans un objectif de développement durable et d’efficacité énergétique. L’accent sera porté sur les réseaux de transport et de distribution. On abordera en particulier les dimensions économiques, sociétales et techniques de ces systèmes.

Pré-requis : Cours de 1A & 2A

Contenu : Transport, distribution, contrôle-commande, smart grid, efficacité énergétique

Systèmes de production d'Énergie Électrique (2)
(M5) Coordination : Hervé GUÉGUEN
Parcours : « Énergie & Développement durable »

L’objectif de cette mineure (complémentaire de la mineure « Systèmes d’Énergie Électrique ») est de former les élèves aux enjeux de la production d’énergie électrique à partir de différentes sources d’énergie primaire. Les différents modes de production (thermique à flamme, nucléaire, hydraulique, solaire, éolien,..) et leur pilotage seront considérés. Les problématiques de micro-génération distribuée et de production à partir de sources renouvelables seront également abordées.

Pré-requis : Cours de 1A & 2A

Contenu : Génération, modélisation thermodynamique, contrôle-commande, efficacité énergétique

Ingénierie collaborative multiphysique avec Modelica
(M1) Coordination : Pierre HAESSIG
Parcours : « Science des systèmes »

Domaine : Automatique, Énergie

Prérequis : électricité et mécanique de base, signaux & systèmes, programmation orientée objet (pas de prérequis de la majeure ISA !)

Contexte : Les systèmes techniques sont généralement des assemblages de composants (ex. dans une voiture : moteur, alternodémarreur, direction, freins…) et leurs lois de comportement sont souvent issues de disciplines différentes (électricité, mécanique, thermique… ). Ainsi, ces composants sont souvent maitrisés par des personnes différentes. L’ingénierie des systèmes complexes pose donc des difficultés d’échange et de capitalisation des modèles.

Modelica est un langage utilisé dans l’industrie pour répondre à ces besoins :

  • Modéliser des systèmes appartenant à plusieurs domaines physiques.
  • Structurer aisément un modèle en composants réutilisables.
  • Collaborer efficacement et capitaliser les modèles au sein d’une équipe.
  • Objectifs du cours : utiliser le langage et l’environnement Modelica pour modéliser et simuler des systèmes dynamiques. Savoir réutiliser des modèles Modelica standards. Structurer un modèle complexe en composants réutilisables. Travailler en équipe sur un même modèle complexe, avec un système de versionnement (git).

    L’enseignement se fera sous forme de séances d’exercices pratiques sur ordinateur avec des points de cours condensés pour introduire les notions clés.

    Ingénierie des Systèmes Complexes
    (M6) Coordination : Nabil SADOU
    Parcours : « Science des Systèmes », « Entreprise »

    Les systèmes conçus par l'homme sont de plus en plus complexes. Les systèmes de transport, de télécommunication, et les missions spatiales en donnent des exemples. Leur conception nécessite de faire appel à une démarche méthodologique pour maîtriser la complexité : l'ingénierie système (IS). L'objectif de ce cours est de sensibiliser les élèves à la discipline de l'ingénierie système. Il en présente ses principes en vue de la réalisation de systèmes complexes.

    Pré-requis : Gestion de projet (2A)

    Contenu : Introduction à L'ingénierie système, Ingénierie des exigences, Management de projet technique, Management de l'information et soutien logistique, L'évaluation en IS : intégration, vérification et validation système, résilience et management du risque.

    Bâtiments Intelligents et responsables
    (M2) Coordination : Romain BOURDAIS
    Parcours : « Énergie & Développement durable »

    (M4) Coordination : Romain Bourdais Parcours : « Énergie & Développement durable » Les bâtiments dits “intelligents”, intégrant notamment les technologies de l’information et de la communication, apparaissent comme une réponse durable en termes d’économies d’énergie, de réduction des émissions de CO2 et d’optimisation des ressources. Cette mineure a pour objectifs de sensibiliser les étudiants à ces nouveaux enjeux qui vont amener à des changements profonds dès la conception de bâtiments.

    Pré-requis : cours de 1A & 2A

    Contenu : Éléments de base dans les domaines thermique, acoustique et du génie climatique. Nouvelles technologies de l'information pour l'optimisation des aspects énergétiques, l'amélioration du confort et de la sécurité des occupants. Le programme de cette mineure est articulé autour d'un mini-projet de domotique.

    Approfondissement
    Codes correcteurs d'erreurs en comunications numériques
    (M1) Coordination : Yves LOUËT
    Parcours : « Télécommunications » « Électronique embarquée » « Master i-MARS »

    L'objectif est de donner une vision précise des techniques de pointe actuelles mises en oeuvre dans les systèmes de communications numériques codage de canal. Basés sur des concepts théoriques de haut niveau, différents codes correcteurs d'erreurs avec les algorithmes de décodage associées sont présentés ainsi que les standards dans lesquels ils sont utilisés.

    Pré-requis : Signal et Communication de 2A, majeure SERI

    Contenu : Codes en blocs. Algorithmes de décodage. Turbocodes en blocs et convolutifs.

    Conception d'ASIC Analogiques
    (M1) Coordination : Gilles TOURNEUR
    Parcours : « Électronique embarquée » « Master SE »

    Il existe un besoin grandissant d'intégration de fonctions analogiques conjointement à des blocs de fonctions numériques VLSI. La réalisation de structures analogiques dans une technologie adaptée au numérique amène de nouvelles contraintes et ce module d'approfondissement fournit les connaissances nécessaires à la conception de circuits analogiques en technologie CMOS.

    Pré-requis : majeure SERI

    Contenu : Amplifications, capacités commutées, architectures des convertisseurs analogique/numérique et numérique/analogique, choix et compromis précision / vitesse.

    Électronique Embarquée
    (M3) Coordination : Jacques WEISS
    Parcours : « Électronique embarquée » « Masters i-MARS & SE »

    La réalisation de systèmes électroniques embarqués nécessite de choisir de manière adéquate les technologies à mettre en oeuvre et ensuite de prendre en compte leurs caractéristiques dans la définition d'une architecture. Le cours apporte les connaissances nécessaires à la maîtrise des contraintes engendrées, de la phase de conception à celle de validation.

    Pré-requis : Systèmes Logiques Électronique (1A) et d'Architecture des Systèmes Informatiques (2A)

    Contenu : Composants matériels et logiciels de l'embarqué. Méthodologie et outils de conception. Application à l'automobile.

    Architectures Reconfigurables
    (M4) Coordination : Amor NAFKHA
    Parcours : « Télécommunications » « Électronique embarquée » « Masters i-MARS & SE »

    De nombreuses applications nécessitant de hauts débits d'information et de fortes puissances de calcul impliquent la mise en oeuvre d'architectures multiprocesseurs adaptées aux applications flots de données. Celles-ci sont présentées dans ce module ainsi que les solutions logicielles permettant de répondre à la problématique des applications flexibles ou reconfigurables. Ces méthodes peuvent par exemple être utilisées dans le contexte de la conception radio (téléphonie mobile par exemple) ou vidéo (MPEG-RVC par exemple).

    Pré-requis : Architecture des Systèmes Informatiques (2A)

    Contenu : Architectures matérielles (NoC / plates-formes multi-processeurs). Modélisation, conception de haut niveau (UML, Système C,...) et abstraction du matériel.

    Systèmes d'Exploitation Embarqués et Temps Réel
    (M5) Coordination : Marie-Anne LEFEBVRE
    Parcours : « Télécommunications » « Multimédia » « Électronique embarquée » « Masters i-MARS & SE »

    Les systèmes fonctionnant en temps réel doivent réagir aux sollicitations de leur environnement en respectant des contraintes de temps et de sûreté de fonctionnement. Après avoir caractérisé les contraintes auxquelles ils sont soumis et les besoins correspondants, ce module présente les mécanismes spécifiques de systèmes temps réel embarqués disposant de ressources réduites. Il fournit ainsi aux participants les éléments leur permettant de faire des choix de conception de tels systèmes.

    Pré-requis : Architecture des Systèmes Informatiques (2A)

    Contenu : Architecture des systèmes embarqués et fonctions des noyaux temps réels. Spécification et implémentation d'un OS embarqué. Application à la téléphonie mobile.

    Applications Télécoms
    (M2) Coordination Yves LOUËT
    Parcours : « Télécommunications »

    Les communications sans fil à haut débit nécessitent la mise en oeuvre de techniques innovantes de modulation. Ce module d'approfondissement fournit les connaissances utiles à la compréhension des schémas de modulation dans les technologies de type 3G, Wifi, Wimax,...

    Pré-requis : Signal et Communication (2A), Communications numériques (3A)

    Contenu : Modulation OFDM (standards DVB-T et ADSL). Étalement de spectre et CDMA. Égalisation.

    Analyse et Commande répartie des Grands Systèmes (en langue anglaise)
    (M4) Coordination : Romain BOURDAIS
    Parcours : « Énergie & Développement durable »

    Parcours : « Énergie & Développement durable » Ce cours présente les bases de la commande répartie des grands systèmes. Il considère également l'analyse du comportement et en particulier l'analyse de la stabilité des systèmes à grande échelle. Il est basé sur les besoins des réseaux intelligents dont le contrôle est réparti sur une vaste zone et peut être réalisé par différents opérateurs.

    Pré-requis : ...

    Contenu : ...

    Systèmes Dynamiques Hybrides
    (M5) Coordination : Hervé GUËGUEN
    Parcours : « Science des Systèmes » « Master SISEA »

    Lorsque l'on prend en compte les systèmes dans leur globalité, il n'est plus possible de dissocier leurs dynamiques continues et discrètes. Ainsi par exemple, la sûreté d'un véhicule dépend autant de l'intensité du freinage que de l'instant de la prise de décision d'appliquer ce freinage. L'objectif de cette mineure est de permettre aux élèves d'appréhender les spécificités des systèmes hybrides et de leur commande. A partir d'exemples issus de différents domaines d'application on introduira les outils qui en permettent la modélisation, l'analyse et la commande.

    Pré-requis : majeure ISA

    Contenu : Modélisation, commande, sûreté, stabilité, applications

    Commande Avancée
    (M6) Coordination : Hervé GUËGUEN
    Parcours : « Science des Systèmes » « Master SISEA »

    Cette mineure présente les méthodes d'analyse et de synthèse les plus avancées pour la commande de systèmes complexes. La première partie du cours pose un cadre d'étude permettant d'analyser la robustesse d'un système commandé multi-variable vis-à-vis de différentes incertitudes de modélisation (incertitudes paramétriques, dynamiques négligées...), et de calculer des correcteurs en prenant en compte certains objectifs de performance et de robustesse. La seconde partie du cours prend en compte explicitement le caractère non linéaire des systèmes considérés pour développer des méthodes spécifiques.

    Pré-requis : majeure ISA

    Contenu : Synthèse H infinie. Analyse de la robustesse. Représentation des incertitudes : μ analyse. Commande basée sur la platitude, « Back Stepping ». Commande en mode glissant, Commande par passivité.

    Service Réseau
    (M3) Coordination : Guillaume HIET
    Parcours : "Informatique"

    Les services réseaux applicatifs, c'est-à-dire orientés vers les besoins de communication et de synchronisation des applications, sont présentés au travers des techniques et protocoles des couches hautes du modèles OSI. Les compétences apportées par ce cours sont utiles aux ingénieurs informaticiens amenés à concevoir et développer des systèmes d’information d’entreprise. Elles sont aussi intéressantes dans d’autres spécialités, comme par exemple les systèmes embarqués ou la conduite de processus, et plus généralement tout domaine nécessitant le développement d’applications communicantes.

    Pré-requis : Systèmes d'Information (2A).

    Contenu : SNMP, 802.1x, Annuaire (DNS, LDAP, NIS), flux multimédia (VoIP/ToIP : SIP, H.323, RTP, RTCP), ingénierie et administration des services réseaux, convergence des services (IMS).

    Systèmes d'Exploitation
    (M2) Coordination : Nicolas PRIGENT
    Parcours : "Informatique"

    Le fonctionnement interne des systèmes d'exploitation (OS, pour operating System) est présenté de manière approfondie en insistant sur l’implémentation des grands concepts de ces systèmes (processus, mémoire virtuelle, synchronisation, etc.) dans deux OS « modernes » : Linux et Windows. Si ces connaissances sont naturellement indispensables à la conception ou à l'amélioration d’un OS ou d’un logiciel embarqué, elles sont plus généralement un atout précieux pour tout ingénieur impliqué dans la conception de systèmes intégrant des aspects dédiés à la gestion de l’information.

    Pré-requis : Architecture des Systèmes Informatiques (2A).

    Contenu : gestion des processus (processus, ordonnancement, appels systèmes), interruptions, gestion des interruptions, synchronisation, gestion de la mémoire: mémoire virtuelle, pagination, segmentation, espace d'adressage, entrées/sorties (couches d'entrées-sorties, caches d'entrées-sorties), systèmes de fichiers, drivers. Mise en application : réalisation d’un driver sous Linux (BE) et réalisation d’un mini-shell (projet).

    Processus de Développement
    (M1) Coordination : Eric TOTEL
    Parcours : "Informatique"

    Les langages C et C++ restent des langages très utilisés pour programmer des applications des couches basses du logiciel telles que des systèmes d'exploitation ou des applications proches du système matériel. En particulier, ils sont encore largement utilisés dans les systèmes embarqués temps réel. Ce cours s'adresse aux élèves désireux d'approfondir leurs pratique de la programmation au travers de l'apprentissage des langages C et C++ et par la prise en main d'un environnement de développement associé (Eclipse, SVN, outil de développement d'interfaces graphiques).

    Pré-requis : Structure et Données et Algorithmes, Modèle de programmation (1A), projet de développement logiciel (2A)

    Contenu : Langage C, Langage C++, Design Patterns, Qt.

    Développement Web
    (M6) Coordination : Guillaume PIOLLE
    Parcours : "Informatique"

    Initialement prévu pour la mise à disposition de fichiers statiques, le web a évolué. Le protocole HTTP sert aujourd'hui de support de communication à des applications web complexes construisant des contenus dynamiques à la volée, exécutant du code dans le navigateur du client, interagissant avec d'autres applications distantes, avec des bases de données ou avec le système d'information des organisations. Bien souvent, les applications métier et les progiciels d'une entreprise sont également des applications web. Ce cours présente quelques-unes des technologies utilisées pour développer des applications web de tailles et de complexités diverses. Il comprend notamment une initiation pratique à Java EE et JavaScript.

    Pré-requis : Modèles de Programmation (1A), Systèmes d'Information (2A)

    Contenu : HTTP, serveurs web, serveurs d'applications, programmation côté serveur, programmation côté client, sécurité des applications web.

    Compilation
    (M5) Coordination : Fréderic TRONEL
    Parcours : "Informatique"

    Un compilateur est un programme qui traduit un code source, écrit dans un langage de haut niveau, en un code de plus bas niveau, en général exécutable par une machine réelle ou virtuelle. Cette traduction est une opération d'une grande complexité et qui peut paraître presque magique. En cela les compilateurs sont un des domaines les plus fascinants de l'informatique, se situant à la conjonction de nombreux domaines comme par exemple la linguistique (travaux de Noam Chomsky), l'informatique théorique (calculabilité, typage) ou les systèmes d'exploitation (le code produit coopère avec le système d'exploitation pour son exécution). Il s'agit dans ce cours de dévoiler une partie des mystères qui entourent la compilation et les compilateurs et permettre de comprendre pourquoi "Trying to outsmart a compiler defeats much of the purpose of using one." (Brian W. Kernighan & P.J. Plauger).

    Pré-requis : Structure et Données et Algorithme, Modèle de programmation (1A), projet de développement logiciel (2A), Processus de développement (3A)

    Contenu : les différents types de langages, différence entre interprétation et compilation, architecture d'un compilateur, front-end, back-end. Analyse lexicale et syntaxique. Arbre de syntaxe abstrait, transformation d'arbre. Analyse sémantique, langage intermédiaire. Génération de code (projection vers un langage assembleur donné, allocation de registres). Typage, gestion mémoire (garbage collecteur), cas des langages orienté-objet. Réalisation d'un petit compilateur en mini-projet.