""" Domaines de l'application exprimés en MCD mocodo """ apprenant = "apprenant:id_apprenant,nom,prenom,date_de_naissance,classe,reponses_questionnaire\n" compte = "compte:login,email,password,état,date_de_derniere_co,nom,prenom,mobile,date_de_création,moyen_paiement,est_connecté\n" auth = f""" {compte} {apprenant} licence:clé,date_utilisation promotion:code, date_de_création,durée_reduction,reduction,conditions abonnement:nom_abonnement,prix,date_de_début,date_de_fin 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 questionnaire: id_questionnaire,forme_rappel, disponibilité,reponses_questionnaire probleme_signalé:id_prob,version de l'application,support,date du signalement,commentaire question_posée:id_quest,question anonyme:id,email inviter,0N compte,0N compte,0N apprenant,0N droit,0N licence: date invitation, utiliser,01 compte,0N licence repondre, 01 compte, 0N questionnaire créer, 0N compte,0N apprenant acheter, 0N compte, 0N promotion, 0N licence, 0N abonnement : date d'achat assigner, 11 abonnement, 0N droit poser, 11 question_posée, 0N anonyme poser1, 11 question_posée, 0N compte signaler, 11 probleme_signalé, 0N anonyme signaler1, 11 probleme_signalé, 0N compte """ fiche_activite = "fiche_activité:id_fiche,comp_travaillé,pourquoi_travailler_comp,variantes\n" activite = "activité: id_activité, caracteristiques ia\n" activites = f""" {apprenant} {compte} {activite} {fiche_activite} activité_ajoutee: titre, caracteristiques ia historique_activité: id, durée, date de réalisation, note difficulté,note plaisir,note concentration, note durée, activité proposée par algo réaliser, 0N compte, 0N activité, 11 historique_activite, 0N apprenant : points accordés ajouter, 0N compte,0N activité_ajoutee, 11 historique_activité , 0N apprenant posséser, 11 historique_activité, 0N apprenant decrire, 0N fiche_activite, 11 activité """ recompenses = f""" {apprenant} {compte} palier:id_palier,nombre de points defi:id_defi,nom,objectif,date limite badge: id_badge,nom,description,image {activite} atteindre, 0N apprenant, 0N palier réaliser, 0N compte, 0N activité, 0N apprenant : points accordés réaliser3, 0N apprenant, 0N defi debloquer, 0N defi, 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 recompenses_nr = f""" {apprenant} {compte} palier:id_palier,nombre de points defi:id_defi,nom,objectif,date limite badge: id_badge,nom,description,image {activite} atteindre, 0N apprenant, 0N palier réaliser3, 0N apprenant, 0N defi debloquer, 0N defi, 11 badge debloquer1, 0N palier, 11 badge """ ressources = f""" mot_clé: mot Ressource:id_ress,titre,description,date_de_publication,type,niveau_d_access vidéo:id_video,lien_vers_site_externe article:id_article,lien_vers_site_externe {fiche_activite} contenir,0N mot_clé,0N Ressource etre1, 0N Ressource, 11 vidéo etre2, 0N Ressource, 11 article etre3, 0N Ressource, 11 fiche_activité """ test =f""" test_de_positionnement: id_testpos, consigne, caracteristiques ia test_de_progression: id_testpro, consigne historique_test: id_entree, durée, score, temps de réaction moyen, date de réalisation {apprenant} {compte} réaliser1, 0N compte,0N test_de_progression, 11 historique_test, 0N apprenant réaliser2, 0N compte,0N test_de_positionnement, 11 historique test, 0N apprenant posséser1, 11 historique_test, 0N apprenant """ entités = [ apprenant, compte, fiche_activite, activite, ] domaines = [ auth, activites, recompenses_nr, ressources, test, ] def generer_texte_complet(domaines, entités): texte_complet = "" for domaine in domaines: for entite in entités: if entite in domaine: domaine = domaine.replace(entite, "") texte_complet += domaine for entite in entités: texte_complet += entite return texte_complet texte_complet = generer_texte_complet(domaines, entités)