Hannouni Master Internship 2019
Hannouni Master Internship 2019
Hannouni Master Internship 2019
1
6.5 Quelques détails d’implémentation ........................................................................... 19
6.5.1 Models.py ........................................................................................................... 19
6.5.2 Dossier « templates » ......................................................................................... 19
6.5.3 Views.py ............................................................................................................. 19
6.5.4 Dossier « static » ................................................................................................ 20
6.5.5 Dossier « db_creation » ...................................................................................... 20
6.6 Manuel d’utilisation ................................................................................................... 21
6.6.1 Installation des dépendances nécessaires ........................................................... 21
6.6.2 Création d’une base de données Neo4j .............................................................. 21
6.6.3 Mise en place de la classification ....................................................................... 21
6.6.4 Lancer le projet ................................................................................................... 21
6.6.5 Modification de la classification ........................................................................ 21
7 Conclusion ........................................................................................................................ 22
7.1 Bilan des objectifs ..................................................................................................... 22
7.2 Perspectives TFE ....................................................................................................... 22
8 Annexes ............................................................................................................................ 23
8.1 Computer science classification ................................................................................ 23
8.2 Buzz words links ....................................................................................................... 27
8.3 Fields links ................................................................................................................. 30
8.4 Json files .................................................................................................................... 32
8.4.1 Classification ...................................................................................................... 32
8.4.2 Buzz words links ................................................................................................ 33
8.4.3 Fields links ......................................................................................................... 33
8.5 Concept-oriented classification ................................................................................. 34
9 Bibliographie .................................................................................................................... 35
2
1 Introduction
Les étudiants de dernière année à l’Ecam doivent participer à un stage d’immersion de
minimum 6 semaines. Ceci, afin de plonger dans la vie active et d’y découvrir les réalités du
métier en appliquant les compétences apprises tout au long de leurs 4 années d’étude.
J’étais particulièrement intéressée par les entreprises qui proposent aux étudiants de participer
à un ou plusieurs projets dans lequel/lesquels plusieurs aspects sont abordés et qui
n’exploitent pas que les compétences de développeur que détiennent les étudiants en
ingénierie industrielle en informatique.
Monsieur Combéfis m’a alors donné l’opportunité d’effectuer un stage qui correspond à mes
attentes chez EDITx. Opportunité que j’ai saisie rapidement !
Mon TFE se déroulera également chez eux.
Le travail effectué pendant le stage constituera donc de base pour définir les perspectives du
travail de fin d’étude.
3
2 Présentation de l’entreprise
2.1 Présentation générale
EDITx est une entreprise fondée en 2016 en tant que SPRL. Les fondateurs sont Serge Goffin
et Alexandre Dembour.
Son activité principale est l’organisation de quiz et de challenges sous forme de concours dans
le domaine de l’informatique à l’aide d’une plateforme en ligne1.
EDITx vise 2 types de public différents pour des causes différentes :
- Les étudiants et professionnels pour entraîner leurs compétences, gagner des prix lors
des concours et, pourquoi pas, se faire engager par l’entreprise sponsor.
- Les professeurs et spécialistes en IT pour enrichir la base de données de questions. En
échange, ils ont accès à celle-ci.
Figure 1 Organigramme
1
https://editx.eu/
4
2.3 Fonctionnement global
EDITx contacte un potentiel client (ou une entreprise voulant par elle-même devenir cliente la
contacte) pour l’organisation d’un challenge IT autour d’un thème bien spécifique. Ce dernier
est déterminé par l’entreprise cliente qui finance le concours. En échange, celle-ci obtient les
informations des participants ainsi que leurs résultats. Le but des entreprises est généralement
l’embauche de profils spécifiques. Elles augmentent par la même occasion leur visibilité dans
le domaine de l’informatique.
EDITx sollicite alors des professeurs et/ou spécialistes en IT pour fournir des questions en
lien avec la thématique demandée. Comme expliqué au point 2.1, en échange, ces spécialistes
et professeurs ont accès à la base de données de questions.
Une fois les questions rassemblées, le challenge peut être créé, mis en ligne, et une foule de
participants peuvent s’y inscrire.
4 acteurs sont identifiés :
- Les entreprises
- Les professeurs/spécialises
- Les participants
- EDITx
Les professeurs et spécialistes répondent indirectement au besoin des entreprises, ceci par
l’intermédiaire d’EDITx. Souvent, la personne de contact de ces entreprises clientes est la
personne se chargeant de la gestion des ressources humaines. Cette dernière n’est pas
spécialisée dans le domaine de l’informatique contrairement aux professeurs et spécialistes.
Lorsque les RH font la demande d’un challenge, ils emploient généralement des mots flous,
trop larges, « à la mode », qui englobent plusieurs notions. Nous les avons nommés « buzz
words ». Cette appellation sera utilisée pour toute la suite de ce rapport.
EDITx permet donc :
- Aux entreprises de trouver les profils qu’ils recherchent ainsi que d’augmenter leur
visibilité dans le domaine de l’IT.
- Aux étudiants et professionnels de s’exercer et d’apprendre de manière ludique.
- Aux professeurs contributeurs d’utiliser la base de données de questions afin de, par
exemple, s’en inspirer pour leurs cours.
5
3 Objectifs du stage
3.1 Contexte
Par le caractère trop flou des « buzz words » employés par les RHs (représentants des
entreprises clientes) il se peut que les professeurs ne délivrent pas les questions adéquates au
challenge demandé.
Une problématique chez EDITx est donc de trouver comment faire l’intermédiaire entre des
acteurs de profils très différents.
Une deuxième problématique concerne la base de données qui est un élément très important.
En effet, celle-ci ne bénéficie pas d’une organisation solide et pratique.
3.2 Objectifs
Les objectifs de ce stage sont donc de répondre aux deux problématiques décrites au point
précédent.
Pour une meilleure organisation de la base de données, nous avons décidé d’y intégrer
une classification scientifique des domaines de l’informatique.
Pour faciliter le lien entre le vocabulaire des RHs et celui des informaticiens, nous
avons opté pour la création d’un outil capable d’effectuer la traduction entre les « buzz
words » et la nouvelle classification.
Ces deux objectifs sont liés. Le but final est de créer une application représentant la
classification et l’outil de traduction décrit ci-dessus.
Voici les valeurs ajoutées de cette solution :
- Simplification du travail des professeurs/spécialistes : grâce à la classification, ils
auront plus de facilité à trier ou à retrouver des questions.
- Meilleure compréhension de la demande : lorsqu’un RH proposera d’effectuer un
challenge en utilisant un mot buzz comme thème, EDITx pourra utiliser l’outil
traducteur pour être sûr d’être bien compris mais aussi pour transférer la demande aux
professeurs/spécialistes de manière plus précise, liée directement à la classification
qu’ils auront pour habitude d’utiliser.
- Augmentation de la crédibilité d’EDITx : notamment lorsque l’entreprise se déplace
chez les clients, une démonstration peut être faite en leur présentant des exemples de
questions.
6
4 Etapes et suivi du projet
7
8
5 Création d’une nouvelle classification IT
5.1 Spécifications
Avant d’effectuer un état de l’art, il faut d’abord définir ce que l’on recherche. Donc, les
caractéristiques que doit avoir la classification souhaitée par EDITx. Celles-ci sont au nombre
de trois :
Minimum 3 niveaux : il s’agit d’une limite fixée par les membres d’EDITx pour ne
pas noyer les utilisateurs dans un trop-plein d’informations.
Scientifique : la classification va, entre autres, être utilisée par des professeurs et des
spécialistes en IT. Il est donc nécessaire de leur présenter une classification qui leur
convient le mieux. Cela permet aussi d’avoir un niveau de crédibilité et de classer les
questions plus facilement tout en restant correct.
Compréhensible un minimum par tout autre profil non-IT : la classification sera aussi
utilisée par les membres d’EDITx dont la plupart ne présentent pas de profil IT. Celle-
ci doit rester intuitive sans perdre son caractère scientifique pour qu’au moins les
premiers niveaux soient compréhensibles par tous.
2
https://cso.kmi.open.ac.uk/home
3
Algorithme Klink-2
4
https://dl.acm.org/ccs/ccs.cfm
5
Société internationale vouée à l’informatique qui soutient et développe l’innovation et la recherche scientifique
liés à ce domaine.
6
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.474.1231&rep=rep1&type=pdf&fbclid=IwAR1Lb8F
F9onnLo2pE8lt7BoyM7YO3sU2uYra94_qG-cJED3Kfnw5J-O7t2U
9
Les deux premières ne correspondent pas aux spécifications recherchées par EDITx. En effet,
bien qu’elles soient scientifiques, elles présentent plus de trois niveaux de profondeur. Celles-
ci ont donc un vocabulaire trop précis, ce qui rend la classification trop complexe et moins
intuitive. Seuls de vrais spécialistes du domaine peuvent la comprendre.
La dernière présente un point de vue très intéressant. L’avantage par rapport aux deux
classifications précédentes est qu’elle ne présente que deux niveaux, ce qui rend le
vocabulaire plus accessible. La classification reste cependant pas très intuitive pour les
personnes non spécialisées dans le domaine. Cette vue sous forme de « concepts »
correspondrait particulièrement bien à un profil plus analytique.
Comme les humains sont tous différents et que chacun présente une perception et une
réflexion spécifique à lui, nous avons d’abord pensé à présenter aux utilisateurs de
l’application deux points de vue de la classification ; un point de vue orienté « concepts »
dans lequel on aurait présenté cette classification rendue plus adaptées, et un point de vue
plutôt intuitif. L’utilisateur utilisera alors la classification qui correspond au mieux à son
fonctionnement cognitif.
Après réflexion, nous avons préféré mettre cette classification de côté (pour l’instant) pour
d’abord se concentrer sur la classification principale souhaitée.
Comme les classifications scientifiques actuelles ont été jugées trop complexes pour ce projet,
je me suis penchée vers des classifications moins scientifiques mais ouvertes à tous comme
par exemples les sites vendeurs de produits IT qui présentent leur classification pour une
meilleure recherche de leurs produits (comme les livres qui traitent de sujets informatiques).
Les articles/blogs à caractère moins scientifique (c’est-à-dire qui ne sont pas sous forme
d’article scientifique) ont également fait partie des ressources consultées.
Ce genre de classification est souvent limité à un seul niveau. S’il en possède plusieurs, les
informations présentées sont soit floues soit pas très convaincantes et peuvent être même
quelquefois inexactes.
C’est pourquoi j’ai décidé de créer cette classification tant essentielle dans le monde de
l’informatique.
10
5.3 Méthodologie et réflexion
5.3.1 Etape 1 : niveaux 1
Le premier objectif était de définir l’intitulé des champs de niveaux 1 de la classification.
Pour cela, j’ai commencé par stocker un maximum de liens représentant une catégorisation
des domaines de l’informatique (classifications scientifiques ou non, articles, schémas, …). Il
s’agissait principalement des ressources découvertes pendant l’état de l’art.
J’ai alors examiné chacun de ces liens dans le but de comprendre la logique derrière chaque
classification. En même temps, je repérais les mots qui revenaient le plus ainsi que les grands
domaines abordés le plus souvent.
Les principales caractéristiques souhaitées pour un domaine de niveau 1 sont :
- La clarté : ce domaine exprime-t-il clairement l’idée représentée ? Les utilisateurs de
la future application comprendront-ils facilement ce que comporte ce domaine ?
- L’utilité : ce domaine est-il vraiment nécessaire ? Est-il si important dans
l’informatique que pour former à lui seul un champ de niveau 1 ?
Bien que le premier objectif fût de définir les premiers niveaux, la réflexion ne devait pas
s’arrêter qu’à ceux-ci. En effet, à ce stade, j’avais constaté à quel point les domaines de
l’informatique sont liés. Par exemple, un des domaines qui devait absolument se retrouver
quelque part dans la classification est le « cloud computing ». Celui-ci fait partie de plusieurs
thématiques de l’informatique comme les services réseaux et les architectures distribuées. Il
devra donc être présenté deux fois puisque les deux thèmes de l’informatique ne feront
surement pas partie d’un même niveau 1.
Le but était donc aussi de définir les premiers niveaux de façon à minimiser les redondances
dans le niveau 2. En plus de rechercher l’intitulé des niveaux 1, il fallait également réfléchir à
la façon d’organiser les deuxièmes niveaux.
11
5.4 Présentation de la classification
La classification se trouve dans les annexes, au point 8.1.
12
6 Conception d’une application informatique
6.1 Fonctionnalités de l’application
L’application doit être capable de :
- Présenter la classification de la manière la plus claire possible.
- Présenter l’outil permettant la traduction des « buzz words » par les champs adéquats
de la classification.
- Présenter les liens entre les champs de cette classification.
Les relations organisent les nœuds. Il s’agit d’un modèle intuitif et pourtant très puissant.
Remarque : la figure 2 est elle-même un modèle orienté graphe comportant 4 nœuds et 5
relations (sans propriétés).
L’intérêt qui réside dans ce modèle est la recherche facile et non-coûteuse des relations entre
les nœuds tandis qu’une base de données relationnelle sera contrainte à utiliser des opérations
de jointures entre les tables qui sont coûteuses au système et plus complexes.
13
6.2.2 Modèle de données spécifique au projet
Le modèle de données utilisé dans l’application est illustré par la figure 3 ci-jointe.
14
Les relations sont au nombre de 4 :
- Relation de type « include » : illustre la relation entre un champ de la classification et
son sous-champ.
- Relation de type « question » : représente la relation entre un sous-champ et une
question correspondante.
- Relation de type « concern » : représente le lien entre les champs.
- Relation de type « Is_linked_to » : représente le lien entre un « buzz word » et un ou
plusieurs champs de la classification. C’est cette relation qui sera utilisée pour
implémenter l’outil de traduction (voir point 3.2, objectif 2).
6.3.2 Python
Le langage de programmation choisi est le Python. Celui-ci possède plusieurs avantages pour
ce projet :
- Il fait partie des langages les plus couramment utilisés en science de données.
- Il s’agit d’un des langages de référence dans le domaine de l’IA.
- 2 drivers neo4j ont été conçus pour ce langage : neo4j-driver qui est un driver officiel
et Py2neo créé par la communauté.
- C’est un langage multifonctions, il est beaucoup utilisé pour la science des données
mais aussi pour le développement web. Or, la mise en place de ce projet nécessite ces
deux fonctionnalités.
- Il possède d’autres avantages comme sa grande communauté active, son code open
source et sa simplicité d’utilisation.
L’environnement de développement adopté est PyCharm.
6.3.3 Py2neo
Py2neo a été choisi comme driver de la base de données neo4j de cette application. Il possède
certaines fonctions qui simplifient l’implémentation sans passer par le langage de requête
Cypher. Néanmoins, d’autres types de fonctions sont mises à disposition pour permettre aux
utilisateurs d’utiliser le langage Cypher.
Py2neo possède aussi un ORM mais celui-ci n’a pas été utilisé puisqu’après analyse de la
documentation et teste d’un exemple, j’ai constaté que la manière de programmer présentée
perdait le côté intuitif de Neo4j. De plus, la documentation était moins claire et la
communauté utilisant ce module peu nombreuse.
15
6.3.4 Flask
Parmi les frameworks les plus répandus dans le développement web avec Python, il y a
Django et Flask. Django est un gros framework présentant d’innombrables fonctionnalités et
est donc lourd.
Flask est un micro-framework. Il est léger et répond parfaitement aux besoins de l’application
souhaitée par EDITx. C’est donc ce dernier qui a été retenu.
6.3.5 Bootstrap
Bootstrap est un framework CSS très connu et possède plusieurs avantages :
- Simple et rapide pour le design et la mise en page d’un site ou d’une application web.
- Possède un système de grilles permettant le positionnement aisé des éléments HTML.
- Responsive, c’est-à-dire qu’il permet une adaptation des pages en fonction de la taille
de la fenêtre ou du dispositif utilisé (pc, smartphone, etc.).
- Garanti la compatibilité du CSS quel que soit le navigateur utilisé.
Bien que l’application ne servira que de Backend, une belle et claire représentation visuelle
est nécessaire pour que celle-ci soit bien comprise par les membres d’EDITx. De plus, il s’agit
d’une opportunité pour moi de découvrir cet outil populaire dans le monde du développement
web.
6.3.6 Github
Afin d’assurer une bonne gestion du projet informatique, Github a été un bon allié. Voici le
lien :
https://github.com/Houdaaaa/EDITx_db
16
6.4 Architecture générale
L’organisation des fichiers correspond aux conventions basiques du micro-framework Flask :
17
« venv » indique que le projet est sur un environnement virtuel.
Le fichier texte « requirements.txt » comprend toutes les dépendances dont le projet a besoin
pour fonctionner correctement.
Le principe est simple : le fichier « views.py » traite l’information pour chaque route en
appelant les fonctions adéquates du fichier « models.py ». Une fois l’information traitée et
remodelée, la page HTML associée à la route est appelée. Des paramètres peuvent être passés
à la page HTML qui se chargera de les afficher correctement. Cette dernière est liée à une ou
plusieurs feuilles de style CSS pour une meilleure mise en forme.
18
6.5 Quelques détails d’implémentation
6.5.1 Models.py
C’est dans ce fichier que la connexion à la base de données est effectuée. Celui-ci compte
pour l’instant une seule classe nommée « Database » qui ne contient que des méthodes
statiques.
Ce fichier comporte les fonctions d’ajout, de suppression et de modification de :
- Champs
- Questions
- Buzz words
- Relations
Il contient également des fonctions capables de :
- Trouver les sous-domaines (à 1 niveau près) à partir du nom d’un domaine.
- Trouver tous les domaines ayant le même niveau de profondeur dans la classification
(à l’aide de la propriété « level »).
- Trouver tous les champs liés à un buzz word ainsi que leur chemin dans la
classification (donc si un champ lié à un buzz word est de niveau 3, la fonction
retrouve également le ou les champs qui le contiennent de niveau 1 et 2).
- Trouver le sous-graphe d’un champ.
- Trouver tous les champs liés à un champ donné (donc ayant la relation « concerns »
avec ce champ).
- Mettre en place la classification dans la base de données.
- Vider toute la base de données.
6.5.3 Views.py
Comme il y a deux fichiers HTML, il y a donc 2 routes.
La première permet de récupérer toute la classification pour l’afficher dans la page
« index.html ». Elle permet aussi de récupérer les domaines liés à un buzz word définit par
l’utilisateur. Si aucun buzz word n’a été demandé, les champs liés au buzz word par défaut
« cloud computing » seront récupérés et transférés à la page HTML associée.
La deuxième route permet de récupérer toutes les questions liées au domaine souhaité pour les
afficher dans la page « questions.html ». Elle récupère également tous les sous-champs du
domaine en question ainsi que les champs qui y sont liés (relation « concerns »).
19
6.5.4 Dossier « static »
Il y a dans les fichiers HTML des liens permettant d’inclure le framework bootstrap ainsi que
la feuille de style propre au projet « style.css ».
Le code CSS et responsif (ainsi que l’HTML) du menu déroulant présenté dans la page
index.html a été inspiré d’un exemple figurant dans l’éditeur de code en ligne « Codepen »7.
Le système de grilles Bootstrap a été utilisé pour une mise en page responsive et claire.
Remarque : Il est important de renseigner dans les pages HTML en premier le lien vers
Bootstrap et ensuite celui de la feuille de style « style.css » pour que cette dernière ait la
priorité sur Bootstrap. Il est ainsi possible d’écraser certaines propriétés d’un composant
Bootstrap pour l’adapter à notre souhait.
7
https://codepen.io/ArCodee/pen/LjvNQO?fbclid=IwAR0yH9eKXsLbfRflZhpflNc3qGIBydE65ufS4b5x1b9LS
WGKxttGIVNXV8M
20
6.6 Manuel d’utilisation
6.6.1 Installation des dépendances nécessaires
Le fichier « requirements.txt » contient toutes les dépendances nécessaires ainsi que leurs
versions.
Il est conseillé de créer un environnement virtuel (pycharm le fait automatiquement) dans
lequel il faut installer toutes ces dépendances à l’aide de la commande « pip ».
21
7 Conclusion
7.1 Bilan des objectifs
Les objectifs fixés pour ce stage sont repris ci-dessous :
Création d’une classification des domaines de l’informatique adaptée aux besoins
d’EDITx.
Implémentation d’un outil capable d’effectuer la traduction entre les « buzz words » et
la nouvelle classification.
L’application informatique présente bien la classification et la traduction des « buzz words »
par des champs de cette classification. Une fonctionnalité en dehors du cahier des charges a
même été ajoutée (lien entre les champs de la classification).
Nous pouvons donc conclure que tous les objectifs ont été atteints.
22
8 Annexes
8.1 Computer science classification
Cyber-security
o Systems security
o Architecture & design security
o Networks security
Firewalls
Routers/switchs security
Intrusion detection & prevention systems
Email filtering
o Identify & access management
Authentification & identification
Access management
o Business & compliance
o Cryptography
23
Software8
o CMS
o ERP & CRM
o CAD
o DBMS
o Computer graphics & animation
o Software development
o Operating systems
o Mobile development
o Gaming development
o Libraries
Databases
o ORM & ODM
o NoSQL DB models
Column
Key-value
Document
Graph
o Relational DB models
o DBMS
1
Programming
o Languages
1
o Paradigms
Imperative & derivatives
OO & derivatives
Declarative & derivatives
o Frameworks
1
8
Several software have been identified but for a better visibility they are not displayed, for more details see
internship report
24
Modeling, design & conception
o Software architectures
o UML
Diagrams
Design patterns
o Test & software quality
o Version control & maintenance
o Good design practices
o Software development methodologies & project management
Visual computing
o Image analysis & processing
2D
3D & more
o Virtual & augmented reality
o User ergonomy
UX
UI
Artificial intelligence
o Natural language processing
Translation & speech
Information retrieval
Language analysis
o Machine learning
Neural network & deep learning
Predictive analytics
o Computer vision
Machine vision
Image analysis & processing
o Decision support systems
o Data mining
Computer systems
o Mobiles
o Embedded & cyber-physical systems
Sensors networks
Robotic
Sensors & actuators
Embedded systems
Systems on chip
o Real-time systems
o Distributed systems
Cloud computing
Computer clusters
Grid computing
o Operating systems
25
o Quantum computer systems
Operating systems
o Protection & security
o I/O systems
o Architecture
Monolythic
Layered
VM based
Micro-kernel
Embedded
Real-time
distributed
o Process management
Process synchronization
Deadlocks
Threads
Cpu scheduling
o Storage management
Files systems
Memory management
o OS types
Linux
Windows
MacOS
IOS
Android
o Virtualization
VM
Emulation
IT Governance
o Digital transformation
o Ethics
o Green IT
o Compliance
Certificates & standards
Laws & regulations
Security & business policies
o Digital literacy
26
8.2 Buzz words links
27
Containers
o Distributed systems
o API
o Emulation
Machine learning
o Neural networks & deep learning
o Predictive analytics
Open data
o Compliance
o Digital transformation
o Green IT
o Digital literacy
o Databases
Quantum computing
o Artificial intelligence
o Quantum computer systems
Virtual reality
o Virtual & augmented reality
o CAD
o User ergonomy
o Image analyses & processing
o Neural language processing
o Real-time systems
o Embedded systems
Data science
o Data mining
o Machine learning
o Databases
o Distributed systems
IOT
o Embedded systems
o Robotic
o Sensors & actuators
o Sensors networks
o Systems on chip
o Systems security
o Cloud computing
o Databases
o API
o Wireless & mobile telecommunication
o Network equipment
28
Business intelligence
o Decision support systems
o Cloud computing
o ERP & CRM
Edge computing
o Sensors networks
o Distributed systems
o API
o Cloud computing
4.0 industry
o Sensors & actuators
o Robotic
o Sensors networks
o Embedded systems
o Wireless & mobile telecommunication
o Networks architectures
o Digital transformation
o Ethics
o Systems security
29
8.3 Fields links
Fields links
Firewalls
o Physical firewalls
Wireless & mobile telecommunications
o Mobiles
o Embedded systems
o Sensors networks
Network cabling
o Network equipments
Routing management
o routers
Security management
o Networks security
Access rights management
o Identify & access management
Cloud computing
o Distributed systems
o databases
Computer systems
o Systems security
Business & compliance
o compliance
Software development (IDE)
o Modeling, design & conception
Good practices
o Good design practices
Software architectures
o Networks architectures
o Architecture & design security
Software development methodologies & project management
o ERP & CRM
Image analysis & processing
o Computer vision
30
User ergonomy
o Computer graphics & animations
o Gaming development
o Mobile development
Mobiles
o Mobile development
Real-time systems
o Robotic
o Embedded systems
Protection & security
o Identify & access management
31
8.4 Json files
8.4.1 Classification
Voici le début du fichier json. Pour le consulter entièrement, veuillez vous rendre sur le lien
Github suivant : https://github.com/Houdaaaa/EDITx_db/tree/master/db_app/db_creation
32
8.4.2 Buzz words links
33
8.5 Concept-oriented classification
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.474.1231&rep=rep1&type=pdf&fbclid=Iw
AR1Lb8FF9onnLo2pE8lt7BoyM7YO3sU2uYra94_qG-cJED3Kfnw5J-O7t2U
34
9 Bibliographie
https://algocool.fr/bootstrap/
https://openclassrooms.com/fr/courses/4425066-concevez-un-site-avec-flask/4525776-installez-flask
https://skm.kmi.open.ac.uk/skm-data/uploads/2018/05/ISWC2018_CSO_21_CR_4_FO_EM_AS.pdf
https://www.google.com/url?sa=i&url=https%3A%2F%2Ffanyv88.com%3A443%2Fhttps%2Funiverthabitat.com%2Fbase-des-
donn%25C3%25A9es-orient%25C3%25A9es-
graphe&psig=AOvVaw2qU9cbpCDFZkwYk00Nd6J4&ust=1572282851867000&source=images&cd
=vfe&ved=0CAIQjRxqFwoTCOCLhZj4vOUCFQAAAAAdAAAAABAx
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.474.1231&rep=rep1&type=pdf&fbclid=Iw
AR1Lb8FF9onnLo2pE8lt7BoyM7YO3sU2uYra94_qG-cJED3Kfnw5J-O7t2U
35