feat: Configurer les jours fériés et vacances du calendrier scolaire
Les administrateurs d'établissement avaient besoin de gérer le calendrier scolaire (FR80) pour que l'EDT et les devoirs respectent automatiquement les jours non travaillés. Sans cette configuration centralisée, chaque module devait gérer indépendamment les contraintes de dates. Le calendrier s'appuie sur l'API data.education.gouv.fr pour importer les vacances officielles par zone (A/B/C) et calcule les 11 jours fériés français (dont les fêtes mobiles liées à Pâques). Les enseignants sont notifiés par email lors de l'ajout d'une journée pédagogique. Un query IsSchoolDay et une validation des dates d'échéance de devoirs permettent aux autres modules de s'intégrer sans couplage direct.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Journée pédagogique - Classeo</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
padding: 20px;
|
||||
}
|
||||
.header {
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
border-bottom: 2px solid #4f46e5;
|
||||
}
|
||||
.header h1 {
|
||||
color: #4f46e5;
|
||||
margin: 0;
|
||||
font-size: 28px;
|
||||
}
|
||||
.content {
|
||||
padding: 30px 0;
|
||||
}
|
||||
.info-icon {
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
}
|
||||
.info-icon span {
|
||||
display: inline-block;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
background-color: #f59e0b;
|
||||
border-radius: 50%;
|
||||
line-height: 60px;
|
||||
color: white;
|
||||
font-size: 30px;
|
||||
}
|
||||
.info-box {
|
||||
background-color: #f3f4f6;
|
||||
border-radius: 8px;
|
||||
padding: 20px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
.info-box p {
|
||||
margin: 5px 0;
|
||||
}
|
||||
.footer {
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
border-top: 1px solid #e5e7eb;
|
||||
color: #6b7280;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header">
|
||||
<h1>Classeo</h1>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="info-icon">
|
||||
<span>!</span>
|
||||
</div>
|
||||
|
||||
<h2 style="text-align: center;">Journée pédagogique programmée</h2>
|
||||
|
||||
<p>Bonjour,</p>
|
||||
|
||||
<p>Une journée pédagogique a été ajoutée au calendrier scolaire.</p>
|
||||
|
||||
<div class="info-box">
|
||||
<p><strong>Date :</strong> {{ date }}</p>
|
||||
<p><strong>Libellé :</strong> {{ label }}</p>
|
||||
</div>
|
||||
|
||||
<p>Les cours ne seront pas assurés ce jour-là. Veuillez en tenir compte dans votre planification.</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>Cet email a été envoyé automatiquement par Classeo.</p>
|
||||
<p>Pour toute question, contactez la direction de votre établissement.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user