Cet article présente une méthode de programmation du comportement collectif et adaptatif de dispositifs informatiques distribués dans divers environnements tels que l'Internet des objets (IoT). Nous supposons un environnement dans lequel plusieurs dispositifs interagissent avec leurs voisins et exécutent des cycles de détection-calcul-interaction quasi synchronisés, et où un seul programme effectue le calcul qui mappe les valeurs de détection et les messages reçus aux messages de sortie et transmis. Pour programmer l'ensemble du système informatique collectif, nous proposons une abstraction de processus collectif distribué capable de définir simultanément la logique de formation d'ensemble et les opérations collectives. Cette abstraction est formalisée en eXchange Calculus (XC), un langage fonctionnel de base basé sur les valeurs de voisinage (mappage des voisins aux valeurs), et implémentée dans le langage FCPP. Nous expérimentons le processus collectif distribué à travers deux études de cas : la propagation de messages multi-sauts et la surveillance distribuée des caractéristiques spatiales. Nous discutons ensuite des caractéristiques et de l'adéquation de l'abstraction à diverses applications informatiques distribuées.