Les systèmes répartis découlent de la mise en réseaux des ordinateurs et de l'ensemble des dispositifs électroniques qui font notre environnement aujourd'hui (téléphone portable, tablettes, capteurs et serveurs dans des datacenters ...). Ils sont omniprésents dans les systèmes d'information, les systèmes de télécommunication, les infrastructures de services, etc. qui nous entourent. A l'issue de cette unité d'enseignement les étudiants doivent avoir compris les problématiques propres à ce type de systèmes en particulier les limites concernant le Big Data traité dans les centres de données, et maîtriser l'ensemble des outils (modèles, algorithmes, éléments d'infrastructure, composants logiciels, ...) nécessaires à la conception, l'utilisation et le développement d'un système de calcul réparti.
Ce module forme de futurs architectes, développeurs et utilisateurs avertis de systèmes répartis en particulier pour la problématique du calcul pour le Big Data et la performance du calcul et du traitement des données. Dans cet objectif, on présente en détail le concept du calcul réparti avec MapReduce et les briques technologiques nécessaires ainsi que l'algorithmique associée. Les grandes tendances en matière de cloud et de performance de calcul dans les datacenter sont également étudiées.
Cette UE pratique présente des technologies de bases de données émergentes dans le domaine de la gestion de données hétérogènes, massives, complexes ou semi-structurées. Les systèmes de gestion de bases de données sont en constante évolution pour répondre aux nouveaux besoins des applications (web, SI, etc.). Ces nouveaux besoins se caractérisent par une plus grande complexité des données, des volumes de données de plus en plus importants et une hétérogénéité croissante. Cet enseignement présente les composants essentiels de ces nouveaux systèmes de gestion de bases de données (stockage, indexation, transactions, évaluation de requêtes, optimisation, répartition) ainsi que des travaux pratiques de mise en œuvre sur les logiciels de référence.
Les principales technologies utilisées sont : PostgreSQL, MongoDB, Neo4j, Cassandra et Spark.
La gestion de données tient une place centrale et croissante dans le développement des technologies de l'information. Cet enseignement traite de ce sujet essentiel en étudiant les technologies des Bases de Données. Les systèmes de gestion de bases de données permettent de gérer des volumes importants de données, de garantir leur cohérence et leur sécurité. Ils offrent un accès optimisé aux données et assurent la fiabilité des traitements concurrents appliqués aux données. Ce cours est consacrée au modèle relationnel. Il présente les principes de ce modèle : concepts descriptifs, cohérence et intégrité, outils de manipulation, confidentialité et vues, etc. Il présente également le langage SQL et les outils conceptuel et formels permettant une bonne structuration des données et des schémas des bases de données relationnelles.
Dans une première partie, l‘objectif de cet enseignement très pratique est de présenter comment installer et configurer Hadoop, d’initier au modèle de programmation MapReduce et à l’utilisation de technologies de l'écosystème YARN tels que Spark en mode cluster, dans la perspective du projet Fil Rouge démarrant en P2.
Parmi les points abordés : aspects théoriques du calcul distribué (verrous distribués, algorithmes d'élection, paradigmes de calcul distribué, problème de consensus, tolérance à la panne, etc.), utilisation des machines virtuelles, installation du framework Hadoop (Zookeeper + HDFS + MapReduce), administration du framework Hadoop (taux de réplication HDFS), utilisation du framework Hadoop pour la mise en œuvre d'opérations MapReduce avec utilisation de la bibliothèque Hadoop streaming
Les systèmes répartis découlent de la mise en réseaux des ordinateurs et de l'ensemble des dispositifs électroniques qui font notre environnement aujourd'hui (téléphone portable, tablettes, capteurs et serveurs dans des datacenters ...). Ils sont omniprésents dans les systèmes d'information, les systèmes de télécommunication, les infrastructures de services, etc. qui nous entourent. A l'issue de cette unité d'enseignement les étudiants doivent avoir compris les problématiques propres à ce type de systèmes en particulier les limites concernant le Big Data traité dans les centres de données, et maîtriser l'ensemble des outils (modèles, algorithmes, éléments d'infrastructure, composants logiciels, ...) nécessaires à la conception, l'utilisation et le développement d'un système de calcul réparti.
Ce module forme de futurs architectes, développeurs et utilisateurs avertis de systèmes répartis en particulier pour la problématique du calcul pour le Big Data et la performance du calcul et du traitement des données. Dans cet objectif, on présente en détail le concept du calcul réparti avec MapReduce et les briques technologiques nécessaires ainsi que l'algorithmique associée. Les grandes tendances en matière de cloud et de performance de calcul dans les datacenter sont également étudiées.
Cette UE pratique présente des technologies de bases de données émergentes dans le domaine de la gestion de données hétérogènes, massives, complexes ou semi-structurées. Les systèmes de gestion de bases de données sont en constante évolution pour répondre aux nouveaux besoins des applications (web, SI, etc.). Ces nouveaux besoins se caractérisent par une plus grande complexité des données, des volumes de données de plus en plus importants et une hétérogénéité croissante. Cet enseignement présente les composants essentiels de ces nouveaux systèmes de gestion de bases de données (stockage, indexation, transactions, évaluation de requêtes, optimisation, répartition) ainsi que des travaux pratiques de mise en œuvre sur les logiciels de référence.
Les principales technologies utilisées sont : PostgreSQL, MongoDB, Neo4j, Cassandra et Spark.
Ce cours de MLOps guide les apprenants à travers les étapes essentielles du déploiement de modèles de machine learning en production. Il commence par une introduction approfondie aux principes fondamentaux du MLOps, mettant en évidence des cas d'utilisation concrets pour une compréhension pratique. Les participants sont ensuite formés à la conteneurisation avec Docker, suivi par la gestion du cycle de vie des modèles à l'aide de MLFLow et DVC. Ils apprennent à déployer leurs modèles en tant que services avec des API, garantissant ainsi une accessibilité optimale. Le cours se poursuit en explorant la scalabilité et le clustering des modèles via Kubernetes, et enseigne les aspects cruciaux de la gestion du workflow et de l'orchestration à l'aide d'Airflow. Enfin, les participants acquièrent des compétences en matière de monitoring grâce à l'utilisation de Prometheus et Grafana, complétant ainsi leur formation pour une mise en production réussie de projets d'apprentissage automatique.
Acquérir une vision globale des problèmes de sécurité liés aux Big Data. Disposer des bases nécessaires pour mettre en place une architecture de sécurité, et comprendre les techniques de protection des données en environnement Big Data
L'objectif de cette UE est d'étudier les différentes technologies, outils, concepts permettant d'exploiter au mieux la vaste source d'informations qu'est le Web.
Le cours comprend une introduction aux technologies utilisées sur le Web pour le développement d’applications Web. Il permet de se représenter le fonctionnement général d'outils tels que les moteurs de recherche, et les techniques de crawling et de scraping. Il présente également le concept du Web sémantique et de la représentation structurée des connaissances, utilisée notamment en intégration de données. Enfin, le cours propose une introduction aux problématiques de sécurité des données et de gestion des données personnelles.