# Fêtes et jours fériés : comment un agent IA doit-il publier pour des audiences aux calendriers différents ?

_2026-10-13 · Comment un agent IA programme autour des fêtes : relier chaque compte à ses traditions, appeler get_holidays, lire calendar_notes et bloquer la veille au soir._

Un agent qui publie pour de nombreux comptes doit confronter chaque horaire programmé aux fêtes de l'audience de chaque compte, et non à un calendrier national unique. Dans Shager, cela se traduit par deux vérifications : appeler `get_holidays` pour les traditions concernées avant de planifier, puis lire les `calendar_notes` renvoyées avec chaque publication programmée. Ce qu'aucun outil ne peut faire à la place de l'agent, c'est décider quelles traditions s'appliquent à quel compte : il faut donc l'écrire, client par client.

## Le calendrier, c'est facile. La correspondance, c'est le vrai sujet.

La plupart des faux pas liés aux fêtes viennent de l'idée que toutes les audiences partagent un même calendrier, pas d'un manque de données.

Imaginez une agence qui gère ces comptes depuis un seul espace de travail :

1. Un restaurant familial dans un village druze de Galilée.
2. Un réseau de cliniques dentaires dont les patients sont majoritairement des citoyens arabes d'Israël.
3. Une boutique d'articles pour la maison qui vend à une clientèle haredi.
4. Un centre culturel pour russophones, dont une partie du public suit le calendrier de l'Église orthodoxe.
5. Une marque d'e-commerce qui livre en Europe et en Amérique du Nord.

Une publication promotionnelle enjouée un mardi peut convenir à quatre d'entre eux et tomber très mal pour le cinquième. Un agent ne sait que ce que contiennent ses instructions. Avant que l'un des outils décrits ci-dessous puisse aider, chaque profil client a donc besoin d'une ligne explicite : les traditions que suit cette audience. Si vous faites déjà travailler [un seul agent pour plusieurs clients](/fr/blog/one-agent-many-clients), c'est dans ce profil qu'elle a sa place.

## Que couvre le calendrier des fêtes de Shager ?

Le calendrier comprend les fêtes juives et israéliennes, musulmanes, chrétiennes occidentales, chrétiennes orthodoxes, druzes, bahá'íes, hindoues, bouddhistes, sikhes, jaïnes, chinoises et persanes. Il inclut aussi des journées internationales et commerciales : la Saint-Valentin, la Journée internationale des droits des femmes, la fête des Mères et la fête des Pères américaines, Halloween, le Singles' Day, Thanksgiving, le Black Friday, le Cyber Monday et le Nouvel An.

Chaque jour porte l'une des quatre recommandations de publication suivantes :

| Recommandation | Ce que l'agent doit faire | Exemples |
| --- | --- | --- |
| `avoid` | Aucun contenu promotionnel pour cette audience | Yom Kippour ; le Jour du souvenir de la Shoah et le Jour du souvenir des soldats tombés en Israël |
| `sensitive` | Contenu respectueux uniquement, pas de vente agressive, pas d'humour | Jours de jeûne, Vendredi saint, Achoura, jour d'Arafat, Laylat al-Qadr |
| `opportunity` | Un message de vœux ou une publication thématique a sa place | Aïd el-Fitr, Noël, Diwali, Nouvel An lunaire, Black Friday |
| `normal` | Rien à changer | Tout le reste |

Le calendrier de l'application présente les mêmes données aux humains, avec un filtre par tradition et une couleur par recommandation.

## Appeler get_holidays

