Génération
La génération automatique confie l'attribution des gardes au solveur OR-Tools. Elle respecte les règles du planning, les disponibilités et l'équité. Cette page décrit le lancement, le suivi et l'historique. Pour l'attribution à la main et le réglage de l'équité, voir Attribution.
La génération est réservée aux administrateurs du planning. Elle n'est pas disponible tant que le planning est en brouillon.
Lancer une génération
- Ouvrez l'onglet Tableau du planning et passez en mode Édition.
- Cliquez sur Générer automatiquement.
- Réglez le Périmètre et les Options (voir ci-dessous).
- Cliquez sur Lancer la génération.
Si des gardes sont déjà attribuées dans le périmètre, la fenêtre l'indique : elles seront remplacées, et la génération actuelle reste restaurable pendant 7 jours depuis l'historique.
Si le planning est publié, un avertissement le rappelle : les gardes non attribuées seront remplies et immédiatement visibles par les membres. Les gardes déjà publiées sont préservées.
Périmètre
| Option | Effet |
|---|---|
| Générer sur une période précise | Seules les gardes entre les dates Du et Au sont réattribuées. Les autres restent inchangées. |
| Limiter à certains roulements | Seuls les roulements cochés sont générés. Décoché, tous les roulements le sont. |
Options
| Option | Effet |
|---|---|
| Conserver les attributions manuelles existantes | Les gardes attribuées à la main ne sont pas modifiées. |
| Inclure les N gardes publiées de ce planning | Planning publié seulement. Les gardes publiées sont dépubliées puis régénérées. Désactivée tant que la conservation des attributions manuelles est cochée. |
| Repasser les gardes non attribuées en brouillon | Planning publié et période précise seulement. Les gardes vides ne sont plus visibles tant qu'elles le restent. |
| Créer la période de publication pour cette plage | Planning publié et période précise seulement. Vous publierez les gardes quand vous serez prêt, depuis l'onglet Périodes. |
| Exclure des personnes de cette génération | Les personnes choisies ne reçoivent aucune garde lors de ce lancement. Leurs réglages ne changent pas. |
| Exclure des groupes de cette génération | Les membres des groupes choisis ne reçoivent aucune garde lors de ce lancement. |
| Laisser des trous plutôt que forcer sur une indisponibilité | Une garde reste vide si personne n'est disponible, au lieu d'être attribuée à une personne indisponible. |
Planning trop volumineux
Si le planning dépasse la capacité du solveur en une seule fois, SuperPagr propose de le découper en sous-périodes : Découper en N générations. Chaque sous-période est générée à la suite et tient compte des attributions des précédentes.
Pendant la génération
La génération tourne en arrière-plan. Vous pouvez fermer la fenêtre ou changer de page : le calcul continue.
Un indicateur Génération en cours reste affiché dans le planning. Il propose Arrêter, puis, à la fin, le nombre de gardes attribuées et le bouton Voir l'attribution.
Lecture seule temporaire
Jusqu'à la fin du calcul, le planning passe en Lecture seule. Les paramètres, les règles, les roulements, les participants, les groupes et les attributions ne sont plus modifiables. Toutes les pages restent consultables. La saisie reprend dès que la génération se termine ou est annulée.
Annuler une génération
L'onglet Génération du planning affiche l'état du calcul en cours : nombre de gardes, passe, solutions trouvées et temps écoulé. Le bouton Annuler la génération l'interrompt.
Jour sans personne disponible
Si le réglage Autoriser l'attribution sur indisponibilité est activé et qu'un jour n'a personne de disponible, la génération n'est pas bloquée : la garde reste vide et un avertissement le signale. Le lancement n'est refusé que si personne n'est autorisé sur un shift d'un roulement obligatoire, ce qui relève de la configuration (autorisations, groupes, compétences). Un roulement facultatif sans personne éligible ne bloque pas la génération.
Quand aucune solution n'est possible
Si les contraintes obligatoires ne peuvent pas être toutes respectées, la génération s'arrête sur Aucune solution possible et liste les causes. Voir Attribution pour les pistes de correction.
Historique des générations
L'onglet Génération regroupe aussi l'Historique des générations, trié de la plus récente à la plus ancienne. Colonnes :
| Colonne | Contenu |
|---|---|
| Date | Date et heure du lancement |
| Lanceur | Personne qui a lancé la génération |
| Statut | Résultat de la génération |
| Couverture | Gardes attribuées sur les gardes de la plage générée, pas sur tout le planning |
| Options | Exclusions et option « trous plutôt qu'indispos » utilisées |
| Temps solver | Durée de calcul |
| Passe | Passe 1 (règles strictes) ou passe 2 (mode dégradé) |
| Action | Boutons de retour arrière |
Cliquez sur une ligne pour ouvrir son Rapport de génération.
Revenir à un état précédent
Deux boutons dans la colonne Action :
- Restaurer remet les attributions produites par cette génération ;
- État d'avant remet les attributions telles qu'elles étaient juste avant cette génération (attributions manuelles ou génération précédente).
Avant de confirmer, un aperçu montre les gardes qui changent, les Gardes pourvues, les Gardes vidées et l'évolution de la Couverture. Il signale aussi :
- les gardes publiées qui changent de titulaire : les personnes concernées sont prévenues ;
- les échanges en cours qui seront annulés ;
- les gardes modifiées à la main depuis cette génération, qui seront écrasées.
L'état actuel n'est pas conservé. Pour le retrouver, il faudra relancer une génération.
Notifications des membres
Quand des gardes sont attribuées, retirées ou changent d'horaire, chaque personne voit tout de suite une notification dans l'application. Le mail et la notification push partent ensuite dans un seul récapitulatif par planning, au lieu d'un message par garde. Une garde qui commence dans moins de 48 heures est signalée immédiatement. Les préférences de notification de chacun sont respectées.
Gardes hors des dates du planning
Seules les gardes comprises entre la date de début et la date de fin du planning sont générées. Une garde restée hors de ces dates n'entre ni dans les cibles d'équité, ni dans la couverture, ni dans les statistiques.
Quand vous changez les dates du planning, les gardes vides et non publiées qui tombent hors de la nouvelle période sont supprimées. Un changement de dates qui ferait sortir une garde attribuée ou publiée est refusé.
Articulation avec les autres modules
- Attribution — attribution manuelle, équité, ordre alphabétique
- Paramètres — réglages du planning et règles
- Disponibilités du planning — l'entrée principale du solveur
- Shifts — le Tableau où les gardes s'affichent