Tâches
Les tâches correspondent à des unités individuelles de travail sur le terrain planifiées, chacune comportant un emplacement sur la carte, les ressources nécessaires (matériel, équipement, main-d'œuvre) et un suivi de l'avancement. Une tâche peut consister à installer un boîtier de dérivation dans un bâtiment spécifique, à poser 500 m de câble le long d'un itinéraire ou à effectuer une inspection dans une zone définie. Les tâches sont gérées par versions, ce qui permet aux équipes de planifier hors ligne, de créer des tâches par lots et d'annuler les modifications avant de les valider dans l'ensemble de données partagé.
Structure des tâches
Page Tâches affichant les travaux planifiés avec suivi de l'avancement et besoins en ressources multiples
Champs de base :
- Nom - Nom descriptif de la tâche
- Description - Instructions de travail détaillées
- Géométrie - Point, ligne ou polygone indiquant l'emplacement du travail
- Ordre - Ordre de travail parent regroupant les tâches associées
- Ressources - Liste des matériaux/main-d'œuvre requis (prise en charge de plusieurs ressources)
Besoins en ressources : Chaque entrée de ressource comprend :
resource- Référence de définition de la ressourcevolume- Quantité/montant requisuom- Unité de mesureassignedTo- Personne responsable de la collecte de cette ligne de ressource spécifique (facultatif)
Exemple :
Task: "Install network junction box at Building 42"
Geometry: Point (lat: 40.7128, lng: -74.0060)
Resources: [
{ resource: "Junction Box", volume: 1, uom: "units" },
{ resource: "Cat6 Cable", volume: 15, uom: "meters" },
{ resource: "Mounting Screws", volume: 8, uom: "units" },
{ resource: "Electrician", volume: 2, uom: "hours" }
]
Tâches multi-ressources
Ancien système : une ressource par tâche
- Problème : les travaux complexes génèrent un nombre excessif de marqueurs sur la carte
- Exemple : 100 installations × 4 ressources = 400 points sur la carte
Système actuel : plusieurs ressources par tâche
- Solution : un seul marqueur sur la carte représente l'ensemble des travaux
- Même exemple : 100 points sur la carte (un par installation)
- Carte plus claire, planification spatiale plus facile
Avantages :
- Réduction de l'encombrement de la carte
- Regroupement des matériaux associés (porte + vis + adhésif = une tâche)
- Suivi de l'avancement sur l'ensemble des ressources
Affectation par ressource
Chaque ligne de ressource d'une tâche peut être affectée à une personne spécifique. Cela permet aux planificateurs de désigner qui est responsable de la collecte de chaque matériau ou de l'exécution de chaque composante de travail — au niveau de la ligne, et pas seulement au niveau de l'ordre de travail.
Fonctionnement de l'affectation :
- Dans le détail de la tâche, chaque ligne de ressource dispose d'une colonne Affecté à
- La colonne s'affiche automatiquement dès qu'une ligne de la tâche comporte une affectation ; elle reste masquée pour les rapports et autres types d'enregistrements où l'affectation ne s'applique pas
- Affecter une personne à une ligne de ressource ne réserve pas l'inventaire — cela enregistre qui est censé collecter et livrer cet article
- L'état réel de la collecte (qui a collecté, quelle quantité, quand) est suivi dans le registre des transactions, pas sur la tâche elle-même
Pourquoi suivre au niveau de la ressource ?
Les ordres de travail regroupent de nombreuses tâches et les affectent à des personnes, mais un seul ordre de travail peut couvrir des dizaines de lignes de ressources sur de nombreuses tâches. L'affectation par ressource comble ce manque : un planificateur peut indiquer « Alice récupère les 50 m de conduit pour cette tâche, Bob s'occupe des boîtiers de dérivation. » Chaque personne dispose d'une vue ciblée sur exactement ce qu'elle doit collecter — sans ambiguïté quant à qui est responsable de quel article.
Notification Envoyer les affectations :
Une fois les affectations de ressources définies, l'action Envoyer les affectations sur la page des tâches envoie des notifications à tous les personnes affectées. Chacune reçoit un message combiné unique couvrant ses ordres de travail (nom, date d'échéance, lien) ainsi qu'un code QR par ligne de ressource affectée. Le code QR est l'autorisation de collecte — le travailleur le scanne à l'entrepôt pour collecter son article spécifique. La collecte est enregistrée automatiquement comme transaction lors du scan.
L'action Envoyer les affectations est disponible à la fois comme action par ligne sur des tâches individuelles et comme opération en masse lorsque plusieurs tâches sont sélectionnées dans le tableau.
Les tâches sont versionnées
Contrairement aux missions/rapports, les tâches utilisent un workflow de versionnement/validation :
Pourquoi le versionnement :
- Les administrateurs conçoivent les zones de travail hors ligne (tunnels de métro, sites éloignés)
- Détection des conflits spatiaux nécessaire (chevauchement géographique)
- Opérations par lots courantes (refonte de toute une campagne)
- La restauration est utile (annuler toute modification de la planification)
Workflow :
- Créer une version (mode brouillon)
- Ajouter/modifier des tâches dans le brouillon
- Validation spatiale (vérification des chevauchements)
- Valider la version → les tâches deviennent « officielles »
- Les collaborateurs voient les tâches validées dans leurs missions
Collaboration hors ligne : Plusieurs administrateurs peuvent créer des versions distinctes :
- Administrateur A : planifier les tâches de la région nord
- Administrateur B : planifier les tâches de la région sud
- Les deux travaillent hors ligne, puis valident plus tard
- Résolution des conflits en cas de chevauchement géographique
Types de géométrie des tâches
Tâches ponctuelles
Travaux sur un seul site (installation d'équipements, inspection).
Exemple : Installation d'un boîtier de jonction
Geometry: { type: "Point", coordinates: [lng, lat] }
Tâches linéaires
Travaux linéaires (pose de câbles, installation de canalisations).
Exemple : Pose de 500 m de câble à fibre optique
Geometry: { type: "LineString", coordinates: [[lng1,lat1], [lng2,lat2], ...] }
Tâches polygonales
Travaux par zone (zones de couverture, zones de service).
Exemple : Campagne de sensibilisation porte-à-porte dans un quartier
Geometry: { type: "Polygon", coordinates: [[[lng1,lat1], ...]] }
Filtrage par proximité
Rechercher des tâches à proximité d'emplacements spécifiques :
Cas d'utilisation : Un employé d'un entrepôt souhaite trouver des tâches à proximité
- Ouvrez la page Tâches
- Cliquez sur le bouton « Filtrer à proximité »
- Faites glisser le marqueur de la carte vers l'emplacement de l'entrepôt
- Définissez la distance (par exemple, 5 km)
- Le tableau affiche uniquement les tâches situées dans ce rayon
Action sur la ligne : Cliquez sur « Filtrer à proximité » dans la ligne de la tâche → la proximité est automatiquement définie par rapport à l'emplacement de cette tâche
Utilisation des tâches dans les ordres de travail
Les tâches apparaissent dans les affectations en tant qu'options de travail disponibles :
Répartition flexible :
- Un ordre de travail peut comporter 10 tâches disponibles
- Les objectifs de ressources exigent la réalisation de 1 à 2 de ces tâches
- Le travailleur choisit les tâches à réaliser (flexibilité)
- Une surallocation de 10 fois est courante (plus d'options que d'objectifs)
Exemple :
Work order to John:
Resource Targets: 50m cable, 20 junction boxes
Available Tasks: [Task1, Task2, Task3, ... Task30]
John completes:
Task 5: 30m cable, 12 junction boxes
Task 12: 20m cable, 8 junction boxes
Total: Met cable target, met junction box target
Le travailleur disposait de 30 options de tâches pour atteindre les objectifs - grande flexibilité.
Suivi de la progression des tâches
Calcul : Progression = Taux d'achèvement moyen sur l'ensemble des ressources
Exemple :
Task with 3 resources:
- Cat6 Cable: 10m required, 5m completed = 50%
- Screws: 8 required, 8 completed = 100%
- Labor: 2 hours required, 0 hours reported = 0%
Overall progress = (50% + 100% + 0%) / 3 = 50%
Indicateurs visuels :
- Barre de progression : Vert ≥100 %, Jaune ≥50 %, Rouge <50 %
- Indicateur géométrique : Coche verte si le point/la ligne/le polygone est valide
- Utilisation : Indique quelles affectations/quels rapports font référence à cette tâche
Création de tâches
Accès requis : tasksCreate droits d'administrateur
Processus :
- Accédez à Exécution → Tâches
- Créez une nouvelle version (ou modifiez un brouillon existant)
- Cliquez sur « Ajouter une tâche » dans la version
- Remplissez les informations de base (nom, description)
- Sélectionnez la commande (regroupement parent)
- Cliquez sur la carte pour définir la géométrie
- Ajoutez des ressources (vous pouvez en ajouter plusieurs)
- Enregistrez la tâche en brouillon
- Validez la version une fois la planification terminée
Bonnes pratiques :
- Regroupez les éléments connexes dans une seule tâche (cela réduit l'encombrement de la carte)
- Utilisez une nomenclature cohérente (par exemple, « Installation - Boîte de jonction - Bâtiment 42 »)
- Définissez des volumes de ressources réalistes (pour faciliter la planification des stocks)
- Inclure les ressources en main-d'œuvre (facilite le calcul des effectifs)
Génération de tâches en masse
Créer efficacement de nombreuses tâches similaires :
Scénario : Installer 100 boîtes de jonction dans différents bâtiments
Méthode 1 : Importation depuis GeoJSON
- Créer un fichier GeoJSON contenant 100 points
- Chaque entité possède des propriétés : nom, description, ressources
- Importer → crée 100 tâches dans une seule version
Méthode 2 : Générer à partir d'une sélection sur la carte
- Sélectionner 100 entités de bâtiments existantes sur la carte
- Cliquer sur « Générer des tâches »
- Choisir un modèle de tâche (besoins en ressources)
- Crée une tâche à chaque emplacement de bâtiment
Méthode 3 : Copier une tâche existante
- Sélectionner une tâche avec la configuration de ressources correcte
- Cliquez sur « Dupliquer la tâche »
- Modifiez la géométrie pour l'adapter au nouvel emplacement
- Répétez l'opération pour les installations similaires
Impression groupée des tâches
Un projet peut contenir des dizaines, voire des centaines de tâches. Plutôt que d'imprimer chacune d'entre elles à partir de sa page de détail, utilisez l'action Imprimer toutes les tâches au niveau du projet :
- Ouvrez la page de détail du projet parent (
/fulfillment/projects/:id) - Cliquez sur Imprimer toutes les tâches dans l'en-tête
- La vue d'impression par lots s'ouvre à l'adresse
/fulfillment/tasks/batch/[ids]— une liste d'identifiants de tâches séparés par des virgules dans l'URL - L'écran affiche 10 tâches par page (pagination gérée par CSS — tous les enregistrements se trouvent dans le DOM, donc l'impression affiche tout)
- Imprimez la page — chaque tâche est séparée par un saut de page, vous obtenez donc une tâche par page imprimée
Remarques :
- Limite de sécurité : la vue par lots est limitée à 200 tâches par impression. Si le projet dépasse ce nombre, une bannière vous avertit et les tâches au-delà de 200 sont tronquées — divisez l'impression en lots plus petits si nécessaire.
- Chaque tâche du lot s'affiche avec la même mise en page que sa page de tâche individuelle, de sorte que le contenu imprimé correspond à ce que vous obtiendriez en imprimant les tâches une par une.
Validation des tâches
Avant la validation de la version, le système vérifie :
Conflits spatiaux :
- Polygones qui se chevauchent (deux tâches couvrant la même zone)
- Tâches ponctuelles trop proches les unes des autres (seuil configurable)
- Tâches de type ligne traversant des zones réglementées
Disponibilité des ressources :
- Avertissement si les ressources requises ne sont pas en stock
- Ne bloque pas la validation (les tâches peuvent être datées ultérieurement)
- Facilite la planification des achats
Validité géométrique :
- Les points doivent avoir des coordonnées valides
- Les lignes doivent comporter au moins 2 points
- Les polygones doivent être fermés (premier point = dernier point)
Cycle de vie des ordres de travail
Déroulement type :
- Planification - L'administrateur crée des tâches en version brouillon
- Validation - La version est validée, les tâches deviennent officielles
- Ordre de travail - Les tâches sont ajoutées aux affectations des travailleurs (tableau availableTasks)
- Exécution - Le travailleur accomplit certaines des tâches disponibles
- Rapport - Le travailleur associe la tâche terminée à son rapport de terrain
- Progression - La progression de la tâche est mise à jour en fonction du travail effectué
- Achèvement - Lorsque toutes les ressources sont à 100 %, la tâche est marquée comme terminée
Réutilisation des tâches : Les tâches peuvent apparaître dans plusieurs affectations :
- Une même tâche attribuée à plusieurs travailleurs (travail partagé)
- Tâche partiellement effectuée par un travailleur, terminée par un autre
- Progression agrégée sur l'ensemble des rapports
Affichage des détails de la tâche
La page de détails de la tâche affiche :
- Informations de base et géométrie
- Liste des ressources requises
- Barre de progression et pourcentage
- Utilisée dans : ordres de travail et rapports faisant référence à cette tâche
- Historique des versions (quelles versions ont modifié cette tâche)
- Relation spatiale avec les tâches voisines
Vue cartographique :
- Code couleur en fonction de la progression (rouge = non commencé, jaune = partiel, vert = terminé)
- Indicateurs de type de géométrie (icône pour point, style de ligne, remplissage de polygone)
- Clicable pour afficher rapidement une fenêtre contextuelle détaillée
- Filtrable par ordre, progression, proximité