🔤 refactor(mcd_mocodo.py): replace French accentuated characters with non-accentuated ones for better compatibility

🔧 fix(mcd_mocodo.py): rename 'fiche_activite' to 'fiche_pedagogique' and update its attributes for better clarity
🔧 fix(mcd_mocodo.py): update 'activite' attributes to include 'consigne' and 'duree'
🔧 fix(mcd_mocodo.py): update 'historique_activite' attributes to include 'note_difficulte', 'note_plaisir', 'note_concentration', 'note_duree'
🔧 fix(mcd_mocodo.py): add 'date_debloquement' attribute to 'debloquer' relation
🔧 fix(mcd_mocodo.py): update 'test_de_positionnement' and 'historique_test' attributes to include more detailed information
🔧 fix(mcd_mocodo.py): add 'historique_test_medical' entity with detailed attributes
🔧 fix(mcd_mocodo.py): add 'posseder3' relation to link 'historique_test_medical' with 'apprenant'
🔧 fix(mcd_mocodo.py): rename 'entités' to 'entites' for consistency with non-accentuated naming
This commit is contained in:
Djalim Simaila 2024-04-10 16:28:57 +02:00 committed by Djalim
parent 604d0b305d
commit 07a86e94dc
3 changed files with 878 additions and 835 deletions

View File

