Apparence
Modèle de données
Ce document décrit ce que l'application enregistre : une section par domaine, une table par entité, et pour chaque colonne son libellé métier, son type et ses règles. Il est produit à partir du code — les libellés français viennent des modèles Django eux-mêmes, donc ils disent ce que l'application fait, pas ce qu'elle devait faire.
Les tables sont celles de la base MySQL ; les colonnes suffixées _id portent une référence vers une autre table (colonne « Relations » de la section).
Vue d’ensemble
Comment lire une table
- Colonne : le nom technique en base, celui qui apparaît dans un export.
- Libellé : le nom métier, tel qu'affiché dans le back-office. Absent quand le code n'en déclare pas : la colonne se lit alors telle quelle.
- Obligatoire : « oui » si la saisie est exigée à la création.
- Description : l'aide affichée dans le back-office, les valeurs autorisées d'une liste de choix, la valeur par défaut, et l'unicité éventuelle.
Rôles et habilitations
rôles — roles_roleassignment
Tri par défaut : user__username, role__name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
user_id | compte | int | oui | — |
role_id | rôle | int | oui | — |
date_start | date de début | date | non | Vide = actif dès la création. |
date_end | date de fin | date | non | Vide = attribution permanente. |
created_at | — | datetime | non | — |
updated_at | — | datetime | non | — |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
user | User | n:1 | obligatoire | supprime aussi cette ligne |
role | Group | n:1 | obligatoire | supprime aussi cette ligne |
establishments | Establishment | n:n | facultative | — |
Audit
journal des actions — audit_actionlog
Tri par défaut : -created_at.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
actor_id | acteur | int | non | Compte à l'origine de l'action, s'il existe encore. |
actor_repr | identité de l'acteur | string(255) | oui | Identité figée au moment de l'action, conservée si le compte disparaît. |
verb | action | string(16) | oui | Valeurs : created (Création), updated (Modification), deleted (Suppression) |
content_type_id | type d'objet | int | oui | — |
object_id | identifiant de l'objet | string(255) | oui | — |
object_repr | représentation de l'objet | string(200) | oui | Libellé figé au moment de l'action. |
changes | modifications | json | oui | Valeurs avant et après, normalisées dans un format JSON stable. |
created_at | date de l'action | datetime | non | — |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
actor | User | n:1 | optionnelle | vide le champ |
content_type | ContentType | n:1 | obligatoire | supprime aussi cette ligne |
Règles en base
- Index sur
content_type+object_id
Jours fériés
jours fériés — holidays_publicholiday
Tri par défaut : date, zone.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
zone | — | string(32) | oui | Valeurs : metropole (Métropole), alsace-moselle (Alsace-Moselle), guadeloupe (Guadeloupe), guyane (Guyane), martinique (Martinique), mayotte (Mayotte), nouvelle-caledonie (Nouvelle-Calédonie), la-reunion (La Réunion), polynesie-francaise (Polynésie française), saint-barthelemy (Saint-Barthélemy), saint-martin (Saint-Martin), saint-pierre-et-miquelon (Saint-Pierre-et-Miquelon), wallis-et-futuna (Wallis-et-Futuna) · Par défaut : metropole |
date | — | date | oui | — |
label | libellé | string(100) | oui | — |
source | origine | string(8) | oui | « API gouv » est écrasé à chaque synchronisation. « Saisie manuelle » ne l'est jamais. · Valeurs : api (API gouv), manual (Saisie manuelle) · Par défaut : manual |
created_at | — | datetime | non | — |
updated_at | — | datetime | non | — |
Règles en base
- Unicité sur
zone+date— contrainteunique_holiday_per_zone_and_date
Établissements
services — establishment_division
Tri par défaut : name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
name | nom | string(120) | non | — |
manager_id | responsable | int | non | Le compte qui a créé cette équipe. Renseigné automatiquement, non réassignable. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
manager | User | n:1 | optionnelle | vide le champ |
establishments | Establishment | n:n | facultative | — |
établissements — establishment_establishment
Tri par défaut : name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
name | nom | string(120) | oui | Valeur unique |
hub_id | pôle | int | non | — |
payroll_code_id | code de paye | int | oui | — |
cegi_payroll_file_code | code dossier de paye CEGI | string(32) | non | Code dos_code utilisé pour rattacher les contrats importés depuis CEGI. · Valeur unique |
opening_time | heure d'ouverture | time | oui | — |
closing_time | heure de fermeture | time | oui | — |
color | couleur | string(7) | non | Repère visuel de l'établissement dans les plannings, au format #RRGGBB. Laisser vide pour la couleur par défaut. |
working_days | jours d'ouverture | json | oui | Jours où l'établissement accueille du public. · Par défaut : calculé à la création |
open_on_public_holidays | ouvert les jours fériés | boolean | oui | Coché, l'établissement accueille du public les jours fériés qui tombent sur un jour d'ouverture. · Par défaut : False |
day_count_basis | base de décompte | string(8) | oui | Convention de décompte des congés et absences. Indépendante des jours d'ouverture ci-dessus. · Valeurs : OUVRABLE (Jours ouvrables (lundi au samedi)), OUVRE (Jours ouvrés (lundi au vendredi)) · Par défaut : OUVRE |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
hub | Hub | n:1 | optionnelle | vide le champ |
payroll_code | PayrollCode | n:1 | obligatoire | interdite tant que cette ligne existe |
sites | Site | n:n | facultative | — |
pôles — establishment_hub
Tri par défaut : name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
name | nom | string(120) | oui | Valeur unique |
codes de paye — establishment_payrollcode
Tri par défaut : code.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
code | — | string(32) | oui | Valeur unique |
sites — establishment_site
Tri par défaut : name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
name | nom | string(120) | oui | Valeur unique |
address | adresse | string | oui | — |
Types de contrat
types de contrat — contract_types_contracttype
Tri par défaut : label.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
label | libellé | string(60) | oui | — |
cegi_code | code CEGI | string(32) | non | Code cont_cod qui identifie ce type dans les imports CEGI. · Valeur unique |
nature | nature du contrat | string(60) | oui | Catégorie utilisée pour regrouper les libellés (CDI, CDD, Contrat d'apprentissage…). |
active | actif | boolean | oui | Décoché pour retirer un type des nouveaux contrats sans supprimer l'historique des contrats déjà rattachés. · Par défaut : True |
Règles en base
- Unicité sur
label+nature— contrainteunique_contract_type_label_and_nature
Salariés
enfants — employee_child
Tri par défaut : -birth_date.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
birth_date | date de naissance | date | oui | — |
is_disabled | en situation de handicap | boolean | oui | Par défaut : False |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
contrats — employee_contract
Tri par défaut : -date_start, employee__staff_number.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
contract_type_id | type de contrat | int | oui | — |
employee_id | salarié | int | oui | — |
payroll_establishment_id | établissement de paye | int | non | Établissement dont le code de paye figure sur le bulletin. Vide sur un contrat d'intérim, qui n'entre pas dans la paye. |
cegi_contract_id | identifiant contrat CEGI | string(64) | non | Identifiant cont_id, unique pour un même salarié. |
job_title | fonction | string(80) | non | Intitulé du poste occupé (AS, IDE, AES…). |
job_code | code fonction | string(32) | non | — |
qualification | — | string(100) | non | Diplôme ou niveau reconnu au titre duquel la personne est employée (DEES, DEAS, AES…). Distinct de la fonction, qui est le poste occupé. |
qualification_code | code qualification | string(32) | non | — |
weekly_hours | heures hebdomadaires | decimal(4,2) | oui | Durée contractuelle de travail par semaine. C'est la référence des compteurs : les heures dues sur la semaine, le mois et l'année en découlent. |
cegi_monthly_hours | heures mensuelles CEGI | decimal(6,2) | non | — |
hiring_reason_code | code motif d'embauche | string(32) | non | — |
hiring_reason | motif d'embauche | string(100) | non | — |
date_start | date de début | date | oui | — |
date_end | date de fin | date | non | Vide = contrat en cours (CDI, ou CDD dont le terme n'est pas saisi). |
trial_period_start | début de la période d'essai | date | non | — |
trial_period_end | fin de la période d'essai | date | non | Terme de la période d'essai, renouvellement compris. |
is_annualized | annualisé | boolean | oui | Temps de travail réparti sur l'année plutôt que sur la semaine. · Par défaut : False |
is_day_rate | forfait jours | boolean | oui | Décompte en jours travaillés sur l'année, sans horaire hebdomadaire. · Par défaut : False |
is_night_work | travail de nuit | boolean | oui | Par défaut : False |
is_on_call | astreinte | boolean | oui | Par défaut : False |
sundays_and_holidays_per_year | dimanches & jours fériés prévisionnels | int | non | Nombre de dimanches et jours fériés travaillés prévus sur l'année. Sans objet sur un contrat annualisé, dont le calendrier les porte déjà. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
contract_type | ContractType | n:1 | obligatoire | interdite tant que cette ligne existe |
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
payroll_establishment | Establishment | n:1 | optionnelle | interdite tant que cette ligne existe |
Règles en base
- Unicité sur
employee+cegi_contract_id— contrainteunique_cegi_contract_per_employee - Unicité sur
employee+payroll_establishment+date_start— contrainteunique_contract_per_employee_establishment_and_start
affectations — employee_divisionassignment
Tri par défaut : -date_start, division__name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
division_id | service | int | oui | — |
date_start | date de début | date | oui | — |
date_end | date de fin | date | non | Vide = affectation en cours. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
division | Division | n:1 | obligatoire | supprime aussi cette ligne |
Règles en base
- Unicité sur
employee+division+date_start— contrainteunique_assignment_per_employee_division_and_start
personnes à prévenir — employee_emergencycontact
Tri par défaut : employee, name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
name | nom | string(150) | oui | — |
relationship | lien | string(80) | oui | Ex. « conjoint », « fils ». |
phone | téléphone | string(20) | oui | — |
phone_secondary | téléphone secondaire | string(20) | non | — |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
salariés — employee_employee
Tri par défaut : user__last_name, user__first_name, staff_number.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
user_id | compte | int | oui | Valeur unique |
staff_number | matricule | string(32) | non | Identifiant du salarié dans le logiciel de paie. Vide tant que la paie ne l'a pas généré, et définitivement vide pour un intérimaire, qui n'entre pas dans la paie. · Valeur unique |
main_working_place_id | lieu de travail principal | int | non | Optionnel pour l'instant ; sera requis à terme. |
civility | civilité | string(4) | non | Valeurs : MME (Mme), M (M.), MLLE (Mlle) |
last_name_birth | nom de naissance | string(150) | non | Nom de jeune fille, si différent du nom d'usage. |
birth_date | date de naissance | date | non | — |
nationality | nationalité | string(80) | non | — |
marital_status | situation familiale | string(16) | non | Valeurs : CELIBATAIRE (Célibataire), MARIEE (Mariée), PACSEE (Pacsée), DIVORCEE (Divorcée), VEUVE (Veuve), CONCUBINAGE (Concubinage) |
social_security_number | n° sécurité sociale | string(32) | non | Format libre (avec ou sans espaces), tel que fourni par le salarié. |
declared_sex | sexe déclaré | string(1) | non | Sexe F/H fourni par le logiciel de paie, distinct de la civilité. · Valeurs : F (Femme), H (Homme) |
rpps_number | n° RPPS | string(11) | non | — |
rpps_not_applicable | RPPS non applicable | boolean | oui | Coché pour les postes ne nécessitant pas de n° RPPS (personnel non soignant). · Par défaut : False |
address | adresse | string(255) | non | — |
personal_phone | téléphone personnel | string(20) | non | — |
professional_phone | téléphone professionnel | string(20) | non | — |
mobile_phone | téléphone portable | string(20) | non | — |
personal_email | email personnel | string(254) | non | — |
professional_email | email professionnel | string(254) | non | — |
company_seniority_date | date d'ancienneté entreprise | date | non | — |
recognized_seniority_date | date d'ancienneté reconnue | date | non | — |
dependent_children_count | nombre d'enfants à charge déclaré | int | non | Nombre fourni par CEGI, distinct des fiches détaillées des enfants. |
mutual_insurance | mutuelle | string(200) | non | Organisme et type de contrat (ex. « Harmonie Mutuelle · contrat collectif »). |
is_disabled_worker | salarié en situation de handicap | boolean | oui | Par défaut : False |
honorability_certificate_issued_at | attestation d'honorabilité — date de remise | date | non | — |
honorability_certificate_renewed_at | attestation d'honorabilité — date de renouvellement | date | non | — |
honorability_certificate_file | justificatif d'honorabilité | file(100) | non | — |
is_caregiver | statut aidant | boolean | oui | Par défaut : False |
caregiver_beneficiaries | personnes aidées | json | non | Noms des personnes aidées (ex. « père », « enfant »). · Par défaut : calculé à la création |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
user | User | 1:1 | obligatoire | interdite tant que cette ligne existe |
main_working_place | Establishment | n:1 | optionnelle | interdite tant que cette ligne existe |
secondary_working_places | Establishment | n:n | facultative | — |
Compteurs
soldes d'annualisation — counters_annualizationbalance
Tri par défaut : employee_id, year.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
year | année | int | oui | — |
reference_hours | heures de référence | decimal(6,2) | oui | — |
hours_positive | heures + | decimal(6,2) | oui | Par défaut : 0 |
hours_negative | heures - | decimal(6,2) | oui | Par défaut : 0 |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
Règles en base
- Unicité sur
employee+year— contrainteunique_annualization_balance_per_employee_year
soldes CET — counters_cetbalance
Tri par défaut : employee_id, year.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
year | année | int | oui | — |
ceiling | plafond | decimal(6,2) | oui | — |
banked | épargné | decimal(6,2) | oui | Par défaut : 0 |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
Règles en base
- Unicité sur
employee+year— contrainteunique_cet_balance_per_employee_year
compteurs de congés/heures — counters_leavecounter
Tri par défaut : employee_id, year, kind.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
kind | type | string(8) | oui | Valeurs : CP (Congés annuels), CT (Congés trimestriels), ANC (Congés ancienneté), RC (Récupération), HS (Heures supplémentaires) |
year | année | int | oui | — |
acquired | acquis | decimal(6,2) | oui | Par défaut : 0 |
taken | pris | decimal(6,2) | oui | Par défaut : 0 |
planned | posés | decimal(6,2) | oui | Jours déjà planifiés, pas encore pris. Sans objet pour les compteurs en heures. · Par défaut : 0 |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
Règles en base
- Unicité sur
employee+kind+year— contrainteunique_leave_counter_per_employee_kind_year
Postes
postes — postes_poste
Tri par défaut : category, start_time.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
user_id | utilisateur | int | oui | Le manager propriétaire de ce poste — sa bibliothèque personnelle. |
category | catégorie | string(20) | oui | Moment de la journée — détermine le code affiché et sert de filtre dans la bibliothèque. · Valeurs : matin (Matin), apres_midi (Après-midi), soir (Soir), nuit (Nuit), journee (Journée) |
start_time | heure de début | time | oui | — |
end_time | heure de fin | time | oui | Peut être antérieure à l'heure de début : le poste se termine le lendemain (ex. poste de nuit). |
break_paid | pause rémunérée | boolean | oui | Décoché, la pause est déduite du temps de travail net. · Par défaut : True |
break_start_time | début de pause | time | non | — |
break_end_time | fin de pause | time | non | Laissez les deux heures de pause vides si le poste n'en comporte pas. |
archived_at | archivé le | datetime | non | Renseigné à la place d'une suppression quand ce poste est encore référencé par au moins une case de trame — il disparaît de la bibliothèque et des sélecteurs, mais reste résolvable là où il est déjà utilisé. Voir PosteViewSet.perform_destroy. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
user | User | n:1 | obligatoire | supprime aussi cette ligne |
Trames
trames — trames_trame
Tri par défaut : name.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
user_id | utilisateur | int | oui | Le manager propriétaire de cette trame — sa bibliothèque personnelle. |
name | nom | string(200) | oui | — |
weeks_count | nombre de semaines | int | oui | Longueur du cycle avant qu'il ne se répète. · Par défaut : 1 |
parent_id | trame vivante | int | non | Renseigné uniquement sur un clone archivé — pointe vers la trame vivante dont il conserve une version passée. |
archived_at | archivée le | datetime | non | Renseigné uniquement sur un clone archivé — date à laquelle cette version a été remplacée. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
user | User | n:1 | obligatoire | supprime aussi cette ligne |
parent | Trame | n:1 | optionnelle | interdite tant que cette ligne existe |
cases de trame — trames_tramecase
Tri par défaut : week, weekday.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
trame_id | — | int | oui | — |
week | semaine | int | oui | 1-indexé — position de cette case dans le cycle de la trame. |
weekday | jour de la semaine | int | oui | Valeurs : 0 (Lundi), 1 (Mardi), 2 (Mercredi), 3 (Jeudi), 4 (Vendredi), 5 (Samedi), 6 (Dimanche) |
kind | type | string(20) | oui | Valeurs : poste (Poste), repos (Repos), repos_hebdo (Repos hebdomadaire) |
poste_id | — | int | non | Renseigné uniquement quand le type est « Poste » et l'horaire n'est pas manuel. |
manual_start_time | heure de début manuelle | time | non | Renseigné uniquement quand le type est « Poste » et qu'aucun poste de la bibliothèque n'est référencé — un horaire saisi à la volée, non enregistré comme poste réutilisable. |
manual_end_time | heure de fin manuelle | time | non | Va avec manual_start_time — les deux, ou ni l'un ni l'autre. |
color | couleur | string(7) | non | Vide si la case n'a pas de couleur — indépendante du poste ou du repos assigné. · Valeurs : #DCEFEC (#DCEFEC), #E0F2FE (#E0F2FE), #1E3A5F (#1E3A5F), #E4F4D4 (#E4F4D4), #FFD9B0 (#FFD9B0), #CDEDE0 (#CDEDE0), #E3D4F5 (#E3D4F5), #FBF1C7 (#FBF1C7), #FBE0E8 (#FBE0E8), #E0E4CC (#E0E4CC) |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
trame | Trame | n:1 | obligatoire | supprime aussi cette ligne |
poste | Poste | n:1 | optionnelle | interdite tant que cette ligne existe |
Règles en base
- Unicité sur
trame+week+weekday— contrainteunique_trame_case_slot
Planification
astreintes — planning_oncallperiod
Tri par défaut : -date_start, employee__staff_number.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
date_start | date de début | date | oui | — |
date_end | date de fin | date | oui | Égale à la date de début pour une astreinte d'une seule nuit. |
time_start | heure de début | time | oui | — |
time_end | heure de fin | time | oui | Peut être antérieure à l'heure de début : l'astreinte se termine le lendemain matin (ex. 19:00 → 07:00). |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
planifications — planning_planningassignment
Tri par défaut : -date_start, employee__staff_number.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
trame_id | — | int | oui | — |
date_start | date de début | date | oui | — |
date_end | date de fin | date | non | Vide = reconduction tacite ou fin non définie. |
tacit_renewal | reconduction tacite | boolean | oui | Coché, le cycle se reconduit indéfiniment : pas de date de fin. · Par défaut : False |
start_week | semaine de départ | int | oui | Semaine du cycle de la trame à laquelle le salarié démarre. · Par défaut : 1 |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
trame | Trame | n:1 | obligatoire | interdite tant que cette ligne existe |
modulations de poste — planning_shiftoverride
Tri par défaut : -date, employee__staff_number.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
employee_id | salarié | int | oui | — |
date | — | date | oui | La journée que cette modulation réécrit, à la place de la trame. |
reason | motif | string(32) | oui | Pourquoi la journée change — ce que le manager choisit dans « Motif ». · Valeurs : remplacement (Remplacement), demande_personnelle (Demande personnelle), urgence (Urgence) |
establishment_id | établissement | int | non | Vide = la journée reste sur l'établissement habituel du salarié. Renseigné seulement si la modulation la déplace. |
is_remote | télétravail | boolean | oui | La journée se fait à distance. · Par défaut : False |
is_off_site | hors établissement | boolean | oui | La journée se fait ailleurs que dans un établissement (domicile d'usager, réunion…). · Par défaut : False |
includes_travel_time | temps de trajet inclus | boolean | oui | Les heures saisies comprennent le trajet. · Par défaut : False |
comment | commentaire | string | non | Libre — la précision que les trois motifs ne portent pas. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
employee | Employee | n:1 | obligatoire | supprime aussi cette ligne |
establishment | Establishment | n:1 | optionnelle | interdite tant que cette ligne existe |
Règles en base
- Unicité sur
employee+date— contrainteunique_shift_override_per_employee_and_date
créneaux modulés — planning_shiftoverrideslot
Tri par défaut : start_time.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
override_id | modulation | int | oui | — |
start_time | heure de début | time | oui | — |
end_time | heure de fin | time | oui | Peut être antérieure à l'heure de début : le créneau se termine le lendemain (ex. créneau de nuit). |
poste_id | — | int | non | Le poste choisi dans la bibliothèque, dont le créneau reprend le code et la couleur. Vide = horaires saisis à la main. |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
override | ShiftOverride | n:1 | obligatoire | supprime aussi cette ligne |
poste | Poste | n:1 | optionnelle | interdite tant que cette ligne existe |
Imports de données
tentatives d'import — data_imports_importattempt
Tri par défaut : -started_at.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
batch_id | lot | int | oui | — |
number | tentative | int | oui | — |
trigger | déclencheur | string(24) | oui | Valeurs : poll (Collecte planifiée), automatic_retry (Nouvelle tentative automatique), admin (Administration), command (Commande) |
actor_id | opérateur | int | non | — |
actor_repr | opérateur au moment du rejeu | string(255) | non | — |
status | statut | string(16) | oui | Valeurs : processing (En cours), succeeded (Réussi), rejected (Rejeté), retryable (À réessayer) |
error_code | code d'erreur | string(64) | non | — |
error_message | détail | string | non | — |
error_line | ligne | int | non | — |
error_column | colonne | string(64) | non | — |
started_at | début | datetime | non | — |
finished_at | fin | datetime | non | — |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
batch | ImportBatch | n:1 | obligatoire | supprime aussi cette ligne |
actor | User | n:1 | optionnelle | vide le champ |
Règles en base
- Unicité sur
batch+number— contrainteunique_import_attempt_number
lots d'import — data_imports_importbatch
Tri par défaut : -created_at.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | uuid(32) | auto | Clé technique, attribuée automatiquement |
checksum | empreinte SHA-256 | string(64) | oui | Valeur unique |
original_filename | nom du fichier | string(255) | oui | — |
incoming_path | chemin reçu | string(512) | oui | — |
archived_path | chemin archivé | string(512) | non | — |
file_size | taille en octets | int | oui | — |
detected_encoding | encodage détecté | string(32) | non | — |
extra_headers | colonnes supplémentaires | json | non | Par défaut : calculé à la création |
status | statut | string(16) | oui | Valeurs : processing (En cours), succeeded (Réussi), rejected (Rejeté), retryable (À réessayer) · Par défaut : processing |
row_count | lignes | int | oui | Par défaut : 0 |
created_count | créations | int | oui | Par défaut : 0 |
updated_count | mises à jour | int | oui | Par défaut : 0 |
unchanged_count | inchangés | int | oui | Par défaut : 0 |
payload_available | fichier disponible | boolean | oui | Par défaut : True |
processing_started_at | début du traitement | datetime | non | — |
lease_expires_at | expiration du bail | datetime | non | — |
completed_at | fin du traitement | datetime | non | — |
created_at | reçu le | datetime | non | — |
updated_at | mis à jour le | datetime | non | — |
résultats des lignes importées — data_imports_importrowresult
Tri par défaut : line_number.
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
attempt_id | tentative | int | oui | — |
line_number | ligne | int | oui | — |
employee_id | salarié | int | non | — |
contract_id | contrat | int | non | — |
action | — | string(16) | oui | Valeurs : created (Créé), updated (Mis à jour), unchanged (Inchangé) |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
attempt | ImportAttempt | n:1 | obligatoire | supprime aussi cette ligne |
employee | Employee | n:1 | optionnelle | vide le champ |
contract | Contract | n:1 | optionnelle | vide le champ |
Règles en base
- Unicité sur
attempt+line_number— contrainteunique_import_result_line
Tables Django réutilisées
Ces deux tables sont fournies par Django et ne sont pas de notre conception ; elles figurent ici parce que nos propres tables pointent dessus. Le compte (auth_user) porte l'identité et le mot de passe, le groupe (auth_group) porte le rôle — voir docs/administration/roles-et-acces.md.
utilisateurs — auth_user
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
password | mot de passe | string(128) | oui | — |
last_login | dernière connexion | datetime | non | — |
is_superuser | statut super-utilisateur | boolean | oui | Précise que l’utilisateur possède toutes les permissions sans les assigner explicitement. · Par défaut : False |
username | nom d’utilisateur | string(150) | oui | Requis. 150 caractères maximum. Uniquement des lettres, nombres et les caractères « @ », « . », « + », « - » et « _ ». · Valeur unique |
first_name | prénom | string(150) | non | — |
last_name | nom | string(150) | non | — |
email | adresse électronique | string(254) | non | — |
is_staff | statut équipe | boolean | oui | Précise si l’utilisateur peut se connecter à ce site d'administration. · Par défaut : False |
is_active | actif | boolean | oui | Précise si l’utilisateur doit être considéré comme actif. Décochez ceci plutôt que de supprimer le compte. · Par défaut : True |
date_joined | date d’inscription | datetime | oui | Par défaut : calculé à la création |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
groups | Group | n:n | facultative | — |
user_permissions | Permission | n:n | facultative | — |
groupes — auth_group
| Colonne | Libellé | Type | Obligatoire | Description |
|---|---|---|---|---|
id | — | int | auto | Clé technique, attribuée automatiquement |
name | nom | string(150) | oui | Valeur unique |
Relations
| Champ | Vers | Cardinalité | Présence | À la suppression de la cible |
|---|---|---|---|---|
permissions | Permission | n:n | facultative | — |