Les attributs d'un cours : 
- titre
- domaine
- sous-domaine
- date creation
- niveau (init, intermediaire, avancé, expert)
- obj pedagogique
- formateur (nom & prenom)
- type (cours, tuto)
- support (video, document, mixe)
- distance (oui, non)
- lieu
- institut_formation
- certificat (oui, non)
- prix (gratuit, y euro)
- url
- Durée_formation
- created_datetime
- modified_datetime
- created_by
- modifed_by


Liste des API : 
- Create_Class : 
- Get_all_Class_by_attribut(<attribut>, <value>)
- get_all_class()


a faire : 
pour chaque attribut faire une recherche intelligente.
par exemple : 
- pour le titre, c'est forcement "%like%"
- pour le domaine (ex : IT, philo), ca doit etre ecrit pareil avec l'algorithme levenshtein pour connaitre la distance entre 2 mots.

dans mongodb, il y a "You can't use fuzzy with synonyms."
Fuzzy Text Search with MongoDB and Python

Distance de Levenshtein
La distance de Levenshtein entre mots ou chaînes de caractères (distance d'édition, de similarité) donne par un calcul assez simple des indications sur le degré de ressemblance de ces chaînes. Sa définition est la suivante.
Si A, B sont deux mots, la distance de Levenshtein d est le nombre minimal de remplacements, ajouts et suppressions de lettres pour passer du mot A au mot B.

