@1024pix/epreuves-components 4.3.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/{Button.ce-Dvxeebpx.js → Button.ce-DNrjLa1r.js} +1 -1
  2. package/dist/{ButtonTooltip.ce-WwOarMJq.js → ButtonTooltip.ce-DQ8QAvUM.js} +1 -1
  3. package/dist/{Cross.ce.vue_vue_type_script_setup_true_lang-DVLRq2sO.js → Cross.ce.vue_vue_type_script_setup_true_lang-CUc-5ZVt.js} +1 -1
  4. package/dist/{Feedback.ce-CnZRBGWf.js → Feedback.ce-MqHV98f3.js} +1 -1
  5. package/dist/{FocusManager.ce-Cv3wYF9s.js → FocusManager.ce-CwF5pnqR.js} +6 -6
  6. package/dist/Icon.ce-O_y_jvjK.js +50 -0
  7. package/dist/{LLMMessage.ce-B7EwoHy2.js → LLMMessage.ce-Duki08xd.js} +2 -2
  8. package/dist/{Loading.ce-Dv2gEjXm.js → Loading.ce-D7CUjrcI.js} +1 -1
  9. package/dist/{NavigationButton.ce-D8_YC96l.js → NavigationButton.ce-17UL0Mwu.js} +2 -2
  10. package/dist/{PixMailMessage.ce-TnjyOfiH.js → PixMailMessage.ce-CNULZecQ.js} +13 -13
  11. package/dist/{Popin.ce-BPnBZykQ.js → Popin.ce-VvQiVxjk.js} +8 -8
  12. package/dist/{Retry-C3g7zhz8.js → Retry-CGkQcck5.js} +1 -1
  13. package/dist/{Stepper.ce-DEMN02yr.js → Stepper.ce-gx2YaVCo.js} +1 -1
  14. package/dist/{_plugin-vue_export-helper-Dz58mCLm.js → _plugin-vue_export-helper-DROOAHrz.js} +1635 -1540
  15. package/dist/components/analyse-mails-phishing.ce.js.js +11 -11
  16. package/dist/components/button.ce.js.js +2 -2
  17. package/dist/components/calcul-impact.ce.js.js +16 -16
  18. package/dist/components/capacity-calculation.ce.js.js +18 -18
  19. package/dist/components/clickable-image.ce.js.js +12 -12
  20. package/dist/components/complete-phrase.ce.js.js +8 -8
  21. package/dist/components/feedback.ce.js.js +2 -2
  22. package/dist/components/flip-cards.ce.js.js +1 -1
  23. package/dist/components/generate-mdp.ce.js.js +228 -0
  24. package/dist/components/image-quiz.ce.js.js +3 -3
  25. package/dist/components/image-quizzes.ce.js.js +3 -3
  26. package/dist/components/llm-compare-messages.ce.js.js +3 -3
  27. package/dist/components/llm-messages.ce.js.js +3 -3
  28. package/dist/components/llm-prompt-select.ce.js.js +6 -6
  29. package/dist/components/mdp-classement.ce.js.js +17 -17
  30. package/dist/components/message-conversation.ce.js.js +9 -9
  31. package/dist/components/mobile-shell.ce.js.js +1 -1
  32. package/dist/components/notification-antivirus.ce.js.js +305 -0
  33. package/dist/components/phishing-message.ce.js.js +9 -9
  34. package/dist/components/phishing-notification.ce.js.js +4 -4
  35. package/dist/components/pix-anonymisation.ce.js.js +21 -21
  36. package/dist/components/pix-article.ce.js.js +2 -2
  37. package/dist/components/pix-carousel.ce.js.js +13 -13
  38. package/dist/components/pix-combinaisons.ce.js.js +6 -6
  39. package/dist/components/pix-cursor.ce.js.js +3 -3
  40. package/dist/components/pix-mail-message.ce.js.js +3 -3
  41. package/dist/components/proteger-mail-spam.ce.js.js +14 -14
  42. package/dist/components/qcm-deepfake.ce.js.js +17 -17
  43. package/dist/components/quiz-stepper.ce.js.js +6 -6
  44. package/dist/components/select-conversation.ce.js.js +7 -7
  45. package/dist/components/template-mail.ce.js.js +3 -3
  46. package/dist/components/test-top-mdp.ce.js.js +5 -5
  47. package/dist/components/trouver-mdp-rs.ce.js.js +15 -15
  48. package/dist/components/usages-donnees.ce.js.js +52 -52
  49. package/dist/{i18n-H4HokXDX.js → i18n-BVfGnSnP.js} +13 -13
  50. package/dist/{i18n-lite-CzqISEWm.js → i18n-lite-V7Z5qwB2.js} +1 -1
  51. package/dist/{image-quiz.ce-C-iI27gD.js → image-quiz.ce-DLpB-rde.js} +2 -2
  52. package/dist/{index-BUPiE5WR.js → index-BgVc_wZ5.js} +1 -1
  53. package/dist/index.js +3 -1
  54. package/dist/metadata.js +34 -26
  55. package/dist/props.examples.js +101 -97
  56. package/dist/schema.js +59 -55
  57. package/dist/{shadow-dom-D54WF-WZ.js → shadow-dom-4LHwwhYa.js} +1 -1
  58. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- const t = [{ subject: "Votre nouvel avis d’imposition est disponible", from: { name: "Impost.g0uv", address: "no-reply@impost.g0uv.fr" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Votre avis d’imposition est désormais en ligne.", "Pour consulter rapidement,", "merci de vous connecter à votre espace particulier via le lien ci-dessous."] }, { type: "button", name: "Accéder à mon espace particulier" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des impôts"] }], answers: ["from.name", "from.address"], correctFeedback: "Le nom de l’expéditeur est orthographié ‘impost.g0uv’ au lieu de ‘impots.gouv’. Les erreurs dans les noms ou dans les adresses mail sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien l’orthographe du nom et de l’adresse d’expéditeur. Retentez votre chance !" }, { subject: "Notification de facture impayée — EDF", from: { name: "EDF Service Client", address: "support.edf-client@yxztbnc85de.ru" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous n’avons pas reçu le règlement de votre dernière facture.", "Veuillez consulter le détail et effectuer le paiement sécurisé", "dans les 48h pour éviter la suspension de votre abonnement."] }, { type: "button", name: "Voir ma facture" }, { type: "paragraph", content: ["Merci,"] }, { type: "paragraph", content: ["EDF — Service Client"] }], answers: ["from.address"], correctFeedback: "La partie après l’arobase de l’adresse mail ‘yxztbnc85de.ru’ n’a aucun lien avec EDF ou la demande, et n’est même pas compréhensible. C’est un indicateur de hameçonnage.", incorrectFeedback: "Concentrez-vous sur l’adresse mail de l’expediteur. Retentez votre chance !" }, { subject: "Amende impayée - Service des infractions", from: { name: "Service des infractions", address: "infractions@amendes-en-retard.com" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous vous informons que vous avez un retard de paiement d’une amende de 85€ auprès de l’Agence de Traitement Automatisé des Infractions (ANTAI).", "Référence de dossier : ML854YD9.", "Veuillez noter que si vous ne payez pas cette amende dans les prochaines 24 h,", "vous devrez payer une majoration à hauteur de 250€.", "Veuillez régulariser votre situation dans les plus brefs délais."] }, { type: "button", name: "Payr mon amende" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des infractions de l’ANTAI"] }], answers: ["from.address"], correctFeedback: "L’adresse de l’expéditeur ne correspond à aucun organisme officiel. Les incohérences dans les noms et les adresses mails sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien le nom et l’adresse de l’expéditeur. Retentez votre chance ! " }], n = {
2
- mails: t
1
+ const s = [{ subject: "Votre nouvel avis d’imposition est disponible", from: { name: "Impost.g0uv", address: "no-reply@impost.g0uv.fr" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Votre avis d’imposition est désormais en ligne.", "Pour consulter rapidement,", "merci de vous connecter à votre espace particulier via le lien ci-dessous."] }, { type: "button", name: "Accéder à mon espace particulier" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des impôts"] }], answers: ["from.name", "from.address"], correctFeedback: "Le nom de l’expéditeur est orthographié ‘impost.g0uv’ au lieu de ‘impots.gouv’. Les erreurs dans les noms ou dans les adresses mail sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien l’orthographe du nom et de l’adresse d’expéditeur. Retentez votre chance !" }, { subject: "Notification de facture impayée — EDF", from: { name: "EDF Service Client", address: "support.edf-client@yxztbnc85de.ru" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous n’avons pas reçu le règlement de votre dernière facture.", "Veuillez consulter le détail et effectuer le paiement sécurisé", "dans les 48h pour éviter la suspension de votre abonnement."] }, { type: "button", name: "Voir ma facture" }, { type: "paragraph", content: ["Merci,"] }, { type: "paragraph", content: ["EDF — Service Client"] }], answers: ["from.address"], correctFeedback: "La partie après l’arobase de l’adresse mail ‘yxztbnc85de.ru’ n’a aucun lien avec EDF ou la demande, et n’est même pas compréhensible. C’est un indicateur de hameçonnage.", incorrectFeedback: "Concentrez-vous sur l’adresse mail de l’expediteur. Retentez votre chance !" }, { subject: "Amende impayée - Service des infractions", from: { name: "Service des infractions", address: "infractions@amendes-en-retard.com" }, body: [{ type: "paragraph", content: ["Bonjour,"] }, { type: "paragraph", content: ["Nous vous informons que vous avez un retard de paiement d’une amende de 85€ auprès de l’Agence de Traitement Automatisé des Infractions (ANTAI).", "Référence de dossier : ML854YD9.", "Veuillez noter que si vous ne payez pas cette amende dans les prochaines 24 h,", "vous devrez payer une majoration à hauteur de 250€.", "Veuillez régulariser votre situation dans les plus brefs délais."] }, { type: "button", name: "Payr mon amende" }, { type: "paragraph", content: ["Cordialement,"] }, { type: "paragraph", content: ["Service des infractions de l’ANTAI"] }], answers: ["from.address"], correctFeedback: "L’adresse de l’expéditeur ne correspond à aucun organisme officiel. Les incohérences dans les noms et les adresses mails sont de bons indicateurs d’arnaques.", incorrectFeedback: "Observez bien le nom et l’adresse de l’expéditeur. Retentez votre chance ! " }], n = {
2
+ mails: s
3
3
  }, o = 2, i = {
4
4
  titleLevel: o
5
5
  }, a = 2, r = "https://assets.pix.org/modules/capacity-calculation/capacity-initial.svg", c = {
@@ -20,40 +20,44 @@ const t = [{ subject: "Votre nouvel avis d’imposition est disponible", from: {
20
20
  }, y = "Exemples d’utilisation de la reconnaissance d'image dans différents secteurs d'activité", q = [{ name: "Transport", description: "Lecture de plaques d’immatriculation pour automatiser les péages", icon: "https://assets.pix.org/modules/flip-cards/icon-truck.svg", image: "https://assets.pix.org/modules/flip-cards/transport.png" }, { name: "Santé", description: "Analyse de radios pour détecter des signes de cancer", icon: "https://assets.pix.org/modules/flip-cards/icon-heart.svg", image: "https://assets.pix.org/modules/flip-cards/transport.png" }, { name: "Culture", description: "Reconnaissance des textes pour classer des documents dans une bibliothèque", icon: "https://assets.pix.org/modules/flip-cards/icon-palette.svg", image: "https://assets.pix.org/modules/flip-cards/transport.png" }, { name: "Agriculture", description: "Survol de champs et prise de photos pour détecter un manque d’eau", icon: "https://assets.pix.org/modules/flip-cards/icon-tractor.svg", image: "https://assets.pix.org/modules/flip-cards/transport.png" }, { name: "Sécurité", description: "Reconnaissance des visages pour identifier des personnes autorisées", icon: "https://assets.pix.org/modules/flip-cards/icon-shield.svg", image: "https://assets.pix.org/modules/flip-cards/transport.png" }], j = {
21
21
  name: y,
22
22
  cardList: q
23
- }, C = "Mon questionnaire", L = 5, z = "icon", S = !1, A = !0, P = [{ name: "Corbeille", image: { src: "https://epreuves.pix.fr/images/icones/Corbeille.png" }, response: "Poubelle" }, { name: "Skype", image: { src: "https://epreuves.pix.fr/images/icones/Skype.svg" } }, { name: "Chrome", image: { src: "https://epreuves.pix.fr/images/icones/Chrome.svg" } }, { name: "Document", image: { src: "https://epreuves.pix.fr/images/icones/fichierWord.png" } }, { name: "VLC", image: { src: "https://epreuves.pix.fr/images/icones/VLC.svg" } }], T = {
24
- name: C,
25
- maxChoicesPerLine: L,
26
- imageChoicesSize: z,
27
- hideChoicesName: S,
28
- orderChoices: A,
29
- choices: P
30
- }, k = [{ name: "Mon <b>1er</b> questionnaire", multiple: !0, maxChoicesPerLine: 5, imageChoicesSize: "icon", hideChoicesName: !1, orderChoices: !0, choices: [{ name: "Corbeille", image: { src: "https://epreuves.pix.fr/images/icones/Corbeille.png" }, response: "Poubelle" }, { name: "Skype", image: { src: "https://epreuves.pix.fr/images/icones/Skype.svg" } }, { name: "Chrome", image: { src: "https://epreuves.pix.fr/images/icones/Chrome.svg" } }, { name: "Document", image: { src: "https://epreuves.pix.fr/images/icones/fichierWord.png" } }, { name: "VLC", image: { src: "https://epreuves.pix.fr/images/icones/VLC.svg" } }] }, { name: "Mon <b>2ème</b> questionnaire", maxChoicesPerLine: 2, imageChoicesSize: "icon", hideChoicesName: !1, orderChoices: !0, choices: [{ name: "Chrome", image: { src: "https://epreuves.pix.fr/images/icones/Chrome.svg" } }, { name: "Document", image: { src: "https://epreuves.pix.fr/images/icones/fichierWord.png" } }, { name: "Skype", image: { src: "https://epreuves.pix.fr/images/icones/Skype.svg" } }, { name: "VLC", image: { src: "https://epreuves.pix.fr/images/icones/VLC.svg" } }] }], N = {
31
- quizzes: k
32
- }, M = ["r7&Kp9!qZ4#tV2", "MonCh@t!23", "Bonjour1", "1234567"], I = {
33
- passwords: M
34
- }, E = "Conversation entre Emma et Gustave à propos d’un prompt", V = 20, D = [{ userName: "Gustave", direction: "incoming", type: "Texte", content: "Je ne comprends pas... Toi, t’arrives à faire plein de choses avec l’IA, avec moi ça ne marche pas !😒" }, { userName: "Emma", direction: "outgoing", type: "Texte", content: "Ah bon ? 🤖" }, { userName: "Emma", direction: "outgoing", type: "Texte + Image", content: "Quel prompt as-tu utilisé ?", image: { src: "https://epreuves.pix.fr/images/onu4.jpg", alt: "Martin pêcheur en fait" } }, { userName: "Gustave", direction: "incoming", type: "Texte", content: 'Je veux informer les joueurs donc mon prompt c’était "Invite tous les joueurs aux tournois".' }, { userName: "Emma", direction: "outgoing", type: "Texte", content: `C’est normal, ton prompt est trop flou ! L’IA ne peut pas deviner ce que tu veux. 😉
35
- Il y a des techniques pour améliorer les résultats. 💡` }], R = {
36
- conversationTitle: E,
37
- animationSpeed: V,
38
- messages: D
39
- }, B = 2, O = {
40
- titleLevel: B
41
- }, w = [{ name: "Célébrité", icon: "celebrity" }, { name: "Commerce", icon: "business" }, { name: "Particulier", icon: "person" }, { name: "Service public", icon: "publicService" }, { name: "Entreprise", icon: "company" }], $ = [{ icon: "bubble", sender: "IMPOTS-GOUV", content: "Remboursement fiscal de 500e", category: "Service public", time: { minutes: -3 } }, { icon: "letter", sender: "service@enegie.com", content: "Non paiement !!", category: "Entreprise", time: { minutes: -9 } }, { icon: "arobase", sender: "Squizee", content: "Viens à ma soirée d'influenceur", category: "Célébrité", time: { minutes: -34 } }, { icon: "bubble", sender: "ANTAI", content: "Amende plus chère", category: "Service public", time: { minutes: -42 } }, { icon: "letter", sender: "service@fnac.com", content: "Trop chère", category: "Entreprise", time: { minutes: -128 } }], F = "Souvent, les escrocs envoient de faux messages qui semblent venir d’un proche, d’une célébrité ou d’un service connu pour gagner votre confiance.", U = {
42
- categories: w,
43
- notifications: $,
44
- informationMessage: F
45
- }, G = 2, J = [{ fullSentence: [{ content: "J'habite au 12 rue des Lilas, Joliville,", isAnonymizable: !0 }, { content: "je m'appelle Cédric Fostabley,", isAnonymizable: !0 }, { content: "je suis maçon" }, { content: "mon numéro est le 06 12 34 56 78.", isAnonymizable: !0 }, { content: "Peux-tu me faire une carte de visite professionnelle et originale?" }], rephrase: "Je suis maçon et j’aimerai une idée de carte de visite professionnelle et originale. Peux tu me proposer un modèle que je pourrais compléter avec mes informations ?", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }, { fullSentence: [{ content: "Peux-tu écrire une lettre" }, { content: "pour le docteur Vanderbrooke", isAnonymizable: !0 }, { content: "lui demandant de soigner" }, { content: "Madame Sarfati", isAnonymizable: !0 }, { content: "suivie pour son diabète" }, { content: "depuis 5 ans ?" }], rephrase: "Peux-tu écrire une lettre pour un collègue médecin lui demandant de prendre en charge une patiente que je suis pour son diabète depuis 5 ans déjà ?", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }, { fullSentence: [{ content: "Peux-tu rédiger un mail pour mon équipe" }, { content: "afin de lui rappeler que le mot de passe du wifi est AzErTy2024!", isAnonymizable: !0 }, { content: "et qu’ils doivent suivre le mode d’emploi suivant :" }, { content: " http://intranet.example.invalid/procedure-connexion", isAnonymizable: !0 }, { content: "pour s’y connecter ?" }], rephrase: "Peux-tu me proposer un exemple de mail expliquant à une équipe comment se connecter au WiFi d’une organisation ?Je compléterai moi-même ensuite les informations sensibles (mot de passe, lien interne, instructions).", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, cest pas bieng faut pas le faire" }], Q = {
46
- titleLevel: G,
47
- steps: J
48
- }, H = 2, W = "🔴 Une vidéo de la maire de la capitale crée la polémique", Y = "Rédaction Locale", K = "14 mai 2025", Z = ["Une vidéo diffusée ce matin montre la maire de la capitale, Claire Durand, déclarant : « Il faut faire de la place aux jeunes. À partir de l’an prochain, les personnes âgées n’auront plus accès aux parcs municipaux ».", "Relayée massivement sur les réseaux, la séquence suscite de vives réactions, dénonçant des propos « discriminatoires ». Certains demandent la démission immédiate de la maire. Mais l’après-midi même, la mairie réagit : {{highlightedSentence}}, affirme le service communication. La vidéo a été retirée des réseaux sociaux, à la demande de la mairie. Une plainte a été déposée."], X = "« Il s’agit d’un deepfake »", ee = "#bb0101", se = {
49
- titleLevel: H,
50
- articleTitle: W,
51
- author: Y,
52
- date: K,
53
- paragraphs: Z,
54
- highlightedSentence: X,
55
- colorOfHighlightSentence: ee
56
- }, te = 2, ne = "image", oe = !1, ie = [{ title: "Situation A", description: "Super description!", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: 'une alternative A avec des "double quotes"' } }, { title: "Situation B", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at imperdiet libero, eget suscipit enim. Proin in nibh id ligula tempus suscipit eu at dolor. Fusce tincidunt gravida turpis, a sagittis ex bibendum nec. Morbi hendrerit lectus sed libero tristique, non luctus diam ultricies. Cras in quam consectetur, tempor quam id, euismod turpis. Duis faucibus erat lectus, blandit mattis lectus euismod quis. Duis imperdiet volutpat metus at varius. Nunc vitae mattis leo, ac vehicula urna. Mauris euismod eleifend lorem quis porta. Quisque ac diam sollicitudin nisl convallis ullamcorper. Donec ut suscipit arcu.", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "une alternative B" } }, { title: "Liste non ordonnée", description: `
23
+ }, C = 2, L = {
24
+ titleLevel: C
25
+ }, z = "Mon questionnaire", S = 5, A = "icon", P = !1, T = !0, k = [{ name: "Corbeille", image: { src: "https://epreuves.pix.fr/images/icones/Corbeille.png" }, response: "Poubelle" }, { name: "Skype", image: { src: "https://epreuves.pix.fr/images/icones/Skype.svg" } }, { name: "Chrome", image: { src: "https://epreuves.pix.fr/images/icones/Chrome.svg" } }, { name: "Document", image: { src: "https://epreuves.pix.fr/images/icones/fichierWord.png" } }, { name: "VLC", image: { src: "https://epreuves.pix.fr/images/icones/VLC.svg" } }], N = {
26
+ name: z,
27
+ maxChoicesPerLine: S,
28
+ imageChoicesSize: A,
29
+ hideChoicesName: P,
30
+ orderChoices: T,
31
+ choices: k
32
+ }, M = [{ name: "Mon <b>1er</b> questionnaire", multiple: !0, maxChoicesPerLine: 5, imageChoicesSize: "icon", hideChoicesName: !1, orderChoices: !0, choices: [{ name: "Corbeille", image: { src: "https://epreuves.pix.fr/images/icones/Corbeille.png" }, response: "Poubelle" }, { name: "Skype", image: { src: "https://epreuves.pix.fr/images/icones/Skype.svg" } }, { name: "Chrome", image: { src: "https://epreuves.pix.fr/images/icones/Chrome.svg" } }, { name: "Document", image: { src: "https://epreuves.pix.fr/images/icones/fichierWord.png" } }, { name: "VLC", image: { src: "https://epreuves.pix.fr/images/icones/VLC.svg" } }] }, { name: "Mon <b>2ème</b> questionnaire", maxChoicesPerLine: 2, imageChoicesSize: "icon", hideChoicesName: !1, orderChoices: !0, choices: [{ name: "Chrome", image: { src: "https://epreuves.pix.fr/images/icones/Chrome.svg" } }, { name: "Document", image: { src: "https://epreuves.pix.fr/images/icones/fichierWord.png" } }, { name: "Skype", image: { src: "https://epreuves.pix.fr/images/icones/Skype.svg" } }, { name: "VLC", image: { src: "https://epreuves.pix.fr/images/icones/VLC.svg" } }] }], I = {
33
+ quizzes: M
34
+ }, E = ["r7&Kp9!qZ4#tV2", "MonCh@t!23", "Bonjour1", "1234567"], V = {
35
+ passwords: E
36
+ }, D = "Conversation entre Emma et Gustave à propos d’un prompt", R = 20, B = [{ userName: "Gustave", direction: "incoming", type: "Texte", content: "Je ne comprends pas... Toi, t’arrives à faire plein de choses avec l’IA, avec moi ça ne marche pas !😒" }, { userName: "Emma", direction: "outgoing", type: "Texte", content: "Ah bon ? 🤖" }, { userName: "Emma", direction: "outgoing", type: "Texte + Image", content: "Quel prompt as-tu utilisé ?", image: { src: "https://epreuves.pix.fr/images/onu4.jpg", alt: "Martin pêcheur en fait" } }, { userName: "Gustave", direction: "incoming", type: "Texte", content: 'Je veux informer les joueurs donc mon prompt c’était "Invite tous les joueurs aux tournois".' }, { userName: "Emma", direction: "outgoing", type: "Texte", content: `C’est normal, ton prompt est trop flou ! L’IA ne peut pas deviner ce que tu veux. 😉
37
+ Il y a des techniques pour améliorer les résultats. 💡` }], O = {
38
+ conversationTitle: D,
39
+ animationSpeed: R,
40
+ messages: B
41
+ }, w = 2, $ = {
42
+ titleLevel: w
43
+ }, F = 2, U = {
44
+ titleLevel: F
45
+ }, G = [{ name: "Célébrité", icon: "celebrity" }, { name: "Commerce", icon: "business" }, { name: "Particulier", icon: "person" }, { name: "Service public", icon: "publicService" }, { name: "Entreprise", icon: "company" }], J = [{ icon: "bubble", sender: "IMPOTS-GOUV", content: "Remboursement fiscal de 500e", category: "Service public", time: { minutes: -3 } }, { icon: "letter", sender: "service@enegie.com", content: "Non paiement !!", category: "Entreprise", time: { minutes: -9 } }, { icon: "arobase", sender: "Squizee", content: "Viens à ma soirée d'influenceur", category: "Célébrité", time: { minutes: -34 } }, { icon: "bubble", sender: "ANTAI", content: "Amende plus chère", category: "Service public", time: { minutes: -42 } }, { icon: "letter", sender: "service@fnac.com", content: "Trop chère", category: "Entreprise", time: { minutes: -128 } }], Q = "Souvent, les escrocs envoient de faux messages qui semblent venir d’un proche, d’une célébrité ou dun service connu pour gagner votre confiance.", H = {
46
+ categories: G,
47
+ notifications: J,
48
+ informationMessage: Q
49
+ }, W = 2, Y = [{ fullSentence: [{ content: "J'habite au 12 rue des Lilas, Joliville,", isAnonymizable: !0 }, { content: "je m'appelle Cédric Fostabley,", isAnonymizable: !0 }, { content: "je suis maçon" }, { content: "mon numéro est le 06 12 34 56 78.", isAnonymizable: !0 }, { content: "Peux-tu me faire une carte de visite professionnelle et originale?" }], rephrase: "Je suis maçon et j’aimerai une idée de carte de visite professionnelle et originale. Peux tu me proposer un modèle que je pourrais compléter avec mes informations ?", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }, { fullSentence: [{ content: "Peux-tu écrire une lettre" }, { content: "pour le docteur Vanderbrooke", isAnonymizable: !0 }, { content: "lui demandant de soigner" }, { content: "Madame Sarfati", isAnonymizable: !0 }, { content: "suivie pour son diabète" }, { content: "depuis 5 ans ?" }], rephrase: "Peux-tu écrire une lettre pour un collègue médecin lui demandant de prendre en charge une patiente que je suis pour son diabète depuis 5 ans déjà ?", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }, { fullSentence: [{ content: "Peux-tu rédiger un mail pour mon équipe" }, { content: "afin de lui rappeler que le mot de passe du wifi est AzErTy2024!", isAnonymizable: !0 }, { content: "et qu’ils doivent suivre le mode d’emploi suivant :" }, { content: " http://intranet.example.invalid/procedure-connexion", isAnonymizable: !0 }, { content: "pour s’y connecter ?" }], rephrase: "Peux-tu me proposer un exemple de mail expliquant à une équipe comment se connecter au WiFi d’une organisation ?Je compléterai moi-même ensuite les informations sensibles (mot de passe, lien interne, instructions).", feedback: "On reformule ici afin d’éviter de donner des informations perso à une IA, c’est pas bieng faut pas le faire" }], K = {
50
+ titleLevel: W,
51
+ steps: Y
52
+ }, Z = 2, X = "🔴 Une vidéo de la maire de la capitale crée la polémique", ee = "Rédaction Locale", te = "14 mai 2025", se = ["Une vidéo diffusée ce matin montre la maire de la capitale, Claire Durand, déclarant : « Il faut faire de la place aux jeunes. À partir de l’an prochain, les personnes âgées n’auront plus accès aux parcs municipaux ».", "Relayée massivement sur les réseaux, la séquence suscite de vives réactions, dénonçant des propos « discriminatoires ». Certains demandent la démission immédiate de la maire. Mais l’après-midi même, la mairie réagit : {{highlightedSentence}}, affirme le service communication. La vidéo a été retirée des réseaux sociaux, à la demande de la mairie. Une plainte a été déposée."], ne = "« Il s’agit d’un deepfake »", oe = "#bb0101", ie = {
53
+ titleLevel: Z,
54
+ articleTitle: X,
55
+ author: ee,
56
+ date: te,
57
+ paragraphs: se,
58
+ highlightedSentence: ne,
59
+ colorOfHighlightSentence: oe
60
+ }, ae = 2, re = "image", ce = !1, ue = [{ title: "Situation A", description: "Super description!", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: 'une alternative A avec des "double quotes"' } }, { title: "Situation B", description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at imperdiet libero, eget suscipit enim. Proin in nibh id ligula tempus suscipit eu at dolor. Fusce tincidunt gravida turpis, a sagittis ex bibendum nec. Morbi hendrerit lectus sed libero tristique, non luctus diam ultricies. Cras in quam consectetur, tempor quam id, euismod turpis. Duis faucibus erat lectus, blandit mattis lectus euismod quis. Duis imperdiet volutpat metus at varius. Nunc vitae mattis leo, ac vehicula urna. Mauris euismod eleifend lorem quis porta. Quisque ac diam sollicitudin nisl convallis ullamcorper. Donec ut suscipit arcu.", image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "une alternative B" } }, { title: "Liste non ordonnée", description: `
57
61
  <ul>
58
62
  <li>Ruben</li>
59
63
  <li>Chase</li>
@@ -66,68 +70,68 @@ Il y a des techniques pour améliorer les résultats. 💡` }], R = {
66
70
  <li>Zuma</li>
67
71
  <li>Stella</li>
68
72
  </ol>
69
- `, image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "" } }], ae = {
70
- titleLevel: te,
71
- type: ne,
72
- disableAnimation: oe,
73
- slides: ie
74
- }, re = 2, ce = {
75
- titleLevel: re
76
- }, ue = [{ label: "Bon", feedback: { type: "good", text: "OUI, ÇA SENT LA PATATE ! 🎉" } }, { label: "Presque", feedback: { type: "close", text: "PATATE 🥔" } }, { label: "Neutre", feedback: { type: "neutral", text: "POUET 💨" } }, { label: "Incorrect", feedback: { type: "bad", text: "❌ C'EST NON! Et voici pourquoi : <br>Quis elit cupidatat commodo adipisicing aliqua qui commodo proident ipsum dolore culpa in. Mollit eiusmod elit sint in aute nulla enim. Sit sint in sunt esse excepteur cupidatat et adipisicing nulla excepteur consectetur reprehenderit est ipsum. Cupidatat proident est pariatur minim labore excepteur culpa aliqua consectetur laboris voluptate consectetur enim nulla laboris. Aliquip occaecat irure sunt. Laboris eiusmod eu dolor veniam minim proident. Elit consequat est occaecat." } }], le = {
77
- options: ue
78
- }, pe = { title: "Titre 1", llmName: "Nono" }, me = { title: "Autre Titre de ouf la dinguerie c'est long", llmName: "Jaja" }, de = "Bob", ve = [{ direction: "outbound", content: "<p>Comment aller facilement de Rennes à Brest en train demain ?</p>" }, [{ direction: "inbound", content: "<p>Voici les itinéraires de demain :<br>Train OUIGO, durée 2h15 08h22 --> 10h37<br>TGV INOUI, durée 2h13 09h33 --> 11h46</p>" }, { direction: "inbound", content: "<p>Pour aller facilement de Rennes à Brest en train demain, plusieurs options directes sont disponibles :<br>08h22 - 10h37 : OUIGO, direct, environ 2h15 ;<br>09h33 - 11h46 : TGV INOUI, direct, environ 2h13.</p>" }], { direction: "outbound", content: "<p>Et qu'est-ce que je peux visiter à Brest ?</p>" }, [{ direction: "inbound", content: "<p>Je ne peux pas vous aider désolé. Votre demande ne correspond pas aux services que je propose. Est-ce que vous voulez de l’aide pour réserver un billet de train ?</p>" }, { direction: "inbound", content: "<p>Voici 3 endroits incontournables à Brest :<br>Océanopolis : grand aquarium dédié aux écosystèmes marins.<br>Château de Brest : forteresse avec musée maritime.<br>Ateliers des Capucins : espace culturel moderne accessible en téléphérique.</p>" }]], ge = {
79
- conversation1: pe,
80
- conversation2: me,
81
- userName: de,
82
- messages: ve
83
- }, be = [{ direction: "outbound", content: "Bonjour" }, { direction: "inbound", content: "<strong>Bonjour,</strong> je m’appelle ChatPix !<br>Comment puis-je vous aider aujourd’hui ?<br>Avez-vous besoin d’une recette de cookie géant ?" }, { direction: "outbound", content: "Pourquoi pas..." }, { direction: "inbound", content: "Pour faire un cookie géant, prenez une recette de cookie, et multipliez toutes les doses par 10.<br>Ensuite au lieu de faire des petits tas de pate, faites un gros tas de pate sur votre plaque de cuisson.<br><strong>Et voilà !</strong>" }, { direction: "outbound", content: "Elle est bizarre ta recette." }, { direction: "inbound", content: "Désolé si ma recette ne vous plaît pas, souhaitez-vous une recette différente ?" }, { direction: "outbound", content: "Non." }], fe = {
84
- messages: be
85
- }, he = [{ direction: "inbound", content: "<strong>Bonjour,</strong> je m’appelle ChatPix !<br>Comment puis-je vous aider aujourd’hui ?" }], xe = [{ prompt: "Traduis le mot racoon en français.", response: 'Le mot "racoon" se traduit par "raton laveur" en français.' }, { prompt: "Écris un modèle de mail de remerciement.", response: "Objet : Merci<br><br>Bonjour [Prénom],<br>Merci pour [votre aide / notre échange / votre temps].<br>Bien à vous,<br>[Votre prénom]" }, { prompt: "Liste-moi 10 noms de chiens.", response: "1. Tokyo<br>2. Nala<br>3. Milou<br>4. Sushi<br>5. Luna<br>6. Apéro<br>7. Simba<br>8. Paco<br>9. Bart<br>10. Cookie" }], _e = {
86
- messages: he,
87
- prompts: xe
88
- }, ye = { reply: "disabled", menuActions: { markAsUnread: "disabled", blockSender: "hidden" } }, qe = { subject: "Votre facture #A‑91382", time: { days: -2, minutes: -5 }, body: "salut [monsieur/madame]<br> ceci est un lien <a href='http://www.test.com'>link Fake</a><br> cho'", sender: { name: "Micr0sofot", address: "billing@micros0ft.com", avatarColor: "#f24645" }, previousMail: { time: { days: -5, minutes: -10 }, body: "[Madame, / Monsieur,]<br><br>Nous vous remercions sincèrement pour votre message et l’intérêt que vous portez à [Nom de votre entreprise] ainsi qu’à nos services.Nous répondrons à votre message dans les plus brefs délais et restons à votre disposition pour toute demande supplémentaire, y compris une rencontre personnelle si vous le souhaitez. D’ici là, vous pouvez obtenir des informations complémentaires sur nos [Produits/Services] en consultant, par exemple, nos réseaux sociaux sur [Lien vers les réseaux sociaux, par exemple, YouTube] ou en téléchargeant notre [Lien de téléchargement, tel qu’une présentation d’entreprise ou un document technique].<br>Chaleureusement,<br>L’équipe de [Nom de votre entreprise]", sender: { name: "Alex" } } }, je = {
89
- actions: ye,
90
- mail: qe
91
- }, Ce = 2, Le = [{ title: "Première situation : Se protéger", description: "Utilisez l’interface pour ne plus recevoir de message en provenance de cette adresse mail.", actions: { return: "disabled", menuActions: { markAsUnread: "hidden", reportSpam: "hidden" } }, goodAction: "blockSender", mail: { subject: "[URGENT] Votre accès sera suspendu", sender: { name: "Bnq secure", address: "alert@bnq-secure.link", avatarColor: "#2f80ed" }, body: "Bonjour, <br><br>Nous avons détecté une activité suspecte sur votre compte.Par mesure de sécurité, l’accès sera suspendu dans les 2 heures si vous ne confirmez pas vos informations.<br><br>Confirmez votre compte ici : <a href='fake'>http://securite-compte-verification.com</a><br><br>Sans confirmation, vos services seront définitivement bloqués. Support Client MaBanque", time: { minutes: -5 } } }, { title: "Deuxième situation : Protéger les autres", description: "Le mail suivant est aussi frauduleux. Utilisez l’interface pour signaler le message et aider à renforcer les filtres anti‑spam.", actions: { return: "disabled", menuActions: { markAsUnread: "hidden" } }, goodAction: "reportSpam", mail: { subject: "Mise à jour de vos données Microsoft", sender: { name: " Service Données Utilisateurs", address: "donnees-gestion-utilisateurs@service-microsoft.com", avatarColor: "#2f80ed" }, body: "Bonjour,<br><br>Dans le cadre de l’évolution de notre politique de traitement des données personnelles, une validation de vos informations est désormais obligatoire. Veuillez mettre à jour vos informations dans les 3 jours.<br><br>Merci de vérifier et compléter vos informations via le portail sécurisé : <a href='fake'>http://portail-donnees-utilisateur-microsoft.com</a><br><br>Cordialement, Service Données & Conformité Microsoft", time: { minutes: -10 } } }], ze = {
92
- titleLevel: Ce,
93
- steps: Le
94
- }, Se = 2, Ae = "https://epreuves.pix.fr/images/camtasia.png", Pe = "https://epreuves.pix.fr/images/icones/actu.jpg", Te = "https://epreuves.pix.fr/images/icones/avg.png", ke = "https://epreuves.pix.fr/images/icones/avira.svg", Ne = {
95
- titleLevel: Se,
96
- successImage: Ae,
97
- failImage: Pe,
98
- infoImage: Te,
99
- searchImage: ke
100
- }, Me = 2, Ie = [{ question: "Quelle version de ce message vous inciterait le plus à réagir ?", feedback: { success: "Effectivement, même si les deux messages transmettent la même idée, le second message crée un sentiment d’urgence et de menace. C’est un biais de cadrage : la manière dont l’information est présentée influence notre réaction.", failed: "Ici, même si les deux messages transmettent la même idée, le second message crée un sentiment d’urgence et de menace. C’est un biais de cadrage : la manière dont l’information est présentée influence notre réaction." }, choice1: { title: "Message 1", content: `Bonjour,
101
- une facture est arrivée à échéance. Merci de la régler dans les plus brefs délais.` }, choice2: { title: "Message 2", content: "⚠ URGENT : Si vous ne réglez pas cette facture sous 24h, votre compte sera suspendu et des pénalités financières s’appliqueront.", isGoodAnswer: !0 } }, { question: "Quelle belle deuxième question que voila ?", feedback: { success: "Bravo !", failed: "Dommage :(" }, choice1: { content: "CONTENT: Réponse 1 sans titre!" }, choice2: { content: "CONTENT: Réponse 2 sans titre!", isGoodAnswer: !0 } }, { question: "Quelle belle troisième non-question !", feedback: { success: "Bravo2 !", failed: "Dommage2 :(" }, choice1: { title: "TITLE : Bonne réponse", isGoodAnswer: !0 }, choice2: { title: "TITLE: Mauvaise réponse" } }], Ee = {
102
- titleLevel: Me,
103
- steps: Ie
104
- }, Ve = { username: "Yvette", content: "Ok, mais en cas de doute, je fais quoi ? La banque ça peut être urgent !", time: { minutes: -5 } }, De = "Xavier", Re = [{ content: "Répond STOP au SMS, ça va le bloquer.", goodIdea: !1, feedback: "Répondre STOP à un SMS d’arnaque ne permet pas de vérifier sa véracité ni de bloquer l’expéditeur.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Contacte ta banque au numéro habituel ou via ton application bancaire.", goodIdea: !0, feedback: "Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Rappelle directement le numéro qui t’a envoyé le message.", goodIdea: !1, feedback: "Rappeler le numéro, c’est prendre le risque de tomber sur un escroc qui vous manipulera.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }], Be = {
105
- incomingMessage: Ve,
106
- username: De,
107
- responseChoices: Re
108
- }, Oe = "Votre facture #A‑91382", we = "billing@micros0ft.com", $e = "#f24645", Fe = "Micr0sofot", Ue = { days: -2, minutes: -5 }, Ge = "salut [monsieur/madame]<br> ceci est un lien <a href='http://www.test.com'>link Fake</a><br> cho'", Je = { time: { days: -5, minutes: -10 }, content: "[Madame, / Monsieur,]<br><br>Nous vous remercions sincèrement pour votre message et l’intérêt que vous portez à [Nom de votre entreprise] ainsi qu’à nos services.Nous répondrons à votre message dans les plus brefs délais et restons à votre disposition pour toute demande supplémentaire, y compris une rencontre personnelle si vous le souhaitez. D’ici là, vous pouvez obtenir des informations complémentaires sur nos [Produits/Services] en consultant, par exemple, nos réseaux sociaux sur [Lien vers les réseaux sociaux, par exemple, YouTube] ou en téléchargeant notre [Lien de téléchargement, tel qu’une présentation d’entreprise ou un document technique].<br>Chaleureusement,<br>L’équipe de [Nom de votre entreprise]", name: "Alex" }, Qe = {
109
- subject: Oe,
110
- mailAddress: we,
111
- avatarColor: $e,
112
- expeditor: Fe,
113
- time: Ue,
114
- content: Ge,
115
- previousMail: Je
116
- }, He = ["123456", "123456789", "azerty", "1234561", "qwerty", "marseille", "000000", "1234567891", "doudou", "12345"], We = "marseille", Ye = { success: { title: "Vous avez trouvé le mot de passe <b>d’Ulysse</b>", content: "Les <i>pirates</i> ont des listes contenant les mots de passe les plus fréquents, tous les mots du dictionnaire, des prénoms.<br>Ils utilisent des programmes informatiques qui permettent de tester des millions de mots en quelques secondes : on appelle ça une attaque par dictionnaire." }, failed: { title: "Eh non !", content: "Mot de passe incorrect. Réessayez avec un autre mot de passe." } }, Ke = {
117
- passwords: He,
118
- expectedPassword: We,
119
- feedback: Ye
120
- }, Ze = { password: "Timeo2014", user: "emma_vtr" }, Xe = { success: { title: "Connexion réussie", content: "Quelqu’un qui vous connaît ou un <b>pirate informatique</b> qui cherche des informations personnelles à votre sujet peut facilement deviner ce type de mot de passe." }, failed: { title: "Mauvaise réponse", content: "Astuce : Comme Emma l’a dit à <i>Jennifer</i>, son mot de passe est composé du prénom de son fils et l’année de naissance de son chat. Réessayer en saisissant le bon mot de passe à l’aide de ces informations en complétant le champ adéquat." } }, es = { userName: "Emma_VTR", tag: "@emma_vtr", bio: "Bio : Fan de chats 🐱 · Voyage à Lisbonne 2023 🇵🇹 · Maman de Timéo 💕", location: "Paris, FR", publications: [{ date: "2024-12-09", content: "Déjà 10 ans que j'ai sauvé Misty ! 🐾💖 De petit chaton abandonné, il s'est transformé en panthère d'appartement !" }, { date: "2024-12-08", content: "Lisbonne, souvenirs d’été" }] }, ss = {
121
- validations: Ze,
122
- feedback: Xe,
123
- userProfile: es
124
- }, ts = [{ label: "Fichiers administratifs (carte d’identité…)", hasValue: !0 }, { label: "Photos personnelles", hasValue: !0 }, { label: "Vidéos personnelles", hasValue: !0 }, { label: "Musiques téléchargées" }, { label: "Documents de travail (devoirs, projets…)", hasValue: !0 }, { label: "Identifiants et mots de passe enregistrés", hasValue: !0 }], ns = [{ label: "Consulter ses mails", hasValue: !0 }, { label: "Effectuer des achats", hasValue: !0 }, { label: "Lire des actualités" }, { label: "Publier sur les réseaux sociaux", hasValue: !0 }, { label: "Regarder des vidéos" }, { label: "Jouer" }], os = {
125
- localeChoices: ts,
126
- cloudChoices: ns
127
- }, is = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.example.props.json": n, "./calcul-impact/calcul-impact.example.props.json": i, "./capacity-calculation/capacity-calculation.example.props.json": c, "./clickable-image/clickable-image-without-spot.example.props.json": p, "./clickable-image/clickable-image.example.props.json": v, "./complete-phrase/complete-phrase.example.props.json": _, "./flip-cards/flip-cards.example.props.json": j, "./image-quiz/image-quiz.example.props.json": T, "./image-quiz/image-quizzes.example.props.json": N, "./mdp-classement/mdp-classement.example.props.json": I, "./message-conversation/message-conversation.example.props.json": R, "./phishing-message/phishing-message.example.props.json": O, "./phishing-notification/phishing-notification.example.props.json": U, "./pix-anonymisation/pix-anonymisation.example.props.json": Q, "./pix-article/pix-article.example.props.json": se, "./pix-carousel/pix-carousel.example.props.json": ae, "./pix-combinaisons/pix-combinaisons.example.props.json": ce, "./pix-cursor/pix-cursor.example.props.json": le, "./pix-llm/llm-compare-messages.example.props.json": ge, "./pix-llm/llm-messages.example.props.json": fe, "./pix-llm/llm-prompt-select.example.props.json": _e, "./pix-mail-message/pix-mail-message.example.props.json": je, "./proteger-mail-spam/proteger-mail-spam.example.props.json": ze, "./qcm-deepfake/qcm-deepfake.example.props.json": Ne, "./quiz-stepper/quiz-stepper.example.props.json": Ee, "./select-conversation/select-conversation.example.props.json": Be, "./template-mail/template-mail.example.props.json": Qe, "./test-top-mdp/test-top-mdp.example.props.json": Ke, "./trouver-mdp-rs/trouver-mdp-rs.example.props.json": ss, "./usages-donnees/usages-donnees.example.props.json": os }), as = Object.fromEntries(Object.entries(is).map(([e, s]) => [
73
+ `, image: { src: "https://epreuves.pix.fr/_astro/connaitre_va1_profil2.DsTLuIpH.jpg", alt: "" } }], le = {
74
+ titleLevel: ae,
75
+ type: re,
76
+ disableAnimation: ce,
77
+ slides: ue
78
+ }, pe = 2, me = {
79
+ titleLevel: pe
80
+ }, de = [{ label: "Bon", feedback: { type: "good", text: "OUI, ÇA SENT LA PATATE ! 🎉" } }, { label: "Presque", feedback: { type: "close", text: "PATATE 🥔" } }, { label: "Neutre", feedback: { type: "neutral", text: "POUET 💨" } }, { label: "Incorrect", feedback: { type: "bad", text: "❌ C'EST NON! Et voici pourquoi : <br>Quis elit cupidatat commodo adipisicing aliqua qui commodo proident ipsum dolore culpa in. Mollit eiusmod elit sint in aute nulla enim. Sit sint in sunt esse excepteur cupidatat et adipisicing nulla excepteur consectetur reprehenderit est ipsum. Cupidatat proident est pariatur minim labore excepteur culpa aliqua consectetur laboris voluptate consectetur enim nulla laboris. Aliquip occaecat irure sunt. Laboris eiusmod eu dolor veniam minim proident. Elit consequat est occaecat." } }], ve = {
81
+ options: de
82
+ }, ge = { title: "Titre 1", llmName: "Nono" }, be = { title: "Autre Titre de ouf la dinguerie c'est long", llmName: "Jaja" }, fe = "Bob", he = [{ direction: "outbound", content: "<p>Comment aller facilement de Rennes à Brest en train demain ?</p>" }, [{ direction: "inbound", content: "<p>Voici les itinéraires de demain :<br>Train OUIGO, durée 2h15 08h22 --> 10h37<br>TGV INOUI, durée 2h13 09h33 --> 11h46</p>" }, { direction: "inbound", content: "<p>Pour aller facilement de Rennes à Brest en train demain, plusieurs options directes sont disponibles :<br>08h22 - 10h37 : OUIGO, direct, environ 2h15 ;<br>09h33 - 11h46 : TGV INOUI, direct, environ 2h13.</p>" }], { direction: "outbound", content: "<p>Et qu'est-ce que je peux visiter à Brest ?</p>" }, [{ direction: "inbound", content: "<p>Je ne peux pas vous aider désolé. Votre demande ne correspond pas aux services que je propose. Est-ce que vous voulez de l’aide pour réserver un billet de train ?</p>" }, { direction: "inbound", content: "<p>Voici 3 endroits incontournables à Brest :<br>Océanopolis : grand aquarium dédié aux écosystèmes marins.<br>Château de Brest : forteresse avec musée maritime.<br>Ateliers des Capucins : espace culturel moderne accessible en téléphérique.</p>" }]], xe = {
83
+ conversation1: ge,
84
+ conversation2: be,
85
+ userName: fe,
86
+ messages: he
87
+ }, _e = [{ direction: "outbound", content: "Bonjour" }, { direction: "inbound", content: "<strong>Bonjour,</strong> je m’appelle ChatPix !<br>Comment puis-je vous aider aujourd’hui ?<br>Avez-vous besoin d’une recette de cookie géant ?" }, { direction: "outbound", content: "Pourquoi pas..." }, { direction: "inbound", content: "Pour faire un cookie géant, prenez une recette de cookie, et multipliez toutes les doses par 10.<br>Ensuite au lieu de faire des petits tas de pate, faites un gros tas de pate sur votre plaque de cuisson.<br><strong>Et voilà !</strong>" }, { direction: "outbound", content: "Elle est bizarre ta recette." }, { direction: "inbound", content: "Désolé si ma recette ne vous plaît pas, souhaitez-vous une recette différente ?" }, { direction: "outbound", content: "Non." }], ye = {
88
+ messages: _e
89
+ }, qe = [{ direction: "inbound", content: "<strong>Bonjour,</strong> je m’appelle ChatPix !<br>Comment puis-je vous aider aujourd’hui ?" }], je = [{ prompt: "Traduis le mot racoon en français.", response: 'Le mot "racoon" se traduit par "raton laveur" en français.' }, { prompt: "Écris un modèle de mail de remerciement.", response: "Objet : Merci<br><br>Bonjour [Prénom],<br>Merci pour [votre aide / notre échange / votre temps].<br>Bien à vous,<br>[Votre prénom]" }, { prompt: "Liste-moi 10 noms de chiens.", response: "1. Tokyo<br>2. Nala<br>3. Milou<br>4. Sushi<br>5. Luna<br>6. Apéro<br>7. Simba<br>8. Paco<br>9. Bart<br>10. Cookie" }], Ce = {
90
+ messages: qe,
91
+ prompts: je
92
+ }, Le = { reply: "disabled", menuActions: { markAsUnread: "disabled", blockSender: "hidden" } }, ze = { subject: "Votre facture #A‑91382", time: { days: -2, minutes: -5 }, body: "salut [monsieur/madame]<br> ceci est un lien <a href='http://www.test.com'>link Fake</a><br> cho'", sender: { name: "Micr0sofot", address: "billing@micros0ft.com", avatarColor: "#f24645" }, previousMail: { time: { days: -5, minutes: -10 }, body: "[Madame, / Monsieur,]<br><br>Nous vous remercions sincèrement pour votre message et l’intérêt que vous portez à [Nom de votre entreprise] ainsi qu’à nos services.Nous répondrons à votre message dans les plus brefs délais et restons à votre disposition pour toute demande supplémentaire, y compris une rencontre personnelle si vous le souhaitez. D’ici là, vous pouvez obtenir des informations complémentaires sur nos [Produits/Services] en consultant, par exemple, nos réseaux sociaux sur [Lien vers les réseaux sociaux, par exemple, YouTube] ou en téléchargeant notre [Lien de téléchargement, tel qu’une présentation d’entreprise ou un document technique].<br>Chaleureusement,<br>L’équipe de [Nom de votre entreprise]", sender: { name: "Alex" } } }, Se = {
93
+ actions: Le,
94
+ mail: ze
95
+ }, Ae = 2, Pe = [{ title: "Première situation : Se protéger", description: "Utilisez l’interface pour ne plus recevoir de message en provenance de cette adresse mail.", actions: { return: "disabled", menuActions: { markAsUnread: "hidden", reportSpam: "hidden" } }, goodAction: "blockSender", mail: { subject: "[URGENT] Votre accès sera suspendu", sender: { name: "Bnq secure", address: "alert@bnq-secure.link", avatarColor: "#2f80ed" }, body: "Bonjour, <br><br>Nous avons détecté une activité suspecte sur votre compte.Par mesure de sécurité, l’accès sera suspendu dans les 2 heures si vous ne confirmez pas vos informations.<br><br>Confirmez votre compte ici : <a href='fake'>http://securite-compte-verification.com</a><br><br>Sans confirmation, vos services seront définitivement bloqués. Support Client MaBanque", time: { minutes: -5 } } }, { title: "Deuxième situation : Protéger les autres", description: "Le mail suivant est aussi frauduleux. Utilisez l’interface pour signaler le message et aider à renforcer les filtres anti‑spam.", actions: { return: "disabled", menuActions: { markAsUnread: "hidden" } }, goodAction: "reportSpam", mail: { subject: "Mise à jour de vos données Microsoft", sender: { name: " Service Données Utilisateurs", address: "donnees-gestion-utilisateurs@service-microsoft.com", avatarColor: "#2f80ed" }, body: "Bonjour,<br><br>Dans le cadre de l’évolution de notre politique de traitement des données personnelles, une validation de vos informations est désormais obligatoire. Veuillez mettre à jour vos informations dans les 3 jours.<br><br>Merci de vérifier et compléter vos informations via le portail sécurisé : <a href='fake'>http://portail-donnees-utilisateur-microsoft.com</a><br><br>Cordialement, Service Données & Conformité Microsoft", time: { minutes: -10 } } }], Te = {
96
+ titleLevel: Ae,
97
+ steps: Pe
98
+ }, ke = 2, Ne = "https://epreuves.pix.fr/images/camtasia.png", Me = "https://epreuves.pix.fr/images/icones/actu.jpg", Ie = "https://epreuves.pix.fr/images/icones/avg.png", Ee = "https://epreuves.pix.fr/images/icones/avira.svg", Ve = {
99
+ titleLevel: ke,
100
+ successImage: Ne,
101
+ failImage: Me,
102
+ infoImage: Ie,
103
+ searchImage: Ee
104
+ }, De = 2, Re = [{ question: "Quelle version de ce message vous inciterait le plus à réagir ?", feedback: { success: "Effectivement, même si les deux messages transmettent la même idée, le second message crée un sentiment d’urgence et de menace. C’est un biais de cadrage : la manière dont l’information est présentée influence notre réaction.", failed: "Ici, même si les deux messages transmettent la même idée, le second message crée un sentiment d’urgence et de menace. C’est un biais de cadrage : la manière dont l’information est présentée influence notre réaction." }, choice1: { title: "Message 1", content: `Bonjour,
105
+ une facture est arrivée à échéance. Merci de la régler dans les plus brefs délais.` }, choice2: { title: "Message 2", content: "⚠ URGENT : Si vous ne réglez pas cette facture sous 24h, votre compte sera suspendu et des pénalités financières s’appliqueront.", isGoodAnswer: !0 } }, { question: "Quelle belle deuxième question que voila ?", feedback: { success: "Bravo !", failed: "Dommage :(" }, choice1: { content: "CONTENT: Réponse 1 sans titre!" }, choice2: { content: "CONTENT: Réponse 2 sans titre!", isGoodAnswer: !0 } }, { question: "Quelle belle troisième non-question !", feedback: { success: "Bravo2 !", failed: "Dommage2 :(" }, choice1: { title: "TITLE : Bonne réponse", isGoodAnswer: !0 }, choice2: { title: "TITLE: Mauvaise réponse" } }], Be = {
106
+ titleLevel: De,
107
+ steps: Re
108
+ }, Oe = { username: "Yvette", content: "Ok, mais en cas de doute, je fais quoi ? La banque ça peut être urgent !", time: { minutes: -5 } }, we = "Xavier", $e = [{ content: "Répond STOP au SMS, ça va le bloquer.", goodIdea: !1, feedback: "Répondre STOP à un SMS d’arnaque ne permet pas de vérifier sa véracité ni de bloquer l’expéditeur.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Contacte ta banque au numéro habituel ou via ton application bancaire.", goodIdea: !0, feedback: "Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }, { content: "Rappelle directement le numéro qui t’a envoyé le message.", goodIdea: !1, feedback: "Rappeler le numéro, c’est prendre le risque de tomber sur un escroc qui vous manipulera.<br>Dans le doute vérifiez l’information en contactant la personne ou le service qui aurait écrit le message par un autre moyen. Par exemple ici, contacter sa banque au numéro de téléphone habituel après avoir reçu un sms suspect d’un conseiller bancaire." }], Fe = {
109
+ incomingMessage: Oe,
110
+ username: we,
111
+ responseChoices: $e
112
+ }, Ue = "Votre facture #A‑91382", Ge = "billing@micros0ft.com", Je = "#f24645", Qe = "Micr0sofot", He = { days: -2, minutes: -5 }, We = "salut [monsieur/madame]<br> ceci est un lien <a href='http://www.test.com'>link Fake</a><br> cho'", Ye = { time: { days: -5, minutes: -10 }, content: "[Madame, / Monsieur,]<br><br>Nous vous remercions sincèrement pour votre message et l’intérêt que vous portez à [Nom de votre entreprise] ainsi qu’à nos services.Nous répondrons à votre message dans les plus brefs délais et restons à votre disposition pour toute demande supplémentaire, y compris une rencontre personnelle si vous le souhaitez. D’ici là, vous pouvez obtenir des informations complémentaires sur nos [Produits/Services] en consultant, par exemple, nos réseaux sociaux sur [Lien vers les réseaux sociaux, par exemple, YouTube] ou en téléchargeant notre [Lien de téléchargement, tel qu’une présentation d’entreprise ou un document technique].<br>Chaleureusement,<br>L’équipe de [Nom de votre entreprise]", name: "Alex" }, Ke = {
113
+ subject: Ue,
114
+ mailAddress: Ge,
115
+ avatarColor: Je,
116
+ expeditor: Qe,
117
+ time: He,
118
+ content: We,
119
+ previousMail: Ye
120
+ }, Ze = ["123456", "123456789", "azerty", "1234561", "qwerty", "marseille", "000000", "1234567891", "doudou", "12345"], Xe = "marseille", et = { success: { title: "Vous avez trouvé le mot de passe <b>d’Ulysse</b>", content: "Les <i>pirates</i> ont des listes contenant les mots de passe les plus fréquents, tous les mots du dictionnaire, des prénoms.<br>Ils utilisent des programmes informatiques qui permettent de tester des millions de mots en quelques secondes : on appelle ça une attaque par dictionnaire." }, failed: { title: "Eh non !", content: "Mot de passe incorrect. Réessayez avec un autre mot de passe." } }, tt = {
121
+ passwords: Ze,
122
+ expectedPassword: Xe,
123
+ feedback: et
124
+ }, st = { password: "Timeo2014", user: "emma_vtr" }, nt = { success: { title: "Connexion réussie", content: "Quelqu’un qui vous connaît ou un <b>pirate informatique</b> qui cherche des informations personnelles à votre sujet peut facilement deviner ce type de mot de passe." }, failed: { title: "Mauvaise réponse", content: "Astuce : Comme Emma l’a dit à <i>Jennifer</i>, son mot de passe est composé du prénom de son fils et l’année de naissance de son chat. Réessayer en saisissant le bon mot de passe à l’aide de ces informations en complétant le champ adéquat." } }, ot = { userName: "Emma_VTR", tag: "@emma_vtr", bio: "Bio : Fan de chats 🐱 · Voyage à Lisbonne 2023 🇵🇹 · Maman de Timéo 💕", location: "Paris, FR", publications: [{ date: "2024-12-09", content: "Déjà 10 ans que j'ai sauvé Misty ! 🐾💖 De petit chaton abandonné, il s'est transformé en panthère d'appartement !" }, { date: "2024-12-08", content: "Lisbonne, souvenirs d’été" }] }, it = {
125
+ validations: st,
126
+ feedback: nt,
127
+ userProfile: ot
128
+ }, at = [{ label: "Fichiers administratifs (carte d’identité…)", hasValue: !0 }, { label: "Photos personnelles", hasValue: !0 }, { label: "Vidéos personnelles", hasValue: !0 }, { label: "Musiques téléchargées" }, { label: "Documents de travail (devoirs, projets…)", hasValue: !0 }, { label: "Identifiants et mots de passe enregistrés", hasValue: !0 }], rt = [{ label: "Consulter ses mails", hasValue: !0 }, { label: "Effectuer des achats", hasValue: !0 }, { label: "Lire des actualités" }, { label: "Publier sur les réseaux sociaux", hasValue: !0 }, { label: "Regarder des vidéos" }, { label: "Jouer" }], ct = {
129
+ localeChoices: at,
130
+ cloudChoices: rt
131
+ }, ut = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.example.props.json": n, "./calcul-impact/calcul-impact.example.props.json": i, "./capacity-calculation/capacity-calculation.example.props.json": c, "./clickable-image/clickable-image-without-spot.example.props.json": p, "./clickable-image/clickable-image.example.props.json": v, "./complete-phrase/complete-phrase.example.props.json": _, "./flip-cards/flip-cards.example.props.json": j, "./generate-mdp/generate-mdp.example.props.json": L, "./image-quiz/image-quiz.example.props.json": N, "./image-quiz/image-quizzes.example.props.json": I, "./mdp-classement/mdp-classement.example.props.json": V, "./message-conversation/message-conversation.example.props.json": O, "./notification-antivirus/notification-antivirus.example.props.json": $, "./phishing-message/phishing-message.example.props.json": U, "./phishing-notification/phishing-notification.example.props.json": H, "./pix-anonymisation/pix-anonymisation.example.props.json": K, "./pix-article/pix-article.example.props.json": ie, "./pix-carousel/pix-carousel.example.props.json": le, "./pix-combinaisons/pix-combinaisons.example.props.json": me, "./pix-cursor/pix-cursor.example.props.json": ve, "./pix-llm/llm-compare-messages.example.props.json": xe, "./pix-llm/llm-messages.example.props.json": ye, "./pix-llm/llm-prompt-select.example.props.json": Ce, "./pix-mail-message/pix-mail-message.example.props.json": Se, "./proteger-mail-spam/proteger-mail-spam.example.props.json": Te, "./qcm-deepfake/qcm-deepfake.example.props.json": Ve, "./quiz-stepper/quiz-stepper.example.props.json": Be, "./select-conversation/select-conversation.example.props.json": Fe, "./template-mail/template-mail.example.props.json": Ke, "./test-top-mdp/test-top-mdp.example.props.json": tt, "./trouver-mdp-rs/trouver-mdp-rs.example.props.json": it, "./usages-donnees/usages-donnees.example.props.json": ct }), lt = Object.fromEntries(Object.entries(ut).map(([e, t]) => [
128
132
  e.replace(/^.*\/([^/]+)\.example\.props\.json$/, "$1"),
129
- s
133
+ t
130
134
  ]));
131
135
  export {
132
- as as propsExamples
136
+ lt as propsExamples
133
137
  };
package/dist/schema.js CHANGED
@@ -79,6 +79,8 @@ const m = e.object({
79
79
  image: e.string().required()
80
80
  })
81
81
  ).required()
82
+ }), j = e.object({
83
+ titleLevel: e.number().optional()
82
84
  }), c = e.object({
83
85
  name: e.string().required(),
84
86
  multiple: e.boolean().optional(),
@@ -96,9 +98,9 @@ const m = e.object({
96
98
  response: e.string().empty("").optional()
97
99
  }).required()
98
100
  ).required()
99
- }).required(), j = e.object({
100
- quizzes: e.array().items(c).required()
101
101
  }).required(), h = e.object({
102
+ quizzes: e.array().items(c).required()
103
+ }).required(), v = e.object({
102
104
  passwords: e.array().items(e.string()).required()
103
105
  }), i = {
104
106
  userName: e.string().required(),
@@ -106,7 +108,7 @@ const m = e.object({
106
108
  }, t = e.object({
107
109
  src: e.string().required(),
108
110
  alt: e.string().required()
109
- }).unknown(!0), v = e.object({
111
+ }).unknown(!0), y = e.object({
110
112
  conversationTitle: e.string().empty("").optional(),
111
113
  messages: e.array().items(e.alternatives().conditional(".type", {
112
114
  switch: [
@@ -138,9 +140,11 @@ const m = e.object({
138
140
  ]
139
141
  })).required(),
140
142
  animationSpeed: e.number().optional()
141
- }).required(), y = e.object({
143
+ }).required(), x = e.object({
142
144
  titleLevel: e.number().optional()
143
- }), x = e.object({
145
+ }), f = e.object({
146
+ titleLevel: e.number().optional()
147
+ }), w = e.object({
144
148
  notifications: e.array().items(e.object({
145
149
  icon: e.string().required(),
146
150
  sender: e.string().required(),
@@ -157,17 +161,17 @@ const m = e.object({
157
161
  }).required(),
158
162
  informationMessage: e.string().required(),
159
163
  titleLevel: e.number().optional()
160
- }), f = e.object({
164
+ }), L = e.object({
161
165
  content: e.string().required(),
162
166
  isAnonymizable: e.boolean().optional()
163
- }), w = e.object({
164
- fullSentence: e.array().items(f),
167
+ }), k = e.object({
168
+ fullSentence: e.array().items(L),
165
169
  rephrase: e.string().required(),
166
170
  feedback: e.string().required()
167
- }), L = e.object({
171
+ }), S = e.object({
168
172
  titleLevel: e.number().optional(),
169
- steps: e.array().items(w)
170
- }), k = e.object({
173
+ steps: e.array().items(k)
174
+ }), I = e.object({
171
175
  titleLevel: e.number().optional(),
172
176
  articleTitle: e.string().required(),
173
177
  author: e.string().required(),
@@ -175,11 +179,11 @@ const m = e.object({
175
179
  paragraphs: e.array().items(e.string().required()),
176
180
  highlightedSentence: e.string().empty("").optional(),
177
181
  colorOfHighlightSentence: e.string().empty("").optional()
178
- }), S = e.object({
182
+ }), z = e.object({
179
183
  name: e.string().allow("").required(),
180
184
  attribution: e.string().allow("").required(),
181
185
  url: e.string().allow("").required()
182
- }), I = e.object({
186
+ }), A = e.object({
183
187
  title: e.string().required(),
184
188
  description: e.string().allow("").required(),
185
189
  displayWidth: e.number().min(0).optional(),
@@ -187,12 +191,12 @@ const m = e.object({
187
191
  src: e.string().required(),
188
192
  alt: e.string().allow("").required()
189
193
  }).required(),
190
- license: S.optional()
191
- }), z = e.object({
194
+ license: z.optional()
195
+ }), C = e.object({
192
196
  title: e.string().required(),
193
197
  description: e.string().allow("").required(),
194
198
  text: e.string().required()
195
- }), A = e.object({
199
+ }), T = e.object({
196
200
  title: e.string().required(),
197
201
  description: e.string().allow("").required(),
198
202
  text: e.string().required(),
@@ -200,13 +204,13 @@ const m = e.object({
200
204
  src: e.string().required(),
201
205
  alt: e.string().allow("").required()
202
206
  }).required()
203
- }), C = e.object({
207
+ }), M = e.object({
204
208
  type: e.string().valid("image", "image-text", "text").required(),
205
209
  slides: e.alternatives().conditional("type", {
206
210
  switch: [
207
- { is: "image", then: e.array().items(I) },
208
- { is: "image-text", then: e.array().items(A) },
209
- { is: "text", then: e.array().items(z) }
211
+ { is: "image", then: e.array().items(A) },
212
+ { is: "image-text", then: e.array().items(T) },
213
+ { is: "text", then: e.array().items(C) }
210
214
  ]
211
215
  }).required(),
212
216
  randomSlides: e.boolean().optional(),
@@ -215,9 +219,9 @@ const m = e.object({
215
219
  disableStyleAroundImage: e.boolean().optional(),
216
220
  enableLoop: e.boolean().optional(),
217
221
  imageTextDisplay: e.string().empty("").optional()
218
- }).meta({ title: "pix-carousel" }).required(), T = e.object({
222
+ }).meta({ title: "pix-carousel" }).required(), P = e.object({
219
223
  titleLevel: e.number().optional()
220
- }), M = e.object({
224
+ }), N = e.object({
221
225
  options: e.array().items(e.object({
222
226
  label: e.string().required(),
223
227
  feedback: e.object({
@@ -228,34 +232,34 @@ const m = e.object({
228
232
  }), o = e.object({
229
233
  title: e.string().required(),
230
234
  llmName: e.string().required()
231
- }).required(), P = e.object({
235
+ }).required(), O = e.object({
232
236
  direction: e.string().valid("inbound").required(),
233
237
  content: e.string().required()
234
- }).required(), N = e.object({
238
+ }).required(), $ = e.object({
235
239
  direction: e.string().valid("outbound").required(),
236
240
  content: e.string().required()
237
- }).required(), O = e.object({
241
+ }).required(), F = e.object({
238
242
  conversation1: o,
239
243
  conversation2: o,
240
244
  userName: e.string().required(),
241
245
  messages: e.array().items(
242
- e.alternatives(N, e.array().items(P).min(2).max(2).required())
246
+ e.alternatives($, e.array().items(O).min(2).max(2).required())
243
247
  ).required()
244
- }).required(), d = e.object({
248
+ }).required(), l = e.object({
245
249
  direction: e.string().valid("inbound", "outbound").required(),
246
250
  content: e.string().required()
247
- }), $ = e.object({
248
- messages: e.array().items(d.required()).required()
249
- }).required(), F = e.object({
251
+ }), D = e.object({
252
+ messages: e.array().items(l.required()).required()
253
+ }).required(), V = e.object({
250
254
  speed: e.number().default(20).min(0).optional(),
251
- messages: e.array().items(d).required(),
255
+ messages: e.array().items(l).required(),
252
256
  prompts: e.array().items(
253
257
  e.object({
254
258
  prompt: e.string().required(),
255
259
  response: e.string().required()
256
260
  }).required()
257
261
  ).required()
258
- }).required(), r = e.string().valid("enabled", "disabled", "hidden").empty("").optional(), D = e.object({
262
+ }).required(), r = e.string().valid("enabled", "disabled", "hidden").empty("").optional(), B = e.object({
259
263
  title: e.string().required(),
260
264
  description: e.string().required(),
261
265
  actions: e.object({
@@ -286,31 +290,31 @@ const m = e.object({
286
290
  minutes: e.number().negative().optional()
287
291
  }).required()
288
292
  }).required()
289
- }), V = e.object({
293
+ }), E = e.object({
290
294
  titleLevel: e.number().optional(),
291
- steps: e.array().items(D).required()
292
- }), B = e.object({
295
+ steps: e.array().items(B).required()
296
+ }), G = e.object({
293
297
  titleLevel: e.number().optional(),
294
298
  successImage: e.string().required(),
295
299
  failImage: e.string().required(),
296
300
  infoImage: e.string().required(),
297
301
  searchImage: e.string().required()
298
- }), E = e.object({
302
+ }), H = e.object({
299
303
  success: e.string().required(),
300
304
  failed: e.string().required()
301
305
  }), n = e.object({
302
306
  title: e.string().optional(),
303
307
  content: e.string().optional(),
304
308
  isGoodAnswer: e.boolean().optional()
305
- }), G = e.object({
309
+ }), J = e.object({
306
310
  question: e.string().required(),
307
- feedback: E.required(),
311
+ feedback: H.required(),
308
312
  choice1: n.required(),
309
313
  choice2: n.required()
310
- }), H = e.object({
314
+ }), U = e.object({
311
315
  titleLevel: e.number().optional(),
312
- steps: e.array().items(G)
313
- }), J = e.object({
316
+ steps: e.array().items(J)
317
+ }), W = e.object({
314
318
  titleLevel: e.number().optional(),
315
319
  incomingMessage: e.object({
316
320
  username: e.string().required(),
@@ -326,7 +330,7 @@ const m = e.object({
326
330
  goodIdea: e.boolean().required(),
327
331
  feedback: e.string().required()
328
332
  })).required()
329
- }), U = e.object({
333
+ }), K = e.object({
330
334
  titleLevel: e.number().optional(),
331
335
  subject: e.string().required(),
332
336
  mailAddress: e.string().required(),
@@ -348,7 +352,7 @@ const m = e.object({
348
352
  }), s = e.object({
349
353
  title: e.string().required(),
350
354
  content: e.string().required()
351
- }), W = e.object({
355
+ }), Q = e.object({
352
356
  titleLevel: e.number().optional(),
353
357
  passwords: e.array().items(e.string().required()).required(),
354
358
  expectedPassword: e.string().required(),
@@ -356,30 +360,30 @@ const m = e.object({
356
360
  success: s.required(),
357
361
  failed: s.required()
358
362
  }).required()
359
- }), K = e.object({
363
+ }), R = e.object({
360
364
  date: e.string().isoDate().required(),
361
365
  content: e.string().required()
362
- }), Q = e.object({
366
+ }), X = e.object({
363
367
  userName: e.string().required(),
364
368
  tag: e.string().required(),
365
369
  bio: e.string().required(),
366
370
  location: e.string().required(),
367
- publications: e.array().items(K).required()
371
+ publications: e.array().items(R).required()
368
372
  }), a = e.object({
369
373
  title: e.string().required(),
370
374
  content: e.string().required()
371
- }), R = e.object({
375
+ }), Y = e.object({
372
376
  password: e.string().required(),
373
377
  user: e.string().required()
374
- }), X = e.object({
378
+ }), Z = e.object({
375
379
  titleLevel: e.number().optional(),
376
- validations: R.required(),
380
+ validations: Y.required(),
377
381
  feedback: e.object({
378
382
  success: a.required(),
379
383
  failed: a.required()
380
384
  }).required(),
381
- userProfile: Q.required()
382
- }), Y = e.object({
385
+ userProfile: X.required()
386
+ }), ee = e.object({
383
387
  localeChoices: e.array().items(e.object({
384
388
  label: e.string().required(),
385
389
  hasValue: e.boolean().optional()
@@ -388,10 +392,10 @@ const m = e.object({
388
392
  label: e.string().required(),
389
393
  hasValue: e.boolean().optional()
390
394
  }))
391
- }), Z = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.schema.js": m, "./calcul-impact/calcul-impact.schema.js": g, "./capacity-calculation/capacity-calculation.schema.js": b, "./clickable-image/clickable-image.schema.js": q, "./complete-phrase/complete-phrase.schema.js": p, "./flip-cards/flip-cards.schema.js": _, "./image-quiz/image-quiz.schema.js": c, "./image-quiz/image-quizzes.schema.js": j, "./mdp-classement/mdp-classement.schema.js": h, "./message-conversation/message-conversation.schema.js": v, "./phishing-message/phishing-message.schema.js": y, "./phishing-notification/phishing-notification.schema.js": x, "./pix-anonymisation/pix-anonymisation.schema.js": L, "./pix-article/pix-article.schema.js": k, "./pix-carousel/pix-carousel.schema.js": C, "./pix-combinaisons/pix-combinaisons.schema.js": T, "./pix-cursor/pix-cursor.schema.js": M, "./pix-llm/llm-compare-messages.schema.js": O, "./pix-llm/llm-messages.schema.js": $, "./pix-llm/llm-prompt-select.schema.js": F, "./proteger-mail-spam/proteger-mail-spam.schema.js": V, "./qcm-deepfake/qcm-deepfake.schema.js": B, "./quiz-stepper/quiz-stepper.schema.js": H, "./select-conversation/select-conversation.schema.js": J, "./template-mail/template-mail.schema.js": U, "./test-top-mdp/test-top-mdp.schema.js": W, "./trouver-mdp-rs/trouver-mdp-rs.schema.js": X, "./usages-donnees/usages-donnees.schema.js": Y }), re = Object.fromEntries(Object.entries(Z).map(([l, u]) => [
392
- l.replace(/^.*\/([^/]+)\.schema\.js$/, "$1"),
393
- u
395
+ }), re = /* @__PURE__ */ Object.assign({ "./analyse-mails-phishing/analyse-mails-phishing.schema.js": m, "./calcul-impact/calcul-impact.schema.js": g, "./capacity-calculation/capacity-calculation.schema.js": b, "./clickable-image/clickable-image.schema.js": q, "./complete-phrase/complete-phrase.schema.js": p, "./flip-cards/flip-cards.schema.js": _, "./generate-mdp/generate-mdp.schema.js": j, "./image-quiz/image-quiz.schema.js": c, "./image-quiz/image-quizzes.schema.js": h, "./mdp-classement/mdp-classement.schema.js": v, "./message-conversation/message-conversation.schema.js": y, "./notification-antivirus/notification-antivirus.schema.js": x, "./phishing-message/phishing-message.schema.js": f, "./phishing-notification/phishing-notification.schema.js": w, "./pix-anonymisation/pix-anonymisation.schema.js": S, "./pix-article/pix-article.schema.js": I, "./pix-carousel/pix-carousel.schema.js": M, "./pix-combinaisons/pix-combinaisons.schema.js": P, "./pix-cursor/pix-cursor.schema.js": N, "./pix-llm/llm-compare-messages.schema.js": F, "./pix-llm/llm-messages.schema.js": D, "./pix-llm/llm-prompt-select.schema.js": V, "./proteger-mail-spam/proteger-mail-spam.schema.js": E, "./qcm-deepfake/qcm-deepfake.schema.js": G, "./quiz-stepper/quiz-stepper.schema.js": U, "./select-conversation/select-conversation.schema.js": W, "./template-mail/template-mail.schema.js": K, "./test-top-mdp/test-top-mdp.schema.js": Q, "./trouver-mdp-rs/trouver-mdp-rs.schema.js": Z, "./usages-donnees/usages-donnees.schema.js": ee }), te = Object.fromEntries(Object.entries(re).map(([u, d]) => [
396
+ u.replace(/^.*\/([^/]+)\.schema\.js$/, "$1"),
397
+ d
394
398
  ]));
395
399
  export {
396
- re as schema
400
+ te as schema
397
401
  };