Académique Documents
Professionnel Documents
Culture Documents
UE D – EXPERTISE PROFESSIONNELLE
Corrigé
Durée : 2 heures
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Dossier 1 - Big data
Question 1
Expliquez précisément les initiales « C, A, P » du schéma ci-dessous.
10 points
Question 2
Citez les 4 familles de bases No SQL existantes, expliquez brièvement chaque principe et donnez
1 exemple pour chacune.
10 points
- Orienté clés-valeurs : Table de hachage où il y a une clé unique et un pointeur vers un élément de
données particulier. Ex. REDIS.
- Orientés colonnes : Pour stocker et traiter de très grandes quantités de données réparties sur de
nombreuses machines. Ex. Cassandra, HBase.
- Orienté documents : Collections de collections Key-Value (documents json ou bson). Ex. CouchDB,
MongoDb
- Orienté graph : basé sur le modèle des propriétés des graphes, il est approprié aux réseaux sociaux,
ou de recommandations. Ex. Neo4J, graphe infini.
Question 3
À partir du schéma ci-dessous, expliquez succinctement ce que sont HDFS et le MAP-REDUCE.
10 points
- HDFS : système de fichier distribué de Hadoop Apache. Il s’agit d’un composant central du
Framework d’Apache, et plus précisément de son système de stockage.
- MAP REDUCE : Framework de traitement de données en clusters. Composé des fonctions Map et
Reduce, il permet de répartir les tâches de traitement de données entre différents ordinateurs,
pour ensuite réduire les résultats en une seule synthèse.
Question 4
Qu’est-ce que « APACHE SPARK » ?
10 points
Spark (ou Apache Spark2) est un framework open source de calcul distribué. Il s'agit d'un ensemble d'outils
et de composants logiciels structurés selon une architecture définie. Développé à l'université de Californie à
Berkeley par AMPLab , Spark est aujourd'hui un projet de la fondation Apache. Ce produit est un cadre
applicatif de traitements big data pour effectuer des analyses complexes à grande échelle.
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 2/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Dossier 2 - Datamining et IA
Question 1
Définissez les termes « Intelligence artificielle, Big Data et Data Mining ». Que pouvez-vous dire
du lien entre ces technologies ?
10 points
Le big data réfère à un ensemble de données dont le volume considérable dépasse aussi bien les capacités
humaines d’analyse que celles d’outils informatiques classiques. Selon IBM, on génère quotidiennement 2,5
trillions de gigaoctets. Les traiter convenablement requiert, de nos jours, l’apport de l’intelligence
artificielle sous différentes formes. Big data et intelligence artificielle constitueront deux technologies dont
la complémentarité nécessite l’intervention décisive et intelligente de l’homme.
Le Data Mining est le processus de collecte d’informations à partir de données extrêmement volumineuses.
Celles-ci sont dans la plupart du temps indéchiffrables et incompréhensibles. Ces informations cruciales
facilitent la prise de décisions commerciales pertinentes. Le Data Mining se fonde sur diverses méthodes
pour aboutir à des connaissances permettant de distinguer les relations et les modèles inconnus de ceux
qui étaient connus.
L'intelligence artificielle (IA) est « l'ensemble des théories et des techniques mises en œuvre en vue de
réaliser des machines capables de simuler l'intelligence humaine
L’intelligence artificielle, le Big Data et le Data Mining, sont des technologies complémentaires.
Question 2
Que permettent de faire ces méthodes ?
10 points
Par exemple, la probabilité pour qu'un individu achète un produit plutôt qu'un autre, ou qu’il contracte une
maladie particulière en guérisse, les chances qu'un individu ayant visité une page d'un site web y revienne,
sont typiquement des objectifs que peuvent atteindre les méthodes prédictives.
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 3/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Question 3
Expliquez succinctement le principe d’un neurone. Comment l’entraine-t-on. Donnez 3 types
d’application possibles des réseaux de neurones ?
10 points
Dans leur principe, les réseaux de neurones ne sont rien d'autre qu'une façon de construire des modèles
paramétriques, c'est-à-dire pour lesquels la fonction de décision est explicite. Contrairement à d'autres
algorithmes paramétriques comme la régression linéaire, ils permettent de construire facilement des
modèles très complexes et non linéaires.
Un neurone est activé (émet un signal de sortie) en fonction de ses neurones d’entrées (valeurs d’entrées
qui sont pondérées).
L'entraînement d'un réseau de neurones est un processus itératif. Après chaque observation, nous allons
ajuster les poids de connexion de sorte à réduire l'erreur de prédiction faite.
Question 4
Quelle est la différence entre Machine Learning & Deep Learning ?
10 points
Lorsque l’on parle de Deep Learning, nous parlons d’algorithmes capables de mimer les actions du cerveau
humain grâce à des réseaux de neurones d’où le terme d’Intelligence Artificielle. Il est souvent expliqué que
la différence entre Machine Learning et Deep Learning réside dans le fait que les algorithmes de Machine
Learning vont traiter des données quantitatives et structurées (des valeurs numériques), lorsque ceux de
Deep Learning traiteront des données non-structurées, comme le son, le texte, l’image.
En Machine Learning classique, lorsque vous travaillez sur un cas tel que la prédiction d’achat (savoir si mon
prospect va acheter ou non ce produit), le Data Scientiste va lui-même faire un choix, et extraire la donnée
qui va influer sur la prédiction : les variables. En l’occurrence pour notre exemple sur l’achat, nos variables
pourraient être l’âge de la personne, son sexe, son revenu, etc.
Ce sont ces éléments qui lui permettront de savoir si une personne va acheter ou non le produit. En
d’autres termes, ce sont sur ces variables que le Data Scientiste va entraîner son algorithme.
C’est ce que l’on appelle le Feature Extraction : sélectionner les variables avec lesquelles l’équipe Data va
travailler.
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 4/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Dossier 3 - Python
Question 1
Expliquez le code ci-dessous et son objectif.
10 points
import numpy as np
print("------------or------------")
##OR
inputs = [[0.0,0.0],[1.0,0.0],[0.0,1.0],[1.0,1.0]]
for input in inputs:
print(input,perceptron(input, [0.5,0.5], 0.5))
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 5/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Question 2
Quel est le résultat de l’affichage ?
10 points
Question 3
Représentez graphiquement ce perceptron.
10 points
Dossier 4 - Devops
Question 1
Expliquez ce qu’est le « Devops », et pourquoi est-il important ?
10 points
Le devops — ou DevOps (selon la graphie habituellement utilisée en langue anglaise) — est un mouvement
en ingénierie informatique et une pratique technique visant à l'unification du développement logiciel (dev)
et de l'administration des infrastructures informatiques (ops), notamment l'administration système.
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 6/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Pourquoi le DevOps est-il important ? En favorisant la communication et la collaboration entre les équipes
chargées du développement et des opérations IT, le DevOps vise à optimiser la satisfaction client et à
proposer des solutions à valeur ajoutée plus rapidement.
Question 2
En vous aidant du fil d’Ariane ci-dessous, placez les termes suivants :
• développement agile,
• livraison continue,
• intégration continue,
• déploiement continu.
5 points
Développement agile A
Livraison continue C
Intégration continue B
Déploiement continu D
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 7/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
Question 3
En vous aidant du fil d’Ariane ci-dessous, placez les termes suivants :
• développement agile,
• livraison continue,
• intégration continue,
• déploiement continu.
5 points
• Développement continu. Cette pratique couvre les phases de planification et de codage dans le
cycle de vie DevOps et peut inclure des mécanismes de contrôle des versions.
• Intégration continue. Cette pratique rassemble des outils de gestion de la configuration, de test et
de développement pour assurer le suivi de la mise en production des différentes portions du code.
Elle implique une collaboration étroite entre les équipes responsables des tests et du
développement pour identifier et résoudre rapidement les problèmes de code.
• Livraison continue. Cette pratique automatise la publication des modifications du code après la
phase de test, dans un environnement intermédiaire ou de préproduction. Un membre de l'équipe
peut décider de publier ces modifications dans l'environnement de production.
• Déploiement continu. À l'instar de la livraison continue, cette pratique automatise la publication
d'un code nouveau ou modifié dans l'environnement de production. Les entreprises peuvent être
amenées à publier plusieurs fois par jour des modifications du code ou des fonctionnalités. Dans un
contexte de déploiement continu, les technologies de conteneur comme Docker et Kubernetes
assurent la cohérence du code entre plusieurs plateformes et environnements.
Question 4
En vous aidant du schéma ci-dessous, et/ou de ce que vous connaissez, proposez une
architecture « devops » et expliquez-la brièvement.
• Jenkins est un serveur d’automatisation open source qui peut s’intégrer aux services Azure pour activer
l’intégration continue (CI) et le déploiement continu (CD). Dans ce scénario, Jenkins orchestre la création
d’images de conteneur basées sur les validations effectuées dans le contrôle de code source, envoie ces
images dans Azure Container Registry, puis met à jour les instances des applications dans Azure
Kubernetes Service.
• Les Machines virtuelles Linux Azure constituent la plateforme IaaS utilisée pour exécuter les instances
Jenkins et Grafana.
• Azure Container Registry stocke et gère les images de conteneur qui sont utilisées par le cluster Azure
Kubernetes Service. Les images sont stockées de manière sécurisée. La plateforme Azure peut les
répliquer dans d’autres régions pour accélérer les déploiements.
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 8/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
• Azure Kubernetes Service est une plateforme Kubernetes managée, qui vous permet de déployer et de
gérer des applications en conteneur sans avoir à maîtriser l’orchestration de conteneurs. En tant que
service Kubernetes hébergé, Azure gère pour vous des tâches critiques telles que l’analyse de l'intégrité
et la maintenance.
• Azure Cosmos DB est une base de données multi modèle mondialement distribuée qui vous permet de
choisir parmi différents modèles de base de données et de cohérence en fonction de vos besoins. Avec
Cosmos DB, vos données peuvent être répliquées dans le monde entier, et il n’existe aucun composant
de réplication ou de gestion de cluster à déployer ou configurer.
• Azure Monitor vous permet de suivre les performances, de gérer la sécurité et d’identifier des
tendances. Les mesures obtenues par Azure Monitor peuvent être utilisées par d’autres ressources et
outils, tels que Grafana.
• Grafana est une solution open source destinée à interroger, visualiser, alerter et comprendre les
mesures. Un plug-in de source de données pour Azure Monitor permet à Grafana de créer des tableaux
de bord visuels pour surveiller les performances de vos applications exécutées dans Azure Kubernetes
Service et utilisant Cosmos DB.
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 9/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé
GRILLE DE NOTATION
UC D51.2 - Développement et bases de données - Perfectionnement
N° de candidat__________________
TOTAL /150
Appréciation générale :
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
Signature :
© Fédération Européenne Des Ecoles - Federation for EDucation in Europe - Octobre 2021 10/10
UC D51.2 - Expert IT - Applications intelligentes et big data - Corrigé