---
title: "Tâches — Documentation fonctionnelle"
module: projects
type: functional
status: active
updated: 2026-04-08
---

# Tâches — Documentation fonctionnelle

## Vue d'ensemble

Le module Tâches (`idmod 14050101`) permet aux utilisateurs de créer, gérer et suivre des tâches personnelles ou collaboratives. Les tâches peuvent être autonomes ou rattachées à un projet/ticket.

---

## Accès

| URL | Description |
|-----|-------------|
| `/tasks` | Vue principale — liste de mes tâches |
| `/tasks/new` | Formulaire de création d'une tâche |
| `/mod?modidelement=14050101&action=update&idmaster={id}` | Fiche de modification d'une tâche |

---

## Cycle de vie d'une tâche

Une tâche passe par plusieurs statuts automatiquement calculés :

| Statut | Condition |
|--------|-----------|
| **Programmée** | Pas encore de date de début réelle, ou dtbegin > aujourd'hui |
| **En cours** | dtbegin renseignée, pas de date de fin |
| **Suspendue** | dtpause renseignée |
| **Expirée** | dtbegin passée, dtend passée, avancement < 100% |
| **Terminée** | pcrealise = 100 (et/ou dtend renseignée) |

### Règles automatiques

- Si l'avancement atteint **100%** → la date de fin réelle (`dtend`) est automatiquement définie à aujourd'hui.
- Si une **date de fin réelle est saisie** et qu'elle est passée → l'avancement passe automatiquement à 100%.

---

## Fonctionnalités

### Création d'une tâche

- Depuis `/tasks/new` (formulaire Livewire dédié)
- Champs principaux : titre, description, assignée à, priorité, dates prévues
- Peut être **rattachée à un projet** au moment de la création (sélection du projet + étape)
- Quand la création est initiée depuis un projet (paramètre `currentProject` dans l'URL), le sélecteur de projet est verrouillé en lecture seule
- L'utilisateur créateur est automatiquement renseigné
- **Ajout rapide** depuis la liste `/tasks` : champ inline au-dessus du tableau, disponible même quand la liste est vide (sauf en mode *Mes tâches assignées*)

### Gestion depuis la liste (`/tasks`)

La liste "Mes Tâches" offre :

- **Filtres de vue** :
  - *Toutes les tâches* — tâches créées par moi ou qui me sont assignées
  - *Mes tâches assignées* — tâches que j'ai créées et assignées à d'autres
  - *Toutes mes tâches* — tâches qui me sont assignées
  - *Par liste* — tâches d'une liste personnelle
- **Filtre par statut** (Programmée, En cours, Suspendue, Expirée, Terminée)
- **Filtre par projet**
- **Tri** par date de création ou nom
- **Colonnes configurables** (afficher/masquer)
- **Export** des données

### Actions en masse (sélection multiple)

| Action | Description |
|--------|-------------|
| Modifier en masse | Mettre à jour plusieurs champs simultanément |
| Rattacher/Détacher d'une liste | Organiser les tâches dans des listes personnelles |
| Assigner | Réaffecter les tâches à un utilisateur |
| Valider | Marquer les tâches comme terminées |
| Suspendre | Mettre en pause avec une raison obligatoire |
| Supprimer | Supprimer définitivement les tâches |

### Actions sur une tâche individuelle (fiche)

| Action | Condition |
|--------|-----------|
| **Valider la tâche** | Tâche non terminée — demande une date de validation |
| **Invalider la tâche** | Tâche déjà terminée — remet le statut à 0% |
| **Suspendre la tâche** | Tâche active — demande une raison obligatoire |
| **Réactiver la tâche** | Tâche suspendue — retire la suspension |

---

## Listes de tâches

Les utilisateurs peuvent créer des **listes personnelles** pour organiser leurs tâches (ex : "Semaine 12", "Urgent", "Projet X"). Une tâche ne peut appartenir qu'à une seule liste à la fois.

---

## Notifications par mail

- **Assignation** : un mail est envoyé à l'utilisateur assigné quand la tâche lui est attribuée (si différent du créateur)
- **Validation** : un mail de fin de tâche est envoyé si l'option `tpalert = MA` est activée
  - Si la tâche est rattachée à un projet : envoi aux membres du projet concernés
  - Sinon : envoi à l'email DSI configuré

---

## Addins (pièces jointes)

Une tâche peut recevoir des éléments complémentaires :

- Commentaires
- Images
- Documents
- Liens

---

## Intégration avec les Tickets

Depuis un ticket, il est possible de créer des tâches liées. Dans ce contexte :
- Certains champs sont masqués (jalons, tags, dates, avancement)
- La création incrémente le compteur `nb_task` du ticket
- Un log de navigation est enregistré

---

## Intégration avec les Projets

Une tâche peut être rattachée à un projet (et une étape de projet) via la table `_com_acl` (`idmodmaster = 16050101`, `tpaddin = 'T'`). Depuis la vue projet, les tâches sont filtrées par projet/étape.

---

## Visibilité

Le champ `tpvisible` contrôle qui peut voir la tâche :

| Valeur | Visibilité |
|--------|-----------|
| `PRIVATE` | Uniquement le créateur et l'assigné |
| `ENTITY` | Membres du même tenant (`_id`) |
| *(vide/autre)* | Visible dans le contexte projet |
