1 line
36 KiB
JavaScript
1 line
36 KiB
JavaScript
!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.<br>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.<br>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 <a href='#URL'>en cliquant ici</a>.",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.<br>À 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 <a href=#link target="_blank" rel="noopener" title="À lire :)">les Conditions Générale d\'Utilisation</a> 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 <b>créé son compte le DATE_CREA</b>, la dernière mise à jour datant du DATE_UPDATE.<br><b>Date de sa dernière connexion : DATE_CONNECTION.</b>",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:"<h3>Bonjour USER_NAME,</h3><p>Pour confirmer la suppression de votre compte, cliquez sur le lien ci-dessous sans tarder.</p>",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:"<h3>Bonjour USER_NAME,</h3><p>Pour vous connecter à votre compte, cliquez sur le lien suivant sans tarder :</p>",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:"<h3>Bonjour USER_NAME,</h3><p>Grâce à vous, un nouvel utilisateur (EMAIL) vient de s'inscrire sur NOM_SITE.<br>Si dans l'avenir cette personne souscrit un abonnement prémium, votre propre abonnement sera prolongé de 30 jours.</p><p>Encore merci et à bientôt !</p>",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:"<h3>Bonjour USER_NAME,</h3><p>Pour valider vos nouveaux identifiants de connexion, cliquez sur le lien ci-dessous sans tarder.</p>",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 <b>vous devez cliquer sur le lien qui vient de vous êtres envoyé sur votre adresse (NEW_EMAIL) pour valider ce changement</b>.<br>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:"<h3>Bonjour USER_NAME,</h3><p>Pour valider et compléter votre inscription, merci de cliquer sur le lien ci-dessous dans les 24h.</p>",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:"<h3>Bonjour USER_NAME,</h3><p>Vous venez de valider votre inscription à NOM_SITE. Merci et bienvenue !<br><br>Si vous avez la moindre question ou suggestion concernant NOM_SITE, n'hésitez pas à me contacter en écrivant à <b>EMAIL</b>.<br><br>Je vous conseille d'ailleurs d'ajouter <b>EMAIL</b> à votre carnet d'adresses <b>pour éviter que les prochains envois de NOM_SITE n'arrivent en <i>spam</i></b>.<br><br>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.<br><br>Pour ce faire, utilisez le lien ci-dessous.<br><br>À 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, <a href='/#URL'>cliquez-ici pour vous connecter</a>.",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 <a href='#URL'>en cliquant ici</a>.",validationAlreadyMessageAdmin:"Ce compte a déjà été validé.",validationMessage:"Votre compte vient bien d'être validé. Merci et bienvenue !<br>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;e<t-1;e++)r+=e%2==1?s[Math.floor(Math.random()*s.length)]:n[Math.floor(Math.random()*n.length)];return r+=n[Math.floor(Math.random()*n.length)],r}}e.exports=i},2095:function(e){e.exports={headLinks:[{anchor:"Accueil",attributes:{href:"/"}},{anchor:"Mon compte",attributes:{href:"/connexion.html",id:"accountHeadLink"}},{anchor:"À propos",attributes:{href:"/a-propos.html"}},{anchor:"Contact",attributes:{href:"/contact.html"}}],footLinks:[{anchor:"Crédits",attributes:{href:"/credits.html"}},{anchor:"Mentions légales",attributes:{href:"/mentions-legales.html",rel:"nofollow"}},{anchor:"Données personnelles",attributes:{href:"/donnees.html"}},{anchor:"C.G.U.",attributes:{href:"/cgu.html",rel:"nofollow"}},{anchor:"C.G.V.",attributes:{href:"/cgv.html",rel:"nofollow"}}],maxQuestionnairesByPage:10,userHomePage:"accueil.html",adminHomePage:"admin.html",managerHomePage:"gestion.html",subscribePage:"inscription.html",connectionPage:"connexion.html",accountPage:"compte.html",questionnairesManagementPage:"gestion-quizs.html",usersManagementPage:"gestion-utilisateurs.html",nbQuestionnairesUserHomePage:10,illustrationDir:"/img/quizs/",siteSlogan:"Cultivons notre jardin !",homeTitle1:"De nature curieuse ?",homeP1:'Avec WikiLerni vous apprenez chaque jour de nouvelles choses.<br>Des 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.<br>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.<br>Vous pouvez les utiliser, les modifier et les diffuser selon votre souhait.<br>Sur WikiLerni, pas de publicité, ni de commercialisation de vos données personnelles.<br>Vous pouvez venir y "cultiver votre jardin" en toute tranquillité.<br><br><small><em>(*) Bien que partageant ses valeurs, WikiLerni est un projet indépendant de la fondation Wikipédia.</em></small>',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é.<br>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.<br><br>Toutes les réponses se trouvent dans l'article proposé à la lecture. <b>Vous êtes ici pour apprendre de nouvelles choses</b>, mais libre à vous d'essayer d'y répondre immédiatement.<br><br>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 ? :-)<br><br>Une fois votre résultat obtenu, il vous sera proposé de créer un compte pour le sauvegarder.<br>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.<br><br>Mais <b>la création de ce compte est facultative</b> et <a href='/quizs/' title='Les derniers quizs publiés'>vous pouvez parcourir WikiLerni librement</a>.",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 <a href="/credits.html" title="En savoir plus ?">est libre</a> et vous est offert sans publicité. Vous pouvez <a href="/participer-financement.html" title="Financement participatif avec contre-parties">participer à son financement en cliquant ici</a>.',homePageTxt:"Page d'accueil",homeTitle1:"De nature curieuse ?",homeP1:"<b>Avec WikiLerni, vous apprenez régulièrement de nouvelles choses</b>.<br>Vous découvrez de courts articles, lisibles en quelques minutes.<br>Des quizs vous permettent ensuite de tester ce que vous avez retenu.<br>De jour en jour <b>de nouvelles graines de culture sont ainsi semées dans votre jardin</b>.",homeTitle2:"La culture générale en liberté",homeP2:'<b>Pas de faits alternatifs</b>, tous les contenus sont <b>sourcés par des articles Wikipédia</b>.<br>Et tout comme sur Wikipédia, le logiciel et le contenu publié sur WikiLerni <a href="/credits.html" title="En savoir plus sur ce sujet">sont partagés sous licences libres</a>.<br>Le tout sans publicité, ni commercialisation de vos données.<br><b>Sur WikiLerni, vous cultivez votre jardin en toute tranquillité.</b>',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:"<p><b>Avec WikiLerni, vous pouvez toujours apprendre quelque chose de nouveau</b><br>Si dessous les dernières publications. Vous pouvez aussi <a href='/quizs/themes.html'>parcourir le site par thèmes ou mots-clés</a>.</p>",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:"<h3>Avec WikiLerni, devenez fort en thèmes... Oui mais quels thèmes ? :)</h3><blockquote>Aristote : « L’homme a naturellement la passion de connaître… »</blockquote>",answersExplanationsLinkText:"Relire",quizElementLinksIntro:"En savoir plus",quizElementSubcriptionFormTitle:"Recevez les prochains articles WikiLerni",explanationTitle:"Vous découvrez WikiLerni ?",explanationTxt:"<p>Le principe est simple : <b>vous commencez par lire l’article Wikipédia dont le lien vous est proposé</b>. Puis vous <b>afficher le quiz pour vérifier ce que vous avez retenu de votre lecture</b>. Suivant les questions, <b>une ou plusieurs réponses peuvent être correctes</b> et doivent donc être cochées. C’est toujours <b>le contenu de l’article Wikipédia qui fait foi</b> 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 <a href='/contact.html'>à me signaler une erreur</a>.</p><p><b>WikiLerni vous propose d’autres solutions pour améliorer votre culture générale</b>. Pour en savoir plus, cliquez sur le bouton ci-dessous.</p>",explanationElementTxt:"<p>WikiLerni vous propose de <b>découvrir de courts articles lisibles en quelques minutes</b> et portant sur des sujets très variés de <b>culture générale</b> (arts, histoire, littérature, sciences, etc.).</p><p>Ces articles sont basés sur <b>une ou plusieurs pages de Wikipédia</b> (fournies en lien), dont <b>ils extraient certaines informations</b>.</p><p>Chaque série d’articles est <b>suivie d’un quiz</b> permettant de tester ce que vous en avez retenu.</p><p><b>Vous apprenez ainsi régulièrement de nouvelles choses</b> très simplement.</p>",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,"<br>")),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<Date.now())o("user"),d(n,u,l),p(!1);else{const a=new XMLHttpRequest;a.open("GET",e.apiUrl+i.userRoutes+i.checkLoginRoute+r.token),a.onload=()=>{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+="<li>"+t+" "+(0,a.dateFormat)(i.questionnaires[r].datePublishing,e.availableLangs[0])+": <a href='"+m.questionnairesManagementPage+"?id="+i.questionnaires[r].id+"'>"+i.questionnaires[r].title+"</a>",!1===i.questionnaires[r].isPublishable&&(n+=" <span class='error'>("+L+")</li>"),n+="</li>";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)}})()}()}(); |