@ -1,110 +1,113 @@
""" """
Domaines de l'application exprimés en MCD mocodo Domaines de l'application exprimes en MCD mocodo
""" """
apprenant = "apprenant:id_apprenant,nom,prenom,date_de_naissance,classe,reponses_questionnaire\n" apprenant = "apprenant:id_apprenant [TEXT],nom [TEXT],prenom [TEXT],date_de_naissance [DATE],classe [TEXT],est_actif [BOOL],peut_faire_test [BOOL],reponses_questionnaire [TODO]\n"
compte = "compte:login,email,password,état,date_de_derniere_co,nom,prenom,mobile,date_de_création,moyen_paiement,est_connecté\n"
compte = "compte:login [TEXT],email [TEXT],password [TEXT],etat [TEXT],date_de_derniere_co [DATE],nom [TEXT],prenom [TEXT],mobile [NUMBER],date_de_creation [DATE],moyen_paiement [TODO],est_connecte [BOOL]\n"
auth = f""" auth = f"""
{compte} {compte}
{apprenant} {apprenant}
licence:clé,date_utilisation licence:cle [TEXT],date_utilisation [DATE]
licence_medicale:clé_medicale,date_utilisation, licence_medicale:cle_medicale [TEXT],date_utilisation [DATE],
promotion:code, date_de_création,durée_reduction,reduction,conditions promotion:code [TEXT],date_de_creation [DATE],duree_reduction [NUMBER],reduction [NUMBER],conditions [TEXT]
abonnement:nom_abonnement,prix,date_de_début,date_de_fin abonnement:nom_abonnement [TEXT],prix [NUMBER],
droit:id_droit,niveau_d_access,nb_profil_crée,nb_user_invite,peut_modifier_profil,peut_supprimer_profil, peut_faire_activité, peut_faire_test, peut_consulter_hist_activité, peut_consulter_hist_test droit:id_droit [TEXT],nb_profil_cree [NUMBER],nb_user_invite [NUMBER],peut_modifier_profil [BOOL],peut_supprimer_profil [BOOL], peut_faire_activite [BOOL], peut_faire_test [BOOL], peut_consulter_hist_activite [BOOL], peut_consulter_hist_test [BOOL]
questionnaire: id_questionnaire,forme_rappel, disponibilité,reponses_questionnaire questionnaire: id_questionnaire [TEXT],forme_rappel [TEXT], disponibilite [TODO],reponses_questionnaire [TODO]
probleme_signalé:id_prob,version de l'application,support,date du signalement,commentaire probleme_signale:id_prob [TEXT],version_de_l_application [TEXT],support [TEXT],date du_signalement [DATE],commentaire [TODO]
question_posée:id_quest,question question_posee:id_quest [TEXT],question [TEXT]
anonyme:id,email anonyme:id [TEXT],email [TEXT]
posséder2,01 licence_medicale,0N apprenant,0N droit posseder2,01 licence_medicale,0N apprenant,0N droit
inviter,0N compte,0N compte,0N apprenant,0N droit,0N licence: date invitation, inviter,0N compte,0N compte,0N apprenant,0N droit,0N licence: date_invitation [DATE],
utiliser,01 compte,0N licence : date_utilisation utiliser,01 compte,0N licence : date_utilisation [DATE]
repondre, 01 compte, 0N questionnaire repondre, 01 compte, 0N questionnaire
créer, 0N compte,0N apprenant : date_creation creer, 0N compte,0N apprenant : date_creation [DATE]
acheter, 0N compte, 0N promotion, 0N licence, 0N abonnement : date d'achat acheter, 0N compte, 0N promotion, 0N licence, 0N abonnement : date_d_achat [DATE], date_de_fin [DATE]
assigner, 11 abonnement, 0N droit assigner, 11 abonnement, 0N droit
poser, 11 question_posée, 0N anonyme poser, 11 question_posee, 0N anonyme
poser1, 11 question_posée, 0N compte poser1, 11 question_posee, 0N compte
signaler, 11 probleme_signalé, 0N anonyme signaler, 11 probleme_signale, 0N anonyme
signaler1, 11 probleme_signalé, 0N compte signaler1, 11 probleme_signale, 0N compte
""" """
fiche_activite = "fiche_activité:id_fiche,comp_travaillé,pourquoi_travailler_comp,variantes\n" fiche_pedagogique = "fiche_pedagogique:id_fiche,contenu\n"
activite = "activité: id_activité, caracteristiques ia\n" activite = "activite: id_activite, consigne, durée, caracteristiques ia\n"
activites = f""" activites = f"""
{apprenant} {apprenant}
{compte} {compte}
{activite} {activite}
{fiche_activite} {fiche_pedagogique}
activité_ajoutee: titre, caracteristiques ia historique_activite: id [TEXT], duree [NUMBER], date_de_realisation [DATE], note_difficulte [NUMBER],note_plaisir [NUMBER],note_concentration [NUMBER], note_duree [NUMBER], activite_proposee_par_algo [BOOL]
historique_activité: id, durée, date de réalisation, note difficulté,note plaisir,note concentration, note durée, activité proposée par algo realiser, 0N compte, 0N activite, 11 historique_activite, 0N apprenant : points_accordes [NUMBER]
debloquer3, 0N activite, 0N apprenant : date_debloquement [DATE]
réaliser, 0N compte, 0N activité, 11 historique_activite, 0N apprenant : points accordés posseder, 11 historique_activite, 0N apprenant
ajouter, 0N compte,0N activité_ajoutee, 11 historique_activité , 0N apprenant decrire, 0N fiche_pedagogique, 11 activite
posséser, 11 historique_activité, 0N apprenant
decrire, 0N fiche_activite, 11 activité
""" """
recompenses = f""" recompenses = f"""
{apprenant} {apprenant}
{compte} {compte}
palier:id_palier,nombre de points palier:id_palier [TEXT],nombre_de_points [TEXT]
defi:id_defi,nom,objectif,date limite defi:id_defi [TEXT],nom [TEXT],objectif [TEXT],date_limite [DATE]
badge: id_badge,nom,description,image badge: id_badge [NUMBER],nom [TEXT],description [TEXT],image [BLOB]
{activite} {activite}
atteindre, 0N apprenant, 0N palier atteindre, 0N apprenant, 0N palier
réaliser, 0N compte, 0N activité, 0N apprenant : points accordés realiser, 0N compte, 0N activite, 0N apprenant : points_accordes
réaliser3, 0N apprenant, 0N defi realiser3, 0N apprenant, 0N defi
debloquer, 0N defi, 11 badge debloquer, 0N defi, 11 badge
debloquer1, 0N palier, 11 badge debloquer1, 0N palier, 11 badge
""" """
#la relation réaliser est dupliquée entre des deux domaines, je garde un version sans pour la concatenation finale #la relation realiser est dupliquee entre des deux domaines, je garde un version sans pour la concatenation finale
recompenses_nr = f""" recompenses_nr = f"""
{apprenant} {apprenant}
{compte} {compte}
palier:id_palier,nombre de points palier:id_palier [TEXT],nombre_de_points [TEXT]
defi:id_defi,nom,objectif,date limite defi:id_defi [TEXT],nom [TEXT],objectif [TEXT],date_limite [DATE]
badge: id_badge,nom,description,image badge: id_badge [NUMBER],nom [TEXT],description [TEXT],image [BLOB]
{activite} {activite}
atteindre, 0N apprenant, 0N palier atteindre, 0N apprenant, 0N palier
réaliser3, 0N apprenant, 0N defi realiser3, 0N apprenant, 0N defi
debloquer, 0N defi, 11 badge debloquer, 0N defi, 11 badge
debloquer1, 0N palier, 11 badge debloquer1, 0N palier, 11 badge
""" """
ressources = f""" ressources = f"""
mot_clé: mot mot_cle: mot [TEXT]
Ressource:id_ress,titre,description,date_de_publication,type,niveau_d_access Ressource:id_ress [TEXT],titre [TEXT],description [TEXT],date_de_publication [DATE],type [TEXT]
vidéo:id_video,lien_vers_site_externe video:id_video [TEXT],lien_vers_site_externe [TEXT]
article:id_article,lien_vers_site_externe article:id_article [TEXT],lien_vers_site_externe [TEXT]
{fiche_activite} {fiche_pedagogique}
contenir,0N mot_clé,0N Ressource contenir,0N mot_cle,0N Ressource
etre1, 0N Ressource, 11 vidéo etre1, 0N Ressource, 11 video
etre2, 0N Ressource, 11 article etre2, 0N Ressource, 11 article
etre3, 0N Ressource, 11 fiche_activité etre3, 0N Ressource, 11 fiche_pédagogique
""" """
test =f""" test =f"""
test_de_positionnement: id_testpos, consigne, caracteristiques ia test_de_positionnement: id_testpos [TEXT], consigne [TEXT], caracteristiques_ia [TEST]
historique_test: id_entree, durée, score, temps de réaction moyen, date de réalisation historique_test_pos: id_entree [TEST], duree [NUMBER], score [NUMBER], temps_de_reaction_moyen [NUMBER], date_de_realisation [DATE], font_utilisée [TEXT]
historique_test_medical: id_entree_medical [TEXT], date_realisation [DATE], Deficit_phonologique [BOOL], Deficit_lexical [BOOL], Deficit_articulatoire [BOOL], Deficit_ortho_optique [BOOL], Deficit_visio_attentionnel [TEXT], Deficit_visio_spacial [BOOL], Deficit_visio motrice [BOOL], Deficit_attention/concentration [BOOL]
{apprenant} {apprenant}
{compte} {compte}
réaliser2, 0N compte,0N test_de_positionnement, 11 historique test, 0N apprenant realiser2, 0N compte,0N test_de_positionnement, 11 historique_test_pos, 0N apprenant
posséser1, 11 historique_test, 0N apprenant posseder1, 11 historique_test_pos, 0N apprenant
posseder3, 11 historique_test_medical, 0N apprenant
""" """
entités = [ entites = [
apprenant, apprenant,
compte, compte,
fiche_activite, fiche_pedagogique,
activite, activite,
] ]
@ -116,16 +119,16 @@ domaines = [
test, test,
] ]
def generer_texte_complet(domaines, entités): def generer_texte_complet(domaines, entites):
texte_complet = "" texte_complet = ""
for domaine in domaines: for domaine in domaines:
for entite in entités: for entite in entites:
if entite in domaine: if entite in domaine:
domaine = domaine.replace(entite, "") domaine = domaine.replace(entite, "")
texte_complet += domaine texte_complet += domaine
for entite in entités: for entite in entites:
texte_complet += entite texte_complet += entite
return texte_complet return texte_complet
texte_complet = generer_texte_complet(domaines, entités) texte_complet = generer_texte_complet(domaines, entites)

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,9 @@ def generer_mcd(domaine:str,nom:str,ga:bool=False,seed:float=1):
""" """
with open(f"{nom}.mcd", "w") as f: with open(f"{nom}.mcd", "w") as f:
f.write(domaine) f.write(domaine)
result = mocodo(f'-i {nom} --colors ocean -t arrange{":algo=ga" if ga else ""} --seed {seed} --detect_overlaps') #result = mocodo(f'-i {nom} --colors ocean -t arrange{":algo=ga" if ga else ""} --seed {seed} --detect_overlaps')
#print(result)
result = mocodo(f'-i {nom} -t mld --colors mondrian -t diagram')
print(result) print(result)
if SUPPRIMER_FICHERTEXTE : pathlib.Path(f"{nom}.mcd").unlink(missing_ok=True) if SUPPRIMER_FICHERTEXTE : pathlib.Path(f"{nom}.mcd").unlink(missing_ok=True)
if SUPPRIMER_GEOJSON : pathlib.Path(f"{nom}_geo.json").unlink(missing_ok=True) if SUPPRIMER_GEOJSON : pathlib.Path(f"{nom}_geo.json").unlink(missing_ok=True)