Phase 13 : sogoms-cron
- Jobs planifiés avec schedule cron standard
- Types: query_email, http, service
- Actions: list, trigger, status
Phase 16 : Réorganisation config/apps/{app}/
- Tous les fichiers d'une app dans un seul dossier
- Migration prokov vers nouvelle structure
Phase 17 : sogoms-admin
- Interface web d'administration (Go templates + htmx)
- Auth sessions cookies signées HMAC-SHA256
- Rôles super_admin / app_admin avec permissions
Phase 19 : Création d'app via Admin UI
- Formulaire création app avec config DB/auth
- Bouton "Scanner la base" : introspection + schema.yaml
- Rechargement automatique sogoway via SIGHUP
Infrastructure :
- sogoctl : socket de contrôle /run/sogoctl.sock
- sogoway : reload config sur SIGHUP sans restart
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
68 lines
2.5 KiB
YAML
68 lines
2.5 KiB
YAML
# Template: Récapitulatif des tâches du jour
|
|
subject: "Vos tâches du jour - {{.Date}}"
|
|
|
|
body: |
|
|
Bonjour {{.Name}},
|
|
|
|
Voici vos tâches prévues pour aujourd'hui ({{.Date}}) :
|
|
|
|
{{range .Tasks}}
|
|
- [{{.Status}}] {{.Name}}{{if .Project}} ({{.Project}}){{end}}{{if .DueTime}} - {{.DueTime}}{{end}}
|
|
{{end}}
|
|
|
|
{{if .TaskCount}}Vous avez {{.TaskCount}} tâche(s) à accomplir.{{end}}
|
|
|
|
Bonne journée !
|
|
|
|
Cordialement,
|
|
L'équipe Prokov
|
|
|
|
body_html: |
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
</head>
|
|
<body style="font-family: Arial, sans-serif; line-height: 1.6; color: #333;">
|
|
<div style="max-width: 600px; margin: 0 auto; padding: 20px;">
|
|
<h1 style="color: #2563eb;">Vos tâches du jour</h1>
|
|
<p>Bonjour <strong>{{.Name}}</strong>,</p>
|
|
<p>Voici vos tâches prévues pour aujourd'hui ({{.Date}}) :</p>
|
|
|
|
<table style="width: 100%; border-collapse: collapse; margin: 20px 0;">
|
|
<thead>
|
|
<tr style="background-color: #f8fafc;">
|
|
<th style="padding: 12px; text-align: left; border-bottom: 2px solid #e2e8f0;">Tâche</th>
|
|
<th style="padding: 12px; text-align: left; border-bottom: 2px solid #e2e8f0;">Projet</th>
|
|
<th style="padding: 12px; text-align: left; border-bottom: 2px solid #e2e8f0;">Statut</th>
|
|
<th style="padding: 12px; text-align: left; border-bottom: 2px solid #e2e8f0;">Heure</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .Tasks}}
|
|
<tr>
|
|
<td style="padding: 12px; border-bottom: 1px solid #e2e8f0;">{{.Name}}</td>
|
|
<td style="padding: 12px; border-bottom: 1px solid #e2e8f0;">{{.Project}}</td>
|
|
<td style="padding: 12px; border-bottom: 1px solid #e2e8f0;">
|
|
<span style="background-color: {{.StatusColor}}; color: white; padding: 4px 8px; border-radius: 4px; font-size: 12px;">{{.Status}}</span>
|
|
</td>
|
|
<td style="padding: 12px; border-bottom: 1px solid #e2e8f0;">{{.DueTime}}</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
|
|
{{if .TaskCount}}
|
|
<p style="background-color: #eff6ff; padding: 15px; border-radius: 6px; text-align: center;">
|
|
<strong>{{.TaskCount}}</strong> tâche(s) à accomplir aujourd'hui
|
|
</p>
|
|
{{end}}
|
|
|
|
<p>Bonne journée !</p>
|
|
|
|
<hr style="border: none; border-top: 1px solid #eee; margin: 20px 0;">
|
|
<p style="color: #666; font-size: 14px;">Cordialement,<br>L'équipe Prokov</p>
|
|
</div>
|
|
</body>
|
|
</html>
|