diff --git a/front/public/JS/accountUser.app.js b/front/public/JS/accountUser.app.js deleted file mode 100644 index ae2e7ed..0000000 --- a/front/public/JS/accountUser.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,n,t){const i=t(671),s=t(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:i.password.minlength,dirCacheUsers:i.dirCacheUsers,dirCacheUsersAnswers:i.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},4055:function(e){e.exports={allSubscriptionProcessed:"Tous les abonnés ont été traités pour le moment.",infosExpirated:"Votre abonnement a expiré, mais il vous reste encore quelques jours avant que votre compte et vos données ne soient complètement supprimées.
Pour ce faire, suivez sans tarder les indications ci-dessous :",infosExpiratedAdmin:"Cet abonnement a expiré.",infosNbDays:"Votre abonnement est encore valable pendant NB_DAYS jours.
Vous pouvez à tout moment prolonger votre abonnement en suivant les indications ci-dessous :",infosNbDaysAdmin:"Cet abonnement est encore valable pendant NB_DAYS jours.",infosPaymentsAdmin:"DATE_PAYMENT : paiement de AMOUNT € au nom de CLIENT_NAME.",isNotValided:"Cet utilisateur n'a pas encore validé son compte.
Vous pouvez le faire à sa place en cochant la case indiquée et enregistrant.",mailEndFreeTimeBodyHTML:"

Bonjour USER_NAME,

Votre abonnement gratuit à SITE_NAME va expirer d'ici quelques jours.

Pour continuer à utiliser le site, vous pouvez souscrire à un abonnement sans tarder en cliquant sur le lien ci-dessous.

",mailEndFreeTimeBodyTxt:"Bonjour USER_NAME,\n\nVotre abonnement gratuit à SITE_NAME va expirer d'ici quelques jours.\n\nPour continuer à utiliser le site, vous pouvez sans attendre souscrire à un abonnement :\nLINK_URL",mailEndFreeTimeLinkTxt:"M'abonner.",mailEndFreeTimeMessage:" relances envoyées.",mailEndFreeTimeSubject:"Votre abonnement gratuit va expirer",mailExpirationBodyHTML:"

Bonjour USER_NAME,

Votre abonnement à SITE_NAME va expirer d'ici quelques jours.

Pour continuer à utiliser SITE_NAME, vous pouvez le prolonger dès aujourd'hui en cliquant sur le lien ci-dessous.

",mailExpirationBodyTxt:"Bonjour USER_NAME,\n\nVotre abonnement à SITE_NAME va expirer d'ici quelques jours.\n\nPour continuer à utiliser SITE_NAME, vous pouvez le prolonger dès aujourd'hui :\nLINK_URL",mailExpirationLinkTxt:"Prolonger mon abonnement.",mailExpirationMessage:"FIRST premières et SECOND deuxièmes relances envoyées pour des abonnements expirant d'ici peu.",mailExpirationRelaunchTxt:"[Rappel] ",mailExpirationSubject:"Votre abonnement va bientôt expirer",mailNewElementForGroupTxt:"Bonjour USER_NAME,\n\nVoici le lien vers le nouvel article à lire :\n\nQUESTIONNAIRE_URL\n\nBonne lecture !\n\nStopper les envois ?\nUNSUBSCRIBE_URL",mailNewQuestionnaireBodyTxt:"Bonjour USER_NAME,\n\nVoici le lien vers le nouveau quiz :\n\nQUESTIONNAIRE_URL\n\nBonne lecture !\n\nStopper les envois ?\nUNSUBSCRIBE_URL",mailStopMailLinkTxt:"Stopper les envois.",needKnowIfNoticeOk:"Il manque l'information sur l'acceptation ou non de recevoir des notifications.",needIntegerNumberOfDays:"Le nombre de jours de l'abonnement doit être un nombre entier.",needMinNumberOfDays:"Le nombre de jours de l'abonnement ne peut être négatif !",needNotTooLongDaysList:"La liste de jours sélectionnés n'a pas le bon format (trop longue).",needNumberOfDays:"Il faut un nombre de jours pour l'abonnement.",needUniqueDaysList:"La liste de jours sélectionnés n'a pas le bon format. Doublon : ",needValidDaysList:"La liste de jours sélectionnés n'a pas le bon format. Caractère non valide : ",noNewQuestionnaireForUser:"Aucun nouveau questionnaire trouvé pour un abonné : ",unsubscriptionOk:"Votre demande a bien été prise en compte. Vous ne recevrez plus de messages venant du site, sauf pour vous signaler la fin de votre abonnement.
N'hésitez pas à accéder à votre compte pour de nouveau autoriser certains envois.",unsubscriptionFail:"Si vous voyez ce message, c'est que votre lien de désabonnement ne fonctionne pas.
Vous pouvez accéder à votre compte pour désactiver les envois manuellement."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

Bonjour USER_NAME,

Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

Bonjour USER_NAME,

Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

Bonjour USER_NAME,

Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

Encore merci et à bientôt !

",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

Bonjour USER_NAME,

Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

Bonjour USER_NAME,

Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

Bonjour USER_NAME,

Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

Pour ce faire, utilisez le lien ci-dessous.

À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class n{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return n.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,n){return(e+="").length>n&&(e=e.substring(0,n-3)+"…"),e}static replaceAll(e,n){const t=new RegExp(Object.keys(n).join("|"),"gi");return e.replace(t,(e=>n[e]))}static getRandomInt(e,n){return e=Math.ceil(e),n=Math.floor(n),Math.floor(Math.random()*(n-e))+e}static dateFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(n.isEmpty(e))return"";let i=new Date(e),s=i.getDate()+"";1===s.length&&(s="0"+s);let r=i.getMonth()+1+"";1===r.length&&(r="0"+r);let o=i.getFullYear();return"fr"===t?s+"/"+r+"/"+o:"form"===t?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,n){const t=e+Math.floor(Math.random()*(n-e)),i="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=i[Math.floor(Math.random()*i.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
Vous découvrez de courts articles, lisibles en quelques minutes.
Des quizs vous permettent ensuite de tester ce que vous avez retenu.
De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
Le tout sans publicité, ni commercialisation de vos données.
Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

Aristote : « L’homme a naturellement la passion de connaître… »
",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

",explanationElementTxt:"

WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,n,t){var i={"./fr/general":223};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=2111},7325:function(e,n,t){var i={"./fr/subscription":4055};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=7325},176:function(e,n,t){var i={"./fr/user":1494};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,n,t){var i={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9729}},n={};function t(i){var s=n[i];if(void 0!==s)return s.exports;var r=n[i]={exports:{}};return e[i](r,r.exports,t),r.exports}t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},function(){"use strict";var e=t(6028);const n=(e,n)=>{localStorage.setItem(e,JSON.stringify(n))},i=function(e){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return n?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=t(9864);const o=function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,r.isEmpty)(n)||(0,r.isEmpty)(e))return!1;{const u=document.createElement(n);if((0,r.isEmpty)(i)||(u.id=i),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,r.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
")),a&&(e.innerHTML=""),e.appendChild(u)}};var a=t(671);const u=e.availableLangs[0],l=t(9729)("./"+e.theme+"/config/"+u+".js"),c=(e,t,i)=>{(0,r.isEmpty)(t)||n("message",t),(0,r.isEmpty)(i)||n("url",i),(0,r.isEmpty)(e)||window.location.assign(e)},d={CGV:document.getElementById("CGVOk"),abo1:document.getElementById("abo1"),abo2:document.getElementById("abo2"),abo3:document.getElementById("abo3"),abo4:document.getElementById("abo4")},m=document.getElementById("WPBtns"),p=e=>{for(let n in d)n!==e&&(d[n].checked=!1),m.style.display="none"},v={btn1:document.getElementById("WPBtn1"),btn2:document.getElementById("WPBtn2"),btn3:document.getElementById("WPBtn3"),btn4:document.getElementById("WPBtn4")},g=e=>{for(let n in v)v[n].style.display=n!==e?"none":"block"},h=e.availableLangs[0],b=t(9729)("./"+e.theme+"/config/"+h+".js"),{beginCodeGodfather:f}=t(6028),L=t(671),{serverError:E}=t(2111)("./"+h+"/general"),{infosUserNbGodChilds:M,infosUserNoGodchilds:T,needBeConnected:k}=t(176)("./"+h+"/user"),{infosExpirated:y,infosNbDays:S}=t(7325)("./"+h+"/subscription"),q=document.getElementById("crash"),x=document.getElementById("main-content"),N=document.getElementById("message"),I=document.getElementById("response"),U=document.getElementById("godfatherInfos"),z=document.getElementById("godchilds"),R=document.getElementById("subscribeInfos"),A=document.getElementById("subscribeIntro"),B=document.getElementById("accountUpdate"),P=document.getElementById("newPassword"),D=document.getElementById("godfatherEmail"),w=document.getElementById("godfatherCode");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const t=await async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,u=arguments.length>2?arguments[2]:void 0,d=arguments.length>3?arguments[3]:void 0;return new Promise(((m,p)=>{const v=i("user");if((0,r.isEmpty)(v))c(o,u,d),m(!1);else{const i=JSON.parse(v);if((0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.token)||(0,r.isEmpty)(i.duration)||i.duration{let a=JSON.parse(r.responseText);if(200===r.status&&a.isValid&&null!=a.id)if(a.id===i.id)if(i.name=a.name,i.language=a.language,i.timeDifference=a.timeDifference,i.status=a.status,n("user",i),"user"===a.status&&a.nbDaysOk<=0){const n=e.siteUrl+"/"+l.accountPage;-1===window.location.href.indexOf(n)&&window.location.assign("/"+l.accountPage+"#subscribe"),m(!0)}else 0!==t.length&&-1===t.indexOf(a.status)?(c(o,u,d),m(!1)):m(!0);else s("user"),c(o,u,d),m(!1);else s("user"),c(o,u,d),m(!1)},r.onerror=()=>p(r.statusText),r.send()}}}))}(["user"],"/"+b.connectionPage,{message:k,color:"error"},window.location);if(t){x.style.display="block",void 0!==window.location.hash&&window.location.assign(window.location.hash),(0,r.isEmpty)(i("message"))||(o(N,"p",i("message",!0).message,"",[i("message",!0).color],"",!1),s("message"));const n=i("user",!0);n.status,((e,n)=>{for(let t in n.elements)if(!(0,r.isEmpty)(n.elements[t].id)){let i=n.elements[t].id;if(void 0!==e[i]){let n=document.getElementById(i);for(let t in e[i])n.setAttribute(t,e[i][t])}}})(L,B),P.value="";const t=()=>{const t=new XMLHttpRequest;t.open("GET",e.apiUrl+L.userRoutes+L.getUserInfos+n.id),t.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&null!=e.User&&null!=e.Subscription){for(let n in e.User)void 0!==B.elements[n]&&(!0!==e.User[n]&&!1!==e.User[n]?B.elements[n].value=e.User[n]:1==e.User[n]&&(B.elements[""+n].checked="checked"));for(let n in e.Subscription.receiptDays)B.elements["d"+e.Subscription.receiptDays[n]].checked="checked";D.innerHTML=e.User.email,w.innerHTML=f+e.User.id}const n=new Date(e.Subscription.createdAt).getTime();if(0!==e.Subscription.numberOfDays){U.style.display="block",R.style.display="block";const t=e.Subscription.numberOfDays-Math.round((Date.now()-n)/1e3/3600/24);t>0?o(A,"p",S.replace("NB_DAYS",t),"",["info"]):(o(A,"p",y.replace("NB_DAYS",t),"",["error"]),window.location.assign("#subscribe"))}}},t.setRequestHeader("Authorization","Bearer "+n.token),t.send()};t(),B.addEventListener("submit",(function(i){i.preventDefault(),I.innerHTML="";let s=(e=>{const n={},t=new FormData(e);for(let e of t.entries())n[e[0]]=e[1];return n})(B);s.receiptDays="";for(let e=1;e<=7;e++)void 0!==s["d"+e]&&(s.receiptDays+=""+e);s.timeDifference=(()=>{const e=-1*(new Date).getTimezoneOffset();return e>a.timeDifferenceMax||e"):e.message=e.message,o(I,"p",e.message,"",["success"])):e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
"):e.errors=E,o(I,"p",e.errors,"",["error"])):o(I,"p",E,"",["error"]),t()}},r.setRequestHeader("Content-Type","application/json"),r.setRequestHeader("Authorization","Bearer "+n.token),s&&(s.output="html",r.send(JSON.stringify(s)))}));const u=document.getElementById("abo9"),l=document.getElementById("abo18"),c=document.getElementById("abo36"),d=document.getElementById("abo54"),m=document.getElementById("CGVOk"),v=document.getElementById("WPBtns");v.style.display="none",u.addEventListener("change",(function(e){p("abo9")})),l.addEventListener("change",(function(e){p("abo18")})),c.addEventListener("change",(function(e){p("abo36")})),d.addEventListener("change",(function(e){p("abo54")})),m.addEventListener("change",(function(e){!0===m.checked?(v.style.display="block",!0===u.checked?g("btn9"):!0===l.checked?g("btn18"):!0===c.checked?g("btn36"):!0===d.checked?g("btn54"):(v.style.display="none",m.checked=!1)):v.style.display="none"}));const h=new XMLHttpRequest;h.open("GET",e.apiUrl+L.userRoutes+L.getGodChilds),h.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText),n="";if(200===this.status){const t=e.length;if(0===t)n=T;else{n=M.replace("#NB",t);for(let t in e)n+=e[t].name+" ("+e[t].email+") "}}o(z,"p",n,"",["info"])}},h.setRequestHeader("Authorization","Bearer "+n.token),h.send()}}catch(e){o(q,"p",E,"",["error"]),console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/connection.app.js b/front/public/JS/connection.app.js deleted file mode 100644 index 68bd205..0000000 --- a/front/public/JS/connection.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,t){const n=t(671),s=t(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:n.password.minlength,dirCacheUsers:n.dirCacheUsers,dirCacheUsersAnswers:n.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},45:function(e){e.exports={matomo:{url:"https://stats.le-fab-lab.com/",siteId:"5"}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

Bonjour USER_NAME,

Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

Bonjour USER_NAME,

Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

Bonjour USER_NAME,

Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

Encore merci et à bientôt !

",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

Bonjour USER_NAME,

Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

Bonjour USER_NAME,

Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

Bonjour USER_NAME,

Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

Pour ce faire, utilisez le lien ci-dessous.

À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const t=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(t,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let n=new Date(e),s=n.getDate()+"";1===s.length&&(s="0"+s);let r=n.getMonth()+1+"";1===r.length&&(r="0"+r);let o=n.getFullYear();return"fr"===t?s+"/"+r+"/"+o:"form"===t?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,i){const t=e+Math.floor(Math.random()*(i-e)),n="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=n[Math.floor(Math.random()*n.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
Vous découvrez de courts articles, lisibles en quelques minutes.
Des quizs vous permettent ensuite de tester ce que vous avez retenu.
De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
Le tout sans publicité, ni commercialisation de vos données.
Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

Aristote : « L’homme a naturellement la passion de connaître… »
",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

",explanationElementTxt:"

WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,i,t){var n={"./fr/general":223};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=2111},176:function(e,i,t){var n={"./fr/user":1494};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,i,t){var n={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=9729}},i={};function t(n){var s=i[n];if(void 0!==s)return s.exports;var r=i[n]={exports:{}};return e[n](r,r.exports,t),r.exports}t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=t(6028),i=t(671);const n=(e,i)=>{localStorage.setItem(e,JSON.stringify(i))},s=function(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},r=e=>{localStorage.removeItem(e)};var o=t(9864);const a=function(e,i){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,o.isEmpty)(i)||(0,o.isEmpty)(e))return!1;{const u=document.createElement(i);if((0,o.isEmpty)(n)||(u.id=n),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof r)for(let e in r)u.setAttribute(e,r[e]);(0,o.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
")),a&&(e.innerHTML=""),e.appendChild(u)}};var u=t(45);const l=()=>{var e=window._paq=window._paq||[];e.push([function(){var e,i,t;this.setVisitorCookieTimeout((e=new Date,i=Math.round(e.getTime()/1e3),t=this.getVisitorInfo(),parseInt(t[2])+33696e3-i))}]),e.push(["trackPageView"]),e.push(["enableLinkTracking"]),function(){var i=u.matomo.url;e.push(["setTrackerUrl",i+"matomo.php"]),e.push(["setSiteId",u.matomo.siteId]);var t=document,n=t.createElement("script"),s=t.getElementsByTagName("script")[0];n.type="text/javascript",n.async=!0,n.src=i+"matomo.js",s.parentNode.insertBefore(n,s)}()},c=e.availableLangs[0],d=t(9729)("./"+e.theme+"/config/"+c+".js"),m=(e,i,t)=>{(0,o.isEmpty)(i)||n("message",i),(0,o.isEmpty)(t)||n("url",t),(0,o.isEmpty)(e)||window.location.assign(e)},p=e.availableLangs[0],v=t(9729)("./"+e.theme+"/config/"+p+".js"),{serverError:g}=t(2111)("./"+p+"/general"),{alreadyConnected:h,needChooseLoginWay:b}=t(176)("./"+p+"/user"),f=document.getElementById("connection"),L=document.getElementById("message"),M=document.getElementById("response");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const t=await async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1?arguments[1]:void 0,u=arguments.length>2?arguments[2]:void 0,l=arguments.length>3?arguments[3]:void 0;return new Promise(((c,p)=>{const v=s("user");if((0,o.isEmpty)(v))m(a,u,l),c(!1);else{const s=JSON.parse(v);if((0,o.isEmpty)(s.id)||(0,o.isEmpty)(s.token)||(0,o.isEmpty)(s.duration)||s.duration{let i=JSON.parse(o.responseText);if(200===o.status&&i.isValid&&null!=i.id)if(i.id===s.id)if(s.name=i.name,s.language=i.language,s.timeDifference=i.timeDifference,s.status=i.status,n("user",s),"user"===i.status&&i.nbDaysOk<=0){const i=e.siteUrl+"/"+d.accountPage;-1===window.location.href.indexOf(i)&&window.location.assign("/"+d.accountPage+"#subscribe"),c(!0)}else 0!==t.length&&-1===t.indexOf(i.status)?(m(a,u,l),c(!1)):c(!0);else r("user"),m(a,u,l),c(!1);else r("user"),m(a,u,l),c(!1)},o.onerror=()=>p(o.statusText),o.send()}}}))}();if(t){n("message",{message:h,color:"info"});const e=s("user",!0).status+"HomePage";window.location.assign("/"+v[e])}else l(),f.style.display="block",(0,o.isEmpty)(s("message"))||(a(L,"p",s("message",!0).message,"",[s("message",!0).color]),r("message"))}catch(e){a(M,"p",g,"",["error"]),console.error(e)}})(),f.addEventListener("submit",(function(t){try{t.preventDefault(),M.innerHTML="";let u=(e=>{const i={},t=new FormData(e);for(let e of t.entries())i[e[0]]=e[1];return i})(f);if((0,o.isEmpty)(u.password)&&(0,o.isEmpty)(u.getLoginLink))a(M,"div",b,"",["error"]);else{const t=new XMLHttpRequest;(0,o.isEmpty)(u.getLoginLink)?t.open("POST",e.apiUrl+i.userRoutes+i.connectionRoute):t.open("POST",e.apiUrl+i.userRoutes+i.getLoginLinkRoute),t.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let u=JSON.parse(this.responseText);if(200===this.status)if((0,o.isEmpty)(u.message))if((0,o.isEmpty)(u.userId)||(0,o.isEmpty)(u.connexionTime)||(0,o.isEmpty)(u.token))a(M,"p",g,"",["error"]);else{let a=Date.now();u.connexionTime.endsWith("days")?a+=24*parseInt(u.connexionTime,10)*3600*1e3:a+=3600*parseInt(u.connexionTime,10)*1e3,i=u.userId,t=u.token,n("user",{id:i,token:t,duration:a}),r("lastAnswer"),f.style.display="none";let l=s("url",!0);(0,o.isEmpty)(l)||-1===l.href.indexOf(e.siteUrl)?l=v[u.status+"HomePage"]:(l=l.href,r("url")),window.location.assign(l)}else f.style.display="none",a(M,"p",u.message,"",["success"]);else u.errors?(Array.isArray(u.errors)?u.errors=u.errors.join("
"):u.errors=g,a(M,"p",u.errors,"",["error"])):a(M,"p",g,"",["error"])}var i,t},t.setRequestHeader("Content-Type","application/json"),u&&(u.timeDifference=(()=>{const e=-1*(new Date).getTimezoneOffset();return e>i.timeDifferenceMax||e{const i=s("lastAnswer");if(!(0,o.isEmpty)(i)){const t=JSON.parse(i);(0,o.isEmpty)(t.duration)||(0,o.isEmpty)(t.nbCorrectAnswers)||(0,o.isEmpty)(t.nbQuestions)||(0,o.isEmpty)(t.QuestionnaireId)&&(0,o.isEmpty)(t.GroupId)||(e.duration=t.duration,e.nbCorrectAnswers=t.nbCorrectAnswers,e.nbQuestions=t.nbQuestions,(0,o.isEmpty)(t.QuestionnaireId)?e.GroupId=t.GroupId:e.QuestionnaireId=t.QuestionnaireId)}return e})(u),t.send(JSON.stringify(u)))}}catch(t){a(M,"p",g,"",["error"]),console.error(t)}}))}()}(); \ No newline at end of file diff --git a/front/public/JS/deconnection.app.js b/front/public/JS/deconnection.app.js deleted file mode 100644 index 8ec6554..0000000 --- a/front/public/JS/deconnection.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,n,i){const t=i(671),r=i(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:t.password.minlength,dirCacheUsers:t.dirCacheUsers,dirCacheUsersAnswers:t.dirCacheUsersAnswers,dirCacheQuestionnaires:r.dirCacheQuestionnaires,dirCacheQuestions:r.dirCacheQuestions,dirCacheUsersQuestionnaires:r.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:r.dirHTMLQuestionnaires,dirWebQuestionnaires:r.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

Bonjour USER_NAME,

Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

Bonjour USER_NAME,

Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

Bonjour USER_NAME,

Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

Encore merci et à bientôt !

",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

Bonjour USER_NAME,

Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

Bonjour USER_NAME,

Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

Bonjour USER_NAME,

Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

Pour ce faire, utilisez le lien ci-dessous.

À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class n{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return n.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,n){return(e+="").length>n&&(e=e.substring(0,n-3)+"…"),e}static replaceAll(e,n){const i=new RegExp(Object.keys(n).join("|"),"gi");return e.replace(i,(e=>n[e]))}static getRandomInt(e,n){return e=Math.ceil(e),n=Math.floor(n),Math.floor(Math.random()*(n-e))+e}static dateFormat(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(n.isEmpty(e))return"";let t=new Date(e),r=t.getDate()+"";1===r.length&&(r="0"+r);let s=t.getMonth()+1+"";1===s.length&&(s="0"+s);let o=t.getFullYear();return"fr"===i?r+"/"+s+"/"+o:"form"===i?o+"-"+s+"-"+r:s+"/"+r+"/"+o}static getPassword(e,n){const i=e+Math.floor(Math.random()*(n-e)),t="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",r="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let s=t[Math.floor(Math.random()*t.length)];for(let e=1;e{localStorage.removeItem(e)};var t=i(9864);const r=function(e,n){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,t.isEmpty)(n)||(0,t.isEmpty)(e))return!1;{const u=document.createElement(n);if((0,t.isEmpty)(r)||(u.id=r),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,t.isEmpty)(i)||(u.innerHTML=i.replace(/\n/g,"
")),a&&(e.innerHTML=""),e.appendChild(u)}},s=e.availableLangs[0],{serverError:o}=i(2111)("./"+s+"/general"),{byebyeMessage:a}=i(176)("./"+s+"/user"),u=document.getElementById("response");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{n("user"),n("url"),n("message"),r(u,"p",a,"",["success"])}catch(e){r(u,"p",o,"",["error"])}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/deleteValidation.app.js b/front/public/JS/deleteValidation.app.js deleted file mode 100644 index 097e04e..0000000 --- a/front/public/JS/deleteValidation.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,n){const t=n(671),r=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:t.password.minlength,dirCacheUsers:t.dirCacheUsers,dirCacheUsersAnswers:t.dirCacheUsersAnswers,dirCacheQuestionnaires:r.dirCacheQuestionnaires,dirCacheQuestions:r.dirCacheQuestions,dirCacheUsersQuestionnaires:r.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:r.dirHTMLQuestionnaires,dirWebQuestionnaires:r.dirWebQuestionnaires}},45:function(e){e.exports={matomo:{url:"https://stats.le-fab-lab.com/",siteId:"5"}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

Bonjour USER_NAME,

Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

Bonjour USER_NAME,

Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

Bonjour USER_NAME,

Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

Encore merci et à bientôt !

",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

Bonjour USER_NAME,

Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

Bonjour USER_NAME,

Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

Bonjour USER_NAME,

Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

Pour ce faire, utilisez le lien ci-dessous.

À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const n=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(n,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let t=new Date(e),r=t.getDate()+"";1===r.length&&(r="0"+r);let s=t.getMonth()+1+"";1===s.length&&(s="0"+s);let o=t.getFullYear();return"fr"===n?r+"/"+s+"/"+o:"form"===n?o+"-"+s+"-"+r:s+"/"+r+"/"+o}static getPassword(e,i){const n=e+Math.floor(Math.random()*(i-e)),t="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",r="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let s=t[Math.floor(Math.random()*t.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
Vous découvrez de courts articles, lisibles en quelques minutes.
Des quizs vous permettent ensuite de tester ce que vous avez retenu.
De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
Le tout sans publicité, ni commercialisation de vos données.
Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

Aristote : « L’homme a naturellement la passion de connaître… »
",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

",explanationElementTxt:"

WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,i,n){var t={"./fr/general":223};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=2111},176:function(e,i,n){var t={"./fr/user":1494};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=176},9729:function(e,i,n){var t={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=9729}},i={};function n(t){var r=i[t];if(void 0!==r)return r.exports;var s=i[t]={exports:{}};return e[t](s,s.exports,n),s.exports}n.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=n(6028),i=n(9864);const t=function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,i.isEmpty)(n)||(0,i.isEmpty)(e))return!1;{const u=document.createElement(n);if((0,i.isEmpty)(r)||(u.id=r),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,i.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
")),a&&(e.innerHTML=""),e.appendChild(u)}};n(45),n(671);const r=e.availableLangs[0],s=(n(9729)("./"+e.theme+"/config/"+r+".js"),e.availableLangs[0]),{accountPage:o}=n(9729)("./"+e.theme+"/config/"+s+".js"),{checkDeleteLinkRoute:a,userRoutes:u}=n(671),{serverError:l}=n(2111)("./"+s+"/general"),{badLinkValidationMessage:c}=n(176)("./"+s+"/user"),d=document.getElementById("response");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const n=(()=>{if((0,i.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let n,t={};for(let i in e)n=e[i].split("="),2===n.length&&(t[n[0]]=decodeURI(n[1]));return t})();if(n&&void 0!==n.t){const i=new XMLHttpRequest;i.open("GET",e.apiUrl+u+a+n.t),i.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200===this.status&&null!=e.message?(t(d,"p",e.message,"",["success"]),"user",localStorage.removeItem("user")):400===this.status&&null!=e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
"):e.errors=l,t(d,"p",e.errors,"",["error"])):t(d,"p",c.replace("#URL",o),"",["error"])}},i.setRequestHeader("Authorization","Bearer "+n.t),i.send()}}catch(e){t(d,"p",l,"",["error"]),console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/groupElement.app.js b/front/public/JS/groupElement.app.js deleted file mode 100644 index f8e7706..0000000 --- a/front/public/JS/groupElement.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,n){const t=n(671),r=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:t.password.minlength,dirCacheUsers:t.dirCacheUsers,dirCacheUsersAnswers:t.dirCacheUsersAnswers,dirCacheQuestionnaires:r.dirCacheQuestionnaires,dirCacheQuestions:r.dirCacheQuestions,dirCacheUsersQuestionnaires:r.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:r.dirHTMLQuestionnaires,dirWebQuestionnaires:r.dirWebQuestionnaires}},45:function(e){e.exports={matomo:{url:"https://stats.le-fab-lab.com/",siteId:"5"}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

Bonjour USER_NAME,

Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

Bonjour USER_NAME,

Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

Bonjour USER_NAME,

Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

Encore merci et à bientôt !

",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

Bonjour USER_NAME,

Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

Bonjour USER_NAME,

Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

Bonjour USER_NAME,

Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

Pour ce faire, utilisez le lien ci-dessous.

À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const n=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(n,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let t=new Date(e),r=t.getDate()+"";1===r.length&&(r="0"+r);let s=t.getMonth()+1+"";1===s.length&&(s="0"+s);let o=t.getFullYear();return"fr"===n?r+"/"+s+"/"+o:"form"===n?o+"-"+s+"-"+r:s+"/"+r+"/"+o}static getPassword(e,i){const n=e+Math.floor(Math.random()*(i-e)),t="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",r="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let s=t[Math.floor(Math.random()*t.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
Vous découvrez de courts articles, lisibles en quelques minutes.
Des quizs vous permettent ensuite de tester ce que vous avez retenu.
De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
Le tout sans publicité, ni commercialisation de vos données.
Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

Aristote : « L’homme a naturellement la passion de connaître… »
",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

",explanationElementTxt:"

WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,i,n){var t={"./fr/general":223};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=2111},176:function(e,i,n){var t={"./fr/user":1494};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=176},9729:function(e,i,n){var t={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=9729}},i={};function n(t){var r=i[t];if(void 0!==r)return r.exports;var s=i[t]={exports:{}};return e[t](s,s.exports,n),s.exports}n.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=n(6028),i=n(9864),t=n(45);const r=()=>{var e=window._paq=window._paq||[];e.push([function(){var e,i,n;this.setVisitorCookieTimeout((e=new Date,i=Math.round(e.getTime()/1e3),n=this.getVisitorInfo(),parseInt(n[2])+33696e3-i))}]),e.push(["trackPageView"]),e.push(["enableLinkTracking"]),function(){var i=t.matomo.url;e.push(["setTrackerUrl",i+"matomo.php"]),e.push(["setSiteId",t.matomo.siteId]);var n=document,r=n.createElement("script"),s=n.getElementsByTagName("script")[0];r.type="text/javascript",r.async=!0,r.src=i+"matomo.js",s.parentNode.insertBefore(r,s)}()};n(671);const s=e.availableLangs[0],o=(n(9729)("./"+e.theme+"/config/"+s+".js"),e.availableLangs[0]),{serverError:a}=(n(9729)("./"+e.theme+"/config/"+o+".js"),n(671),n(2111)("./"+o+"/general")),{needUniqueEmail:u}=n(176)("./"+o+"/user"),l=(document.getElementById("submitDatas"),document.getElementById("response"));(async()=>{try{r()}catch(e){!function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,i.isEmpty)(n)||(0,i.isEmpty)(e))return!1;{const u=document.createElement(n);if((0,i.isEmpty)(r)||(u.id=r),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,i.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
")),a&&(e.innerHTML=""),e.appendChild(u)}}(l,"p",a,"",["error"]),console.error(e)}})(),console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****")}()}(); \ No newline at end of file diff --git a/front/public/JS/homeManager.app.js b/front/public/JS/homeManager.app.js deleted file mode 100644 index 49072bb..0000000 --- a/front/public/JS/homeManager.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,t){const n=t(671),s=t(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:n.password.minlength,dirCacheUsers:n.dirCacheUsers,dirCacheUsersAnswers:n.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},3215:function(e){e.exports={btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnSendResponse:"Testez vos réponses.",btnShareQuizTxt:"Partager via ",btnShareQuizMailBody:"Bonjour,%0A%0AVoici%20un%20lien%20internet%20qui%20devrait%20t'intéresser :%0A",btnShowQuestionnaire:"Répondre au quiz !",correctAnswerTxt:"Bonne réponse",estimatedTime:"Durée de lecture estimée : ",estimatedTimeOption:{short:"courte",medium:"moyenne",long:"longue"},explanationBeforeTxt:"Extrait :",haveBeenPublished:":NB nouveaux questionnaires ont été publiés.",haveBeenRegenerated:"Les pages HTML de #NB1 questionnaires ou éléments de groupes, #NB2 quizs groupés et #NB3 thèmes ont été regénérés.",lastUpdated:"Dernière mise à jour, le ",linkGoToNextElement:"Article suivant",linkGoToQuiz:"Accéder au quiz",needCorrectPublishingDate:"La date de publication fournie n'a pas un format valide.",needEstimatedTime:"Merci de sélectionner une estimation de la durée de ce quiz.",needGroupIfRank:"Vous avez saisi un rang de classement, sans sélectionner le groupe du quiz.",needIntroduction:"Merci de fournir un texte d'introduction à votre quiz.",needKnowIfIsPublished:"Il faut savoir si ce quiz est publié.",needLanguage:"Vous devez sélectionner la langue de ce quiz.",needNotTooLongTitle:"Le titre du quiz ne doit pas compter plus de 255 caractères.",needNumberForRank:"Vous devez saisir un nombre entier pour le rang de ce questionnaire dans son groupe.",needTitle:"Merci de fournir un titre à votre quiz.",needUniqueUrl:"L'url du quiz doit être unique.",needUrl:"Merci de fournir l'url à votre quiz.",nextDateWithoutQuestionnaire:"Prochaine date sans quiz programmé : ",nextQuestionnairesList:"Les #NB prochains quizs devant être publiés",questionnairesName:"quiz",questionnaireNeedBeCompleted:"Quiz incomplet",publishedAt:", le",publishedBy:"Quiz publié par",searchQuestionnaireResultTitle:"Résultat pour votre recherche",searchQuestionnaireWithNoResult:"Aucun quiz n'a été trouvé pour votre recherche.",searchQuestionnaireWithResult:"Il y a #NB article#S correspondant à votre recherche :",wrongAnswerTxt:"Mauvaise réponse"}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

Bonjour USER_NAME,

Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

Bonjour USER_NAME,

Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

Bonjour USER_NAME,

Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

Encore merci et à bientôt !

",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

Bonjour USER_NAME,

Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

Bonjour USER_NAME,

Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

Bonjour USER_NAME,

Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

Pour ce faire, utilisez le lien ci-dessous.

À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const t=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(t,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let n=new Date(e),s=n.getDate()+"";1===s.length&&(s="0"+s);let r=n.getMonth()+1+"";1===r.length&&(r="0"+r);let o=n.getFullYear();return"fr"===t?s+"/"+r+"/"+o:"form"===t?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,i){const t=e+Math.floor(Math.random()*(i-e)),n="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=n[Math.floor(Math.random()*n.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
Vous découvrez de courts articles, lisibles en quelques minutes.
Des quizs vous permettent ensuite de tester ce que vous avez retenu.
De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
Le tout sans publicité, ni commercialisation de vos données.
Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

Aristote : « L’homme a naturellement la passion de connaître… »
",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

",explanationElementTxt:"

WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,i,t){var n={"./fr/general":223};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=2111},3260:function(e,i,t){var n={"./fr/questionnaire":3215};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=3260},176:function(e,i,t){var n={"./fr/user":1494};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,i,t){var n={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var i=r(e);return t(i)}function r(e){if(!t.o(n,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=9729}},i={};function t(n){var s=i[n];if(void 0!==s)return s.exports;var r=i[n]={exports:{}};return e[n](r,r.exports,t),r.exports}t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=t(6028),i=t(671),n=t(4988);const s=(e,i)=>{localStorage.setItem(e,JSON.stringify(i))},r=function(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},o=e=>{localStorage.removeItem(e)};var a=t(9864);const u=function(e,i){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,a.isEmpty)(i)||(0,a.isEmpty)(e))return!1;{const u=document.createElement(i);if((0,a.isEmpty)(n)||(u.id=n),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof r)for(let e in r)u.setAttribute(e,r[e]);(0,a.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
")),o&&(e.innerHTML=""),e.appendChild(u)}},l=e.availableLangs[0],c=t(9729)("./"+e.theme+"/config/"+l+".js"),d=(e,i,t)=>{(0,a.isEmpty)(i)||s("message",i),(0,a.isEmpty)(t)||s("url",t),(0,a.isEmpty)(e)||window.location.assign(e)},p=e.availableLangs[0],m=t(9729)("./"+e.theme+"/config/"+p+".js"),{notAllowed:v,serverError:h,statsAdmin:g}=t(2111)("./"+p+"/general"),{nextDateWithoutQuestionnaire:b,nextQuestionnairesList:f,questionnaireNeedBeCompleted:L}=t(3260)("./"+p+"/questionnaire"),{welcomeMessage:T}=t(176)("./"+p+"/user"),M=document.getElementById("main-content"),q=document.getElementById("crash"),E=document.getElementById("message"),S=document.getElementById("questionnaires"),k=document.getElementById("wantRegenerate");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const t=await async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0,u=arguments.length>2?arguments[2]:void 0,l=arguments.length>3?arguments[3]:void 0;return new Promise(((p,m)=>{const v=r("user");if((0,a.isEmpty)(v))d(n,u,l),p(!1);else{const r=JSON.parse(v);if((0,a.isEmpty)(r.id)||(0,a.isEmpty)(r.token)||(0,a.isEmpty)(r.duration)||r.duration{let i=JSON.parse(a.responseText);if(200===a.status&&i.isValid&&null!=i.id)if(i.id===r.id)if(r.name=i.name,r.language=i.language,r.timeDifference=i.timeDifference,r.status=i.status,s("user",r),"user"===i.status&&i.nbDaysOk<=0){const i=e.siteUrl+"/"+c.accountPage;-1===window.location.href.indexOf(i)&&window.location.assign("/"+c.accountPage+"#subscribe"),p(!0)}else 0!==t.length&&-1===t.indexOf(i.status)?(d(n,u,l),p(!1)):p(!0);else o("user"),d(n,u,l),p(!1);else o("user"),d(n,u,l),p(!1)},a.onerror=()=>m(a.statusText),a.send()}}}))}(["manager","admin"],"/"+m.connectionPage,{message:v,color:"error"});if(t){const t=r("user",!0);t.status,u(E,"h2",T.replace("#NAME",t.name)),M.style.display="block",(0,a.isEmpty)(r("message"))||(u(E,"p",r("message",!0).message,"",[r("message",!0).color],"",!1),o("message"));const s=new XMLHttpRequest;s.open("GET",e.apiUrl+i.userRoutes+i.getAdminStats),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status){const i={NB_USERS_24H:e.nbNewUsers24H,NB_SUBSCRIPTIONS_24H:e.Subscriptions.nbSubscriptions24H,NB_USERS_DELETED_24H:e.nbDeletedUsers24H,NB_ANSWERS_24H:e.Answers.nbAnswers24H,NB_USERS_TOT:e.nbNewUsersTot,NB_SUBSCRIPTIONS_TOT:e.Subscriptions.nbSubscriptionsTot,NB_SUBSCRIPTIONS_PREMIUM:e.Subscriptions.nbSubscriptionsPremium,NB_ANSWERS_TOT:e.Answers.nbAnswersTot,NB_USERS_DELETED_TOT:e.nbDeletedUsersTot,NB_USERS_DELETED_VALIDED:e.nbDeletedUsersWasValided,NB_USERS_DELETED_PREMIUM:e.nbDeletedUsersTotWasPremium};u(E,"p",(0,a.replaceAll)(g,i),"","","",!1)}}},s.setRequestHeader("Authorization","Bearer "+t.token),s.send();const l=new XMLHttpRequest;l.open("GET",e.apiUrl+n.questionnaireRoutes+n.getListNextQuestionnaires),l.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let i=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(i.questionnaires)){let t,n="",s={weekday:"long"};for(let r in i.questionnaires)t=new Intl.DateTimeFormat(p,s).format(new Date(i.questionnaires[r].datePublishing)),n+="
  • "+t+" "+(0,a.dateFormat)(i.questionnaires[r].datePublishing,e.availableLangs[0])+": "+i.questionnaires[r].title+"",!1===i.questionnaires[r].isPublishable&&(n+=" ("+L+")
  • "),n+="";0!==i.questionnaires.length&&u(S,"h2",f.replace("#NB",i.questionnaires.length)),u(S,"h4",b+(0,a.dateFormat)(i.dateNeeded,e.availableLangs[0]),"",["info"],"",!1),u(S,"ul",n,"","","",!1)}}},l.setRequestHeader("Authorization","Bearer "+t.token),l.send(),k.addEventListener("click",(function(i){i.preventDefault();const s=new XMLHttpRequest;s.open("GET",e.apiUrl+n.questionnaireRoutes+n.regenerateHTML),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200===this.status&&null!=e.message?u(E,"p",e.message,"",["success"],"",!1):u(E,"p",h,"",["error"],"",!1)}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t.token),s.send()}))}}catch(e){u(q,"p",h,"",["error"]),console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/homeUser.app.js b/front/public/JS/homeUser.app.js deleted file mode 100644 index ea23bca..0000000 --- a/front/public/JS/homeUser.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,n,t){const i=t(671),s=t(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:i.password.minlength,dirCacheUsers:i.dirCacheUsers,dirCacheUsersAnswers:i.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},7194:function(e){e.exports={checkResponsesOuputFail:"Vous avez répondu en DURATION secondes et avez NBCORRECTANSWERS bonne(s) réponse(s) sur NBQUESTIONS questions. C'est certain, vous ferez mieux la prochaine fois !",checkResponsesOuputMedium:"Vous avez répondu en DURATION secondes et avez NBCORRECTANSWERS bonne(s) réponse(s) sur NBQUESTIONS questions. C'est pas mal du tout !",checkResponsesOuputSuccess:"Vous avez répondu en DURATION secondes et avez NBCORRECTANSWERS bonne(s) réponse(s) sur NBQUESTIONS questions. Bravo ! Rien ne vous échappe !",needIntegerNumberCorrectResponses:"Le nombre de réponses correctes doit être un nombre entier.",needIntegerNumberSecondesResponse:"La durée de la réponse doit être un nombre entier de secondes.",needIntegerNumberUserResponses:"Le nombre de questions auxquelles l'utilisateur a répondu doit être un nombre entier.",needMaxNumberUserResponses:"Le nombre de questions auxquelles l'utilisateur a répondu ne peut être aussi élevé.",needMinNumberUserResponses:"Le nombre de questions auxquelles l'utilisateur a répondu ne peut être inférieur à 1.",needNumberCorrectResponses:"Le nombre de réponses correctes doit être fourni.",needNumberUserResponses:"Le nombre de questions auxquelles l'utilisateur a répondu doit être fourni.",needMaxNumberCorrectResponses:"Le nombre de réponses correctes ne peut être supérieur au nombre de questions.",needMinNumberCorrectResponses:"Le nombre de réponses correctes ne peut être négatif.",needMinNumberSecondesResponse:"La durée de la réponse ne peut être négative.",noPreviousAnswer:"On dirait que c'est la première fois que vous répondez à ce quiz. Bonne lecture !",previousAnswersLine:"Le DATEANSWER, vous avez répondu correctement à NBCORRECTANSWERS questions sur NBQUESTIONS en AVGDURATION secondes.",previousAnswersStats:"En moyenne, vous avez répondu à ce quiz en AVGDURATION secondes, en ayant AVGCORRECTANSWERS % de bonnes réponses.",previousAnswersTitle:"Bonjour #NOM, voici vos précédents résultats à ce quiz",responseSavedError:"Cependant une erreur a été rencontrée durant l'enregistrement de votre résultat. Accèder à tous vos quizs.",responseSavedMessage:"Votre résultat a été enregistré. Accèder à tous vos quizs.",statsUser:"Vous avez enregistré NBANSWERS réponseS1 à NBQUESTIONNAIRES quizS2 différentS3 sur les NBTOTQUESTIONNAIRES proposéS4 par le site.
    En moyenne, vous avez mis AVGDURATION secondes à répondre et avez correctement répondu à AVGCORRECTANSWERS % des questions.",wantToSaveResponses:'Si vous le souhaitez, vous pouvez sauvegarder votre résultat en créant votre compte ci-dessous. Cela vous permettra aussi de recevoir régulièrement de nouvelles "graines de culture" directement sur votre e-mail.'}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
    En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
    Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},3215:function(e){e.exports={btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnSendResponse:"Testez vos réponses.",btnShareQuizTxt:"Partager via ",btnShareQuizMailBody:"Bonjour,%0A%0AVoici%20un%20lien%20internet%20qui%20devrait%20t'intéresser :%0A",btnShowQuestionnaire:"Répondre au quiz !",correctAnswerTxt:"Bonne réponse",estimatedTime:"Durée de lecture estimée : ",estimatedTimeOption:{short:"courte",medium:"moyenne",long:"longue"},explanationBeforeTxt:"Extrait :",haveBeenPublished:":NB nouveaux questionnaires ont été publiés.",haveBeenRegenerated:"Les pages HTML de #NB1 questionnaires ou éléments de groupes, #NB2 quizs groupés et #NB3 thèmes ont été regénérés.",lastUpdated:"Dernière mise à jour, le ",linkGoToNextElement:"Article suivant",linkGoToQuiz:"Accéder au quiz",needCorrectPublishingDate:"La date de publication fournie n'a pas un format valide.",needEstimatedTime:"Merci de sélectionner une estimation de la durée de ce quiz.",needGroupIfRank:"Vous avez saisi un rang de classement, sans sélectionner le groupe du quiz.",needIntroduction:"Merci de fournir un texte d'introduction à votre quiz.",needKnowIfIsPublished:"Il faut savoir si ce quiz est publié.",needLanguage:"Vous devez sélectionner la langue de ce quiz.",needNotTooLongTitle:"Le titre du quiz ne doit pas compter plus de 255 caractères.",needNumberForRank:"Vous devez saisir un nombre entier pour le rang de ce questionnaire dans son groupe.",needTitle:"Merci de fournir un titre à votre quiz.",needUniqueUrl:"L'url du quiz doit être unique.",needUrl:"Merci de fournir l'url à votre quiz.",nextDateWithoutQuestionnaire:"Prochaine date sans quiz programmé : ",nextQuestionnairesList:"Les #NB prochains quizs devant être publiés",questionnairesName:"quiz",questionnaireNeedBeCompleted:"Quiz incomplet",publishedAt:", le",publishedBy:"Quiz publié par",searchQuestionnaireResultTitle:"Résultat pour votre recherche",searchQuestionnaireWithNoResult:"Aucun quiz n'a été trouvé pour votre recherche.",searchQuestionnaireWithResult:"Il y a #NB article#S correspondant à votre recherche :",wrongAnswerTxt:"Mauvaise réponse"}},148:function(e){e.exports={lastQuestionnairesForUser:"Vos dernières lectures :",notFound:"Les informations d'un questionnaire attribué à un abonné n'ont pas été trouvées : ",noQuestionnaireAccess:"Aucun article ne vous a encore été envoyé par e-mail. Sans doute, venez-vous de créer votre compte. En attendant d'en recevoir, vous pouvez mieux découvrir le site WikiLerni en lisant la page à propos ou encore commencer à parcourir librement son contenu à l'aide du moteur de recherche ci-dessus.",questionnaireRetryInfo:"Vous avez déjà reçu tous les articles et quizs publiés à ce jour. En attendant la publication de nouveaux contenus, vous pouvez peut-être réessayer de répondre au quiz suivant ?",questionnaireRetryInfoTxt:"Bonjour USER_NAME,\n\nVous avez déjà reçu tous les quizs publiés à ce jour ! En attendant la publication de nouveaux quizs, vous pouvez peut-être réessayer le suivant ?\n\nQUESTIONNAIRE_URL\n\nBonne lecture !\n\nStopper les envois ?\nUNSUBSCRIBE_URL",searchIsNotLongEnough:"Merci de fournir un mot-clés d'au moins deux caractères pour votre recherche."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
    À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
    Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

    Bonjour USER_NAME,

    Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

    ",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

    Bonjour USER_NAME,

    Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

    ",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

    Bonjour USER_NAME,

    Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
    Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

    Encore merci et à bientôt !

    ",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

    Bonjour USER_NAME,

    Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

    ",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
    En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

    Bonjour USER_NAME,

    Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

    ",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

    Bonjour USER_NAME,

    Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

    Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

    Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

    Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

    Pour ce faire, utilisez le lien ci-dessous.

    À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
    Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class n{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return n.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,n){return(e+="").length>n&&(e=e.substring(0,n-3)+"…"),e}static replaceAll(e,n){const t=new RegExp(Object.keys(n).join("|"),"gi");return e.replace(t,(e=>n[e]))}static getRandomInt(e,n){return e=Math.ceil(e),n=Math.floor(n),Math.floor(Math.random()*(n-e))+e}static dateFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(n.isEmpty(e))return"";let i=new Date(e),s=i.getDate()+"";1===s.length&&(s="0"+s);let r=i.getMonth()+1+"";1===r.length&&(r="0"+r);let o=i.getFullYear();return"fr"===t?s+"/"+r+"/"+o:"form"===t?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,n){const t=e+Math.floor(Math.random()*(n-e)),i="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=i[Math.floor(Math.random()*i.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},9274:function(e,n,t){var i={"./fr/answer":7194};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9274},2111:function(e,n,t){var i={"./fr/general":223};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=2111},3260:function(e,n,t){var i={"./fr/questionnaire":3215};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=3260},6132:function(e,n,t){var i={"./fr/questionnaireaccess":148};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=6132},176:function(e,n,t){var i={"./fr/user":1494};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,n,t){var i={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var n=r(e);return t(n)}function r(e){if(!t.o(i,e)){var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9729}},n={};function t(i){var s=n[i];if(void 0!==s)return s.exports;var r=n[i]={exports:{}};return e[i](r,r.exports,t),r.exports}t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},function(){"use strict";var e=t(6028);const n=(e,n)=>{localStorage.setItem(e,JSON.stringify(n))},i=function(e){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return n?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=t(9864);const o=function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,r.isEmpty)(n)||(0,r.isEmpty)(e))return!1;{const u=document.createElement(n);if((0,r.isEmpty)(i)||(u.id=i),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,r.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
    ")),a&&(e.innerHTML=""),e.appendChild(u)}},a=e=>{const n={},t=new FormData(e);for(let e of t.entries())n[e[0]]=e[1];return n};var u=t(671);const l=e.availableLangs[0],c=t(9729)("./"+e.theme+"/config/"+l+".js"),d=(e,t,i)=>{(0,r.isEmpty)(t)||n("message",t),(0,r.isEmpty)(i)||n("url",i),(0,r.isEmpty)(e)||window.location.assign(e)},p=e.availableLangs[0],m=t(9729)("./"+e.theme+"/config/"+p+".js"),{getRandomQuestionnairesRoute:v,getStatsAnswers:h,questionnaireRoutes:g,searchQuestionnaires:b,searchQuestionnairesRoute:f}=t(4988),{getUsersQuestionnairesRoute:L,userRoutes:E}=t(671),{statsUser:T}=t(9274)("./"+p+"/answer"),{nextPage:q,previousPage:M,serverError:S}=t(2111)("./"+p+"/general"),{searchQuestionnaireWithResult:N,searchQuestionnaireWithNoResult:z}=t(3260)("./"+p+"/questionnaire"),{lastQuestionnairesForUser:R,noQuestionnaireAccess:k}=t(6132)("./"+p+"/questionnaireaccess"),{needBeConnected:x,welcomeMessage:I}=t(176)("./"+p+"/user"),A=document.getElementById("main-content"),U=document.getElementById("crash"),y=document.getElementById("message"),w=document.getElementById("quizsIntro"),B=document.getElementById("quizsList"),C=document.getElementById("previous"),P=document.getElementById("next"),O=document.getElementById("search"),D=(document.getElementById("begin"),document.getElementById("random"));console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const t=await async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,l=arguments.length>3?arguments[3]:void 0;return new Promise(((p,m)=>{const v=i("user");if((0,r.isEmpty)(v))d(o,a,l),p(!1);else{const i=JSON.parse(v);if((0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.token)||(0,r.isEmpty)(i.duration)||i.duration{let u=JSON.parse(r.responseText);if(200===r.status&&u.isValid&&null!=u.id)if(u.id===i.id)if(i.name=u.name,i.language=u.language,i.timeDifference=u.timeDifference,i.status=u.status,n("user",i),"user"===u.status&&u.nbDaysOk<=0){const n=e.siteUrl+"/"+c.accountPage;-1===window.location.href.indexOf(n)&&window.location.assign("/"+c.accountPage+"#subscribe"),p(!0)}else 0!==t.length&&-1===t.indexOf(u.status)?(d(o,a,l),p(!1)):p(!0);else s("user"),d(o,a,l),p(!1);else s("user"),d(o,a,l),p(!1)},r.onerror=()=>m(r.statusText),r.send()}}}))}(["user"],"/"+m.connectionPage,{message:x,color:"error"},window.location);if(t){const n=i("user",!0);n.status,o(y,"h1",I.replace("#NAME",n.name)),A.style.display="block",(0,r.isEmpty)(i("message"))||(o(y,"p",i("message",!0).message,"",[i("message",!0).color],"",!1),s("message")),((e,n)=>{for(let t in n.elements)if(!(0,r.isEmpty)(n.elements[t].id)){let i=n.elements[t].id;if(void 0!==e[i]){let n=document.getElementById(i);for(let t in e[i])n.setAttribute(t,e[i][t])}}})({searchQuestionnaires:b},O);const t=new XMLHttpRequest;t.open("GET",e.apiUrl+g+h+n.id),t.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&!(0,r.isEmpty)(e.nbAnswers)&&0!==e.nbAnswers){let n="";const t={NBANSWERS:e.nbAnswers,NBQUESTIONNAIRES:e.nbQuestionnaires,NBTOTQUESTIONNAIRES:e.groups.nbPublished+e.questionnaires.nbWithoutGroupPublished,AVGDURATION:e.avgDuration,AVGCORRECTANSWERS:e.avgCorrectAnswers};n=(0,r.replaceAll)(T,t),n=e.nbAnswers>1?n.replace("S1","s"):n.replace("S1",""),n=e.nbQuestionnaires>1?n.replace("S2","s").replace("S3","s"):n.replace("S2","").replace("S3","s"),n=t.NBTOTQUESTIONNAIRES>1?n.replace("S4","s"):n.replace("S4",""),o(y,"p",n,"","","",!1)}}},t.setRequestHeader("Authorization","Bearer "+n.token),t.send();const u=new XMLHttpRequest;u.open("GET",e.apiUrl+E+L+""+n.id+"/0/"+m.nbQuestionnairesUserHomePage+"/html"),u.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200===this.status?0===e.nbTot?o(w,"p",k,"",["info"]):e.html?(o(w,"p",R,"",["info"]),B.innerHTML=e.html):o(quizs,"p",S,"",["error"]):o(quizs,"p",S,"",["error"])}},u.setRequestHeader("Authorization","Bearer "+n.token),u.send();const l=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"search";B.innerHTML="";let i=a(O);const s=new XMLHttpRequest;"search"==t?s.open("POST",e.apiUrl+g+f):"random"==t&&s.open("POST",e.apiUrl+g+v),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200!==this.status||(0,r.isEmpty)(e.nbTot))o(quizs,"p",S,"",["error"]);else if(0===e.nbTot)o(w,"p",z,"",["info"]),window.location.hash="",window.location.assign("#quizsIntro");else if(e.html){let n=N.replace("#NB",e.nbTot);if(n=e.nbTot>1?n.replace("#S","s"):n.replace("#S",""),o(w,"p",n,"",["success"]),B.innerHTML=e.html,window.location.hash="",window.location.assign("#quizsIntro"),C.innerHTML="",P.innerHTML="",0!=e.begin){o(C,"a","<< "+M,"previousRes",["button"],{href:"#search"});const n=document.getElementById("previousRes"),t=()=>{let n=e.begin-m.nbQuestionnairesUserHomePage;n<0&&(n=0),document.getElementById("begin").value=n,l(),window.location.hash="",window.location.assign("#quizsIntro")};n.addEventListener("click",(function(e){e.preventDefault(),t()}))}e.end>","nextRes",["button"],{href:"#search"},!1),document.getElementById("nextRes").addEventListener("click",(function(n){n.preventDefault(),document.getElementById("begin").value=e.end+1,l(),window.location.hash="",window.location.assign("#quizsIntro")})))}else o(quizs,"p",S,"",["error"])}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+n.token),i&&(i.output="html",s.send(JSON.stringify(i)))};D.addEventListener("click",(function(e){e.preventDefault(),document.getElementById("begin").value=0,l("random")})),O.addEventListener("submit",(function(e){e.preventDefault(),document.getElementById("begin").value=0,l()}))}}catch(e){console.error(e),o(U,"p",S,"",["error"])}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/index.app.js b/front/public/JS/index.app.js deleted file mode 100644 index da3ca86..0000000 --- a/front/public/JS/index.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,t){const s=t(671),n=t(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:s.password.minlength,dirCacheUsers:s.dirCacheUsers,dirCacheUsersAnswers:s.dirCacheUsersAnswers,dirCacheQuestionnaires:n.dirCacheQuestionnaires,dirCacheQuestions:n.dirCacheQuestions,dirCacheUsersQuestionnaires:n.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:n.dirHTMLQuestionnaires,dirWebQuestionnaires:n.dirWebQuestionnaires}},45:function(e){e.exports={matomo:{url:"https://stats.le-fab-lab.com/",siteId:"5"}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const t=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(t,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let s=new Date(e),n=s.getDate()+"";1===n.length&&(n="0"+n);let r=s.getMonth()+1+"";1===r.length&&(r="0"+r);let o=s.getFullYear();return"fr"===t?n+"/"+r+"/"+o:"form"===t?o+"-"+r+"-"+n:r+"/"+n+"/"+o}static getPassword(e,i){const t=e+Math.floor(Math.random()*(i-e)),s="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",n="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=s[Math.floor(Math.random()*s.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},9729:function(e,i,t){var s={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function n(e){var i=r(e);return t(i)}function r(e){if(!t.o(s,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return s[e]}n.keys=function(){return Object.keys(s)},n.resolve=r,e.exports=n,n.id=9729}},i={};function t(s){var n=i[s];if(void 0!==n)return n.exports;var r=i[s]={exports:{}};return e[s](r,r.exports,t),r.exports}t.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=t(6028),i=t(45);const s=()=>{var e=window._paq=window._paq||[];e.push([function(){var e,i,t;this.setVisitorCookieTimeout((e=new Date,i=Math.round(e.getTime()/1e3),t=this.getVisitorInfo(),parseInt(t[2])+33696e3-i))}]),e.push(["trackPageView"]),e.push(["enableLinkTracking"]),function(){var t=i.matomo.url;e.push(["setTrackerUrl",t+"matomo.php"]),e.push(["setSiteId",i.matomo.siteId]);var s=document,n=s.createElement("script"),r=s.getElementsByTagName("script")[0];n.type="text/javascript",n.async=!0,n.src=t+"matomo.js",r.parentNode.insertBefore(n,r)}()};t(671),t(9864);const n=e.availableLangs[0],r=(t(9729)("./"+e.theme+"/config/"+n+".js"),e.availableLangs[0]);t(9729)("./"+e.theme+"/config/"+r+".js"),console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{s()}catch(e){console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/loginLink.app.js b/front/public/JS/loginLink.app.js deleted file mode 100644 index 9350ad9..0000000 --- a/front/public/JS/loginLink.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,n){const t=n(671),s=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:t.password.minlength,dirCacheUsers:t.dirCacheUsers,dirCacheUsersAnswers:t.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
    En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
    Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
    À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
    Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

    Bonjour USER_NAME,

    Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

    ",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

    Bonjour USER_NAME,

    Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

    ",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

    Bonjour USER_NAME,

    Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
    Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

    Encore merci et à bientôt !

    ",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

    Bonjour USER_NAME,

    Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

    ",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
    En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

    Bonjour USER_NAME,

    Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

    ",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

    Bonjour USER_NAME,

    Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

    Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

    Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

    Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

    Pour ce faire, utilisez le lien ci-dessous.

    À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
    Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const n=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(n,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let t=new Date(e),s=t.getDate()+"";1===s.length&&(s="0"+s);let r=t.getMonth()+1+"";1===r.length&&(r="0"+r);let o=t.getFullYear();return"fr"===n?s+"/"+r+"/"+o:"form"===n?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,i){const n=e+Math.floor(Math.random()*(i-e)),t="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=t[Math.floor(Math.random()*t.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,i,n){var t={"./fr/general":223};function s(e){var i=r(e);return n(i)}function r(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}s.keys=function(){return Object.keys(t)},s.resolve=r,e.exports=s,s.id=2111},176:function(e,i,n){var t={"./fr/user":1494};function s(e){var i=r(e);return n(i)}function r(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}s.keys=function(){return Object.keys(t)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,i,n){var t={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var i=r(e);return n(i)}function r(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}s.keys=function(){return Object.keys(t)},s.resolve=r,e.exports=s,s.id=9729}},i={};function n(t){var s=i[t];if(void 0!==s)return s.exports;var r=i[t]={exports:{}};return e[t](r,r.exports,n),r.exports}n.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=n(6028);const i=(e,i)=>{localStorage.setItem(e,JSON.stringify(i))},t=function(e){let i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=n(9864);const o=function(e,i){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,r.isEmpty)(i)||(0,r.isEmpty)(e))return!1;{const u=document.createElement(i);if((0,r.isEmpty)(t)||(u.id=t),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,r.isEmpty)(n)||(u.innerHTML=n.replace(/\n/g,"
    ")),a&&(e.innerHTML=""),e.appendChild(u)}};var a=n(671);const u=e.availableLangs[0],l=n(9729)("./"+e.theme+"/config/"+u+".js"),c=(e,n,t)=>{(0,r.isEmpty)(n)||i("message",n),(0,r.isEmpty)(t)||i("url",t),(0,r.isEmpty)(e)||window.location.assign(e)},d=e.availableLangs[0],{connectionPage:p,userHomePage:m}=n(9729)("./"+e.theme+"/config/"+d+".js"),{connectionWithLinkRoute:v,userRoutes:g}=n(671),{serverError:h}=n(2111)("./"+d+"/general"),{alreadyConnected:b,badLinkValidationMessage:f,validationMessage:L}=n(176)("./"+d+"/user"),M=document.getElementById("response");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const n=await async function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,u=arguments.length>2?arguments[2]:void 0,d=arguments.length>3?arguments[3]:void 0;return new Promise(((p,m)=>{const v=t("user");if((0,r.isEmpty)(v))c(o,u,d),p(!1);else{const t=JSON.parse(v);if((0,r.isEmpty)(t.id)||(0,r.isEmpty)(t.token)||(0,r.isEmpty)(t.duration)||t.duration{let a=JSON.parse(r.responseText);if(200===r.status&&a.isValid&&null!=a.id)if(a.id===t.id)if(t.name=a.name,t.language=a.language,t.timeDifference=a.timeDifference,t.status=a.status,i("user",t),"user"===a.status&&a.nbDaysOk<=0){const i=e.siteUrl+"/"+l.accountPage;-1===window.location.href.indexOf(i)&&window.location.assign("/"+l.accountPage+"#subscribe"),p(!0)}else 0!==n.length&&-1===n.indexOf(a.status)?(c(o,u,d),p(!1)):p(!0);else s("user"),c(o,u,d),p(!1);else s("user"),c(o,u,d),p(!1)},r.onerror=()=>m(r.statusText),r.send()}}}))}();if(n)i("message",{message:b,color:"info"}),t("user",!0),window.location.assign("/"+m);else{let n=(()=>{if((0,r.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let i,n={};for(let t in e)i=e[t].split("="),2===i.length&&(n[i[0]]=decodeURI(i[1]));return n})();if(n&&void 0!==n.t){const u=new XMLHttpRequest;u.open("POST",e.apiUrl+g+v),u.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let t=JSON.parse(this.responseText);if(200!==this.status||(0,r.isEmpty)(t.userId)||(0,r.isEmpty)(t.connexionTime)||(0,r.isEmpty)(t.token))401!==this.status&&403!==this.status||null==t.errors?o(M,"p",f.replace("#URL",p),"",["error"]):(Array.isArray(t.errors)?t.errors=t.errors.join("
    "):t.errors=h,o(M,"p",t.errors,"",["error"]));else{let r=Date.now();t.connexionTime.endsWith("days")?r+=24*parseInt(t.connexionTime,10)*3600*1e3:r+=3600*parseInt(t.connexionTime,10)*1e3,e=t.userId,n=t.token,i("user",{id:e,token:n,duration:r}),s("lastAnswer"),o(M,"p",L,"",["success"]),window.location.assign("/"+m)}}var e,n},n.timeDifference=(()=>{const e=-1*(new Date).getTimezoneOffset();return e>a.timeDifferenceMax||e{const i=t("lastAnswer");if(!(0,r.isEmpty)(i)){const n=JSON.parse(i);(0,r.isEmpty)(n.duration)||(0,r.isEmpty)(n.nbCorrectAnswers)||(0,r.isEmpty)(n.nbQuestions)||(0,r.isEmpty)(n.QuestionnaireId)&&(0,r.isEmpty)(n.GroupId)||(e.duration=n.duration,e.nbCorrectAnswers=n.nbCorrectAnswers,e.nbQuestions=n.nbQuestions,(0,r.isEmpty)(n.QuestionnaireId)?e.GroupId=n.GroupId:e.QuestionnaireId=n.QuestionnaireId)}return e})(n),u.setRequestHeader("Content-Type","application/json"),u.send(JSON.stringify(n))}}}catch(e){o(M,"p",h,"",["error"])}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/manageGroups.app.js b/front/public/JS/manageGroups.app.js deleted file mode 100644 index 1b526a0..0000000 --- a/front/public/JS/manageGroups.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,t,i){const n=i(671),r=i(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:n.password.minlength,dirCacheUsers:n.dirCacheUsers,dirCacheUsersAnswers:n.dirCacheUsersAnswers,dirCacheQuestionnaires:r.dirCacheQuestionnaires,dirCacheQuestions:r.dirCacheQuestions,dirCacheUsersQuestionnaires:r.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:r.dirHTMLQuestionnaires,dirWebQuestionnaires:r.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
    En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
    Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},6677:function(e){e.exports={btnSendResponse:"Testez vos réponses.",btnShareQuizTxt:"Partager ce quiz sur ",commonIntroTxt:"Ce quiz vous permet tester ce que vous avez retenu des articles qui vous ont été proposés précédemment à la lecture. Au besoin, cliquez sur le bouton ci-dessous pour les (re)lire.",correctAnswerTxt:"Bonne réponse",groupsName:"Quiz",groupQuestionnairesList:"Les #NB éléments enregistrés pour ce groupe",groupQuestionnairesListWithout:"Aucun élément n'a été enregistré pour ce groupe.",haveBeenPublished:"#NB nouveaux groupes de quizs ont été publiés.",infosGroupForAdmin:"Ce groupe de quizs a été créé le DATE_CREA, mise à jour la dernière fois le DATE_UPDATE.
    Son identifiant est GROUP_ID. Il regroupe actuellement les questions de NB_ELEMENTS quizs.",linkFirstElementGroup:"Retour au premier article.",lastUpdated:"Dernière mise à jour le ",needCorrectPublishingDate:"La date de publication fournie n'a pas un format valide.",needLanguage:"Vous devez sélectionner la langue de ce groupe de quizs.",needNotTooLongTitle:"Le titre du groupe de quizs ne doit pas compter plus de 255 caractères.",needTitle:"Merci de fournir un titre à ce groupe de quizs.",needUniqueUrl:"L'url du groupe de quizs doit être unique.",needUrl:"Merci de fournir l'url à ce groupe de quizs.",notFound:"Le groupe de quizs (#SEARCH) n'a pas été trouvé.",publishedAt:" le",publishedBy:"Quiz publié par",searchIsNotLongEnough:"Vous devez saisir au moins #MIN caractères pour votre recherche.",searchWithoutResult:"Aucun groupe n'a été trouvé pour votre recherche.",wrongAnswerTxt:"Mauvaise réponse"}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
    À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
    Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

    Bonjour USER_NAME,

    Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

    ",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

    Bonjour USER_NAME,

    Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

    ",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

    Bonjour USER_NAME,

    Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
    Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

    Encore merci et à bientôt !

    ",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

    Bonjour USER_NAME,

    Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

    ",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
    En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

    Bonjour USER_NAME,

    Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

    ",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

    Bonjour USER_NAME,

    Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

    Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

    Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

    Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

    Pour ce faire, utilisez le lien ci-dessous.

    À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
    Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class t{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return t.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,t){return(e+="").length>t&&(e=e.substring(0,t-3)+"…"),e}static replaceAll(e,t){const i=new RegExp(Object.keys(t).join("|"),"gi");return e.replace(i,(e=>t[e]))}static getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}static dateFormat(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(t.isEmpty(e))return"";let n=new Date(e),r=n.getDate()+"";1===r.length&&(r="0"+r);let s=n.getMonth()+1+"";1===s.length&&(s="0"+s);let o=n.getFullYear();return"fr"===i?r+"/"+s+"/"+o:"form"===i?o+"-"+s+"-"+r:s+"/"+r+"/"+o}static getPassword(e,t){const i=e+Math.floor(Math.random()*(t-e)),n="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",r="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let s=n[Math.floor(Math.random()*n.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,t,i){var n={"./fr/general":223};function r(e){var t=s(e);return i(t)}function s(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=s,e.exports=r,r.id=2111},6213:function(e,t,i){var n={"./fr/group":6677};function r(e){var t=s(e);return i(t)}function s(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=s,e.exports=r,r.id=6213},176:function(e,t,i){var n={"./fr/user":1494};function r(e){var t=s(e);return i(t)}function s(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=s,e.exports=r,r.id=176},9729:function(e,t,i){var n={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function r(e){var t=s(e);return i(t)}function s(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}r.keys=function(){return Object.keys(n)},r.resolve=s,e.exports=r,r.id=9729}},t={};function i(n){var r=t[n];if(void 0!==r)return r.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,i),s.exports}i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=i(6028);const t=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},r=e=>{localStorage.removeItem(e)};var s=i(9864);const o=function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,s.isEmpty)(t)||(0,s.isEmpty)(e))return!1;{const u=document.createElement(t);if((0,s.isEmpty)(n)||(u.id=n),Array.isArray(r)&&0!=r.length)for(let e in r)u.classList.add(r[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,s.isEmpty)(i)||(u.innerHTML=i.replace(/\n/g,"
    ")),a&&(e.innerHTML=""),e.appendChild(u)}},a=(e,t)=>{for(let i in t.elements)if(!(0,s.isEmpty)(t.elements[i].id)){let n=t.elements[i].id;if(void 0!==e[n]){let t=document.getElementById(n);for(let i in e[n])t.setAttribute(i,e[n][i])}}return!0},u=e=>{const t={},i=new FormData(e);for(let e of i.entries())t[e[0]]=e[1];return t};var l=i(671);const c=e.availableLangs[0],d=i(9729)("./"+e.theme+"/config/"+c+".js"),p=(e,i,n)=>{(0,s.isEmpty)(i)||t("message",i),(0,s.isEmpty)(n)||t("url",n),(0,s.isEmpty)(e)||window.location.assign(e)},m=e.availableLangs[0],v=i(4988),g=i(9729)("./"+e.theme+"/config/"+m+".js"),{addOkMessage:h,serverError:f}=i(2111)("./"+m+"/general"),{groupQuestionnairesList:b,groupQuestionnairesListWithout:L,infosGroupForAdmin:E,searchWithoutResult:M}=i(6213)("./"+m+"/group"),{needBeConnected:T}=i(176)("./"+m+"/user"),k=document.getElementById("wantNewGroup"),q=document.getElementById("previewGroup"),y=document.getElementById("deleteOkLabel"),x=document.getElementById("crash"),S=document.getElementById("groupIntro"),z=document.getElementById("main-content"),N=document.getElementById("message"),A=document.getElementById("questionnairesList"),I=document.getElementById("response"),R=document.getElementById("searchResult"),U=document.getElementById("groups"),P=document.getElementById("search"),w=()=>{(e=>{const t=new FormData(e);for(let i of t.entries())"checkbox"==e.elements[i[0]].type||"radio"==e.elements[i[0]].type?e.elements[i[0]].checked=!1:e.elements[i[0]].value=""})(U),y.style.display="none",q.style.display="none",S.innerHTML=""},D=(t,i)=>{w();const n=new XMLHttpRequest;n.open("GET",e.apiUrl+v.groupRoutes+v.getGroupRoute+t),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let n=JSON.parse(this.responseText);if(200===this.status&&null!=n.Group){const r={GROUP_ID:n.Group.id,DATE_CREA:(0,s.dateFormat)(n.Group.createdAt),DATE_UPDATE:(0,s.dateFormat)(n.Group.updatedAt),NB_ELEMENTS:void 0!==n.Questionnaires?n.Questionnaires.length:0},a=(0,s.replaceAll)(E,r);o(S,"p",a,"",["info"]);for(let e in n.Group)void 0!==U.elements[e]&&("publishingAt"===e&&null!==n.Group[e]?U.elements[e].value=(0,s.dateFormat)(n.Group[e],"form"):U.elements[e].value=n.Group[e]);if(y.style.display="block",q.style.display="block",!1===n.Group.isPublishable?q.setAttribute("href",e.apiUrl+v.groupRoutes+v.previewGroupRoutes+"/"+t+"/"+i):q.setAttribute("href",e.siteUrl+"/"+v.dirWebGroups+"/"+n.Group.slug+".html"),void 0!==n.Questionnaires&&0!==n.Questionnaires.length){let e="";for(let t in n.Questionnaires)e+="
  • "+n.Questionnaires[t].Questionnaire.title+"
  • ";0!==n.Questionnaires.length?o(A,"h3",b.replace("#NB",n.Questionnaires.length)):o(A,"h3",L),o(A,"ul",e,"","","",!1)}}}},n.setRequestHeader("Authorization","Bearer "+i),n.send()};(async()=>{try{const i=await async function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0;return new Promise(((c,m)=>{const v=n("user");if((0,s.isEmpty)(v))p(o,a,u),c(!1);else{const n=JSON.parse(v);if((0,s.isEmpty)(n.id)||(0,s.isEmpty)(n.token)||(0,s.isEmpty)(n.duration)||n.duration{let l=JSON.parse(s.responseText);if(200===s.status&&l.isValid&&null!=l.id)if(l.id===n.id)if(n.name=l.name,n.language=l.language,n.timeDifference=l.timeDifference,n.status=l.status,t("user",n),"user"===l.status&&l.nbDaysOk<=0){const t=e.siteUrl+"/"+d.accountPage;-1===window.location.href.indexOf(t)&&window.location.assign("/"+d.accountPage+"#subscribe"),c(!0)}else 0!==i.length&&-1===i.indexOf(l.status)?(p(o,a,u),c(!1)):c(!0);else r("user"),p(o,a,u),c(!1);else r("user"),p(o,a,u),c(!1)},s.onerror=()=>m(s.statusText),s.send()}}}))}(["manager","admin"],"/"+g.connectionPage,{message:T,color:"error"},window.location);if(i){const t=n("user",!0);t.status,z.style.display="block",(0,s.isEmpty)(n("message"))||(o(N,"p",n("message",!0).message,"",[n("message",!0).color],"",!1),r("message")),a(v,P),a(v.Group,U),w();let i=(()=>{if((0,s.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let t,i={};for(let n in e)t=e[n].split("="),2===t.length&&(i[t[0]]=decodeURI(t[1]));return i})();i&&void 0!==i.id&&D(i.id,t.token),k.addEventListener("click",(function(e){w()})),U.addEventListener("submit",(function(i){i.preventDefault(),I.innerHTML="";let n=u(U);const r=new XMLHttpRequest;(0,s.isEmpty)(n.id)||void 0===n.deleteOk?(0,s.isEmpty)(n.id)?r.open("POST",e.apiUrl+v.groupRoutes):r.open("PUT",e.apiUrl+v.groupRoutes+"/"+n.id):r.open("DELETE",e.apiUrl+v.groupRoutes+"/"+n.id),r.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);201===this.status&&null!=e.id?(o(I,"p",h,"",["success"]),n.id=e.id):200===this.status&&null!=e.message?(Array.isArray(e.message)?e.message=e.message.join("
    "):e.message=e.message,o(I,"p",e.message,"",["success"])):e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=f,o(I,"p",e.errors,"",["error"])):o(I,"p",f,"",["error"]),(0,s.isEmpty)(e.errors)&&(void 0===n.deleteOk?D(n.id,t.token):w())}},r.setRequestHeader("Content-Type","application/json"),r.setRequestHeader("Authorization","Bearer "+t.token),n&&r.send(JSON.stringify(n))})),P.addEventListener("submit",(function(i){i.preventDefault();let n=u(P);const r=new XMLHttpRequest;r.open("POST",e.apiUrl+v.groupRoutes+v.searchGroupsRoute),r.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e))if(0===e.length)o(R,"p",M,"",["info"]);else{let i="";for(let t in e)i+="";o(R,"select",i,"selectSearch");const n=document.getElementById("selectSearch");n.addEventListener("change",(function(){""!==n.value&&D(n.value,t.token)}))}else e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=f,o(R,"p",e.errors,"",["error"])):o(R,"p",f,"",["error"])}},r.setRequestHeader("Content-Type","application/json"),r.setRequestHeader("Authorization","Bearer "+t.token),n&&r.send(JSON.stringify(n))}))}}catch(e){o(x,"p",f,"",["error"]),console.error(e)}})(),console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****")}()}(); \ No newline at end of file diff --git a/front/public/JS/manageQuestionnaires.app.js b/front/public/JS/manageQuestionnaires.app.js deleted file mode 100644 index c439e6d..0000000 --- a/front/public/JS/manageQuestionnaires.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={8795:function(e,t,n){const i=n(6028);e.exports={illustrationsRoute:"/illustration/",Illustration:{alt:{maxlength:255},title:{maxlength:255},caption:{maxlength:255},image:{required:!0,accept:i.mimeTypesForIllustration.join(",")}},dirIllustrationsTmp:"temp",dirIllustrations:"front/public/img/quizs"}},6028:function(e,t,n){const i=n(671),s=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:i.password.minlength,dirCacheUsers:i.dirCacheUsers,dirCacheUsersAnswers:i.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},6425:function(e){e.exports={linksRoute:"/link/",Link:{url:{maxlength:255,required:!0},anchor:{maxlength:150,required:!0}}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
    En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
    Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},8614:function(e){e.exports={addedOkMessage:"L'illustration a bien été enregistrée.",addIllustrationTxt:"Ajouter une illustration",defaultAlt:"Illustration du quiz",deletedOkMessage:"L'illustration a bien été supprimée.",introNoIllustration:"Aucune illustration pour l'instant.",introTitleForIllustration:"Illustrations du quiz",needGoodFile:"Votre fichier n'a pas été accepté.",needGoodLongAlt:"Le texte de la propriété 'alt' ne doit pas compter plus de 255 caractères.",needGoodLongCaption:"Le texte de la légende de l'image ne doit pas compter plus de 255 caractères.",needGoodLongTitle:"Le texte de la propriété 'title' ne doit pas compter plus de 255 caractères.",needGoodLongUrl:"L'url de l'image doit contenir entre 5 et 255 caractères.",needMaxIllustrationsForQuestionnaire:"Vous avez déjà atteint le nombre maximal d'illustrations pour ce questionnaire.",needQuestionnaireForIllustration:"Tentative d'ajout/mise à jour/suppreession d'une illustration pour un questionnaire n'ayant pas été trouvé.",needUniqueUrl:"L'url est déjà utilisée par une autre image.",needUrl:"Merci de fournir une url pour l'image.",notFound:"L'enregistrement de l'illustration n'a pas été trouvé : ",updatedOkMessage:"L'illustration a bien été modifiée."}},5490:function(e){e.exports={addedOkMessage:"Le lien a bien été ajouté.",addLinkTxt:"Ajouter un lien",defaultValueForLink:"Lire l'article sur Wikipédia.",deletedOkMessage:"Le lien a bien été supprimé.",introNoLink:"Aucun lien pour l'instant.",introTitleForLink:"Lectures proposées",needAnchor:"Merci de fournir une ancre pour ce lien.",needGoodLongAnchor:"Merci de fournir une ancre pour ce lien comptant entre 5 et 150 caractères.",needMaxLinksForQuestionnaire:"Vous avez déjà atteint le nombre maximal de liens pour ce questionnaire.",needNotTooLongUrl:"Merci de saisir un url ne comptant pas plus de 255 caractères.",needQuestionnaire:"Le questionnaire du lien n'a pas été trouvé.",needUrl:"Merci de saisir l'url du lien.",needValidUrl:"Merci de saisir un url ayant un format valide.",notFound:"L'enregistrement du lien n'a pas été trouvé.",updatedOkMessage:"Le lien a bien été modifié."}},9129:function(e){e.exports={addOkMessage:"La question a bien été ajoutée.",addQuestionTxt:"Ajouter une question",deleteOkMessage:"La question a bien été supprimée.",introNoQuestion:"Aucune question n'a été saisie pour l'instant",introTitleForQuestion:"Les questions enregistrées",needMaxQuestions:"Vous avez déjà atteint le nombre maximal de questions pour ce questionnaire : ",needNotTooLongText:"La question ne doit pas compter plus de 255 caractères.",needNumberForRank:"Vous devez fournir un nombre supérieur ou égal à 1 pour le rang de cette question.",needQuestionnaire:"Le questionnaire concerné n'a pas été trouvé.",needText:"Merci de saisir le texte de la question !",notFound:"L'enregistrement de la question n'a pas été trouvé.",updateOkMessage:"La question a bien été modifiée."}},3215:function(e){e.exports={btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnSendResponse:"Testez vos réponses.",btnShareQuizTxt:"Partager via ",btnShareQuizMailBody:"Bonjour,%0A%0AVoici%20un%20lien%20internet%20qui%20devrait%20t'intéresser :%0A",btnShowQuestionnaire:"Répondre au quiz !",correctAnswerTxt:"Bonne réponse",estimatedTime:"Durée de lecture estimée : ",estimatedTimeOption:{short:"courte",medium:"moyenne",long:"longue"},explanationBeforeTxt:"Extrait :",haveBeenPublished:":NB nouveaux questionnaires ont été publiés.",haveBeenRegenerated:"Les pages HTML de #NB1 questionnaires ou éléments de groupes, #NB2 quizs groupés et #NB3 thèmes ont été regénérés.",lastUpdated:"Dernière mise à jour, le ",linkGoToNextElement:"Article suivant",linkGoToQuiz:"Accéder au quiz",needCorrectPublishingDate:"La date de publication fournie n'a pas un format valide.",needEstimatedTime:"Merci de sélectionner une estimation de la durée de ce quiz.",needGroupIfRank:"Vous avez saisi un rang de classement, sans sélectionner le groupe du quiz.",needIntroduction:"Merci de fournir un texte d'introduction à votre quiz.",needKnowIfIsPublished:"Il faut savoir si ce quiz est publié.",needLanguage:"Vous devez sélectionner la langue de ce quiz.",needNotTooLongTitle:"Le titre du quiz ne doit pas compter plus de 255 caractères.",needNumberForRank:"Vous devez saisir un nombre entier pour le rang de ce questionnaire dans son groupe.",needTitle:"Merci de fournir un titre à votre quiz.",needUniqueUrl:"L'url du quiz doit être unique.",needUrl:"Merci de fournir l'url à votre quiz.",nextDateWithoutQuestionnaire:"Prochaine date sans quiz programmé : ",nextQuestionnairesList:"Les #NB prochains quizs devant être publiés",questionnairesName:"quiz",questionnaireNeedBeCompleted:"Quiz incomplet",publishedAt:", le",publishedBy:"Quiz publié par",searchQuestionnaireResultTitle:"Résultat pour votre recherche",searchQuestionnaireWithNoResult:"Aucun quiz n'a été trouvé pour votre recherche.",searchQuestionnaireWithResult:"Il y a #NB article#S correspondant à votre recherche :",wrongAnswerTxt:"Mauvaise réponse"}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
    À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
    Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

    Bonjour USER_NAME,

    Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

    ",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

    Bonjour USER_NAME,

    Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

    ",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

    Bonjour USER_NAME,

    Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
    Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

    Encore merci et à bientôt !

    ",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

    Bonjour USER_NAME,

    Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

    ",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
    En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

    Bonjour USER_NAME,

    Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

    ",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

    Bonjour USER_NAME,

    Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

    Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

    Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

    Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

    Pour ce faire, utilisez le lien ci-dessous.

    À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
    Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class t{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return t.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,t){return(e+="").length>t&&(e=e.substring(0,t-3)+"…"),e}static replaceAll(e,t){const n=new RegExp(Object.keys(t).join("|"),"gi");return e.replace(n,(e=>t[e]))}static getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(t.isEmpty(e))return"";let i=new Date(e),s=i.getDate()+"";1===s.length&&(s="0"+s);let r=i.getMonth()+1+"";1===r.length&&(r="0"+r);let o=i.getFullYear();return"fr"===n?s+"/"+r+"/"+o:"form"===n?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,t){const n=e+Math.floor(Math.random()*(t-e)),i="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=i[Math.floor(Math.random()*i.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,t,n){var i={"./fr/general":223};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=2111},408:function(e,t,n){var i={"./fr/illustration":8614};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=408},4567:function(e,t,n){var i={"./fr/link":5490};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=4567},9290:function(e,t,n){var i={"./fr/question":9129};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9290},3260:function(e,t,n){var i={"./fr/questionnaire":3215};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=3260},176:function(e,t,n){var i={"./fr/user":1494};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,t,n){var i={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9729}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=n(6028);const t=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=n(9864);const o=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,r.isEmpty)(t)||(0,r.isEmpty)(e))return!1;{const u=document.createElement(t);if((0,r.isEmpty)(i)||(u.id=i),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,r.isEmpty)(n)||(u.innerHTML=n.replace(/\n/g,"
    ")),a&&(e.innerHTML=""),e.appendChild(u)}},a=(e,t)=>{for(let n in t.elements)if(!(0,r.isEmpty)(t.elements[n].id)){let i=t.elements[n].id;if(void 0!==e[i]){let t=document.getElementById(i);for(let n in e[i])t.setAttribute(n,e[i][n])}}return!0},u=e=>{const t={},n=new FormData(e);for(let e of n.entries())t[e[0]]=e[1];return t},l=e=>{(e=>{const t=new FormData(e);for(let n of t.entries())"checkbox"==e.elements[n[0]].type||"radio"==e.elements[n[0]].type?e.elements[n[0]].checked=!1:e.elements[n[0]].value=""})(e),e.style.display="none"};var d=n(671);const c=e.availableLangs[0],p=n(9729)("./"+e.theme+"/config/"+c+".js"),m=(e,n,i)=>{(0,r.isEmpty)(n)||t("message",n),(0,r.isEmpty)(i)||t("url",i),(0,r.isEmpty)(e)||window.location.assign(e)},g=e.availableLangs[0],v=n(6028),h=n(8795),f=n(6425),b=n(4988),L=n(9729)("./"+e.theme+"/config/"+g+".js"),{addOkMessage:k,deleteBtnTxt:y,serverError:E,updateBtnTxt:T}=n(2111)("./"+g+"/general"),{addIllustrationTxt:q,defaultAlt:M,introNoIllustration:x,introTitleForIllustration:I}=n(408)("./"+g+"/illustration"),{addLinkTxt:N,defaultValueForLink:R,introNoLink:S,introTitleForLink:z}=n(4567)("./"+g+"/link"),{addQuestionTxt:A,introNoQuestion:w,introTitleForQuestion:U}=n(9290)("./"+g+"/question"),{needGroupIfRank:Q,nextDateWithoutQuestionnaire:B,nextQuestionnairesList:D,questionnaireNeedBeCompleted:O,searchQuestionnaireWithNoResult:P}=n(3260)("./"+g+"/questionnaire"),{needBeConnected:C}=n(176)("./"+g+"/user"),j=document.getElementById("wantNewQuestionnaire"),H=document.getElementById("previewQuestionnaire"),_=document.getElementById("deleteOkLabel"),W=document.getElementById("crash"),G=document.getElementById("illustrationsList"),V=document.getElementById("linksList"),F=document.getElementById("main-content"),J=document.getElementById("message"),X=(document.getElementById("questionnairesList"),document.getElementById("questionsList")),K=document.getElementById("response"),Y=document.getElementById("searchResult"),Z=document.getElementById("links"),$=document.getElementById("illustrations"),ee=document.getElementById("questions"),te=document.getElementById("questionnaires"),ne=document.getElementById("search"),ie=document.getElementById("helpClassification"),se=document.getElementById("helpGroup"),re=document.getElementById("helpPublishingAt"),oe=document.getElementById("classification"),ae=document.getElementById("group"),ue=document.getElementById("rankInGroup"),le=()=>{l(Z),0!=R&&(document.getElementById("anchor").value=R),l($),l(ee)},de=e=>{le(),Z.style.display="block",a(f.Link,Z);for(let t in e)void 0!==Z.elements[t]&&(Z.elements[t].value=e[t])},ce=(e,t)=>{o(V,"h2",z);let n="";for(let t in e)n+="
  • "+e[t].anchor+"
    "+T+" "+y+"
  • ";""===n&&(n="
  • "+S+"
  • "),o(V,"ul",n,"",[],"",!1);for(let n in e)document.getElementById("#updateLink"+e[n].id).addEventListener("click",(function(t){t.preventDefault(),de(e[n]),window.location.assign("#links")})),document.getElementById("#deleteLink"+e[n].id).addEventListener("click",(function(i){i.preventDefault(),de(e[n]),Z.elements.deleteOk.value=!0,pe(t)}));(e.length"+N+"","",[],{},!1),document.getElementById("newLink").addEventListener("click",(function(e){e.preventDefault(),le(),Z.style.display="block",Z.elements.QuestionnaireId.value=te.elements.id.value,window.location.assign("#links"),a(f,Z)})))},pe=t=>{const n=document.getElementById("responseLink");n.innerHTML="";let i=u(Z);const s=new XMLHttpRequest;(0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.deleteOk)?(0,r.isEmpty)(i.id)?s.open("POST",e.apiUrl+f.linksRoute):s.open("PUT",e.apiUrl+f.linksRoute+i.id):s.open("DELETE",e.apiUrl+f.linksRoute+i.id),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200!==this.status&&201!==this.status||null==e.message||null==e.questionnaire?e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=E,o(n,"p",e.errors,"",["error"])):o(n,"p",E,"",["error"]):(Array.isArray(e.message)?e.message=e.message.join("
    "):e.message=e.message,ce(e.questionnaire.Links,t),o(V,"p",e.message,"",["success"],"",!1),le(),window.location.assign("#linksList"))}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t),s.send(JSON.stringify(i))},me=e=>{le(),$.style.display="block",a(h.Illustration,$),$.elements.image.removeAttribute("required");for(let t in e)void 0!==$.elements[t]&&($.elements[t].value=e[t])},ge=(e,t)=>{o(G,"h2",I);let n="";for(let t in e)n+="
  • "+M+"
    "+T+" "+y+"
  • ";""===n&&(n="
  • "+x+"
  • "),o(G,"ul",n,"",[],"",!1);for(let n in e)document.getElementById("#updateIllustration"+e[n].id).addEventListener("click",(function(t){t.preventDefault(),me(e[n]),window.location.assign("#illustrations")})),document.getElementById("#deleteIllustration"+e[n].id).addEventListener("click",(function(i){i.preventDefault(),me(e[n]),$.elements.deleteOk.value=!0,ve(t)}));(e.length"+q+"","",[],{},!1),document.getElementById("newIllustration").addEventListener("click",(function(e){e.preventDefault(),le(),$.style.display="block",$.elements.QuestionnaireId.value=te.elements.id.value,window.location.assign("#illustrations"),a(h,$)})))},ve=t=>{const n=document.getElementById("responseIllustration");n.innerHTML="";let i=u($),s=new FormData($);const a=new XMLHttpRequest;(0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.deleteOk)?(0,r.isEmpty)(i.id)?a.open("POST",e.apiUrl+h.illustrationsRoute):a.open("PUT",e.apiUrl+h.illustrationsRoute+i.id):a.open("DELETE",e.apiUrl+h.illustrationsRoute+i.id),a.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200!==this.status&&201!==this.status||null==e.message||null==e.questionnaire?e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=E,o(n,"p",e.errors,"",["error"])):o(n,"p",E,"",["error"]):(Array.isArray(e.message)?e.message=e.message.join("
    "):e.message=e.message,ge(e.questionnaire.Illustrations,t),o(G,"p",e.message,"",["success"],"",!1),le(),window.location.assign("#illustrationsList"))}},a.setRequestHeader("Authorization","Bearer "+t),a.send(s)},he=e=>{le(),ee.style.display="block";for(let t in e.Question)void 0!==ee.elements[t]&&(ee.elements[t].value=e.Question[t]);a(b.Question,ee);for(let t in e.Choices)void 0!==ee.elements["choiceText"+t]&&(ee.elements["choiceText"+t].value=e.Choices[t].text,1==e.Choices[t].isCorrect&&(ee.elements["choiceIsCorrect"+t].checked=!0),ee.elements["idChoice"+t].value=e.Choices[t].id)},fe=(e,t)=>{o(X,"h2",U);let n="";for(let t in e)n+="
  • "+e[t].Question.rank+" - "+e[t].Question.text+"
    "+T+" "+y+"
  • ";""===n&&(n="
  • "+w+"
  • "),o(X,"ul",n,"",[],"",!1);for(let n in e)document.getElementById("#updateQuestion"+e[n].Question.id).addEventListener("click",(function(t){t.preventDefault(),he(e[n]),window.location.assign("#questions")})),document.getElementById("#deleteQuestion"+e[n].Question.id).addEventListener("click",(function(i){i.preventDefault(),he(e[n]),ee.elements.deleteOk.value=!0,be(t)}));(e.length"+A+"","",[],{},!1),document.getElementById("newQuestion").addEventListener("click",(function(t){t.preventDefault(),le(),ee.style.display="block",ee.elements.QuestionnaireId.value=te.elements.id.value,ee.elements.rank.value=0===e.length?b.Question.rank.defaultValue:e.length+1,window.location.assign("#questions"),a(b.Question,ee)})))},be=t=>{const n=document.getElementById("responseQuestion");n.innerHTML="";let i=u(ee);const s=new XMLHttpRequest;(0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.deleteOk)?(0,r.isEmpty)(i.id)?s.open("POST",e.apiUrl+b.questionsRoute):s.open("PUT",e.apiUrl+b.questionsRoute+i.id):s.open("DELETE",e.apiUrl+b.questionsRoute+i.id),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200!==this.status&&201!==this.status||null==e.message||null==e.questionnaire?e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=E,o(n,"p",e.errors,"",["error"])):o(n,"p",E,"",["error"]):(Array.isArray(e.message)?e.message=e.message.join("
    "):e.message=e.message,fe(e.questionnaire.Questions,t),o(X,"p",e.message,"",["success"],"",!1),le(),window.location.assign("#questionsList"))}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t),s.send(JSON.stringify(i))},Le=(t,n)=>{const i=new XMLHttpRequest;i.open("GET",e.apiUrl+b.questionnaireRoutes+b.getQuestionnaireRoutes+"/"+t),i.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let i=JSON.parse(this.responseText);if(200===this.status&&null!=i.Questionnaire){te.reset();for(let e in i.Questionnaire)void 0!==te.elements[e]&&("publishingAt"===e&&null!==i.Questionnaire[e]?te.elements[e].value=(0,r.dateFormat)(i.Questionnaire[e],"form"):te.elements[e].value=i.Questionnaire[e]);_.style.display="block"}if(null!=i.Tags){let e="";for(let t in i.Tags)e+=0==t?i.Tags[t].name:","+i.Tags[t].name;te.elements.classification.value=e}(0,r.isEmpty)(i.Group)||(te.elements.group.value=i.Group.Group.title+" ("+i.Group.Group.id+")"),V.style.display="block",X.style.display="block",G.style.display="block",null!=i.Links&&ce(i.Links,n),null!=i.Questions&&fe(i.Questions,n),null!=i.Illustrations&&ge(i.Illustrations,n),re.style.display="none",j.style.display="block",j.setAttribute("href",L.questionnairesManagementPage),H.style.display="block",!1===i.Questionnaire.isPublished?H.setAttribute("href",e.apiUrl+b.questionnaireRoutes+b.previewQuestionnaireRoutes+"/"+t+"/"+n):H.setAttribute("href",v.siteUrl+b.publishedQuestionnaireRoutes+i.Questionnaire.slug+".html")}},i.send()};(async()=>{try{const n=await async function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0;return new Promise(((l,c)=>{const g=i("user");if((0,r.isEmpty)(g))m(o,a,u),l(!1);else{const i=JSON.parse(g);if((0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.token)||(0,r.isEmpty)(i.duration)||i.duration{let d=JSON.parse(r.responseText);if(200===r.status&&d.isValid&&null!=d.id)if(d.id===i.id)if(i.name=d.name,i.language=d.language,i.timeDifference=d.timeDifference,i.status=d.status,t("user",i),"user"===d.status&&d.nbDaysOk<=0){const t=e.siteUrl+"/"+p.accountPage;-1===window.location.href.indexOf(t)&&window.location.assign("/"+p.accountPage+"#subscribe"),l(!0)}else 0!==n.length&&-1===n.indexOf(d.status)?(m(o,a,u),l(!1)):l(!0);else s("user"),m(o,a,u),l(!1);else s("user"),m(o,a,u),l(!1)},r.onerror=()=>c(r.statusText),r.send()}}}))}(["manager","admin"],"/"+L.connectionPage,{message:C,color:"error"},window.location);if(n){F.style.display="block",(0,r.isEmpty)(i("message"))||(o(J,"p",i("message",!0).message,"",[i("message",!0).color],"",!1),s("message"));const t=i("user",!0);a(b,ne),a(b.Questionnaire,te),H.style.display="none",_.style.display="none",le();let n=(()=>{if((0,r.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let t,n={};for(let i in e)t=e[i].split("="),2===t.length&&(n[t[0]]=decodeURI(t[1]));return n})();n&&void 0!==n.id&&Le(n.id,t.token),ne.addEventListener("submit",(function(n){n.preventDefault();let i=u(ne);const s=new XMLHttpRequest;s.open("POST",e.apiUrl+b.questionnaireRoutes+b.searchAdminQuestionnairesRoute),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e))if(0===e.length)o(Y,"p",P,"",["info"]);else{let n="";for(let t in e)n+="";o(Y,"select",n,"selectSearch");const i=document.getElementById("selectSearch");i.addEventListener("change",(function(){""!==i.value&&Le(i.value,t.token)}))}else o(Y,"p",E,"",["error"])}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t.token),i&&s.send(JSON.stringify(i))})),oe.addEventListener("input",(function(n){K.innerHTML="";const i=oe.value.split(",");i.reverse();const s=i[0].trim();if(s.length>=2){const n=new XMLHttpRequest;n.open("POST",e.apiUrl+b.questionnaireRoutes+b.tagsSearchRoute),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e)){ie.innerHTML="";for(let t in e)o(ie,"a",e[t].name,"#tag"+e[t].id,["info"],{href:"#tag"+e[t].id},!1),document.getElementById("#tag"+e[t].id).addEventListener("click",(function(e){e.preventDefault(),i[0]=e.target.innerHTML,i.reverse(),oe.value=i.join(","),ie.innerHTML=""}))}}},n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t.token),n.send(JSON.stringify({search:s}))}})),ae.addEventListener("input",(function(n){te.GroupId.value="";const i=ae.value.trim();if(i.length>=b.searchGroups.minlength){const n=new XMLHttpRequest;n.open("POST",e.apiUrl+b.groupRoutes+b.searchGroupsRoute),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e)){se.innerHTML="";for(let t in e)o(se,"a",e[t].title,"#group"+e[t].id,["info"],{href:"#group"+e[t].id},!1),document.getElementById("#group"+e[t].id).addEventListener("click",(function(n){n.preventDefault(),ae.value=e[t].title+" ("+e[t].id+")",te.GroupId.value=e[t].id,(0,r.isEmpty)(e[t].maxRank)?ue.value=1:ue.value=e[t].maxRank+1,se.innerHTML=""}))}}},n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t.token),n.send(JSON.stringify({searchGroups:i}))}})),te.addEventListener("submit",(function(n){n.preventDefault(),K.innerHTML="";const i=u(te);if(!(0,r.isEmpty)(i.rankInGroup)&&(0,r.isEmpty)(i.GroupId))o(K,"p",Q,"",["error"]);else{(0,r.isEmpty)(i.rankInGroup)&&!(0,r.isEmpty)(i.GroupId)&&(i.rankInGroup=1);const n=new XMLHttpRequest;(0,r.isEmpty)(i.id)||void 0===i.deleteOk?(0,r.isEmpty)(i.id)?n.open("POST",e.apiUrl+b.questionnaireRoutes+"/"):n.open("PUT",e.apiUrl+b.questionnaireRoutes+"/"+i.id):n.open("DELETE",e.apiUrl+b.questionnaireRoutes+"/"+i.id),n.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){const e=JSON.parse(this.responseText);201===this.status&&null!=e.id?(o(K,"p",k,"",["success"]),i.id=e.id):200===this.status&&null!=e.message?(Array.isArray(e.message)?e.message=e.message.join("
    "):e.message=e.message,o(K,"p",e.message,"",["success"])):e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=E,o(K,"p",e.errors,"",["error"])):o(K,"p",E,"",["error"]),void 0===i.deleteOk&&void 0===e.errors?Le(i.id,t.token):void 0===e.errors&&(te.reset(),V.innerHTML="",G.innerHTML="",X.innerHTML="")}},n.setRequestHeader("Content-Type","application/json"),n.setRequestHeader("Authorization","Bearer "+t.token),i&&n.send(JSON.stringify(i))}})),Z.addEventListener("submit",(function(e){e.preventDefault(),pe(t.token)})),$.addEventListener("submit",(function(e){e.preventDefault(),ve(t.token)})),ee.addEventListener("submit",(function(e){e.preventDefault(),be(t.token)}))}}catch(e){console.error(e),o(W,"p",E,"",["error"])}})(),console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****")}()}(); \ No newline at end of file diff --git a/front/public/JS/manageUsers.app.js b/front/public/JS/manageUsers.app.js deleted file mode 100644 index 44a66d1..0000000 --- a/front/public/JS/manageUsers.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,t,n){const i=n(671),s=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:i.password.minlength,dirCacheUsers:i.dirCacheUsers,dirCacheUsersAnswers:i.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
    En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
    Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},4055:function(e){e.exports={allSubscriptionProcessed:"Tous les abonnés ont été traités pour le moment.",infosExpirated:"Votre abonnement a expiré, mais il vous reste encore quelques jours avant que votre compte et vos données ne soient complètement supprimées.
    Pour ce faire, suivez sans tarder les indications ci-dessous :",infosExpiratedAdmin:"Cet abonnement a expiré.",infosNbDays:"Votre abonnement est encore valable pendant NB_DAYS jours.
    Vous pouvez à tout moment prolonger votre abonnement en suivant les indications ci-dessous :",infosNbDaysAdmin:"Cet abonnement est encore valable pendant NB_DAYS jours.",infosPaymentsAdmin:"DATE_PAYMENT : paiement de AMOUNT € au nom de CLIENT_NAME.",isNotValided:"Cet utilisateur n'a pas encore validé son compte.
    Vous pouvez le faire à sa place en cochant la case indiquée et enregistrant.",mailEndFreeTimeBodyHTML:"

    Bonjour USER_NAME,

    Votre abonnement gratuit à SITE_NAME va expirer d'ici quelques jours.

    Pour continuer à utiliser le site, vous pouvez souscrire à un abonnement sans tarder en cliquant sur le lien ci-dessous.

    ",mailEndFreeTimeBodyTxt:"Bonjour USER_NAME,\n\nVotre abonnement gratuit à SITE_NAME va expirer d'ici quelques jours.\n\nPour continuer à utiliser le site, vous pouvez sans attendre souscrire à un abonnement :\nLINK_URL",mailEndFreeTimeLinkTxt:"M'abonner.",mailEndFreeTimeMessage:" relances envoyées.",mailEndFreeTimeSubject:"Votre abonnement gratuit va expirer",mailExpirationBodyHTML:"

    Bonjour USER_NAME,

    Votre abonnement à SITE_NAME va expirer d'ici quelques jours.

    Pour continuer à utiliser SITE_NAME, vous pouvez le prolonger dès aujourd'hui en cliquant sur le lien ci-dessous.

    ",mailExpirationBodyTxt:"Bonjour USER_NAME,\n\nVotre abonnement à SITE_NAME va expirer d'ici quelques jours.\n\nPour continuer à utiliser SITE_NAME, vous pouvez le prolonger dès aujourd'hui :\nLINK_URL",mailExpirationLinkTxt:"Prolonger mon abonnement.",mailExpirationMessage:"FIRST premières et SECOND deuxièmes relances envoyées pour des abonnements expirant d'ici peu.",mailExpirationRelaunchTxt:"[Rappel] ",mailExpirationSubject:"Votre abonnement va bientôt expirer",mailNewElementForGroupTxt:"Bonjour USER_NAME,\n\nVoici le lien vers le nouvel article à lire :\n\nQUESTIONNAIRE_URL\n\nBonne lecture !\n\nStopper les envois ?\nUNSUBSCRIBE_URL",mailNewQuestionnaireBodyTxt:"Bonjour USER_NAME,\n\nVoici le lien vers le nouveau quiz :\n\nQUESTIONNAIRE_URL\n\nBonne lecture !\n\nStopper les envois ?\nUNSUBSCRIBE_URL",mailStopMailLinkTxt:"Stopper les envois.",needKnowIfNoticeOk:"Il manque l'information sur l'acceptation ou non de recevoir des notifications.",needIntegerNumberOfDays:"Le nombre de jours de l'abonnement doit être un nombre entier.",needMinNumberOfDays:"Le nombre de jours de l'abonnement ne peut être négatif !",needNotTooLongDaysList:"La liste de jours sélectionnés n'a pas le bon format (trop longue).",needNumberOfDays:"Il faut un nombre de jours pour l'abonnement.",needUniqueDaysList:"La liste de jours sélectionnés n'a pas le bon format. Doublon : ",needValidDaysList:"La liste de jours sélectionnés n'a pas le bon format. Caractère non valide : ",noNewQuestionnaireForUser:"Aucun nouveau questionnaire trouvé pour un abonné : ",unsubscriptionOk:"Votre demande a bien été prise en compte. Vous ne recevrez plus de messages venant du site, sauf pour vous signaler la fin de votre abonnement.
    N'hésitez pas à accéder à votre compte pour de nouveau autoriser certains envois.",unsubscriptionFail:"Si vous voyez ce message, c'est que votre lien de désabonnement ne fonctionne pas.
    Vous pouvez accéder à votre compte pour désactiver les envois manuellement."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
    À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
    Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

    Bonjour USER_NAME,

    Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

    ",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

    Bonjour USER_NAME,

    Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

    ",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

    Bonjour USER_NAME,

    Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
    Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

    Encore merci et à bientôt !

    ",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

    Bonjour USER_NAME,

    Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

    ",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
    En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

    Bonjour USER_NAME,

    Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

    ",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

    Bonjour USER_NAME,

    Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

    Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

    Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

    Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

    Pour ce faire, utilisez le lien ci-dessous.

    À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
    Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class t{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return t.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,t){return(e+="").length>t&&(e=e.substring(0,t-3)+"…"),e}static replaceAll(e,t){const n=new RegExp(Object.keys(t).join("|"),"gi");return e.replace(n,(e=>t[e]))}static getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(t.isEmpty(e))return"";let i=new Date(e),s=i.getDate()+"";1===s.length&&(s="0"+s);let r=i.getMonth()+1+"";1===r.length&&(r="0"+r);let o=i.getFullYear();return"fr"===n?s+"/"+r+"/"+o:"form"===n?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,t){const n=e+Math.floor(Math.random()*(t-e)),i="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=i[Math.floor(Math.random()*i.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,t,n){var i={"./fr/general":223};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=2111},7325:function(e,t,n){var i={"./fr/subscription":4055};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=7325},176:function(e,t,n){var i={"./fr/user":1494};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=176},9729:function(e,t,n){var i={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var t=r(e);return n(t)}function r(e){if(!n.o(i,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return i[e]}s.keys=function(){return Object.keys(i)},s.resolve=r,e.exports=s,s.id=9729}},t={};function n(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return e[i](r,r.exports,n),r.exports}n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=n(6028);const t=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=n(9864);const o=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,r.isEmpty)(t)||(0,r.isEmpty)(e))return!1;{const u=document.createElement(t);if((0,r.isEmpty)(i)||(u.id=i),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,r.isEmpty)(n)||(u.innerHTML=n.replace(/\n/g,"
    ")),a&&(e.innerHTML=""),e.appendChild(u)}},a=(e,t)=>{for(let n in t.elements)if(!(0,r.isEmpty)(t.elements[n].id)){let i=t.elements[n].id;if(void 0!==e[i]){let t=document.getElementById(i);for(let n in e[i])t.setAttribute(n,e[i][n])}}return!0},u=e=>{const t={},n=new FormData(e);for(let e of n.entries())t[e[0]]=e[1];return t};var l=n(671);const c=e.availableLangs[0],d=n(9729)("./"+e.theme+"/config/"+c+".js"),p=(e,n,i)=>{(0,r.isEmpty)(n)||t("message",n),(0,r.isEmpty)(i)||t("url",i),(0,r.isEmpty)(e)||window.location.assign(e)},m=e.availableLangs[0],v=n(671),g=n(9729)("./"+e.theme+"/config/"+m+".js"),{addOkMessage:h,serverError:b}=n(2111)("./"+m+"/general"),{infosAdminGodfather:f,infosAdminNbGodChilds:L,infosUserForAdmin:E,needBeConnected:M,searchUsersWithoutResult:T}=n(176)("./"+m+"/user"),{infosExpiratedAdmin:y,infosNbDaysAdmin:k,infosPaymentsAdmin:N,isNotValided:S}=n(7325)("./"+m+"/subscription"),q=document.getElementById("main-content"),x=document.getElementById("message"),U=document.getElementById("response"),A=document.getElementById("crash"),I=document.getElementById("subscribeIntro"),R=document.getElementById("infosPayments"),z=document.getElementById("infosGodchilds"),D=document.getElementById("users"),P=document.getElementById("deleteOkLabel"),w=document.getElementById("validationOkLabel"),B=document.getElementById("wantNewUser"),_=document.getElementById("newPassword"),C=document.getElementById("timeDifference"),O=document.getElementById("searchUsers"),j=document.getElementById("searchResult");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const n=await async function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],o=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0;return new Promise(((c,m)=>{const v=i("user");if((0,r.isEmpty)(v))p(o,a,u),c(!1);else{const i=JSON.parse(v);if((0,r.isEmpty)(i.id)||(0,r.isEmpty)(i.token)||(0,r.isEmpty)(i.duration)||i.duration{let l=JSON.parse(r.responseText);if(200===r.status&&l.isValid&&null!=l.id)if(l.id===i.id)if(i.name=l.name,i.language=l.language,i.timeDifference=l.timeDifference,i.status=l.status,t("user",i),"user"===l.status&&l.nbDaysOk<=0){const t=e.siteUrl+"/"+d.accountPage;-1===window.location.href.indexOf(t)&&window.location.assign("/"+d.accountPage+"#subscribe"),c(!0)}else 0!==n.length&&-1===n.indexOf(l.status)?(p(o,a,u),c(!1)):c(!0);else s("user"),p(o,a,u),c(!1);else s("user"),p(o,a,u),c(!1)},r.onerror=()=>m(r.statusText),r.send()}}}))}(["manager","admin"],"/"+g.connectionPage,{message:M,color:"error"},window.location);if(n){const t=i("user",!0);t.status,q.style.display="block",(0,r.isEmpty)(i("message"))||(o(x,"p",i("message",!0).message,"",[i("message",!0).color],"",!1),s("message")),a(v,O);const n=()=>{(e=>{const t=new FormData(e);for(let n of t.entries())"checkbox"==e.elements[n[0]].type||"radio"==e.elements[n[0]].type?e.elements[n[0]].checked=!1:e.elements[n[0]].value=""})(D),P.style.display="none",w.style.display="none",I.innerHTML="",R.innerHTML="",z.innerHTML="",_.value="",_.parentNode.style.display="none",C.parentNode.style.display="none"};n(),a(v,D);const l=i=>{n();const s=new XMLHttpRequest;s.open("GET",e.apiUrl+v.userRoutes+v.getUserInfos+i),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let n=JSON.parse(this.responseText);if(200===this.status&&null!=n.User){_.parentNode.style.display="block",C.parentNode.style.display="block";const s={ID_USER:n.User.id,DATE_CREA:(0,r.dateFormat)(n.User.createdAt),DATE_UPDATE:(0,r.dateFormat)(n.User.updatedAt),DATE_CONNECTION:(0,r.dateFormat)(n.User.connectedAt)};let a=(0,r.replaceAll)(E,s);for(let e in n.User)void 0!==D.elements[e]&&(!0!==n.User[e]&&!1!==n.User[e]?D.elements[e].value=n.User[e]:1==n.User[e]&&(D.elements[""+e].checked="checked"));if(null!=n.Subscription){D.elements.numberOfDays.value=n.Subscription.numberOfDays;for(let e in n.Subscription.receiptDays)D.elements["d"+n.Subscription.receiptDays[e]].checked="checked";const e=new Date(n.Subscription.createdAt).getTime();if(0!==n.Subscription.numberOfDays){const t=n.Subscription.numberOfDays-Math.round((Date.now()-e)/1e3/3600/24);a+=t>0?"
    "+k.replace("NB_DAYS",t):"
    dd"+y}o(I,"p",a,"",["info"],"",!1)}else o(I,"p",S,"",["error"]),w.style.display="block";P.style.display="block";const u=new XMLHttpRequest;if(u.open("GET",e.apiUrl+v.getPayments+n.User.id),u.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&0!==e.length){let t="";for(let n in e){const i={DATE_PAYMENT:(0,r.dateFormat)(e[n].createdAt,"fr"),AMOUNT:e[n].amount,CLIENT_NAME:e[n].clientName};t+="
  • "+(0,r.replaceAll)(k,i)+"
  • "}o(R,"ul",t,"",["info"],"",!1),R.style.display="block"}}},u.setRequestHeader("Authorization","Bearer "+t.token),u.send(),!(0,r.isEmpty)(n.User.GodfatherId)){const i=new XMLHttpRequest;i.open("GET",e.apiUrl+v.userRoutes+v.getUserInfos+n.User.GodfatherId),i.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);200===this.status&&null!=e.User&&(o(z,"p",f+""+e.User.name+".
    ","",["info"],"",!1),z.style.display="block")}},i.setRequestHeader("Authorization","Bearer "+t.token),i.send()}let l="";const c=new XMLHttpRequest;c.open("GET",e.apiUrl+v.userRoutes+v.getGodChilds+i),c.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&0!==e.length){l+=f.replace("#NB",e.length);for(let t in e)l+=""+e[t].name+"";o(z,"p",l+".","",["info"],"",!1),z.style.display="block"}}},c.setRequestHeader("Authorization","Bearer "+t.token),c.send()}}},s.setRequestHeader("Authorization","Bearer "+t.token),s.send()};let c=(()=>{if((0,r.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let t,n={};for(let i in e)t=e[i].split("="),2===t.length&&(n[t[0]]=decodeURI(t[1]));return n})();c&&void 0!==c.id&&l(c.id),B.addEventListener("click",(function(e){n()})),D.addEventListener("submit",(function(i){i.preventDefault(),U.innerHTML="";let s=u(D);s.receiptDays="";for(let e=1;e<=7;e++)void 0!==s["d"+e]&&(s.receiptDays+=""+e);const a=new XMLHttpRequest;(0,r.isEmpty)(s.id)||void 0===s.deleteOk?(0,r.isEmpty)(s.id)||void 0===s.validationOk?(0,r.isEmpty)(s.id)?(s.password=(0,r.getPassword)(v.password.minlength,v.password.minlength+2),a.open("POST",e.apiUrl+v.userRoutes+v.createUserRoute)):a.open("PUT",e.apiUrl+v.userRoutes+v.updateUserInfos+s.id):a.open("POST",e.apiUrl+v.userRoutes+v.validateUserRoute+s.id):a.open("DELETE",e.apiUrl+v.userRoutes+"/"+s.id),a.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);201===this.status&&null!=e.id?(o(U,"p",h,"",["success"]),s.id=e.id):200===this.status&&null!=e.message?(Array.isArray(e.message)?e.message=e.message.join("
    "):e.message=e.message,o(U,"p",e.message,"",["success"])):e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("
    "):e.errors=b,o(U,"p",e.errors,"",["error"])):o(U,"p",b,"",["error"]),(0,r.isEmpty)(e.errors)&&(void 0===s.deleteOk?l(s.id):n())}},a.setRequestHeader("Content-Type","application/json"),a.setRequestHeader("Authorization","Bearer "+t.token),s&&a.send(JSON.stringify(s))})),O.addEventListener("submit",(function(n){n.preventDefault();let i=u(O);const s=new XMLHttpRequest;s.open("POST",e.apiUrl+v.userRoutes+v.searchUserRoute),s.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let e=JSON.parse(this.responseText);if(200===this.status&&Array.isArray(e))if(0===e.length)o(j,"p",T,"",["info"]);else{let t="";for(let n in e)t+="";o(j,"select",t,"selectSearch");const n=document.getElementById("selectSearch");n.addEventListener("change",(function(){""!==n.value&&l(n.value)}))}else o(j,"p",b,"",["error"])}},s.setRequestHeader("Content-Type","application/json"),s.setRequestHeader("Authorization","Bearer "+t.token),i&&s.send(JSON.stringify(i))}))}}catch(e){o(A,"p",b,"",["error"]),console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/newLoginValidation.app.js b/front/public/JS/newLoginValidation.app.js deleted file mode 100644 index a92ba38..0000000 --- a/front/public/JS/newLoginValidation.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,i,n){const t=n(671),r=n(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:t.password.minlength,dirCacheUsers:t.dirCacheUsers,dirCacheUsersAnswers:t.dirCacheUsersAnswers,dirCacheQuestionnaires:r.dirCacheQuestionnaires,dirCacheQuestions:r.dirCacheQuestions,dirCacheUsersQuestionnaires:r.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:r.dirHTMLQuestionnaires,dirWebQuestionnaires:r.dirWebQuestionnaires}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},223:function(e){e.exports={addBtnTxt:"Ajouter",addOkMessage:"Les données ont bien été enregistrées.",alertNewWindow:"nouvelle fenêtre",badUrl:"Tentative d'accès à une page n'existant pas :",btnLinkToQuestionnaire:"Afficher !",btnProposeConnection:"Je me connecte.",btnProposeSubscribe:"Je crée mon compte.",btnShowOnWebSite:"Lire la suite sur #SITE_NAME",deleteBtnTxt:"Supprimer",deleteFailMessage:"La suppression de l'enregistrement #ID a échoué.",deleteOkMessage:"La suppression a bien été enregistrée.",failAuth:"Erreur d'authentification.",failAuthCron:"Tentative de lancement d'un cron sans le bon token.",failAuthHeader:"Absence de header Authorization.",failAuthId:"Identifiant non valide : ",failAuthToken:"Token invalide ou utilisateur non trouvé.",neededParams:"Des paramètres nécessaires manquants sont manquants.",nextPage:"Page suivante",notAllowed:"Vous n'avez pas les droits nécessaires pour cette action.",notRequired:"Facultatif.",notValidFormat:"Format non valide.",previousPage:"Page précédente",serverError:"Désolé. Une erreur imprévue est survenue. Si cela persiste, n'hésitez à prévenir l'administrateur du site.",serverErrorAdmin:"Bug de l'application :",siteHTMLTitle:"WikiLerni : la culture générale en liberté",siteMetaDescription:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses. Vous recevez de courts articles lisibles en quelques minutes. Des quizs vous permettent ensuite de tester ce que vous avez retenu.",scriptTimingAlert:"*** Script lent : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",scriptTimingInfo:"Durée de la réponse : SCRIPT_TIMING millisecondes, route : SCRIPT_URL",statsAdmin:"Durant les dernières 24h : NB_USERS_24H comptes ont été créés, NB_SUBSCRIPTIONS_24H validés et NB_USERS_DELETED_24H supprimés. NB_ANSWERS_24H réponses aux quizs ont été enregistrées.
    En tout, il y a : NB_USERS_TOT comptes, dont NB_SUBSCRIPTIONS_TOT validés et NB_SUBSCRIPTIONS_PREMIUM comptes prémium. NB_ANSWERS_TOT réponses aux quizs ont été enregistrées.
    Parmi les NB_USERS_DELETED_TOT comptes supprimés, NB_USERS_DELETED_VALIDED avaient validé leur compte et NB_USERS_DELETED_PREMIUM avaient souscrit un compte prémium.",subscriptionCall:"Inscrivez-vous !",updateBtnTxt:"Modifier",updateOkMessage:"La mise à jour à jour a bien été enregistrée."}},1494:function(e){e.exports={alreadyConnected:"Vous êtes déjà connecté au site !",badLinkValidationMessage:"Votre lien de confirmation ne semble pas valide ou bien il a expiré. Vous pouvez en recevoir un nouveau en cliquant ici.",badPassword:"Aucun compte utilisateur ne correspond aux informations saisies.",byebyeMessage:"Si vous voyez ce message, c'est que votre déconnexion s'est bien déroulée.
    À bientôt !",connectionOk:"Connexion réussie.",creationOkMessage:"Le nouvel utilisateur a bien été enregistré.",cronDeleteUnvalidedUsersMessage:" comptes utilisateurs non validés ont été supprimés.",deleteFailMessage:"Tentative de suppression d'un utilisateur inexistant : ",deleteInactiveUsersMessage:" comptes utilisateurs inactifs ont été supprimés.",deleteOkMessage:"L'utilisateur a bien été supprimé.",emailNotFound:"Aucun compte utilisateur n'a été trouvé pour cette adresse e-mail.",failBotTest:"Un problème a été rencontré durant votre inscription. En cas de difficulté, n'hésitez pas contacter l'administrateur du site.",failBotTestLog:"Une inscription a été bloquée, parce que le champ email2 était renseigné avec : ",formsEmailLabel:"E-mail :",formsEmailPlaceholder:"Votre adresse e-mail",formsEmail2Placeholder:"Si vous voyez ce champ, laissez-le vide",formsCGUOkLabel:'J\'accepte les Conditions Générale d\'Utilisation du site (requis).',formsSubmitTxt:"Je m'abonne !",godfatherFound:'Votre "parrain" a bien été trouvé. Cette personne sera avertie que vous l\'avez désignée.',godfatherNotFound:"Désolé mais aucun utilisateur n'a été trouvé pour ce code / e-mail de parrainage :(",infosAdminGodfather:"Cet utilisateur a été parrainé par ",infosAdminNbGodChilds:"Ses #NB filleuls : ",infosUserForAdmin:"Cet utilisateur (id: ID_USER) a créé son compte le DATE_CREA, la dernière mise à jour datant du DATE_UPDATE.
    Date de sa dernière connexion : DATE_CONNECTION.",infosUserNbGodChilds:'Voici les #NB utilisateur(s) inscrit(s) en vous désignant comme "parrain" : ',infosUserNoGodchilds:"Pour l'instant, aucune personne ne s'est inscrite, en vous désignant comme \"parrain\".",mailDeleteBodyHTML:"

    Bonjour USER_NAME,

    Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.

    ",mailDeleteBodyTxt:"Bonjour USER_NAME,\n\nPour confirmer la suppression de votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailDeleteLinkAlreadyMessage:"Il semble que vous ayez déjà validé la suppression de votre compte.",mailDeleteLinkFailMessage:"Votre lien de suppression n'est pas valide ou alors il a expiré.",mailDeleteLinkMessage:"Votre demande de suppression a bien été enregistrée. Merci de cliquer sans tarder sur le lien qui vient de vous être envoyé par e-mail pour confirmer.",mailDeleteLinkOkMessage:"Votre compte a bien été supprimé. Merci d'avoir utilisé nos services.",mailDeleteLinkTxt:"Confirmer.",mailDeleteSubject:"Confirmer la suppression de votre compte.",mailLoginLinkBodyHTML:"

    Bonjour USER_NAME,

    Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :

    ",mailLoginLinkBodyTxt:"Bonjour USER_NAME,\n\nPour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailLoginLinkMessage:"Un lien de connexion vient de vous être envoyé sur votre adresse e-mail. Ne tardez pas à l'utiliser, car il n'est valable que durant *TIMING* !",mailLoginLinkSubject:"Votre lien de connexion.",mailLoginLinkTxt:"Me connecter.",mailThankGodfatherBodyHTML:"

    Bonjour USER_NAME,

    Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.
    Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.

    Encore merci et à bientôt !

    ",mailThankGodfatherBodyTxt:"Bonjour USER_NAME,\nGrâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.\nSi dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.\nEncore merci et à bientôt !",mailThankGodfatherLinkTxt:"Me connecter à mon compte.",mailThankGodfatherSubject:"Merci !",mailUpdateLoginBodyHTML:"

    Bonjour USER_NAME,

    Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.

    ",mailUpdateLoginBodyTxt:"Bonjour USER_NAME,\n\nPour valider vos nouveaux identifiants de connexion, cliquez sur le lien suivant sans tarder :\nLINK_URL",mailUpdateLoginLinkMessage:"Cependant, vous avez modifié au moins un de vos identifiants de connexion (e-mail et/ou mot de passe) et vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement.
    En attendant, merci de continuer à utiliser vos anciens identifiants.",mailUpdateLoginLinkTxt:"Valider.",mailUpdateLoginOkMessage:"La mise à jour de vos identifiants a bien été enregistrée.",mailUpdateLoginSubject:"Merci de valider vos nouveaux identifiants.",mailValidationLinkSBodyHTML:"

    Bonjour USER_NAME,

    Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.

    ",mailValidationLinkSBodyTxt:"Bonjour USER_NAME,\n\nPour valider et compléter votre inscription, merci de cliquer sur le lien suivant dans les 24h :\nLINK_URL",mailValidationLinkSubject:"Merci de valider votre inscription",mailValidationLinkTxt:"Valider mon compte.",mailValidationMessage:"Votre inscription est bien enregistrée.\nPour la finaliser, merci de cliquer dans les 24 H sur le lien de confirmation qui vient d'être envoyé à votre adresse e-mail (#EMAIL).",mailWelcomeBodyHTML:"

    Bonjour USER_NAME,

    Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !

    Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.

    Je vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en spam.

    Par ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.

    Pour ce faire, utilisez le lien ci-dessous.

    À bientôt sur NOM_SITE.",mailWelcomeBodyTxt:"Bonjour USER_NAME,\n\nVous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !\n\nSi vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à EMAIL.\n\nJe vous conseille d'ailleurs d'ajouter EMAIL à votre carnet d'adresses pour éviter que les prochains envois de NOM_SITE n'arrivent en \"spam\".\n\nPar ailleurs, pour gérer votre abonnement, accéder à vos informations ou encore chercher plus facilement parmi le contenu du site, vous pouvez à tout moment vous connecter à votre compte utilisateur.\n\nPour ce faire, utilisez le lien suivant : LINK_URL\n\nÀ bientôt sur NOM_SITE.",mailWelcomeLinkTxt:"Me connecter à mon compte.",mailWelcomeSubject:"Bienvenue !",needBeConnected:"Vous devez être connecté pour accéder à cette page.",needChooseLoginWay:"Vous devez soit saisir votre mot de passe, soit cocher la case vous permettant de recevoir un lien de connexion par e-mail.",needEmail:"Merci de saisir votre adresse e-mail.",needKnowNewsletterOk:"Il faut savoir si l'utilisateur accepte ou refuse de recevoir la newsletter.",needLanguage:"Il manque le code langue.",needLongPassWord:"Merci de fournir un mot de passe d'au moins MIN_LENGTH caractères.",needMaxTimeDifference:"Il faut fournir un nombre de minutes à ajouter à l'heure GMT ne dépassant pas 840.",needMinTimeDifference:"Il faut fournir un nombre de minutes à enlever à l'heure GMT ne dépassant pas 720.",needName:"Merci de choisir un nom d'utilisateur.",needNotTooLongName:"Merci de choisir un nom d'utilisateur ne comptant pas plus de 70 caractères.",needNotTooLongEmail:"Merci de saisir une adresse e-mail ne comptant pas plus de 255 caractères.",needPassWord:"Merci de fournir un mot de passe.",needSMTP:"Il manque le serveur SMTP.",needSMTPNotFound:"Il manque un serveur SMTP valide.",needStatus:"Il manque le statut.",needTimeDifference:"Il faut connaître le nombre de minutes du décalage horaire.",needUGCOk:"Merci d'accepter les CGU pour créer votre compte.",needUniqueEmail:"L'adresse e-mail que vous avez saisie est déjà utilisée pour un compte utilisateur. Si vous avez déjà un compte, cliquez-ici pour vous connecter.",needValidationToLogin:"Vous devez d'abord valider votre compte avant de pouvoir vous connecter. Pour ce faire, un nouveau lien vient de vous être envoyé par e-mail.",needValidLastConnectionDate:"La date de dernière connexion n'est pas valide.",passwordCopied:'Le mot de passe généré a été copié dans le presse-papier de votre ordinateur (ou mobile). Vous pouvez le "coller" où vous le souhaitez.',searchUsersWithoutResult:"L'utilisateur n'a pas été trouvé.",tooManyLoginFails:"Désolé mais il y a eu trop de tentatives de connexion infructueuses pour cette adresse e-mail. Vous devez attendre MINUTES minutes pour essayer de nouveau.",updatedFailedGodfatherNotFound:"L'identifiant fourni pour le parrain ne correspond à aucun utilisateur.",updatedNeedGoodEmail:"Mais la nouvelle adresse e-mail n'a pu être enregistrée, car elle n'a pas un format correct.",updatedNeedGoodGodfather:"Mais le nouveau code parrain n'a pu être retenu, car il ne correspond à aucun compte utilisateur ou à l'utilisateur lui-même.",updatedNeedUniqueEmail:"Mais la nouvelle adresse e-mail saisie (NEW_EMAIL) n'a pu être enregistrée, car elle est déjà utilisée pour un autre compte.",updatedNeedValidatedUser:"L'utilisateur que vous souhaitez modifier n'existe pas/plus ou n'a pas encore validé son compte.",updatedOkMessage:"Vos informations ont bien été mises à jour.",validationAlreadyMessage:"Il semble que vous ayez déjà validé votre compte. Vous pouvez vous y connecter en cliquant ici.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !
    Vous pouvez compléter les informations de votre abonnement ci-dessous.",validationMessageAdmin:"Le compte a bien été validé.",welcomeMessage:"Bienvenue #NAME !"}},9864:function(e){class i{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return i.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,i){return(e+="").length>i&&(e=e.substring(0,i-3)+"…"),e}static replaceAll(e,i){const n=new RegExp(Object.keys(i).join("|"),"gi");return e.replace(n,(e=>i[e]))}static getRandomInt(e,i){return e=Math.ceil(e),i=Math.floor(i),Math.floor(Math.random()*(i-e))+e}static dateFormat(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(i.isEmpty(e))return"";let t=new Date(e),r=t.getDate()+"";1===r.length&&(r="0"+r);let s=t.getMonth()+1+"";1===s.length&&(s="0"+s);let o=t.getFullYear();return"fr"===n?r+"/"+s+"/"+o:"form"===n?o+"-"+s+"-"+r:s+"/"+r+"/"+o}static getPassword(e,i){const n=e+Math.floor(Math.random()*(i-e)),t="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",r="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let s=t[Math.floor(Math.random()*t.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},2111:function(e,i,n){var t={"./fr/general":223};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=2111},176:function(e,i,n){var t={"./fr/user":1494};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=176},9729:function(e,i,n){var t={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function r(e){var i=s(e);return n(i)}function s(e){if(!n.o(t,e)){var i=new Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}return t[e]}r.keys=function(){return Object.keys(t)},r.resolve=s,e.exports=r,r.id=9729}},i={};function n(t){var r=i[t];if(void 0!==r)return r.exports;var s=i[t]={exports:{}};return e[t](s,s.exports,n),s.exports}n.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},function(){"use strict";var e=n(6028),i=n(9864);const t=function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=!(arguments.length>6&&void 0!==arguments[6])||arguments[6];if((0,i.isEmpty)(n)||(0,i.isEmpty)(e))return!1;{const u=document.createElement(n);if((0,i.isEmpty)(r)||(u.id=r),Array.isArray(s)&&0!=s.length)for(let e in s)u.classList.add(s[e]);if("object"==typeof o)for(let e in o)u.setAttribute(e,o[e]);(0,i.isEmpty)(t)||(u.innerHTML=t.replace(/\n/g,"
    ")),a&&(e.innerHTML=""),e.appendChild(u)}};n(671);const r=e.availableLangs[0],s=(n(9729)("./"+e.theme+"/config/"+r+".js"),e.availableLangs[0]),{accountPage:o,userHomePage:a}=n(9729)("./"+e.theme+"/config/"+s+".js"),{checkNewLoginLinkRoute:u,userRoutes:l}=n(671),{serverError:c}=n(2111)("./"+s+"/general"),{badLinkValidationMessage:d}=n(176)("./"+s+"/user"),m=document.getElementById("response");console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const n=(()=>{if((0,i.isEmpty)(location.search))return!1;const e=location.search.substring(1).split("&");if(!Array.isArray(e)||0===e.length)return!1;let n,t={};for(let i in e)n=e[i].split("="),2===n.length&&(t[n[0]]=decodeURI(n[1]));return t})();if(n&&void 0!==n.t){const i=new XMLHttpRequest;i.open("GET",e.apiUrl+l+u+n.t),i.onreadystatechange=function(){if(this.readyState==XMLHttpRequest.DONE){let i=JSON.parse(this.responseText);200===this.status&&null!=i.message?("message",e={message:i.message,color:"success"},localStorage.setItem("message",JSON.stringify(e)),t(m,"p",i.message,"",["success"]),window.location.assign("/"+a)):404===this.status&&null!=i.errors?(Array.isArray(i.errors)?i.errors=i.errors.join("
    "):i.errors=c,t(m,"p",i.errors,"",["error"])):t(m,"p",d.replace("#URL",o),"",["error"])}var e},i.setRequestHeader("Authorization","Bearer "+n.t),i.send()}}catch(e){t(m,"p",c,"",["error"]),console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/paymentPage.app.js b/front/public/JS/paymentPage.app.js deleted file mode 100644 index e135c2a..0000000 --- a/front/public/JS/paymentPage.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var e={6028:function(e,t,i){const n=i(671),s=i(4988);e.exports={apiUrl:"http://localhost:3000/api",siteUrl:"http://localhost:8080",siteUrlProd:"https://www.wikilerni.com",adminName:"Fab",adminEmail:"dev@wikilerni.com",senderName:"WikiLerni",senderEmail:"bonjour@wikilerni.com",adminLang:"fr",theme:"wikilerni",availableLangs:["fr"],siteName:"WikiLerni",beginCodeGodfather:"WL",defaultReceiptDays:"147",cronTimingAlertInSeconde:120,responseTimingAlertInSeconde:3,tokenSignupValidationTimeInHours:"48h",tokenLoginLinkTimeInHours:"1h",tokenConnexionMinTimeInHours:"24h",tokenConnexionMaxTimeInDays:"180 days",tokenLoginChangingTimeInHours:"1h",tokenDeleteUserTimeInHours:"1h",tokenUnsubscribeLinkTimeInDays:"7 days",freeAccountTimingInDays:0,freeAccountExpirationNotificationInDays:3,accountExpirationFirstNotificationInDays:10,accountExpirationSecondNotificationInDays:3,inactiveAccountTimeToDeleteInDays:180,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbNewQuestionnaires:12,hourGiveNewQuestionnaireBegin:3,hourGiveNewQuestionnaireEnd:8,maxQuestionnaireSendedAtSameTime:50,minSearchQuestionnaires:3,fieldNewQuestionnaires:"publishingAt",nbQuestionnairesByGroupMin:1,nbQuestionnairesByGroupMax:0,nbIllustrationsMin:1,nbIllustrationsMax:1,maxIllustrationSizeinOctet:1e6,mimeTypesForIllustration:["image/jpg","image/jpeg","image/png","image/gif","image/png"],illustrationsWidthMaxInPx:500,illustrationsMiniaturesWidthMaxInPx:200,nbLinksMin:1,nbLinksMax:0,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,passwordMinLength:n.password.minlength,dirCacheUsers:n.dirCacheUsers,dirCacheUsersAnswers:n.dirCacheUsersAnswers,dirCacheQuestionnaires:s.dirCacheQuestionnaires,dirCacheQuestions:s.dirCacheQuestions,dirCacheUsersQuestionnaires:s.dirCacheUsersQuestionnaires,dirHTMLQuestionnaires:s.dirHTMLQuestionnaires,dirWebQuestionnaires:s.dirWebQuestionnaires}},45:function(e){e.exports={matomo:{url:"https://stats.le-fab-lab.com/",siteId:"5"}}},4988:function(e){e.exports={questionnaireRoutes:"/questionnaire",getListNextQuestionnaires:"/getlistnextquestionnaires/",getQuestionnaireRoutes:"/get",getRandomQuestionnairesRoute:"/getrandom",getStatsQuestionnaires:"/stats/",previewQuestionnaireRoutes:"/preview",publishedQuestionnaireRoutes:"/quiz/",regenerateHTML:"/htmlregenerated",searchAdminQuestionnairesRoute:"/searchadmin",searchQuestionnairesRoute:"/search",groupRoutes:"/group",getGroupRoute:"/get/",previewGroupRoutes:"/preview",searchGroupsRoute:"/search",questionsRoute:"/question/",tagsSearchRoute:"/tags/search/",getAdminStats:"/getadminstats/",getPreviousAnswers:"/user/answers/",getStatsAnswers:"/user/anwswers/stats/",saveAnswersRoute:"/answer/",Questionnaire:{title:{maxlength:255,required:!0},slug:{maxlength:150},introduction:{required:!0}},searchQuestionnaires:{minlength:3,required:!0},Group:{title:{maxlength:255,required:!0},slug:{maxlength:150}},Question:{text:{maxlength:255,required:!0},rank:{required:!0,min:1,defaultValue:1}},Choice:{text:{maxlength:255,required:!0}},search:{minlength:3,required:!0},searchGroups:{minlength:3,required:!0},dirCacheGroups:"datas/questionnaires/groups",dirCacheQuestionnaires:"datas/questionnaires",dirCacheQuestions:"datas/questionnaires/questions",dirCacheTags:"datas/questionnaires/tags",dirCacheUsersQuestionnaires:"datas/users/questionnaires",dirHTMLGroups:"front/public/quiz/gp",dirHTMLQuestionnaires:"front/public/quiz",dirHTMLNews:"front/public/quizs",dirHTMLTags:"front/public/quizs",dirWebGroups:"quiz/gp",dirWebQuestionnaires:"quiz",dirWebNews:"quizs/",dirWebTags:"quizs/",nbRandomResults:3,nbQuestionsMin:1,nbQuestionsMax:0,nbChoicesMax:10,nbTagsMin:0,nbTagsMax:0}},671:function(e){e.exports={userRoutes:"/user",checkDeleteLinkRoute:"/confirmdelete/",checkIfIsEmailfreeRoute:"/isemailfree",checkLoginRoute:"/checklogin/",checkNewLoginLinkRoute:"/confirmnewlogin/",checkSubscribeTokenRoute:"/validation/",connectionRoute:"/login",connectionWithLinkRoute:"/checkloginlink",createUserRoute:"/create",getAdminStats:"/getadminstats/",getGodChilds:"/getgodchilds/",getGodfatherRoute:"/getgodfatherid",getLoginLinkRoute:"/getloginlink",getPayments:"/payment/getforoneuser/",getUserInfos:"/get/",getUsersQuestionnairesRoute:"/getusersquestionnaires/",searchUserRoute:"/search/",signupCompletionRoute:"/signupcompletion/",subscribeRoute:"/signup",unsubscribeRoute:"/subscription/stop/",updateUserInfos:"/modify/",validateUserRoute:"/validate/",name:{maxlength:70,required:!0},email:{maxlength:255,required:!0},password:{minlength:8,maxlength:72,required:!0},newPassword:{minlength:8,maxlength:72},codeGodfather:{maxlength:255},cguOk:{value:"true",required:!0},search:{minlength:1,required:!0},timeDifferenceMin:-720,timeDifferenceMax:840,dirCacheUsers:"datas/users",dirCacheUsersAnswers:"datas/users/questionnaires/answers",dirCacheUsersWithoutAnswers:"datas/users/questionnaires/without"}},9864:function(e){class t{static isEmpty(e){return null==e||""===(e+="").trim()}static trimIfNotNull(e){return t.isEmpty(e)?null:(e+="").trim()}static shortenIfLongerThan(e,t){return(e+="").length>t&&(e=e.substring(0,t-3)+"…"),e}static replaceAll(e,t){const i=new RegExp(Object.keys(t).join("|"),"gi");return e.replace(i,(e=>t[e]))}static getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}static dateFormat(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"fr";if(t.isEmpty(e))return"";let n=new Date(e),s=n.getDate()+"";1===s.length&&(s="0"+s);let r=n.getMonth()+1+"";1===r.length&&(r="0"+r);let o=n.getFullYear();return"fr"===i?s+"/"+r+"/"+o:"form"===i?o+"-"+r+"-"+s:r+"/"+s+"/"+o}static getPassword(e,t){const i=e+Math.floor(Math.random()*(t-e)),n="ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz",s="123456789!?.*-_%@&ÉÀÈÙ€$ÂÊÛÎ";let r=n[Math.floor(Math.random()*n.length)];for(let e=1;eDes articles de Wikipédia sont sélectionnés pour vous et sont suivis d\'un quiz vous permettant de tester ce que vous en avez retenu.
    De jour en jour de nouvelles graines de savoir sont ainsi semées dans votre "jardin".',homeTitle2:"La culture en liberté",homeP2:'Tout comme sur Wikipédia (*), le logiciel et le contenu partagé sur WikiLerni sont libres.
    Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.
    Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.
    Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.

    (*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.',newQuestionnairesTitle:"Les derniers quizs publiés sur WikiLerni",newQuestionnairesIntro:"Liste des derniers quizs publiés sur WikiLerni.",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"Le principe est simple : vous commencez par lire l'article Wikipédia dont le lien vous est proposé.
    Puis vous afficher le quiz pour vérifier ce que vous en avez retenu de votre lecture. Vous obtenez alors votre résultat immédiatement.

    Toutes les réponses se trouvent dans l'article proposé à la lecture. Vous êtes ici pour apprendre de nouvelles choses, mais libre à vous d'essayer d'y répondre immédiatement.

    Quand le sujet s'y prête, ne vous étonnez pas si certaines des réponses proposées peuvent être un peu décalées, absurdes... On peut apprendre avec le sourire, non ? :-)

    Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.
    Ce compte vous permettra de tester de nouveau ce quiz pour vérifier ce que vous en avez retenu plusieurs jours, semaines, mois... Et de recevoir régulièrement de nouvelles suggestions de lectures.

    Mais la création de ce compte est facultative et vous pouvez parcourir WikiLerni librement.",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",tagsListTxt:"Parcourir les rubriques :"}},4326:function(e){e.exports={headLinks:[{anchor:"Contact",attributes:{href:"/contact.html",rel:"nofollow"}},{anchor:"Parcourir",attributes:{href:"/quizs/",id:"indexHeadLink",title:"Les dernières publications"}},{anchor:"À propos",attributes:{href:"/a-propos.html",title:"En savoir + sur WikiLerni"}},{anchor:"Accueil",attributes:{href:"/",title:"Page d'accueil"}}],footLinks:[{anchor:"Blog",attributes:{href:"https://diaspora-fr.org/people/815767c0c09e0139ec6f32a01d0dfba2",title:"Le blog WikiLerni sur diaspora*"}},{anchor:"Crédits",attributes:{href:"/credits.html",title:"Qui a créé WikiLerni ? Quels sont vos droits ?"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html",title:"Vos données personnelles sur WikiLerni"}},{anchor:"CGV & CGU",attributes:{href:"/CGV-CGU.html",rel:"nofollow"}}],accountPage:"compte.html",aboutPage:"a-propos.html",adminHomePage:"admin.html",cguPage:"CGV-CGU.html",connectionPage:"connexion.html",deleteLinkPage:"aurevoir.html?t=",loginLinkPage:"login.html?t=",managerHomePage:"gestion.html",newLoginLinkPage:"newlogin.html?t=",questionnairesManagementPage:"gestion-quizs.html",stopMailPage:"stop-mail.html?t=",subscribePage:"inscription.html",updateAccountPage:"compte.html",userHomePage:"accueil.html",userHomePageTxt:"Ma page d'accueil.",usersManagementPage:"gestion-utilisateurs.html",validationLinkPage:"validation.html?t=",siteSlogan:"Cultivons notre jardin !",noJSNotification:"Désolé, mais pour l'instant, l'utilisation de WikiLerni nécessite l'activation du JavaScript.",mailRecipientTxt:"Message envoyé à :",licenceTxt:'@copyleft Le contenu de WikiLerni est libre et vous est offert sans publicité. Vous pouvez participer à son financement en cliquant ici.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"Avec WikiLerni, vous apprenez régulièrement de nouvelles choses.
    Vous découvrez de courts articles, lisibles en quelques minutes.
    Des quizs vous permettent ensuite de tester ce que vous avez retenu.
    De jour en jour de nouvelles graines de culture sont ainsi semées dans votre jardin.",homeTitle2:"La culture générale en liberté",homeP2:'Pas de faits alternatifs, tous les contenus sont sourcés par des articles Wikipédia.
    Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni sont partagés sous licences libres.
    Le tout sans publicité, ni commercialisation de vos données.
    Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.',homeBtnAboutTxt:"En savoir plus sur WikiLerni ?",homeBtnSubscribeTxt:"Testez WikiLerni",homeSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",newQuestionnairesTitle:"Culture générale - apprenez de nouvelles choses avec WikiLerni",newQuestionnairesIntro:"WikiLerni : testez vos connaissances et apprenez de nouvelles choses avec WikiLerni.",newsListTitle:"

    Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau
    Si dessous les dernières publications. Vous pouvez aussi parcourir le site par thèmes ou mots-clés.

    ",tagListTitle:"Culture générale - des articles et quizs sur de nombreux thèmes !",tagListMetaDesc:"WikiLerni : découvrir les différents thèmes abordés par WikiLerni. Inxex du site.",tagListIntro:"

    Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)

    Aristote : « L’homme a naturellement la passion de connaître… »
    ",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"

    Le principe est simple : vous commencez par lire l’article Wikipédia dont le lien vous est proposé. Puis vous afficher le quiz pour vérifier ce que vous avez retenu de votre lecture. Suivant les questions, une ou plusieurs réponses peuvent être correctes et doivent donc être cochées. C’est toujours le contenu de l’article Wikipédia qui fait foi concernant les « bonnes » réponses. C’est une façon de tester à la fois votre capacité d’attention et votre mémoire. Les articles de Wikipédia peuvent évoluer, donc n’hésitez pas à me signaler une erreur.

    WikiLerni vous propose d’autres solutions pour améliorer votre culture générale. Pour en savoir plus, cliquez sur le bouton ci-dessous.

    ",explanationElementTxt:"

    WikiLerni vous propose de découvrir de courts articles lisibles en quelques minutes et portant sur des sujets très variés de culture générale (arts, histoire, littérature, sciences, etc.).

    Ces articles sont basés sur une ou plusieurs pages de Wikipédia (fournies en lien), dont ils extraient certaines informations.

    Chaque série d’articles est suivie d’un quiz permettant de tester ce que vous en avez retenu.

    Vous apprenez ainsi régulièrement de nouvelles choses très simplement.

    ",illustrationDir:"/img/quizs/",twitterAccount:"WikiLerni",maxQuestionnairesByPage:12,maxQuestionnairesFeed:5,maxQuestionnairesSiteHomePage:3,nbQuestionnairesUserHomePage:3}},9729:function(e,t,i){var n={"./default/config/fr.js":2095,"./wikilerni/config/fr.js":4326};function s(e){var t=r(e);return i(t)}function r(e){if(!i.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=r,e.exports=s,s.id=9729}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=i(6028);const t=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},n=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?JSON.parse(localStorage.getItem(e)):localStorage.getItem(e)},s=e=>{localStorage.removeItem(e)};var r=i(45);const o=()=>{var e=window._paq=window._paq||[];e.push([function(){var e,t,i;this.setVisitorCookieTimeout((e=new Date,t=Math.round(e.getTime()/1e3),i=this.getVisitorInfo(),parseInt(i[2])+33696e3-t))}]),e.push(["trackPageView"]),e.push(["enableLinkTracking"]),function(){var t=r.matomo.url;e.push(["setTrackerUrl",t+"matomo.php"]),e.push(["setSiteId",r.matomo.siteId]);var i=document,n=i.createElement("script"),s=i.getElementsByTagName("script")[0];n.type="text/javascript",n.async=!0,n.src=t+"matomo.js",s.parentNode.insertBefore(n,s)}()};var a=i(671),u=i(9864);const l=e.availableLangs[0],c=i(9729)("./"+e.theme+"/config/"+l+".js"),d=(e,i,n)=>{(0,u.isEmpty)(i)||t("message",i),(0,u.isEmpty)(n)||t("url",n),(0,u.isEmpty)(e)||window.location.assign(e)},m={CGV:document.getElementById("CGVOk"),abo1:document.getElementById("abo1"),abo2:document.getElementById("abo2"),abo3:document.getElementById("abo3"),abo4:document.getElementById("abo4")},p=document.getElementById("WPBtns"),h=e=>{for(let t in m)t!==e&&(m[t].checked=!1),p.style.display="none"},g={btn1:document.getElementById("WPBtn1"),btn2:document.getElementById("WPBtn2"),btn3:document.getElementById("WPBtn3"),btn4:document.getElementById("WPBtn4")},b=e=>{for(let t in g)g[t].style.display=t!==e?"none":"block"},v=e.availableLangs[0];i(9729)("./"+e.theme+"/config/"+v+".js"),console.log("**** Hello ami développeur :-)\n\nLe code de WikiLerni est libre et vous pouvez le trouver à cette adresse :\nhttps://forge.chapril.org/Fab_Blab/WikiLerni\n\nPour les suggestions d'amélioration ou questions : dev@wililerni.com ****"),(async()=>{try{const i=await async function(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1?arguments[1]:void 0,o=arguments.length>2?arguments[2]:void 0,l=arguments.length>3?arguments[3]:void 0;return new Promise(((m,p)=>{const h=n("user");if((0,u.isEmpty)(h))d(r,o,l),m(!1);else{const n=JSON.parse(h);if((0,u.isEmpty)(n.id)||(0,u.isEmpty)(n.token)||(0,u.isEmpty)(n.duration)||n.duration{let a=JSON.parse(u.responseText);if(200===u.status&&a.isValid&&null!=a.id)if(a.id===n.id)if(n.name=a.name,n.language=a.language,n.timeDifference=a.timeDifference,n.status=a.status,t("user",n),"user"===a.status&&a.nbDaysOk<=0){const t=e.siteUrl+"/"+c.accountPage;-1===window.location.href.indexOf(t)&&window.location.assign("/"+c.accountPage+"#subscribe"),m(!0)}else 0!==i.length&&-1===i.indexOf(a.status)?(d(r,o,l),m(!1)):m(!0);else s("user"),d(r,o,l),m(!1);else s("user"),d(r,o,l),m(!1)},u.onerror=()=>p(u.statusText),u.send()}}}))}();i?n("user",!0).status:o();const r=document.getElementById("CGVOk"),l=document.getElementById("abo1"),m=document.getElementById("abo2"),p=document.getElementById("abo3"),g=document.getElementById("abo4"),v=document.getElementById("WPBtns");v.style.display="none",l.addEventListener("change",(function(e){h("abo1")})),m.addEventListener("change",(function(e){h("abo2")})),p.addEventListener("change",(function(e){h("abo3")})),g.addEventListener("change",(function(e){h("abo4")})),r.addEventListener("change",(function(e){!0===r.checked?(v.style.display="block",!0===l.checked?b("btn1"):!0===m.checked?b("btn2"):!0===p.checked?b("btn3"):!0===g.checked?b("btn4"):(v.style.display="none",r.checked=!1)):v.style.display="none"}))}catch(e){console.error(e)}})()}()}(); \ No newline at end of file diff --git a/front/public/JS/polyfill.app.js b/front/public/JS/polyfill.app.js deleted file mode 100644 index fdad7f6..0000000 --- a/front/public/JS/polyfill.app.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var t={7694:function(t,n,r){r(1761),t.exports=r(5645).RegExp.escape},4963:function(t){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},3365:function(t,n,r){var e=r(2032);t.exports=function(t,n){if("number"!=typeof t&&"Number"!=e(t))throw TypeError(n);return+t}},7722:function(t,n,r){var e=r(6314)("unscopables"),i=Array.prototype;null==i[e]&&r(7728)(i,e,{}),t.exports=function(t){i[e][t]=!0}},6793:function(t,n,r){"use strict";var e=r(4496)(!0);t.exports=function(t,n,r){return n+(r?e(t,n).length:1)}},3328:function(t){t.exports=function(t,n,r,e){if(!(t instanceof n)||void 0!==e&&e in t)throw TypeError(r+": incorrect invocation!");return t}},7007:function(t,n,r){var e=r(5286);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},5216:function(t,n,r){"use strict";var e=r(508),i=r(2337),o=r(875);t.exports=[].copyWithin||function(t,n){var r=e(this),u=o(r.length),c=i(t,u),f=i(n,u),a=arguments.length>2?arguments[2]:void 0,s=Math.min((void 0===a?u:i(a,u))-f,u-c),l=1;for(f0;)f in r?r[c]=r[f]:delete r[c],c+=l,f+=l;return r}},6852:function(t,n,r){"use strict";var e=r(508),i=r(2337),o=r(875);t.exports=function(t){for(var n=e(this),r=o(n.length),u=arguments.length,c=i(u>1?arguments[1]:void 0,r),f=u>2?arguments[2]:void 0,a=void 0===f?r:i(f,r);a>c;)n[c++]=t;return n}},9490:function(t,n,r){var e=r(3531);t.exports=function(t,n){var r=[];return e(t,!1,r.push,r,n),r}},9315:function(t,n,r){var e=r(2110),i=r(875),o=r(2337);t.exports=function(t){return function(n,r,u){var c,f=e(n),a=i(f.length),s=o(u,a);if(t&&r!=r){for(;a>s;)if((c=f[s++])!=c)return!0}else for(;a>s;s++)if((t||s in f)&&f[s]===r)return t||s||0;return!t&&-1}}},50:function(t,n,r){var e=r(741),i=r(9797),o=r(508),u=r(875),c=r(6886);t.exports=function(t,n){var r=1==t,f=2==t,a=3==t,s=4==t,l=6==t,h=5==t||l,v=n||c;return function(n,c,p){for(var g,d,y=o(n),x=i(y),b=e(c,p,3),m=u(x.length),S=0,w=r?v(n,m):f?v(n,0):void 0;m>S;S++)if((h||S in x)&&(d=b(g=x[S],S,y),t))if(r)w[S]=d;else if(d)switch(t){case 3:return!0;case 5:return g;case 6:return S;case 2:w.push(g)}else if(s)return!1;return l?-1:a||s?s:w}}},7628:function(t,n,r){var e=r(4963),i=r(508),o=r(9797),u=r(875);t.exports=function(t,n,r,c,f){e(n);var a=i(t),s=o(a),l=u(a.length),h=f?l-1:0,v=f?-1:1;if(r<2)for(;;){if(h in s){c=s[h],h+=v;break}if(h+=v,f?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;f?h>=0:l>h;h+=v)h in s&&(c=n(c,s[h],h,a));return c}},2736:function(t,n,r){var e=r(5286),i=r(4302),o=r(6314)("species");t.exports=function(t){var n;return i(t)&&("function"!=typeof(n=t.constructor)||n!==Array&&!i(n.prototype)||(n=void 0),e(n)&&null===(n=n[o])&&(n=void 0)),void 0===n?Array:n}},6886:function(t,n,r){var e=r(2736);t.exports=function(t,n){return new(e(t))(n)}},4398:function(t,n,r){"use strict";var e=r(4963),i=r(5286),o=r(7242),u=[].slice,c={},f=function(t,n,r){if(!(n in c)){for(var e=[],i=0;i1?arguments[1]:void 0,3);r=r?r.n:this._f;)for(e(r.v,r.k,this);r&&r.r;)r=r.p},has:function(t){return!!d(p(this,n),t)}}),h&&e(s.prototype,"size",{get:function(){return p(this,n)[g]}}),s},def:function(t,n,r){var e,i,o=d(t,n);return o?o.v=r:(t._l=o={i:i=v(n,!0),k:n,v:r,p:e=t._l,n:void 0,r:!1},t._f||(t._f=o),e&&(e.n=o),t[g]++,"F"!==i&&(t._i[i]=o)),t},getEntry:d,setStrong:function(t,n,r){a(t,n,(function(t,r){this._t=p(t,n),this._k=r,this._l=void 0}),(function(){for(var t=this,n=t._k,r=t._l;r&&r.r;)r=r.p;return t._t&&(t._l=r=r?r.n:t._t._f)?s(0,"keys"==n?r.k:"values"==n?r.v:[r.k,r.v]):(t._t=void 0,s(1))}),r?"entries":"values",!r,!0),l(n)}}},9567:function(t,n,r){var e=r(1488),i=r(9490);t.exports=function(t){return function(){if(e(this)!=t)throw TypeError(t+"#toJSON isn't generic");return i(this)}}},3657:function(t,n,r){"use strict";var e=r(4408),i=r(4728).getWeak,o=r(7007),u=r(5286),c=r(3328),f=r(3531),a=r(50),s=r(9181),l=r(1616),h=a(5),v=a(6),p=0,g=function(t){return t._l||(t._l=new d)},d=function(){this.a=[]},y=function(t,n){return h(t.a,(function(t){return t[0]===n}))};d.prototype={get:function(t){var n=y(this,t);if(n)return n[1]},has:function(t){return!!y(this,t)},set:function(t,n){var r=y(this,t);r?r[1]=n:this.a.push([t,n])},delete:function(t){var n=v(this.a,(function(n){return n[0]===t}));return~n&&this.a.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,r,o){var a=t((function(t,e){c(t,a,n,"_i"),t._t=n,t._i=p++,t._l=void 0,null!=e&&f(e,r,t[o],t)}));return e(a.prototype,{delete:function(t){if(!u(t))return!1;var r=i(t);return!0===r?g(l(this,n)).delete(t):r&&s(r,this._i)&&delete r[this._i]},has:function(t){if(!u(t))return!1;var r=i(t);return!0===r?g(l(this,n)).has(t):r&&s(r,this._i)}}),a},def:function(t,n,r){var e=i(o(n),!0);return!0===e?g(t).set(n,r):e[t._i]=r,t},ufstore:g}},5795:function(t,n,r){"use strict";var e=r(3816),i=r(2985),o=r(7234),u=r(4408),c=r(4728),f=r(3531),a=r(3328),s=r(5286),l=r(4253),h=r(7462),v=r(2943),p=r(266);t.exports=function(t,n,r,g,d,y){var x=e[t],b=x,m=d?"set":"add",S=b&&b.prototype,w={},_=function(t){var n=S[t];o(S,t,"delete"==t||"has"==t?function(t){return!(y&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return y&&!s(t)?void 0:n.call(this,0===t?0:t)}:"add"==t?function(t){return n.call(this,0===t?0:t),this}:function(t,r){return n.call(this,0===t?0:t,r),this})};if("function"==typeof b&&(y||S.forEach&&!l((function(){(new b).entries().next()})))){var E=new b,O=E[m](y?{}:-0,1)!=E,M=l((function(){E.has(1)})),P=h((function(t){new b(t)})),F=!y&&l((function(){for(var t=new b,n=5;n--;)t[m](n,n);return!t.has(-0)}));P||((b=n((function(n,r){a(n,b,t);var e=p(new x,n,b);return null!=r&&f(r,d,e[m],e),e}))).prototype=S,S.constructor=b),(M||F)&&(_("delete"),_("has"),d&&_("get")),(F||O)&&_(m),y&&S.clear&&delete S.clear}else b=g.getConstructor(n,t,d,m),u(b.prototype,r),c.NEED=!0;return v(b,t),w[t]=b,i(i.G+i.W+i.F*(b!=x),w),y||g.setStrong(b,t,d),b}},5645:function(t){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},2811:function(t,n,r){"use strict";var e=r(9275),i=r(681);t.exports=function(t,n,r){n in t?e.f(t,n,i(0,r)):t[n]=r}},741:function(t,n,r){var e=r(4963);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(r){return t.call(n,r)};case 2:return function(r,e){return t.call(n,r,e)};case 3:return function(r,e,i){return t.call(n,r,e,i)}}return function(){return t.apply(n,arguments)}}},3537:function(t,n,r){"use strict";var e=r(4253),i=Date.prototype.getTime,o=Date.prototype.toISOString,u=function(t){return t>9?t:"0"+t};t.exports=e((function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-50000000000001))}))||!e((function(){o.call(new Date(NaN))}))?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value");var t=this,n=t.getUTCFullYear(),r=t.getUTCMilliseconds(),e=n<0?"-":n>9999?"+":"";return e+("00000"+Math.abs(n)).slice(e?-6:-4)+"-"+u(t.getUTCMonth()+1)+"-"+u(t.getUTCDate())+"T"+u(t.getUTCHours())+":"+u(t.getUTCMinutes())+":"+u(t.getUTCSeconds())+"."+(r>99?r:"0"+u(r))+"Z"}:o},870:function(t,n,r){"use strict";var e=r(7007),i=r(1689),o="number";t.exports=function(t){if("string"!==t&&t!==o&&"default"!==t)throw TypeError("Incorrect hint");return i(e(this),t!=o)}},1355:function(t){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},7057:function(t,n,r){t.exports=!r(4253)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},2457:function(t,n,r){var e=r(5286),i=r(3816).document,o=e(i)&&e(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},4430:function(t){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},5541:function(t,n,r){var e=r(7184),i=r(4548),o=r(4682);t.exports=function(t){var n=e(t),r=i.f;if(r)for(var u,c=r(t),f=o.f,a=0;c.length>a;)f.call(t,u=c[a++])&&n.push(u);return n}},2985:function(t,n,r){var e=r(3816),i=r(5645),o=r(7728),u=r(7234),c=r(741),f=function(t,n,r){var a,s,l,h,v=t&f.F,p=t&f.G,g=t&f.S,d=t&f.P,y=t&f.B,x=p?e:g?e[n]||(e[n]={}):(e[n]||{}).prototype,b=p?i:i[n]||(i[n]={}),m=b.prototype||(b.prototype={});for(a in p&&(r=n),r)l=((s=!v&&x&&void 0!==x[a])?x:r)[a],h=y&&s?c(l,e):d&&"function"==typeof l?c(Function.call,l):l,x&&u(x,a,l,t&f.U),b[a]!=l&&o(b,a,h),d&&m[a]!=l&&(m[a]=l)};e.core=i,f.F=1,f.G=2,f.S=4,f.P=8,f.B=16,f.W=32,f.U=64,f.R=128,t.exports=f},8852:function(t,n,r){var e=r(6314)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(r){try{return n[e]=!1,!"/./"[t](n)}catch(t){}}return!0}},4253:function(t){t.exports=function(t){try{return!!t()}catch(t){return!0}}},8082:function(t,n,r){"use strict";r(8269);var e=r(7234),i=r(7728),o=r(4253),u=r(1355),c=r(6314),f=r(1165),a=c("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,n,r){var h=c(t),v=!o((function(){var n={};return n[h]=function(){return 7},7!=""[t](n)})),p=v?!o((function(){var n=!1,r=/a/;return r.exec=function(){return n=!0,null},"split"===t&&(r.constructor={},r.constructor[a]=function(){return r}),r[h](""),!n})):void 0;if(!v||!p||"replace"===t&&!s||"split"===t&&!l){var g=/./[h],d=r(u,h,""[t],(function(t,n,r,e,i){return n.exec===f?v&&!i?{done:!0,value:g.call(n,r,e)}:{done:!0,value:t.call(r,n,e)}:{done:!1}})),y=d[0],x=d[1];e(String.prototype,t,y),i(RegExp.prototype,h,2==n?function(t,n){return x.call(t,this,n)}:function(t){return x.call(t,this)})}}},3218:function(t,n,r){"use strict";var e=r(7007);t.exports=function(){var t=e(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},3325:function(t,n,r){"use strict";var e=r(4302),i=r(5286),o=r(875),u=r(741),c=r(6314)("isConcatSpreadable");t.exports=function t(n,r,f,a,s,l,h,v){for(var p,g,d=s,y=0,x=!!h&&u(h,v,3);y0)d=t(n,r,p,o(p.length),d,l-1)-1;else{if(d>=9007199254740991)throw TypeError();n[d]=p}d++}y++}return d}},3531:function(t,n,r){var e=r(741),i=r(8851),o=r(6555),u=r(7007),c=r(875),f=r(9002),a={},s={},l=t.exports=function(t,n,r,l,h){var v,p,g,d,y=h?function(){return t}:f(t),x=e(r,l,n?2:1),b=0;if("function"!=typeof y)throw TypeError(t+" is not iterable!");if(o(y)){for(v=c(t.length);v>b;b++)if((d=n?x(u(p=t[b])[0],p[1]):x(t[b]))===a||d===s)return d}else for(g=y.call(t);!(p=g.next()).done;)if((d=i(g,x,p.value,n))===a||d===s)return d};l.BREAK=a,l.RETURN=s},18:function(t,n,r){t.exports=r(3825)("native-function-to-string",Function.toString)},3816:function(t){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},9181:function(t){var n={}.hasOwnProperty;t.exports=function(t,r){return n.call(t,r)}},7728:function(t,n,r){var e=r(9275),i=r(681);t.exports=r(7057)?function(t,n,r){return e.f(t,n,i(1,r))}:function(t,n,r){return t[n]=r,t}},639:function(t,n,r){var e=r(3816).document;t.exports=e&&e.documentElement},1734:function(t,n,r){t.exports=!r(7057)&&!r(4253)((function(){return 7!=Object.defineProperty(r(2457)("div"),"a",{get:function(){return 7}}).a}))},266:function(t,n,r){var e=r(5286),i=r(7375).set;t.exports=function(t,n,r){var o,u=n.constructor;return u!==r&&"function"==typeof u&&(o=u.prototype)!==r.prototype&&e(o)&&i&&i(t,o),t}},7242:function(t){t.exports=function(t,n,r){var e=void 0===r;switch(n.length){case 0:return e?t():t.call(r);case 1:return e?t(n[0]):t.call(r,n[0]);case 2:return e?t(n[0],n[1]):t.call(r,n[0],n[1]);case 3:return e?t(n[0],n[1],n[2]):t.call(r,n[0],n[1],n[2]);case 4:return e?t(n[0],n[1],n[2],n[3]):t.call(r,n[0],n[1],n[2],n[3])}return t.apply(r,n)}},9797:function(t,n,r){var e=r(2032);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},6555:function(t,n,r){var e=r(2803),i=r(6314)("iterator"),o=Array.prototype;t.exports=function(t){return void 0!==t&&(e.Array===t||o[i]===t)}},4302:function(t,n,r){var e=r(2032);t.exports=Array.isArray||function(t){return"Array"==e(t)}},8367:function(t,n,r){var e=r(5286),i=Math.floor;t.exports=function(t){return!e(t)&&isFinite(t)&&i(t)===t}},5286:function(t){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},5364:function(t,n,r){var e=r(5286),i=r(2032),o=r(6314)("match");t.exports=function(t){var n;return e(t)&&(void 0!==(n=t[o])?!!n:"RegExp"==i(t))}},8851:function(t,n,r){var e=r(7007);t.exports=function(t,n,r,i){try{return i?n(e(r)[0],r[1]):n(r)}catch(n){var o=t.return;throw void 0!==o&&e(o.call(t)),n}}},9988:function(t,n,r){"use strict";var e=r(2503),i=r(681),o=r(2943),u={};r(7728)(u,r(6314)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(u,{next:i(1,r)}),o(t,n+" Iterator")}},2923:function(t,n,r){"use strict";var e=r(4461),i=r(2985),o=r(7234),u=r(7728),c=r(2803),f=r(9988),a=r(2943),s=r(468),l=r(6314)("iterator"),h=!([].keys&&"next"in[].keys()),v="keys",p="values",g=function(){return this};t.exports=function(t,n,r,d,y,x,b){f(r,n,d);var m,S,w,_=function(t){if(!h&&t in P)return P[t];switch(t){case v:case p:return function(){return new r(this,t)}}return function(){return new r(this,t)}},E=n+" Iterator",O=y==p,M=!1,P=t.prototype,F=P[l]||P["@@iterator"]||y&&P[y],A=F||_(y),I=y?O?_("entries"):A:void 0,j="Array"==n&&P.entries||F;if(j&&(w=s(j.call(new t)))!==Object.prototype&&w.next&&(a(w,E,!0),e||"function"==typeof w[l]||u(w,l,g)),O&&F&&F.name!==p&&(M=!0,A=function(){return F.call(this)}),e&&!b||!h&&!M&&P[l]||u(P,l,A),c[n]=A,c[E]=g,y)if(m={values:O?A:_(p),keys:x?A:_(v),entries:I},b)for(S in m)S in P||o(P,S,m[S]);else i(i.P+i.F*(h||M),n,m);return m}},7462:function(t,n,r){var e=r(6314)("iterator"),i=!1;try{var o=[7][e]();o.return=function(){i=!0},Array.from(o,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var o=[7],u=o[e]();u.next=function(){return{done:r=!0}},o[e]=function(){return u},t(o)}catch(t){}return r}},5436:function(t){t.exports=function(t,n){return{value:n,done:!!t}}},2803:function(t){t.exports={}},4461:function(t){t.exports=!1},3086:function(t){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},4934:function(t,n,r){var e=r(1801),i=Math.pow,o=i(2,-52),u=i(2,-23),c=i(2,127)*(2-u),f=i(2,-126);t.exports=Math.fround||function(t){var n,r,i=Math.abs(t),a=e(t);return ic||r!=r?a*(1/0):a*r}},6206:function(t){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},8757:function(t){t.exports=Math.scale||function(t,n,r,e,i){return 0===arguments.length||t!=t||n!=n||r!=r||e!=e||i!=i?NaN:t===1/0||t===-1/0?t:(t-n)*(i-e)/(r-n)+e}},1801:function(t){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},4728:function(t,n,r){var e=r(3953)("meta"),i=r(5286),o=r(9181),u=r(9275).f,c=0,f=Object.isExtensible||function(){return!0},a=!r(4253)((function(){return f(Object.preventExtensions({}))})),s=function(t){u(t,e,{value:{i:"O"+ ++c,w:{}}})},l=t.exports={KEY:e,NEED:!1,fastKey:function(t,n){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!o(t,e)){if(!f(t))return"F";if(!n)return"E";s(t)}return t[e].i},getWeak:function(t,n){if(!o(t,e)){if(!f(t))return!0;if(!n)return!1;s(t)}return t[e].w},onFreeze:function(t){return a&&l.NEED&&f(t)&&!o(t,e)&&s(t),t}}},133:function(t,n,r){var e=r(8416),i=r(2985),o=r(3825)("metadata"),u=o.store||(o.store=new(r(147))),c=function(t,n,r){var i=u.get(t);if(!i){if(!r)return;u.set(t,i=new e)}var o=i.get(n);if(!o){if(!r)return;i.set(n,o=new e)}return o};t.exports={store:u,map:c,has:function(t,n,r){var e=c(n,r,!1);return void 0!==e&&e.has(t)},get:function(t,n,r){var e=c(n,r,!1);return void 0===e?void 0:e.get(t)},set:function(t,n,r,e){c(r,e,!0).set(t,n)},keys:function(t,n){var r=c(t,n,!1),e=[];return r&&r.forEach((function(t,n){e.push(n)})),e},key:function(t){return void 0===t||"symbol"==typeof t?t:String(t)},exp:function(t){i(i.S,"Reflect",t)}}},4351:function(t,n,r){var e=r(3816),i=r(4193).set,o=e.MutationObserver||e.WebKitMutationObserver,u=e.process,c=e.Promise,f="process"==r(2032)(u);t.exports=function(){var t,n,r,a=function(){var e,i;for(f&&(e=u.domain)&&e.exit();t;){i=t.fn,t=t.next;try{i()}catch(e){throw t?r():n=void 0,e}}n=void 0,e&&e.enter()};if(f)r=function(){u.nextTick(a)};else if(!o||e.navigator&&e.navigator.standalone)if(c&&c.resolve){var s=c.resolve(void 0);r=function(){s.then(a)}}else r=function(){i.call(e,a)};else{var l=!0,h=document.createTextNode("");new o(a).observe(h,{characterData:!0}),r=function(){h.data=l=!l}}return function(e){var i={fn:e,next:void 0};n&&(n.next=i),t||(t=i,r()),n=i}}},3499:function(t,n,r){"use strict";var e=r(4963);function i(t){var n,r;this.promise=new t((function(t,e){if(void 0!==n||void 0!==r)throw TypeError("Bad Promise constructor");n=t,r=e})),this.resolve=e(n),this.reject=e(r)}t.exports.f=function(t){return new i(t)}},5345:function(t,n,r){"use strict";var e=r(7057),i=r(7184),o=r(4548),u=r(4682),c=r(508),f=r(9797),a=Object.assign;t.exports=!a||r(4253)((function(){var t={},n={},r=Symbol(),e="abcdefghijklmnopqrst";return t[r]=7,e.split("").forEach((function(t){n[t]=t})),7!=a({},t)[r]||Object.keys(a({},n)).join("")!=e}))?function(t,n){for(var r=c(t),a=arguments.length,s=1,l=o.f,h=u.f;a>s;)for(var v,p=f(arguments[s++]),g=l?i(p).concat(l(p)):i(p),d=g.length,y=0;d>y;)v=g[y++],e&&!h.call(p,v)||(r[v]=p[v]);return r}:a},2503:function(t,n,r){var e=r(7007),i=r(5588),o=r(4430),u=r(9335)("IE_PROTO"),c=function(){},f=function(){var t,n=r(2457)("iframe"),e=o.length;for(n.style.display="none",r(639).appendChild(n),n.src="javascript:",(t=n.contentWindow.document).open(),t.write("