1 line
38 KiB
JavaScript
1 line
38 KiB
JavaScript
!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.<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."}},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.<br>Son identifiant est <b>GROUP_ID</b>. 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 <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 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;e<i-1;e++)s+=e%2==1?r[Math.floor(Math.random()*r.length)]:n[Math.floor(Math.random()*n.length)];return s+=n[Math.floor(Math.random()*n.length)],s}}e.exports=t},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,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,"<br>")),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+="<li><a href='"+g.questionnairesManagementPage+"?id="+n.Questionnaires[t].Questionnaire.id+"' id='questionnaire_"+n.Questionnaires[t].Questionnaire.id+"'>"+n.Questionnaires[t].Questionnaire.title+"</a></li>";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<Date.now())r("user"),p(o,a,u),c(!1);else{const s=new XMLHttpRequest;s.open("GET",e.apiUrl+l.userRoutes+l.checkLoginRoute+n.token),s.onload=()=>{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("<br>"):e.message=e.message,o(I,"p",e.message,"",["success"])):e.errors?(Array.isArray(e.errors)?e.errors=e.errors.join("<br>"):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="<option value=''></option>";for(let t in e)i+="<option value='"+e[t].id+"'>"+e[t].title+"</option>";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("<br>"):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 ****")}()}(); |