/* — CSS GÉNÉRAL POUR L’ARTICLE (WordPress) — */
#fle-content-wrapper {
font-family: ‘Nunito’, Roboto, Helvetica, Arial, sans-serif;
color: #333;
line-height: 1.6;
max-width: 100%;
margin: 0 auto;
}#fle-content-wrapper h1 { font-size: 2.5rem; color: #1e293b; font-weight: 900; }
#fle-content-wrapper h2 {
border-bottom: 3px solid #3b82f6;
display: inline-block;
padding-bottom: 0.5rem;
margin-top: 3rem;
margin-bottom: 1.5rem;
font-size: 1.8rem;
color: #1e293b;
font-weight: 800;
}
#fle-content-wrapper p {
margin-bottom: 1.5rem;
font-size: 1.1rem;
}/* Box Info */
.fle-info-box {
background-color: #eff6ff;
border-left: 4px solid #3b82f6;
padding: 1.5rem;
margin: 2rem 0;
border-radius: 0 8px 8px 0;
}
/* — STYLES DES FICHES THÉMATIQUES (le bloc complet) — */
.theme-block-wrapper {
margin-bottom: 3rem;
padding-bottom: 2rem;
border-bottom: 1px dashed #e2e8f0;
display: flex;
flex-direction: column;
align-items: center;
}/* Le Bloc à capturer (Format A4: 1:1.414) */
.fle-theme-fiche {
background: #fff;
border: 2px solid #000000; /* Bordure noire pour impression */
border-radius: 12px;
box-shadow: 0 15px 25px -5px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 600px; /* Base de largeur pour le ratio A4 */
min-height: 848px; /* Hauteur pour obtenir un ratio A4 (600 * 1.414 = 848.4) */
overflow: hidden;
display: flex;
flex-direction: column;
font-family: ‘Nunito’, sans-serif;
}
/* Header du Thème */
.theme-header {
padding: 2rem 1.5rem;
background-color: #3b82f6; /* Bleu Vif */
color: white;
border-bottom: 5px solid #2563eb;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.theme-icon { font-size: 3rem; line-height: 1; }
.theme-title { font-size: 2rem; font-weight: 900; margin-top: 0.5rem; margin-bottom: 0.2rem; }
.theme-subtitle { font-size: 1.1rem; font-weight: 400; opacity: 0.9; }/* Grille de Vocabulaire */
.vocab-grid {
flex-grow: 1; /* Prend l’espace restant dans la colonne A4 */
display: grid;
grid-template-columns: repeat(2, 1fr); /* Deux colonnes plus adaptées à la verticalité */
gap: 1.5rem 1rem;
padding: 2rem 1.5rem;
background-color: #ffffff;
align-content: start; /* Les items commencent en haut */
}.vocab-item {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 0;
}.item-icon { font-size: 1.8rem; line-height: 1; }
.item-text { line-height: 1.2; }
.item-fr { font-weight: 800; font-size: 1.1rem; color: #1e293b; }
.item-en { font-size: 0.9rem; color: #64748b; font-style: italic; }
/* Couleurs des articles */
.text-masc-fr { color: #2563eb; } /* Bleu pour Masculin */
.text-fem-fr { color: #e11d48; } /* Rouge pour Féminin *//* Bouton de téléchargement */
.fle-download-btn {
margin-top: 1.5rem;
background-color: #3b82f6;
color: white;
padding: 0.8rem 1.8rem;
border-radius: 9999px;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 0.5rem;
transition: all 0.2s;
border: none;
text-decoration: none !important;
box-shadow: 0 4px 10px rgba(59, 130, 246, 0.3);
}.fle-download-btn:hover {
background-color: #2563eb;
transform: translateY(-1px);
}
.fle-download-btn svg {
width: 20px;
height: 20px;
}
/* Responsive adjustment for mobile screens */
@media (max-width: 650px) {
.fle-theme-fiche {
min-height: auto; /* Supprime la hauteur fixe sur mobile */
border: 1px solid #e2e8f0;
}
.vocab-grid {
grid-template-columns: 1fr; /* Une colonne sur mobile */
padding: 1rem;
gap: 1rem;
}
.theme-header {
padding: 1.5rem 1rem;
}
}
프랑스어 학습(FLE) A1 어휘: A4 플래시카드로 배우는 필수 20가지 주제기본 어휘를 익히는 것은 프랑스어 학습의 가장 중요한 첫걸음입니다. 완전 초보든, 프랑스어를 어느 정도 접해본 사람이든, 단어를 시각적으로 표현하면 암기 속도가 두 배로 빨라집니다. 이 그림 플래시카드는 A1 레벨 학습자를 위해 특별히 제작되었습니다. 일상생활에서 사용되는 표현들을 담고 있으며, A4 용지에 인쇄하기에 적합합니다. 💡 학습 팁: 이 A4 플래시카드는 벽에 게시하거나 복습용으로 활용하기에 좋습니다. 다운로드하여 오프라인에서도 언제든 활용할 수 있습니다.
1. 다운로드 가능한 어휘 플래시카드 (A4 PNG 형식) 아래 각 주제에는 A1 레벨 어휘 12개와 해당 단어의 성(남성/여성), 그리고 영어 번역이 포함되어 있습니다. 각 워크시트 아래에 있는 “다운로드” 버튼을 클릭하여 고화질 PNG 이미지를 다운로드하고 바로 인쇄하세요. 프랑스어 학습에 행운을 빕니다! ${article} ${noun} ${item.en}
`; }); const themeHTML = `
${theme.icon}${theme.title.toUpperCase()}
(${theme.subtitle}) – A1에 꼭 필요한 12가지 단어 ${vocabItemsHTML} A4 워크시트 다운로드
(function() {
// Définition des 20 thèmes de vocabulaire (12 mots chacun)
// Les chaînes de caractères dans ‘title’, ‘fr’ et ‘en’ ne contiennent plus de syntaxe Markdown (**).
const themes = [
{ title: “L’École”, subtitle: “School”, icon: “🎒”, items: [{ fr: “La Classe”, en: “The Classroom”, gender: “f”, icon: “🏫” }, { fr: “Le Cartable”, en: “The Schoolbag”, gender: “m”, icon: “🎒” }, { fr: “La Maîtresse”, en: “The Teacher (f)”, gender: “f”, icon: “👩🏫” }, { fr: “Le Crayon”, en: “The Pencil”, gender: “m”, icon: “✏️” }, { fr: “Le Livre”, en: “The Book”, gender: “m”, icon: “📖” }, { fr: “La Gomme”, en: “The Eraser”, gender: “f”, icon: “🧼” }, { fr: “Le Tableau”, en: “The Board”, gender: “m”, icon: “🧑🏫” }, { fr: “Les Ciseaux”, en: “The Scissors”, gender: “m”, icon: “✂️” }, { fr: “La Règle”, en: “The Ruler”, gender: “f”, icon: “📏” }, { fr: “Le Stylo”, en: “The Pen”, gender: “m”, icon: “🖊️” }, { fr: “Le Bureau”, en: “The Desk”, gender: “m”, icon: “🪑” }, { fr: “L’Élève”, en: “The Student”, gender: “m”, icon: “👦” }] },
{ title: “La Maison”, subtitle: “The House”, icon: “🏠”, items: [{ fr: “La Maison”, en: “The House”, gender: “f”, icon: “🏡” }, { fr: “Le Salon”, en: “The Living Room”, gender: “m”, icon: “🛋️” }, { fr: “La Cuisine”, en: “The Kitchen”, gender: “f”, icon: “🍳” }, { fr: “La Salle de bain”, en: “The Bathroom”, gender: “f”, icon: “🛁” }, { fr: “La Chambre”, en: “The Bedroom”, gender: “f”, icon: “🛏️” }, { fr: “Le Lit”, en: “The Bed”, gender: “m”, icon: “🛌” }, { fr: “La Table”, en: “The Table”, gender: “f”, icon: “🍽️” }, { fr: “La Chaise”, en: “The Chair”, gender: “f”, icon: “🪑” }, { fr: “Le Canapé”, en: “The Sofa”, gender: “m”, icon: “🛋” }, { fr: “La Lampe”, en: “The Lamp”, gender: “f”, icon: “💡” }, { fr: “Le Jardin”, en: “The Garden”, gender: “m”, icon: “🌳” }, { fr: “La Porte”, en: “The Door”, gender: “f”, icon: “🚪” }] },
{ title: “La Famille”, subtitle: “Family”, icon: “👨👩👧👦”, items: [{ fr: “Le Papa”, en: “Dad”, gender: “m”, icon: “👨” }, { fr: “La Maman”, en: “Mom”, gender: “f”, icon: “👩” }, { fr: “Le Frère”, en: “Brother”, gender: “m”, icon: “👦” }, { fr: “La Sœur”, en: “Sister”, gender: “f”, icon: “👧” }, { fr: “Le Bébé”, en: “Baby”, gender: “m”, icon: “👶” }, { fr: “Le Grand-père”, en: “Grandfather”, gender: “m”, icon: “👴” }, { fr: “La Grand-mère”, en: “Grandmother”, gender: “f”, icon: “👵” }, { fr: “La Famille”, en: “Family”, gender: “f”, icon: “👨👩👧” }, { fr: “L’Oncle”, en: “Uncle”, gender: “m”, icon: “👨💼” }, { fr: “La Tante”, en: “Aunt”, gender: “f”, icon: “👩💼” }, { fr: “Le Cousin”, en: “Cousin (m)”, gender: “m”, icon: “🙇” }, { fr: “La Cousine”, en: “Cousin (f)”, gender: “f”, icon: “🙇♀️” }] },
{ title: “La Ville”, subtitle: “The City”, icon: “🏙️”, items: [{ fr: “La Rue”, en: “The Street”, gender: “f”, icon: “🛣️” }, { fr: “Le Magasin”, en: “The Shop”, gender: “m”, icon: “🏪” }, { fr: “Le Parc”, en: “The Park”, gender: “m”, icon: “🌳” }, { fr: “La Mairie”, en: “City Hall”, gender: “f”, icon: “🏛️” }, { fr: “L’Hôpital”, en: “The Hospital”, gender: “m”, icon: “🏥” }, { fr: “L’École”, en: “The School”, gender: “f”, icon: “🏫” }, { fr: “La Poste”, en: “The Post Office”, gender: “f”, icon: “🏤” }, { fr: “Le Cinéma”, en: “The Cinema”, gender: “m”, icon: “🎬” }, { fr: “Le Restaurant”, en: “The Restaurant”, gender: “m”, icon: “🍽️” }, { fr: “L’Immeuble”, en: “The Building”, gender: “m”, icon: “🏢” }, { fr: “Le Trottoir”, en: “The Sidewalk”, gender: “m”, icon: “🚶” }, { fr: “La Place”, en: “The Square”, gender: “f”, icon: “⛲” }] },
{ title: “La Forêt”, subtitle: “The Forest”, icon: “🌲”, items: [{ fr: “L’Arbre”, en: “The Tree”, gender: “m”, icon: “🌳” }, { fr: “La Feuille”, en: “The Leaf”, gender: “f”, icon: “🍃” }, { fr: “Le Champignon”, en: “The Mushroom”, gender: “m”, icon: “🍄” }, { fr: “La Fleur”, en: “The Flower”, gender: “f”, icon: “🌸” }, { fr: “L’Écureuil”, en: “The Squirrel”, gender: “m”, icon: “🐿️” }, { fr: “Le Loup”, en: “The Wolf”, gender: “m”, icon: “🐺” }, { fr: “L’Oiseau”, en: “The Bird”, gender: “m”, icon: “🐦” }, { fr: “Le Bois”, en: “The Wood”, gender: “m”, icon: “🪵” }, { fr: “Le Chemin”, en: “The Path”, gender: “m”, icon: “🛤️” }, { fr: “La Rivière”, en: “The River”, gender: “f”, icon: “🏞️” }, { fr: “Le Hibou”, en: “The Owl”, gender: “m”, icon: “🦉” }, { fr: “Le Renard”, en: “The Fox”, gender: “m”, icon: “🦊” }] },
{ title: “La Mer”, subtitle: “The Sea”, icon: “🏖️”, items: [{ fr: “La Plage”, en: “The Beach”, gender: “f”, icon: “🏖️” }, { fr: “Le Sable”, en: “The Sand”, gender: “m”, icon: “🏜️” }, { fr: “Le Coquillage”, en: “The Shell”, gender: “m”, icon: “🐚” }, { fr: “Le Poisson”, en: “The Fish”, gender: “m”, icon: “🐟” }, { fr: “Le Bateau”, en: “The Boat”, gender: “m”, icon: “⛵” }, { fr: “La Mer”, en: “The Sea”, gender: “f”, icon: “🌊” }, { fr: “Le Soleil”, en: “The Sun”, gender: “m”, icon: “☀️” }, { fr: “Le Parasol”, en: “The Umbrella”, gender: “m”, icon: “⛱️” }, { fr: “La Serviette”, en: “The Towel”, gender: “f”, icon: “🧖” }, { fr: “Le Crabe”, en: “The Crab”, gender: “m”, icon: “🦀” }, { fr: “Le Château”, en: “The Castle”, gender: “m”, icon: “🏰” }, { fr: “La Vague”, en: “The Wave”, gender: “f”, icon: “🌊” }] },
{ title: “Les Transports”, subtitle: “Transport”, icon: “🚆”, items: [{ fr: “La Voiture”, en: “The Car”, gender: “f”, icon: “🚗” }, { fr: “Le Bus”, en: “The Bus”, gender: “m”, icon: “🚌” }, { fr: “Le Train”, en: “The Train”, gender: “m”, icon: “🚆” }, { fr: “Le Vélo”, en: “The Bicycle”, gender: “m”, icon: “🚲” }, { fr: “L’Avion”, en: “The Plane”, gender: “m”, icon: “✈️” }, { fr: “Le Bateau”, en: “The Boat”, gender: “m”, icon: “🚢” }, { fr: “Le Camion”, en: “The Truck”, gender: “m”, icon: “🚚” }, { fr: “Le Taxi”, en: “The Taxi”, gender: “m”, icon: “🚕” }, { fr: “La Moto”, en: “The Motorcycle”, gender: “f”, icon: “🏍️” }, { fr: “L’Hélicoptère”, en: “The Helicopter”, gender: “m”, icon: “🚁” }, { fr: “Le Métro”, en: “The Subway”, gender: “m”, icon: “🚇” }, { fr: “La Trottinette”, en: “The Scooter”, gender: “f”, icon: “🛴” }] },
{ title: “Les Métiers”, subtitle: “Jobs”, icon: “👨⚕️”, items: [{ fr: “Le Docteur”, en: “The Doctor”, gender: “m”, icon: “👨⚕️” }, { fr: “Le Pompier”, en: “The Firefighter”, gender: “m”, icon: “👨🚒” }, { fr: “Le Boulanger”, en: “The Baker”, gender: “m”, icon: “👨🍳” }, { fr: “Le Professeur”, en: “The Teacher”, gender: “m”, icon: “👨🏫” }, { fr: “Le Policier”, en: “The Police Officer”, gender: “m”, icon: “👮” }, { fr: “Le Vendeur”, en: “The Salesman”, gender: “m”, icon: “🧑💼” }, { fr: “Le Coiffeur”, en: “The Hairdresser”, gender: “m”, icon: “💇” }, { fr: “Le Cuisinier”, en: “The Cook”, gender: “m”, icon: “👨🍳” }, { fr: “L’Artiste”, en: “The Artist”, gender: “m”, icon: “🎨” }, { fr: “Le Chanteur”, en: “The Singer”, gender: “m”, icon: “🎤” }, { fr: “Le Fermier”, en: “The Farmer”, gender: “m”, icon: “👨🌾” }, { fr: “Le Juge”, en: “The Judge”, gender: “m”, icon: “👨⚖️” }] },
{ title: “Le Supermarché”, subtitle: “Supermarket”, icon: “🛒”, items: [{ fr: “Le Rayon”, en: “The Aisle”, gender: “m”, icon: “🏪” }, { fr: “Le Chariot”, en: “The Cart”, gender: “m”, icon: “🛒” }, { fr: “La Caisse”, en: “The Checkout”, gender: “f”, icon: “📠” }, { fr: “Le Panier”, en: “The Basket”, gender: “m”, icon: “🧺” }, { fr: “L’Argent”, en: “Money”, gender: “m”, icon: “💶” }, { fr: “Le Sac”, en: “The Bag”, gender: “m”, icon: “🛍️” }, { fr: “Le Fruit”, en: “The Fruit”, gender: “m”, icon: “🍎” }, { fr: “Le Légume”, en: “The Vegetable”, gender: “m”, icon: “🥦” }, { fr: “Le Lait”, en: “The Milk”, gender: “m”, icon: “🥛” }, { fr: “Le Pain”, en: “The Bread”, gender: “m”, icon: “🥖” }, { fr: “La Viande”, en: “The Meat”, gender: “f”, icon: “🥩” }, { fr: “Le Poisson”, en: “The Fish”, gender: “m”, icon: “🐟” }] },
{ title: “La Cuisine”, subtitle: “Kitchen”, icon: “🍳”, items: [{ fr: “La Fourchette”, en: “The Fork”, gender: “f”, icon: “🍴” }, { fr: “Le Couteau”, en: “The Knife”, gender: “m”, icon: “🔪” }, { fr: “La Cuillère”, en: “The Spoon”, gender: “f”, icon: “🥄” }, { fr: “L’Assiette”, en: “The Plate”, gender: “f”, icon: “🍽️” }, { fr: “Le Verre”, en: “The Glass”, gender: “m”, icon: “🥛” }, { fr: “La Casserole”, en: “The Pot”, gender: “f”, icon: “🥘” }, { fr: “La Poêle”, en: “The Pan”, gender: “f”, icon: “🍳” }, { fr: “Le Frigo”, en: “The Fridge”, gender: “m”, icon: “🧊” }, { fr: “Le Four”, en: “The Oven”, gender: “m”, icon: “🔥” }, { fr: “Le Bol”, en: “The Bowl”, gender: “m”, icon: “🥣” }, { fr: “La Tasse”, en: “The Cup”, gender: “f”, icon: “☕” }, { fr: “Le Repas”, en: “The Meal”, gender: “m”, icon: “🍝” }] },
{ title: “Les Vêtements”, subtitle: “Clothes”, icon: “👕”, items: [{ fr: “Le Pantalon”, en: “The Trousers”, gender: “m”, icon: “👖” }, { fr: “La Robe”, en: “The Dress”, gender: “f”, icon: “👗” }, { fr: “Le T-shirt”, en: “The T-shirt”, gender: “m”, icon: “👕” }, { fr: “Le Pull”, en: “The Sweater”, gender: “m”, icon: “🧶” }, { fr: “La Chaussure”, en: “The Shoe”, gender: “f”, icon: “👞” }, { fr: “La Chaussette”, en: “The Sock”, gender: “f”, icon: “🧦” }, { fr: “Le Manteau”, en: “The Coat”, gender: “m”, icon: “🧥” }, { fr: “Le Chapeau”, en: “The Hat”, gender: “m”, icon: “👒” }, { fr: “L’Écharpe”, en: “The Scarf”, gender: “f”, icon: “🧣” }, { fr: “Les Lunettes”, en: “The Glasses”, gender: “f”, icon: “👓” }, { fr: “La Chemise”, en: “The Shirt”, gender: “f”, icon: “👔” }, { fr: “La Jupe”, en: “The Skirt”, gender: “f”, icon: “👗” }] },
{ title: “Le Corps Humain”, subtitle: “Body”, icon: “💪”, items: [{ fr: “La Tête”, en: “The Head”, gender: “f”, icon: “👤” }, { fr: “Le Bras”, en: “The Arm”, gender: “m”, icon: “💪” }, { fr: “La Main”, en: “The Hand”, gender: “f”, icon: “✋” }, { fr: “Le Doigt”, en: “The Finger”, gender: “m”, icon: “👆” }, { fr: “La Jambe”, en: “The Leg”, gender: “f”, icon: “🦵” }, { fr: “Le Pied”, en: “The Foot”, gender: “m”, icon: “🦶” }, { fr: “L’Œil”, en: “The Eye”, gender: “m”, icon: “👁️” }, { fr: “Le Nez”, en: “The Nose”, gender: “m”, icon: “👃” }, { fr: “La Bouche”, en: “The Mouth”, gender: “f”, icon: “👄” }, { fr: “L’Oreille”, en: “The Ear”, gender: “f”, icon: “👂” }, { fr: “Les Cheveux”, en: “The Hair”, gender: “m”, icon: “💇” }, { fr: “Le Ventre”, en: “The Belly”, gender: “m”, icon: “🧍” }] },
{ title: “Saisons & Météo”, subtitle: “Weather”, icon: “🌦️”, items: [{ fr: “Le Soleil”, en: “The Sun”, gender: “m”, icon: “☀️” }, { fr: “La Pluie”, en: “The Rain”, gender: “f”, icon: “🌧️” }, { fr: “La Neige”, en: “The Snow”, gender: “f”, icon: “❄️” }, { fr: “Le Vent”, en: “The Wind”, gender: “m”, icon: “💨” }, { fr: “Le Nuage”, en: “The Cloud”, gender: “m”, icon: “☁️” }, { fr: “L’Orage”, en: “The Storm”, gender: “m”, icon: “⛈️” }, { fr: “L’Hiver”, en: “Winter”, gender: “m”, icon: “⛄” }, { fr: “Le Printemps”, en: “Spring”, gender: “m”, icon: “🌱” }, { fr: “L’Été”, en: “Summer”, gender: “m”, icon: “🏖️” }, { fr: “L’Automne”, en: “Autumn”, gender: “m”, icon: “🍂” }, { fr: “Le Froid”, en: “Cold”, gender: “m”, icon: “🥶” }, { fr: “Le Chaud”, en: “Heat”, gender: “m”, icon: “🥵” }] },
{ title: “Fêtes”, subtitle: “Party”, icon: “🎂”, items: [{ fr: “Le Cadeau”, en: “The Gift”, gender: “m”, icon: “🎁” }, { fr: “Le Gâteau”, en: “The Cake”, gender: “m”, icon: “🎂” }, { fr: “La Bougie”, en: “The Candle”, gender: “f”, icon: “🕯️” }, { fr: “Le Ballon”, en: “The Balloon”, gender: “m”, icon: “🎈” }, { fr: “La Fête”, en: “The Party”, gender: “f”, icon: “🥳” }, { fr: “L’Anniversaire”, en: “Birthday”, gender: “m”, icon: “🎉” }, { fr: “Noël”, en: “Christmas”, gender: “m”, icon: “🎄” }, { fr: “La Musique”, en: “Music”, gender: “f”, icon: “🎵” }, { fr: “La Danse”, en: “Dance”, gender: “f”, icon: “💃” }, { fr: “L’Invité”, en: “The Guest”, gender: “m”, icon: “👋” }, { fr: “La Carte”, en: “The Card”, gender: “f”, icon: “💌” }, { fr: “Les Confettis”, en: “Confetti”, gender: “m”, icon: “🎊” }] },
{ title: “Le Sport”, subtitle: “Sports”, icon: “⚽”, items: [{ fr: “Le Ballon”, en: “The Ball”, gender: “m”, icon: “⚽” }, { fr: “Le Football”, en: “Football”, gender: “m”, icon: “🥅” }, { fr: “Le Tennis”, en: “Tennis”, gender: “m”, icon: “🎾” }, { fr: “Le Vélo”, en: “Cycling”, gender: “m”, icon: “🚴” }, { fr: “La Course”, en: “Running”, gender: “f”, icon: “🏃” }, { fr: “La Natation”, en: “Swimming”, gender: “f”, icon: “🏊” }, { fr: “L’Équipe”, en: “The Team”, gender: “f”, icon: “👕” }, { fr: “Le Stade”, en: “The Stadium”, gender: “m”, icon: “🏟️” }, { fr: “La Médaille”, en: “The Medal”, gender: “f”, icon: “🥇” }, { fr: “Le Sport”, en: “Sport”, gender: “m”, icon: “🏆” }, { fr: “Le Joueur”, en: “The Player”, gender: “m”, icon: “⛹️” }, { fr: “L’Arbitre”, en: “The Referee”, gender: “m”, icon: “🏁” }] },
{ title: “La Montagne”, subtitle: “Mountains”, icon: “🏔️”, items: [{ fr: “La Montagne”, en: “The Mountain”, gender: “f”, icon: “⛰️” }, { fr: “La Neige”, en: “The Snow”, gender: “f”, icon: “🌨️” }, { fr: “Le Ski”, en: “Skiing”, gender: “m”, icon: “🎿” }, { fr: “Le Chalet”, en: “The Chalet”, gender: “m”, icon: “🏚️” }, { fr: “L’Ours”, en: “The Bear”, gender: “m”, icon: “🐻” }, { fr: “L’Aigle”, en: “The Eagle”, gender: “m”, icon: “🦅” }, { fr: “La Randonnée”, en: “Hiking”, gender: “f”, icon: “🥾” }, { fr: “Le Lac”, en: “The Lake”, gender: “m”, icon: “🏞️” }, { fr: “La Pierre”, en: “The Stone”, gender: “f”, icon: “🪨” }, { fr: “Le Sapin”, en: “The Fir Tree”, gender: “m”, icon: “🌲” }, { fr: “Le Froid”, en: “The Cold”, gender: “m”, icon: “❄️” }, { fr: “La Vallée”, en: “The Valley”, gender: “f”, icon: “🌄” }] },
{ title: “Le Parc”, subtitle: “Playground”, icon: “🎡”, items: [{ fr: “Le Toboggan”, en: “The Slide”, gender: “m”, icon: “🛝” }, { fr: “La Balançoire”, en: “The Swing”, gender: “f”, icon: “🛖” }, { fr: “Le Jeu”, en: “The Game”, gender: “m”, icon: “🧩” }, { fr: “Le Sable”, en: “The Sand”, gender: “m”, icon: “🏖️” }, { fr: “Le Banc”, en: “The Bench”, gender: “m”, icon: “🪑” }, { fr: “L’Arbre”, en: “The Tree”, gender: “m”, icon: “🌳” }, { fr: “L’Enfant”, en: “The Child”, gender: “m”, icon: “🧒” }, { fr: “Le Ballon”, en: “The Ball”, gender: “m”, icon: “⚽” }, { fr: “L’Herbe”, en: “The Grass”, gender: “f”, icon: “🌿” }, { fr: “La Fleur”, en: “The Flower”, gender: “f”, icon: “🌻” }, { fr: “Le Soleil”, en: “The Sun”, gender: “m”, icon: “☀️” }, { fr: “Le Vélo”, en: “The Bike”, gender: “m”, icon: “🚲” }] },
{ title: “Animaux Domestiques”, subtitle: “Pets”, icon: “🐶”, items: [{ fr: “Le Chien”, en: “The Dog”, gender: “m”, icon: “🐕” }, { fr: “Le Chat”, en: “The Cat”, gender: “m”, icon: “🐈” }, { fr: “Le Poisson”, en: “The Fish”, gender: “m”, icon: “🐠” }, { fr: “Le Hamster”, en: “The Hamster”, gender: “m”, icon: “🐹” }, { fr: “L’Oiseau”, en: “The Bird”, gender: “m”, icon: “🦜” }, { fr: “La Tortue”, en: “The Turtle”, gender: “f”, icon: “🐢” }, { fr: “Le Lapin”, en: “The Rabbit”, gender: “m”, icon: “🐇” }, { fr: “La Souris”, en: “The Mouse”, gender: “f”, icon: “🐁” }, { fr: “Le Cheval”, en: “The Horse”, gender: “m”, icon: “🐎” }, { fr: “Le Perroquet”, en: “The Parrot”, gender: “m”, icon: “🦜” }, { fr: “La Cage”, en: “The Cage”, gender: “f”, icon: “🥅” }, { fr: “La Laisse”, en: “The Leash”, gender: “f”, icon: “〰️” }] },
{ title: “Les Émotions”, subtitle: “Emotions”, icon: “🎭”, items: [{ fr: “La Joie”, en: “Joy”, gender: “f”, icon: “😄” }, { fr: “La Tristesse”, en: “Sadness”, gender: “f”, icon: “😢” }, { fr: “La Colère”, en: “Anger”, gender: “f”, icon: “😡” }, { fr: “La Peur”, en: “Fear”, gender: “f”, icon: “😱” }, { fr: “La Surprise”, en: “Surprise”, gender: “f”, icon: “😲” }, { fr: “L’Amour”, en: “Love”, gender: “m”, icon: “😍” }, { fr: “Le Rire”, en: “Laughter”, gender: “m”, icon: “😂” }, { fr: “Le Pleur”, en: “Crying”, gender: “m”, icon: “😭” }, { fr: “Le Sourire”, en: “Smile”, gender: “m”, icon: “🙂” }, { fr: “La Fatigue”, en: “Tiredness”, gender: “f”, icon: “😴” }, { fr: “Le Dégoût”, en: “Disgust”, gender: “m”, icon: “🤢” }, { fr: “Le Bisou”, en: “The Kiss”, gender: “m”, icon: “😘” }] },
{ title: “Communication”, subtitle: “Communication”, icon: “📱”, items: [{ fr: “Le Téléphone”, en: “The Phone”, gender: “m”, icon: “📱” }, { fr: “La Lettre”, en: “The Letter”, gender: “f”, icon: “✉️” }, { fr: “L’Ordinateur”, en: “The Computer”, gender: “m”, icon: “💻” }, { fr: “Le Journal”, en: “The Newspaper”, gender: “m”, icon: “📰” }, { fr: “La Radio”, en: “The Radio”, gender: “f”, icon: “📻” }, { fr: “La Télé”, en: “The TV”, gender: “f”, icon: “📺” }, { fr: “Internet”, en: “Internet”, gender: “m”, icon: “🌐” }, { fr: “Le Message”, en: “The Message”, gender: “m”, icon: “💬” }, { fr: “La Photo”, en: “The Photo”, gender: “f”, icon: “📷” }, { fr: “Le Stylo”, en: “The Pen”, gender: “m”, icon: “🖊️” }, { fr: “Le Livre”, en: “The Book”, gender: “m”, icon: “📚” }, { fr: “La Tablette”, en: “The Tablet”, gender: “f”, icon: “📲” }] },
{ title: “La Nourriture”, subtitle: “Food”, icon: “🍎”, items: [{ fr: “Le Fruit”, en: “The Fruit”, gender: “m”, icon: “🍎” }, { fr: “Le Légume”, en: “The Vegetable”, gender: “m”, icon: “🥦” }, { fr: “Le Pain”, en: “The Bread”, gender: “m”, icon: “🥖” }, { fr: “L’Eau”, en: “Water”, gender: “f”, icon: “💧” }, { fr: “Le Lait”, en: “Milk”, gender: “m”, icon: “🥛” }, { fr: “Le Fromage”, en: “Cheese”, gender: “m”, icon: “🧀” }, { fr: “La Soupe”, en: “Soup”, gender: “f”, icon: “🥣” }, { fr: “Le Sucre”, en: “Sugar”, gender: “m”, icon: “🍬” }, { fr: “Le Sel”, en: “Salt”, gender: “m”, icon: “🧂” }, { fr: “Le Café”, en: “Coffee”, gender: “m”, icon: “☕” }, { fr: “Le Thé”, en: “Tea”, gender: “m”, icon: “🍵” }, { fr: “Le Restaurant”, en: “Restaurant”, gender: “m”, icon: “🍽️” }] },
{ title: “Les Couleurs”, subtitle: “Colors”, icon: “🎨”, items: [{ fr: “Le Rouge”, en: “Red”, gender: “m”, icon: “🔴” }, { fr: “Le Bleu”, en: “Blue”, gender: “m”, icon: “🔵” }, { fr: “Le Vert”, en: “Green”, gender: “m”, icon: “🟢” }, { fr: “Le Jaune”, en: “Yellow”, gender: “m”, icon: “🟡” }, { fr: “L’Orange”, en: “Orange”, gender: “m”, icon: “🟠” }, { fr: “Le Rose”, en: “Pink”, gender: “m”, icon: “🌸” }, { fr: “Le Violet”, en: “Purple”, gender: “m”, icon: “🟣” }, { fr: “Le Noir”, en: “Black”, gender: “m”, icon: “⚫” }, { fr: “Le Blanc”, en: “White”, gender: “m”, icon: “⚪” }, { fr: “Le Gris”, en: “Gray”, gender: “m”, icon: “⚫” }, { fr: “Le Marron”, en: “Brown”, gender: “m”, icon: “🟤” }, { fr: “La Couleur”, en: “Color”, gender: “f”, icon: “🌈” }] },
{ title: “Les Nombres”, subtitle: “Numbers”, icon: “🔟”, items: [{ fr: “Un”, en: “One”, gender: “m”, icon: “1️⃣” }, { fr: “Deux”, en: “Two”, gender: “m”, icon: “2️⃣” }, { fr: “Trois”, en: “Three”, gender: “m”, icon: “3️⃣” }, { fr: “Quatre”, en: “Four”, gender: “m”, icon: “4️⃣” }, { fr: “Cinq”, en: “Five”, gender: “m”, icon: “5️⃣” }, { fr: “Six”, en: “Six”, gender: “m”, icon: “6️⃣” }, { fr: “Sept”, en: “Seven”, gender: “m”, icon: “7️⃣” }, { fr: “Huit”, en: “Eight”, gender: “m”, icon: “8️⃣” }, { fr: “Neuf”, en: “Nine”, gender: “m”, icon: “9️⃣” }, { fr: “Dix”, en: “Ten”, gender: “m”, icon: “🔟” }, { fr: “Zéro”, en: “Zero”, gender: “m”, icon: “0️⃣” }, { fr: “Le Chiffre”, en: “The Digit”, gender: “m”, icon: “🔢” }] },
{ title: “Les Dates”, subtitle: “Dates”, icon: “📅”, items: [{ fr: “Le Jour”, en: “The Day”, gender: “m”, icon: “🗓️” }, { fr: “La Semaine”, en: “The Week”, gender: “f”, icon: “📆” }, { fr: “Le Mois”, en: “The Month”, gender: “m”, icon: “📅” }, { fr: “L’Année”, en: “The Year”, gender: “f”, icon: “🎉” }, { fr: “Hier”, en: “Yesterday”, gender: “m”, icon: “⬅️” }, { fr: “Aujourd’hui”, en: “Today”, gender: “m”, icon: “➡️” }, { fr: “Demain”, en: “Tomorrow”, gender: “m”, icon: “🔜” }, { fr: “Le Matin”, en: “The Morning”, gender: “m”, icon: “☀️” }, { fr: “L’Après-midi”, en: “The Afternoon”, gender: “m”, icon: “🌤️” }, { fr: “Le Soir”, en: “The Evening”, gender: “m”, icon: “🌙” }, { fr: “La Nuit”, en: “The Night”, gender: “f”, icon: “🌃” }, { fr: “Le Temps”, en: “Time”, gender: “m”, icon: “⏱️” }] },
{ title: “L’Argent”, subtitle: “Money”, icon: “💰”, items: [{ fr: “L’Argent”, en: “Money”, gender: “m”, icon: “💵” }, { fr: “L’Euro”, en: “Euro”, gender: “m”, icon: “💶” }, { fr: “La Pièce”, en: “The Coin”, gender: “f”, icon: “🪙” }, { fr: “Le Billet”, en: “The Bill”, gender: “m”, icon: “💸” }, { fr: “Le Prix”, en: “The Price”, gender: “m”, icon: “🏷️” }, { fr: “La Banque”, en: “The Bank”, gender: “f”, icon: “🏦” }, { fr: “Le Compte”, en: “The Account”, gender: “m”, icon: “💳” }, { fr: “Payer”, en: “To Pay”, gender: “m”, icon: “🛍️” }, { fr: “Acheter”, en: “To Buy”, gender: “m”, icon: “🛒” }, { fr: “Vendre”, en: “To Sell”, gender: “m”, icon: “🏷️” }, { fr: “Cher”, en: “Expensive”, gender: “m”, icon: “📈” }, { fr: “Bon Marché”, en: “Cheap”, gender: “m”, icon: “📉” }] }
];
// Fonction de génération des fiches thématiques complètes
function renderThemes() {
const container = document.getElementById(‘themes-container’);
if(!container) return;themes.forEach((theme, index) => {
const uniqueId = `theme-fiche-${index}`;
let vocabItemsHTML = ”;
// Construction de la grille de 12 mots
theme.items.forEach(item => {
const frParts = item.fr.split(‘ ‘);
// Sépare l’article (Le, La, L’, Les, Un, Une…) du nom.
const article = frParts[0];
const noun = frParts.slice(1).join(‘ ‘);
const textColor = item.gender === ‘m’ ? ‘text-masc-fr’ : ‘text-fem-fr’;vocabItemsHTML += `
${item.icon}
`;
container.innerHTML += themeHTML;
});
const element = document.getElementById(elementId);
const btn = element.parentNode.querySelector(‘button’);
const originalText = btn.innerHTML;btn.innerHTML = ‘⏳ PNG 준비 중…’;
btn.style.opacity = ‘0.7’;
/ 고해상도 PNG 이미지 캡처를 위한 html2canvas// A4 인쇄 품질을 위해서는 스케일 5를 권장합니다.
html2canvas(element, {scale: 5,
backgroundColor: “#ffffff”,
logging: false,
useCORS: true
}).then(canvas => {
const link = document.createElement(‘a’);
// 최적화된 파일 이름
link.download = `Fiche_A4_FLE_${fileName.replace(/s+/g, ‘_’).replace(/’/g, ”).replace(/&/g, ‘et’)}.png`;
link.href = canvas.toDataURL(“image/png”);
link.click();/ 초기화 버튼
setTimeout(() => {
btn.innerHTML = originalText;
btn.style.opacity = ‘1’;
}, 700);
}).catch(err => {
console.error(“이미지 업로드 오류:”, err);
// 업로드 실패 시 사용자 메시지 표시
const errorMessage = document.createElement(‘div’);
errorMessage.textContent = “이미지를 생성하는 동안 오류가 발생했습니다. 다시 시도해 주세요.”;
errorMessage.style.color = ‘#e11d48′;errorMessage.style.marginTop = ’10px’;
btn.parentNode.insertBefore(errorMessage, btn.nextSibling);btn.innerHTML = originalText;
btn.style.opacity = ‘1’;
setTimeout(() => errorMessage.remove(), 5000);});};