PKD est une plateforme destinée au personnel d'une exploitation maraîchère : pointage par puce NFC ou code QR à chaque rang de culture, même hors connexion. Les scans servent à calculer le temps de travail, à suivre les tâches et à établir les relevés d'heures. S'y ajoutent une messagerie d'équipe avec appels, des vidéos de formation dans la langue de chacun, un compteur d'emballages avec caméra et IA, et des téléphones professionnels en mode kiosque. Serveur, application web, Android et iOS sont réunis dans une même solution.
Par Abbas Hoseiny·Web, Android, iOS·Logiciel propriétaire
Une exploitation maraîchère emploie des saisonniers et des permanents parlant différentes langues. Le travail effectué dans les rangs était consigné sur des porte-blocs, le logiciel de paie n'offre pas d'interface d'intégration et le Wi-Fi ne couvre pas tous les recoins. PKD remplace la note sur papier par un scan de la puce à chaque rang et fournit au bureau et à la direction les heures travaillées, les relevés d'heures et une vue d'ensemble de la journée.
Fig. 1 — la journée en diagrammeEmployés → Temps de travail → Déroulé des tâches
Chaque bande est une personne, chaque nœud une tâche, la largeur correspond aux minutes enregistrées. Qui a fait quoi, où, combien de temps, et ce qui reste à éclaircir.
Fig. 2 — au niveau de chaque rangUn secteur, vue « Rangs »
Pour chaque rang : les minutes, les créneaux horaires et le nombre d'interventions dans la journée. Les rangs sont triés par heure du premier scan ; le diagramme se lit de haut en bas, comme le déroulé de la journée.
Fig. 3 — l'application des employésMaintenant · Aujourd'hui · Apprendre
Trois questions : suis-je pointé, qu'est-ce qui est en cours, qu'ai-je fait aujourd'hui. Messagerie, photos et vidéos se trouvent dans la barre du bas.
Fig. 4 — dans la langue maternelleAllemand, polonais, ukrainien, roumain
La langue dépend du compte utilisateur, et non de l'appareil : interface, vidéos de formation et messages.
Ce que fait la plateforme
Enregistrer, analyser, échanger.
Pointage par puce NFC
Arrivée, départ et chaque tâche sont enregistrés par la puce NFC du rang ou par code QR. Le serveur fixe l'heure. Sans connexion, le scan reste enregistré sur l'appareil en attendant l'envoi.
Déroulé des tâches, historique, aujourd'hui
La journée en diagramme par secteurs ou par rangs, plusieurs jours côte à côte, la continuité des tâches d'un jour à l'autre et, en direct, les personnes présentes et les tâches en cours.
Relevé d'heures et paie
Une feuille mensuelle par personne avec chaque jour du calendrier. Toute modification exige un commentaire. Validation, PDF, Excel, rapprochement avec le logiciel de paie.
Messagerie d'équipe et appels
Conversations individuelles et de groupe, messages vocaux, fichiers, appels par internet. Les interlocuteurs sont épinglés en haut : patron, cheffe d'équipe, support.
Apprendre dans sa langue
Courtes vidéos sur les premiers pas et les informations importantes, dans toutes les langues de l'application.
Compteur d'emballages avec caméra
Une caméra au-dessus du tapis roulant compte les produits emballés, les classe par taille grâce à l'IA et signale les défauts. Les résultats sont visibles en direct, dans l'historique et dans des rapports illustrés.
Emplacements et puces
Un plan représente les secteurs et les rangs. Chaque rang est équipé d'une carte NFC, programmée depuis l'interface d'administration.
Téléphones professionnels et infrastructure
Téléphones professionnels en mode kiosque, mises à jour par paliers et un compte par téléphone. Le service repose sur un serveur sauvegardé chaque jour, avec une copie chez un second hébergeur.
Fig. 5 — le compteur d'emballagesEnregistrement d'écran, sans son
Dans cet exemple, la caméra filme des barquettes de fraises sur le tapis roulant. Un petit ordinateur les compte et les classe ; le serveur rassemble les résultats. Chaque image reste archivée comme justificatif et peut être reclassée ensuite.
Fig. 6 — historique et planEmballages comptés par jour · plan du site avec puces par rang
Fig. 7 — la feuille mensuelleEmployés → Temps de travail → Heures
Chaque jour du calendrier est une ligne. Seul ce qui demande une clarification est signalé : un départ manquant, un scan hors de l'habitude, un ajout après coup. Un week-end n'est pas une erreur.
Technique
Comment la plateforme est construite
Le serveur conserve la version de référence des données. Les téléphones et ordinateurs utilisent des clients légers. Le modèle de données préserve le sens de chaque scan.
Le hub est un service en Go qui utilise PostgreSQL. Un proxy Caddy sert l'API et l'interface web sous un même domaine. Tout accès extérieur passe par un tunnel.
Appareils
Android, iOS, kiosque, navigateur, ordinateur de la caméra
Une application web pour le téléphone et l'administration
Couches natives pour la NFC, les notifications push, les appels et les mises à jour
Application kiosque sur les téléphones de service
⇄HTTPS un domaine
Hub · Go
API, analyse, notifications push, e-mails, tâches
Droits par personne et par secteur
Calcule temps de travail, déroulé, relevé d'heures
Push, e-mails, rapports, rapprochement avec la paie
⇄SQL
PostgreSQL
Une base de données de référence
Tous les modules dans une seule base
Sauvegardes quotidiennes, copie chez un second hébergeur
L'interface d'administration et l'application mobile reposent sur la même application web. La couche native apporte les fonctions que le navigateur n'offre pas. Un même déploiement sert toutes les plateformes.
2. Le modèle de scan
La puce ne contient qu'un identifiant, appelé slot. Sa signification est enregistrée dans une définition qui précise sa date d'entrée en vigueur. Chaque scan produit un événement immuable.
Le téléphone envoie le slot, l'identifiant de l'événement et son heure. L'heure qui compte est fixée par le serveur.
Le hub écrit l'événement avec personne, slot, définition, heure et source.
La durée n'est calculée qu'à la lecture. Si un rang change d'affectation, les anciens événements restent justes.
Si le même scan arrive deux fois, il ne compte qu'une fois.
3. Sans réseau
File d'attente
Chaque scan est d'abord enregistré sur l'appareil et compte immédiatement. L'envoi se fait plus tard, dans l'ordre des scans.
Horodatages
Le serveur contrôle l'horloge de l'appareil, ramène les valeurs aberrantes dans une plage définie et les signale pour vérification.
Démarrage à froid
L'application démarre et scanne même après des jours sans réseau. Un test automatique le vérifie à chaque modification.
Catalogue
Les tâches, les lieux et les traductions sont stockés sur l'appareil. L'interface d'administration affiche, pour chacun, sa version et les scans en attente.
4. Analyse
Tout est calculé par le hub. Déroulé, historique, relevé d'heures et rapports par e-mail utilisent les mêmes fonctions.
Déroulé des tâches
Un diagramme de Sankey montre les personnes, les tâches et les secteurs ou rangs. Chaque nœud donne accès aux détails. Les journées apparaissent côte à côte, sans mélanger leurs données.
Historique
Une tâche a-t-elle repris au même rang après une interruption ? Pour qu'il s'agisse d'une reprise, la tâche et le rang doivent être identiques.
Relevé d'heures
Les jours de travail sont définis selon la période d'emploi ou les règles de l'exploitation ; les jours fériés proviennent d'une table. Chaque correction exige un commentaire et reste visible.
Logiciel de paie
Il n'offre pas d'interface d'intégration exploitable. Un petit ordinateur sur le réseau de l'exploitation lit sa base de données et applique les opérations d'écriture envoyées par le hub.
5. Messagerie, appels, formation
Messagerie
Conversations individuelles et de groupe, accusés de lecture, messages vocaux et fichiers. Les pièces jointes sont stockées dans un espace de stockage objet, puis analysées par antivirus.
Appels
Appels vocaux en WebRTC, chiffrés entre les appareils. Si la connexion directe échoue, un serveur TURN dédié assure le relais.
Push
Les appels et les messages importants activent l'appareil. Si une notification push n'arrive pas, l'application interroge régulièrement le serveur pour les détecter.
Formation
Courtes vidéos explicatives, sonorisées automatiquement dans chaque langue.
Messages
Les demandes de correction des horaires sont envoyées dans la langue de la personne ; sa réponse revient traduite. Une assistante IA peut appeler pour répondre aux questions simples.
6. Appareils
Mode kiosque
Une application interne gère les appareils en mode kiosque : seuls PKD et les applications autorisées restent accessibles ; la batterie et le volume sont surveillés et les mises à jour sont déployées par étapes.
Un compte par téléphone
Le changement se fait par code QR et déconnecte l'ancien appareil. Des feuilles de codes QR de secours sont prévues.
Clés d'appareil
Chaque appareil est appairé une fois et reçoit sa propre clé. L'administration peut le bloquer à tout moment.
7. Exploitation
Conteneurs
Hub, base de données, proxy, stockage objet, antivirus, relais TURN, tunnel et sauvegarde dans une seule pile Docker Compose.
Sauvegarde
Une sauvegarde quotidienne de la base sur le serveur et une copie chiffrée chez un second hébergeur.
Migration
Un avis signé informe les applications du changement d'adresse du serveur. Les appareils se connectent automatiquement à la nouvelle adresse.
8. Fiche technique
Rôle
Conception, architecture, réalisation, exploitation et support
Utilisateurs
Saisonniers et permanents, chefs d'équipe, bureau, direction ; allemand, polonais, ukrainien, roumain
Astro, TypeScript, service worker, d3-sankey, export PDF et Excel
Applications
Android et iOS avec couche native, application kiosque interne ; puces NFC aux rangs, codes QR de secours
Modules
Pointage, déroulé des tâches, historique, relevé d'heures, rapprochement avec la paie, messagerie et appels, formation, compteur d'emballages, emplacements, contrôle qualité, serre, consignes, boîte mail et explorateur de fichiers