Mineures Informatiques pour les informaticiens (Semestre 5 - Semestre 6)

-
L3-I-S5 

Être inscrit en L3-I   

S5 pour les L3-I
m5a-I : XML

Mineure Informatique (m5a-I)

Semestre : S5

39h – 4 ECTS

-

UE XML

19.5h CM – 19.5h TD (CM et TD en Séances de 1h30

-

Prérequis

Être inscrit en L3-I

Maîtriser la programmation, de préférence en Java, si possible en PHP

Connaître les éléments de base de l’architecture du Web et le langage HTML

**************************************************************************************

Compétences visées
Disciplinaires :
Compréhension fine du modèle de documents structurés et des notions liées à XML.
Capacité à créer, valider et traiter des documents XML par programmation ou à l’aide d’outils standard mis à disposition.
Expertise pratique du traitement de documents XML.
-
Programme du cours
XML : pourquoi et comment. Principes et caractéristiques de base.
Le format XML : modèle, syntaxe et validité
S
chémas et validation XML : DTD et XML Schema
Espaces de noms
Modèles de programmation avec XML : DOM, SAX
Programmation XML en Java et PHP
L’accès à des parties d’un document XML avec le langage XPath
Feuilles de style et transformation XML avec le langage XSLT
Interrogation de bases de documents XML avec le langage XQuery
-

S5 pour les L3-I
m5b-I : Mobile computing -Informatique mobile
Partiellement enseigné en anglais

Mineure Informatique (m5c-I)

Semestre : S5

39h – 4 ECTS

-

UE Mobile developpement (Développement mobile)

18h CM – 18h TD

-

Prérequis

Être inscrit en L3-I

Bases de données ou Python

**************************************************************************************

Compétences visées

Disciplinaires

Mobile devices have seen an unprecedented growth the last few years; along with the devices a wealth of applications for these mobile devices has been created ranging from business to leisure and from personal information management to games. Moreover, mobile devices are more and more equipped with a series of sensors (e.g. GPS, image capturing devices, accelerometers, etc.) making them responsive to various context-related inputs (like e.g. location) and also allowing the collection of information from the user or the environment. Moreover, mobile devices offer a wide range of connectivity options ranging from Wi-Fi and mobile 3/4G networks to Bluetooth and NFC (Near Field Communications). Thus mobile devices have grown to become a full-fledged and really capable development platform. At the same time applications being developed for mobile devices have to adhere to specific restrictions including limited memory and processor capabilities, limited local storage (especially for the cases of data collection) and expensive mobile connectivity and a different User Interface (UI) leading to different development practices for mobile applications. Finally, a trend is now emerging for developing web-based applications especially on/for mobile platforms.

-

So, this course aims at introducing fundamental principles on designing and developing applications for mobile devices taking into consideration the limitations and capabilities mentioned above. Students will be introduced to the various sensors available on mobile devices and their integration into modern mobile applications as well as the development of web applications for the mobile. The students will have to deliver a final project for the course developing a real-world mobile application
-

Learning Objectives

After successfully completing this course, students should be able to:

Discuss the key differences between development of systems to run on mobile devices and on typical personal computing or internet-based environments, and apply this knowledge in the design and development of mobile device software. Design and develop effective applications for a mobile device by taking into consideration the underlying hardware-imposed restrictions such as screen size, memory size and processor capability and exploiting the capabilities of the modern mobile devices User Interfaces (UI). Construct and test graphical applications for mobile devices by using the standard libraries that are bundled as part of the developers’ toolkit for the mobile device. Use in applications the various sensors available with mobile devices (like GPS, Accelerometer, etc.). Design and develop web-based applications for mobile devices. Develop back-end services for use by mobile applications.
-

Transversales (« Soft-skills »)

The students:

learn how to work both in autonomy and in a team,
learn to demonstrate a project to the public, and
practice their communication skills in English.
-

Programme du cours

Introduction to mobile operating systems and setting up a mobile application development environment Developing User Interfaces (UI/UX) for mobile devices (e.g., multi-touch models, gestures, etc.)

-

  • Introduction to mobile operating systems and setting up a mobile application development environment
  • Developing User Interfaces (UI/UX) for mobile devices (e.g., multi-touch models, gestures, etc.)
  • Setting Permissions and Preferences for a mobile app at the system level
  • Accessing the local hard disk to store information
  • Data Management for the mobile
  • Working with Multimedia
  • Accessing device’s sensors (e.g., GPS, accelerometer, image capturing, etc.)
  • Working with various types of networking (e.g., Wi-Fi, Mobile, Bluetooth, etc.)
  • Using threads and notifications in mobile applications
  • Creating server-side mobile applications
  • Web-based applications for mobile devices
  • Mobile application testing
-

S5 pour les L3-I
m5c-I : Développement web avancé

Mineure Informatique (m5c-I)

Semestre : S5

39h – 4 ECTS

-

UE Développement Web avancé

19.5h CM – 19.5h TD (CM et TD en Séances de 1h30)

-

Prérequis

Être inscrit en L3-I  
Maîtriser les concepts du développement Web et l'architecture Web 2 tiers Clients-Serveur

Maîtriser les langages de présentation côté navigateur : HTML 5, CSS 3

Maîtriser idéalement le langage PHP (ou un autre langage Web de programmation côté serveur).

Posséder des notions de programmations orientée objet (P.O.O).

**************************************************************************************

Compétences visées

Être capable de concevoir et réaliser un site web professionnel robuste, ergonomique, accessible, esthétique, fonctionnel et maintenable.

Ce module constitue un approfondissement du module « introduction au développement web » de l'année L2 (semestre 4), en environnement Open-Source LAMP.

Disciplinaires :Technologies usuelles du Web côté serveur (langage PHP ou python) connecté à une base de données (SGBDR MySQL) et côté client (HTML5 / CSS3 / JS). Site responsive, SEO, etc.

Transversales (« Soft-skills ») : Gestion de projet, travail en équipe, planification, répartition des tâches. (outils support : github, trello, etc.)
-
Programme du cours

Web mobile (modèle adaptatif / responsive web design), CSS media queries & Bootstrap
PHP 7 / PHP 8 (POO) : utilisation de ressources « objet », comparaisons entre Java et PHP, générateur de documentation (commentaires phpdoc et outil Doxygen),
Les différentes connexion à une Base de Données MySQL
Environnement de développement (plugins navigateurs, trello, git)
File upload simple et multiple (contraintes et limites),
Fichier .htaccess (contrôle d'accès , réécriture d'URL, etc.),
Programmation côté client : JavaScript
Bibliothèque JavaScript jQuery,
AJAX (XML et JSON),
Gestion des mails (phpmailer) et vérifications : DNS et expressions régulières en PHP (regex).
Génération dynamique de pdf et manipulation d’images,
Gestion des logs,
Quelques API google (google map, google analytics) ou solutions alternatives (piwik, openstreetmap)
Référencement et SEO (sitemap.xml, robots.txt, etc),
Eléments de sécurité Web,
Accessibilité,
CMS : intérêt / rôle / avantages / inconvénients : ex. avec WordPress.
-

S5 pour les L3-I
m5d-I : Python : un langage multipass

Mineure Informatique (m5d-I)

Semestre : S5

39h – 4 ECTS

-

UE Python : un langage multipass !

18h CM – 18h TD (CM et TD en Séances de 3h)

-

Prérequis

Être inscrit en L3-I
Python

**************************************************************************************

Compétences visées

Utiliser le langage Python dans les approches procédurale et objet, en mode console ou via une interface graphique, pour des applications en lien d’une part avec des usages courants pour le stage de L3, et d’autre part avec des spécialités du master permettant une découverte de celles-ci :
  • Une approche « traitement de données » (méthodes numériques, représentation des données, traitement d'images, Sciences forensic)
  • Une approche « système » (commandes et utilitaires : la plupart des commandes accessibles via le shell)

  • Une approche « informatique embarquée et objets connectés »
  • Une approche « sécurité du code »

-

Programme du cours

  • Historique Python et la POO
  • Notions d’IHM
  • Python et les interfaces graphiques
  • Python et le traitement de données
  • Python et la programmation système
  • Python et la sécurité du code
  • Python et l’informatique embarquée
  • Python et le développement Web
-

     
S5 pour les L3-I
m5e-I : Informatique graphique

Mineure Informatique (m5e-I)

Semestre : S5

39h – 4 ECTS

-

UE Informatique graphique

19,5h CM – 19,5h TD

-

Prérequis

Être inscrit en L3-I
Avoir suivi le cours Algorithmiques et structures de données en L2-I-S3

**************************************************************************************

Compétences visées

Initier les étudiants à l’informatique graphique (c'est-à-dire, ici, les algorithmes pour faire du graphique) et de se familiariser avec la norme graphique OpenGl, en leur fournissant les concepts de bases et en leur faisant découvrir des applications dans ce domaine.

Connaissance de certains algorithmes de base en 2D, puis le passage progressivement aux cas plus complexes pour aborder le 3D.

Acquérir certaines techniques et algorithmes de modélisation, de représentation et de déformation d’objets 3D puisqu’elles sont de plus en plus présentes dans de nombreux secteurs industriels (CAO, Jeux, Cinéma, Simulation, etc).

-

Programme du cours

  • Langage de programmation utilisé : langage C
  • Introduction à l’informatique graphique et à la synthèse d’images
  • Algorithmes de base en 2D (Traçage, Découpage, Remplissage, etc)
  • Norme Graphique (OpenGL) & Implémentation WebGL
  • Transformations géométriques
  • Transformations projectives Courbes de Bézier et de Bsplines
  • Surfaces de Bézier et de Bsplines
  • Visualisation et modélisation des modèles paramétriques (courbes et surfaces)
  • Surfaces d’Extrusion (Révolution, Balayage, etc)
  • Modélisation 3D (approche filaire, surfacique, volumique)
  • Déformation libre de surfaces
  • Subdivisions de courbes et surfaces.

-

-
-
L3-I-S6 

Être inscrit en L3-I 

S6 pour les L3-I
m6a-I : Web services
Partiellement enseigné en anglais

Mineure Informatique (m6a-I)

Semestre : S6

39h – 4 ECTS

-

UE Web services

19,5h CM – 19,5h TD (soit 13 séances de 1h30 en CM et TD)

-

Prérequis

Être inscrit en L3-I

Java, Bases de données

**************************************************************************************

Compétences visées

Disciplinaires :

During the course students will have the opportunity to become familiar both theoretically and practically with notions like:

Web services and Service Oriented Architectures: we will discuss and demonstrate what Web services offer as an evolving paradigm for building distributed applications and how this can be used to solve real world problems. 

WS-* standards: Web Service Standards like Web service description and discovery that enable any organization or individual find, and use web services or to publish its digital assets, on the global web, or a more restrained local net.

SOAP related technologies: we will gradually introduce all the dependent technologies necessary for creating and understanding a web service contract, i.e., XML, XSL, SOAP, WSDL.

REST Architectural Style : we will discuss how REST is proposed as an architectural style that best mimics the functionality and principles of the web. We will present the multiple layers that constitute a REST application, and present the different levels of restfulness, by the Richardson Maturity model. We will discuss its advantages over the SOAP approach, especially for web services offered in the WEB.

Resource-oriented architecture : we will present what are the benefits and how to design a web service around resources (i.e., entities) versus actions (as commonly done in remote procedure call web services). We pay special attention to URIs design.

HTTP and Uniform Interface : we will present the HTTP protocol, and its methods along with the safety and idempotence properties. We will show how any (CRUD and more) action on resources can be mapped to handing state on the resources with on of the 4 HTTP verbs (GET, POST, PUT, DELETE). We will discuss HTTP Headers (e.g, content-type, location, link) and their rôle in each HTTP call, as well as Authentication protocols.

HATEOAS : we demonstrate the need of building links among the ressources, in order to enable clients navigate the system. We parallelize this functionality to the way human users navigate web pages. 

JAX-WS, JAX-RS and JAX-B : we practically and theoretically discuss these java frameworks, and namely the annotations that are necessary or useful for constructing and customising web services and clients. Through the assigned project the students learn how to conceive a web service (in WS* and REST) in order to respond to a given set of requirements, to call and consume the responce of an external web service, and build the final client to test the webservice.

Transversales (« Soft-skills »)

The students :

learn how to work both in autonomy and in a team,
learn to demonstrate a project to the public, and
practice their communication skills in english.
-

Programme du cours

Langage de programmation utilisé : langage C

  • Introduction and Overview, SOA
  • XML & XML Schemata for web services
  • WS-*web services
    • SOAP protocol
    • Service description – WSDL
    • Services discovery – UDDI
    • Building and consuming Web Services in JAVA with JAX-WS
  • RESTful Web Services
    • REST Architectural Style
      • Layered System constraints
      • Application State vs Resource State
    • Resources and Representations
      • URIs
      • Content Negotiation
    • Uniform Interface
      • HTTP methods
    • Hypermedia As The Engine Of Application State (HATEOAS)
    • Richardson Maturity Model
    • Building Java Rest Webservices with JAX-RS
    • Description of REST web service interface - WADL
    • REST vs SOAP - a comparison

-
     Les conditions de validation

Selon les MCC votées par la composante
-

S6 pour les L3-I
m6b-I : Introduction à la science des données
Partiellement enseigné en anglais

Mineure Informatique (m6b-I)

Semestre : S6

39h – 4 ECTS

-

UE Introduction to data science / Introduction à la science des données

19.5h CM – 18h TD

-

Prérequis

Être inscrit en L3-I

Bases de données OU Python

**************************************************************************************
Compétences visées

Disciplinaires :

Learning from data in order to gain useful predictions and insights is onre important task around the Big Data and Artificial intelligence revolution. The course starts with overwiew of data science and the challenge of working with big data using various and diverse methods and discusses how to integrate the insights from data analytics into knowledge generation and decision-making.

This course introduces methods for five key aspects of data science: 
Data wrangling, cleaning and sampling, including approches of data normalization and use of data dependencies for capturig data errors;
Data management to be able to access big data quickly and reliably, including the use of alternate to the relational database models;
Introduce the idea of exploratory data analysis to generate hypotheses and intuition;
Prediction based on statistical methods such as regression, classification and clustering;
Methods of text analysis, including mining social media and other online ressources ans social network analysis, covering the basics of social graph data ans analyzing social networks;
Communication of results through visualization, stories, and understandable summaries, including various graph plots

Transversales (« Soft-skills »)

The students :

Learn how to work both in autonomy and in a team,
Learn to demonstrate a project to the public, and
Practice their communication skills in English.
-
Les conditions de validation

Selon les MCC votées par la composante
-

Programme du cours

CM1 : Introduction to Data Science
  • TD/TP 1: Data analysis in Python
CM2; Data Quality, Data Cleaning and Data Visualization
  • TD/TP 2: as above
CM3: Data mining algorithms: clustering, k-NN
  • TD/TP 3: as above
CM4: Machine Learning algorithms: decision trees
  • TD/TP 4: as above
CM5: Machine Learning algorithms, linear regression, Naïve Bayesian, decision trees
  • TD/TP 5: as above
CM6 : Introduction to Neural Networks
  • TD/TP 6: as above

-

S6 pour les L3-I
m6d-I : Introduction à l'IoT

Mineure Informatique (m6d-I)

Semestre : S6

39h – 4 ECTS

-

UE Introduction à l’IoT

19,5h CM – 19,5h TD (soit 13 séances de 1h30 en CM et 8 séances de 2h30 en TD)

-

Prérequis

Être inscrit en L3-I
Architecture des ordinateurs (L2-I) 

**************************************************************************************

Compétences visées

Cette mineure est destinée aux étudiants intéressés par les systèmes embarqués. C'est une introduction dans le monde d'Internet des objets (ou autrement dit Internet of things = IoT). Il donnera des premières connaissances des architectures des systèmes IoT et des protocoles sans-fil pour l'IoT, et présentera quelques notions de sécurité. Lors des TD, un réseau IoT base sur le protocole LoRa sera déployé.

-

Disciplinaires :
Architecture des systèmes IoT (microcontrôleurs, périphériques et communication filaires)
Protocoles de communications sans fil (Bluetooth/Wifi/LoRa/Sigfox)
Séecurite IoT (attaques existantes sur des objets)

-

Transversales (« Soft-skills »)
Gestion du projet lors du déploiement d'un réseau IoT (travail par groupes)
-

Programme du cours :

  • Rappel de l'architecture d'un système embarqué
    • Processeur vs microcontrôleur; outils et langages de programmation
    • Périphériques de communication filaires
  • Principaux Protocoles de comm. sans fil
    • Bluetooth/Wifi
    • LoRa/Sigfox
  • Sécurité
    • Concept, Challenges/Problématiques : Attaques existantes sur des objets
    • Mécanisme de sécurité existant, au niveau théorique, puis matériel et enfin protocolaire.

-

Les conditions de validation

Selon les MCC votées par la composante
-

S6 pour les L3-I
m6e-I : Administration système
Partiellement enseigné en anglais

Mineure Informatique (m6d-I)

Semestre : S6

39h – 4 ECTS

-

UE Administration système

19,5h CM – 19,5h TD )

-

Prérequis

Être inscrit en L3-I

**************************************************************************************

Compétences visées

Le module est destiné aux étudiants intéressés par l'administration des systèmes informatiques. En plus particulier, on travaillera sur l'administration systèmes sous Windows, pour compléter les modules des Réseaux et des Systèmes d'exploitation déjà existants.
-
Disciplinaires : Administration des systèmes et des réseaux sous Windows Active Directory Inter-opérabilité avec les systèmes sous Linux

-
Transversales (« Soft-skills ») Gestion du projet lors des séances TD (travail par groupes)
-

Programme du cours

  • Administration sous Windows
    • Introduction au Windows
    • Stockage des données sous Windows
    • Administration réseaux sous Windows
    • Active Directory (AD)
  • Administration sous Linux et inter-opérabilité
    • LDAP
    • Lien entre AD et LDAP
  • Serveurs de fichiers et gestion de stockage
  • Sécurité de Windows Server

-

Conditions de validation
Selon les MCC votées par la composante
-