La fonction est exposée sous forme d'outil MCP, `get_holidays`, et d'opération REST documentée dans la [spécification OpenAPI](https://app.shager.ai/api/v1/openapi.json) :

```bash
curl -s "https://app.shager.ai/api/v1/holidays?from=2026-11-20&to=2026-12-05&traditions=jewish,muslim&language=en" \
  -H "Authorization: Bearer $SHAGER_API_KEY"
```

Sans `from` ni `to`, la période couvre aujourd'hui et les 60 jours suivants. Le maximum est de 400 jours. `traditions` filtre sur celles que vous indiquez, et `language` renvoie les noms en anglais ou en hébreu. La réponse a cette forme :

```json
{
  "data": {
    "from": "2026-11-20",
    "to": "2026-12-05",
    "note": "...",
    "holidays": [
      {
        "date": "YYYY-MM-DD",
        "tradition": "...",
        "name": "...",
        "key": "...",
        "advice": "opportunity",
        "guidance": "...",
        "approximate": true
      }
    ]
  }
}
```

Transmettez `guidance` au relecteur humain : ce champ explique en une phrase pourquoi une publication a été déplacée.

## La séquence d'appels, de bout en bout

Voici l'ordre que j'utilise pour une exécution hebdomadaire. Prenons l'exemple de fin novembre 2026 : Thanksgiving tombe le jeudi 26, le Black Friday le 27 et le Cyber Monday le 30. Pour la marque d'e-commerce, c'est une série de jours `opportunity`. Pour la boutique haredi ou le restaurant druze, ces jours peuvent très bien être `normal` et ne justifier aucune publication thématique.

```text
get_holidays  { from: "2026-11-20", to: "2026-12-05", traditions: <union of all profiles in this run> }

create_post   { workspace_id: "ws_retail",
                channel_ids: ["ch_shop_eu_ig", "ch_shop_us_fb"],
                caption: "...",
                per_channel: [
                  { channel_id: "ch_shop_eu_ig", caption: "..." },
                  { channel_id: "ch_shop_us_fb", caption: "..." }
                ],
                media_ids: ["med_19ae"] }

schedule_post { workspace_id: "ws_retail", post_id: "pst_5d2c",
                schedule_at: "2026-11-27T09:00:00-05:00" }

read calendar_notes on the returned post
  if any entry is avoid or sensitive for a tradition in this account's profile:
    cancel_post, pick a new time, schedule again, and log why
```

D'abord, `per_channel` permet à une même publication de porter une légende différente par compte : la page américaine peut parler du week-end de Thanksgiving pendant que la page européenne évoque le Black Friday sans le cadrage américain. J'en parle plus en détail dans [varier les légendes par compte](/fr/blog/caption-variation-per-account-with-ai).

Ensuite, une publication n'a qu'un seul horaire de programmation. Quand deux audiences d'un même groupe ne sont pas d'accord sur un jour, les légendes n'y peuvent rien. Séparez-les en publications distinctes, avec des horaires distincts.

`calendar_notes` est renvoyé avec chaque publication retournée par `create_post`, `get_post` et `schedule_post`, et liste les fêtes du jour programmé avec leur recommandation. Ce champ rattrape ce que la planification a laissé passer, y compris un horaire modifié à la main.

## Pourquoi « commence la veille au soir » piège les vérifications naïves sur les dates

Les fêtes juives commencent au coucher du soleil, la veille de la date qu'affiche le calendrier. L'[explication du mouvement réformé](https://reformjudaism.org/learning/answers-jewish-questions/why-do-jewish-holidays-begin-night) fait remonter cette règle au récit de la Création, où le soir précède le matin. Le jour islamique, lui aussi, commence au coucher du soleil.

Un agent qui ne compare que des dates se trompera de façon prévisible. Le calendrier place Yom Kippour à une date donnée. L'agent vérifie une promotion programmée à 19 h la veille, ne trouve aucune correspondance, et publie au moment où commence le jeûne.

En Israël, l'enjeu est plus grand encore pour les deux journées du souvenir. Le Jour du souvenir des soldats tombés commence au coucher du soleil la veille, et [les lieux de divertissement sont fermés par la loi](https://www.jewishvirtuallibrary.org/yom-hazikaron-israeli-memorial-day) pendant la journée. Pour le Jour du souvenir de la Shoah, [les lieux de divertissement public sont fermés par la loi](https://en.wikipedia.org/wiki/Yom_HaShoah) la veille au soir et le jour même. Une marque qui publie une promo légère ce soir-là n'enfreint aucune loi, mais son audience le remarque.

La règle que je mets dans les instructions de l'agent est simple : pour les jours `avoid` et `sensitive`, l'après-midi et la soirée de la veille comptent comme faisant partie du jour. Pour les jours `opportunity`, ce début en soirée joue en votre faveur, puisqu'un message de vœux publié avant le début de la fête arrive pile à l'heure.

## Pourquoi les dates islamiques sont-elles marquées comme approximatives ?

Shager calcule les dates islamiques à partir du calendrier Umm al-Qura et les marque `approximate: true`. Umm al-Qura est le calendrier officiel de l'Arabie saoudite, calculé à l'avance, alors que le début des mois religieux dépend de l'observation du croissant de lune. [The New Arab cite l'ancien site du calendrier lui-même](https://www.newarab.com/news/will-saudi-arabia-announce-wrong-date-ramadan), qui reconnaissait qu'il peut ne pas correspondre à la visibilité réelle du croissant. Les pays appliquent en outre des critères d'observation différents, si bien que [l'Aïd peut tomber à des jours différents selon les pays](https://www.aljazeera.com/news/2023/3/16/infographic-when-is-ramadan-2023).

L'écart est d'environ un jour. Pour le réseau de cliniques, cela signifie : préparer tôt le message de l'Aïd el-Fitr en brouillon et le programmer après l'annonce locale, ou le rédiger de manière à ce qu'il reste juste même avec un jour d'avance. Pour un jour `sensitive` approximatif, gardez une journée de marge de chaque côté. Pour des audiences réparties sur plusieurs pays, ne partez pas du principe qu'une seule date convient à tous.

## Un prompt à adapter

```text
Before scheduling anything this week:
1. Read each client's audience profile and list its traditions. If a profile has none, stop and ask me.
2. Call get_holidays once for the whole week, with the union of those traditions.
3. avoid: no promotional posts to that audience, including the afternoon and evening before.
4. sensitive: respectful tone only. No discounts, no humour, no countdowns.
5. opportunity: propose a greeting or themed post, written separately per account with per_channel.
6. approximate=true: keep a one day buffer, or wait for the local announcement.
7. After schedule_post, read calendar_notes. On a conflict, cancel, reschedule and tell me what changed.
```

Associez-le aux règles horaires de [la stratégie de programmation pour les agents](/fr/blog/scheduling-strategy-for-agents), pour que décalages horaires et fêtes soient traités dans la même passe.

## Check-list avant chaque exécution programmée

1. Chaque compte a un profil d'audience avec une liste explicite de traditions.
2. Un seul appel `get_holidays` couvre toute la période de l'exécution.
3. Un jour `avoid` bloque aussi la veille au soir.
4. Un jour `sensitive` change le ton, pas seulement l'horaire.
5. Les publications `opportunity` sont rédigées par audience, jamais un message de vœux générique pour tous.
6. Les dates approximatives bénéficient d'un jour de marge.
7. Les audiences mixtes, un jour qui fait débat, sont séparées en publications distinctes.
8. Après la programmation, l'agent lit `calendar_notes` et rend compte de chaque modification effectuée.

Les jours de repos hebdomadaires comme le shabbat relèvent d'une règle fixe plutôt que d'une entrée de calendrier : inscrivez-les dans le profil d'audience sous forme de plages horaires bloquées.

Si votre agent n'est pas encore connecté, la [page d'accueil des agents](/fr/agents) détaille la configuration. Une fois que c'est fait, la première tâche utile est modeste : ajoutez la ligne des traditions à chaque profil client et lancez `get_holidays` sur les deux prochains mois pour voir ce qui arrive.

## FAQ

### Shager bloque-t-il la programmation un jour avoid ?

Non. La recommandation est une information, renvoyée par `get_holidays` et dans les `calendar_notes` de chaque publication. La décision reste à l'agent et à la personne qui valide son travail, car un même jour peut être solennel pour une audience et ordinaire pour une autre.

### Comment l'agent sait-il quelles traditions s'appliquent à un compte ?

Il ne doit pas les deviner à partir d'un nom d'entreprise ou d'une ville. Inscrivez les traditions dans le profil d'audience de chaque client et demandez à l'agent de s'arrêter pour poser la question quand cette ligne manque.

### Une marque d'e-commerce internationale doit-elle vraiment se soucier des fêtes religieuses ?

Oui, surtout pour ses principaux marchés. Regroupez ses comptes par marché, confrontez chaque groupe aux journées commerciales et aux traditions courantes sur ce marché, et rédigez les messages de vœux par groupe. Une publication de Noël est une opportunité sur un marché, et hors sujet ou maladroite sur un autre.

---
Source: https://shager.ai/fr/blog/holiday-aware-posting-for-agents
