Les archives mondiales du logiciel

Vous recherchez des codes sources, une base logicielle pour démarrer une nouvelle étude un nouveau projet. Vous souhaitez faire un recensement des archives existantes concernant votre nouveau projet et bien c'est exactement l'objet de cet article.

Nous allons voir ce qui se fait et comment trouver parmi l'ensemble des solutions proposées quels sont les meilleurs endroits pour trouver du logiciel Open Source.
https://sourceforge.net/
Source Forge
Oui moi aussi, cette question me parait extrêmement vaste mais pour moi elle s'impose depuis l'avènement de GitHub depuis que j'ai découvert que le projet Roslyn, de compilateur Microsoft C#, était transféré du CodePlex vers GitHub donc totalement OpenSource.

D'autre part, en matière de logiciel open source, il y a des gens que j'aime bien pour avoir développé le projet Scilab c'est l'Inria et faisant un tour sur leur site, je découvre les Archives Mondiale du Logiciel.

Alors c'est parti, prenons des notes...

SourceForge

Un sujet d'actualité pour moi le protocole "MQTT", il faudrait, afin de comparer les différentes archives du logiciel prendre ce sujet et faire l'inventaire de ce que l'on trouve sur les différentes plateformes. Ce serait le moyen de faire une étude comparative transverse.

En cherchant "MQTT" dans SourceForge, on s'aperçois par exemple que le projet MqttDotNET est parti (à migré) vers le GitHub :

Projet MqttDotNET dans SourceForge
Dernière mise à jour de ce projet dans SourceForge  : 24/04/2013
Dans GitHub : 23/07/2014

Donc c'est clair, il faut aller poursuivre ce projet dans GitHub :

MqttDotNet

Ce qui est curieux c'est que pour de la documentation on va trouver le blog de stevenlovegrove mais qui revient vers SourceForge, sans doute la flemme de mettre à jour... Mais cela créé quand même une certaine confusion.

Mise à jour  mars 2019 : Et en fait non il faut le dire GitHub n'est pas bon pour la doc les fichiers .md (grrr) c'est pas terrible aussi il y a une tendance à dissocier le code source et la doc ce qui a mon sens n'est pas bon.

CodePlex

CodePlex is Microsoft's free open source project hosting site. You can create projects to share with the world, collaborate with others on their projects, and download open source software.

CodePlex
Il y a le projet BlogEngine qui a migré vers GitHub :

BlogEngine
La documentation BlogEngine est plutôt restée dans le CodePlex c'est encore une fois probablement historique.

Et il y a donc également le projet Roslyn qui a migré vers GitHub :

Roslyn
Le projet de compilateur C# Roslyn dans GitHub :

Roslyn on GitHub
Mise à jour mars 2019 : C'était annoncé mais le CodePlex n'est plus q'une archive, j'en suis triste j'ai suivi et fait plein de choses au sein du CodePlex. Le CodePlex est mort vive GitHub.

GitHub

On l'a vu GitHub est né d'un réel besoin pour gérer le projet Linux, aujourd'hui il sert est ouvert à tout le monde. Une critique que l'on pourrait formuler c'est que ce n'est pas l'outil idéal pour établir la documentation et faire parler de son projet sur Internet.

https://git-scm.com/
https://github.com/explore


Le nouveau Facebook des développeurs ... Arrrg !

Software Heritage

Que vient faire l'Inria dans ce paysage déjà bien encombré ? Un ultime gestionnaire de codes sources ?

https://www.inria.fr/
Le 30 Juin 2016 et c'est donc assez récent l'Inria lance le projet Software Heritage :

Inria a annoncé le jeudi 30 juin 2016 l’ouverture au public du projet Software Heritage. Ce projet, à l'initiative d'Inria, a pour objectif de collecter, organiser, préserver, et rendre accessible, à tous, le code source de tous les logiciels disponibles. Un enjeu de portée mondiale.



https://www.softwareheritage.org/
Comment ça fonctionne ? Et bien je crois qu'il n'y a rien à faire, que ce système agrège les logiciels qui'il trouve sur les différentes plateformes open source... Et c'est tout.

https://www.softwareheritage.org/archive/
Les chiffres en septembre 2016 :
Nombre de projets déjà agrégés
Et pour savoir si le système "Software Heritage" possède déjà les codes sources de votre logiciel, il suffit d'y entrer la clef SHA1 :

Do we already have your ode ? Enter the SHA1 of a source code file
On doit pouvoir trouver les sources Ici.

Surprenant, non ? 

N'hésitez pas à me laisser votre commentaire.

English version here

Universal Software Archive

You are looking for source code, a software on which to base to start a new study. You want to make an inventory of existing archives on your new project this is exactly the purpose of this article.
Software Heritage
We'll see what happens and how to find among all the proposed solutions which are the best places to find Open Source software.

Yes for me also, this question seems extremely broad but this is a necessary question since the advent of GitHub since I discovered that the Roslyn project, the Microsoft C # compiler, was transferred from CodePlex to GitHub !

On the other hand, for Open Source software, there are people that I like this is INRIA for developing the Scilab project while taking a ride on their website, I discovered the World Archives Software nothing less.

So let's go on, take notes ...

SourceForge

A topical "MQTT" should be to compare the different software archives take this and take inventory of what we found in different platforms. This would be the way to make a transverse comparative study.

In seeking "MQTT" in SourceForge, we see for example that the MqttDotNET project started (to migrate) to GitHub:
SourceForge MQTT project
Last update of this project in SourceForge: 24/04/2013
In GitHub: 23/07/2014

So it's clear, we must pursue this project in GitHub:

What is curious is that for the documentation we'll find the blog stevenlovegrove but returns to SourceForge, probably too lazy to update ... But it still created some confusion.

CodePlex

CodePlex is Microsoft's free open source project hosting site. You can create projects to share with the world, collaborate with others on their projects, and download open source software.

CodePlex
There is the BlogEngine's project that migrated to GitHub:

BlogEngine

BlogEngine's documentation is rather remained in the CodePlex an again should be historycally.
So there is also the Roslyn project that migrated to GitHub:


Roslyn

The C # compiler Roslyn project is in GitHub:

Roslyn on GitHub

GitHub

We saw GitHub is born of a need to manage the Linux project, today it is open to everyone. A criticism one might make is that this is not the ideal tool to prepare documentation and to talk about his project on the Internet.

https://git-scm.com/

The new Facebook for developers ... Arrrg!

Software Heritage

What comes to make INRIA in this already crowded landscape? A final source code manager?

https://www.inria.fr/
June 30, 2016 and it is therefore fairly recent INRIA launches Heritage Project Software:

INRIA announced Thursday, June 30, 2016 opening to the public Software Heritage project. This project, with the initiative of INRIA, aims to collect, organize, preserve, and make accessible all the source code for all available software. A global challenge.



https://www.softwareheritage.org/
How does it works ? Well I think there's nothing to do, that this system aggregates software on different open source platforms ... and that's it.

https://www.softwareheritage.org/archive/
Snap figures in September 2016 :
Nombre de projets déjà agrégés
And whether the "Software Heritage" system already has the sources of your software code, simply enter the SHA1 key:

Do we already have your ode ? Enter the SHA1 of a source code file
We must find the sources Here.

Surprising, no?

Feel free to leave me your comments.

Les acteurs de l'IoT - Internet Of Things

Qui intervient dans le domaine de l'IoT ? Comment s'articule cette offre ? Quels sont les acteurs de l'IoT (Internet des Objets) et comment vont t-ils intervenir pour faire quoi ? Ce sont les questions aux quelles je vais tenter de répondre ici. C'est également un moyen de prendre de notes sur ce sujet de l'IoT, d'enregistrer quelques liens importants.

Pour moi, l'IoT est plutôt une tendance marketing, les technologies existent déjà depuis longtemps, simplement elles sont mises en oeuvre différemment d'une façon standardisée.

Cet article ne se veut pas exhaustif, il représente les connaissances que je souhaite capitaliser pour transmettre au lecteur dans le domaine de l'Internet Of Things.

IoT par l'exemple

Pour se rendre compte de l'ampleur et de la complexité du sujet je vous propose un premier exemple dans l'Oil & Gas.

Cas d'utilisation :
Pour un acteur dans le domaine de l'énergie, on constate une la défectuosité d'une série de vannes en fonctionnement. Elles ne se ferment plus tout à fait correctement ce qui engendre des pertes et des risques considérables. Il est facile pour un opérateur, s'il est prévenu, d’aller la fermer.

Solution :
On met en place un capteur de position qui détectera que la vanne ne s’est pas correctement fermée. Ce capteur connecté ira prévenir l’opérateur qu’il doit venir fermer manuellement.

Oil & Gas - Réseau de distribution
Le coût du remplacement de ces vannes aurait été exorbitant. Voici donc un exemple curatif de L'IoT, à l'aide d'objets connectés.

Les acteurs de l'IoT

Notre ambition : être le créateur, l'activateur et l'animateur du meilleur réseau de partenaires, collaborateurs, clients, fournisseurs et professionnels de l'électronique et des solutions connectées.

Agence de conseil en Internet des Objets et Innovation - Participe à des événements comme le CES Las Vegas et le Mobile World Congress

http://www.elster-gas.com/en/index
Rachetée par Honeywell - représente 26 personnes à Maugio

Altran Connected Solutions

http://blog.octo.com/bref-etat-des-lieux-sur-liot-internet-of-things/

http://www.matooma.fr/communique-de-presse-0
Une carte SIM qui choisi automatiquement le meilleur réseau de communication

http://www.cortus.com/
Société implantée à Montpellier : Angstrem-T has developed an ASIC based on a Cortus APS 32-bit microcontroller core

http://www.synox-group.com/
Synox Group vous accompagne dans la transformation numérique de votre entreprise.

Autres acteurs de l'IoT

La Poste
L'équipe de France de l'IoT - 15 Startups et 4 partenaires industriels en route pour le CES de Las Vegas

Les standards de communications de l'IoT

LoRa Alliance

LoRa Alliance : à vu le jour en Mars 2015, son objectif est de standardiser les réseaux longue distance de faible puissance dits LPWAN (Low Power Wide Area Networks). Protocole LoraWAN R 1.0

Opérateur multi-canal Sigfox
Sigfox : société française - Bande de fréquence : 868 MHz

LoRa vs Sigfox

Les réseaux bas débits Sigfox et LoRa, dédiés aux objets connectés, sont à comparer au réseau GPRS/3G qui est bien plus "gourmand".


Open Industry forum for global standard
December 2014: Release of Core specification version 2.5
November 25, 2008: Officially incorporated as Open Network Video Interface Forum

Solutions commerciales IoT

Offre complète, totale... commerciale
http://www.vertical-m2m.com/professionnal-services
http://www.vertical-m2m.com/commonsense-iot-platform

Actualités & Publications sur l'IoT

Pour moi, un objet connecté industrialisable, ce n’est pas seulement un essai sur un Arduino ou un Rasperry PI. Passer par ce type d’objets est normal dans le cadre d’une proof of concept, mais après il faut investir dans du matériel. Et ça, très peu d’entreprises le font.

http://www.iotcentral.io/blog/gartner-identifies-the-top-10-internet-of-things-technologies-for
L'IoT pour se développer à besoin d'une large gamme de nouvelles technologies et et des compétences que de nombreuses organisations ont encore à maîtriser.

Voici les 10 technos les plus importantes pour 2017 et 2018 selon le Gartner Group :

IoT Security
IoT Analytics
IoT Device (Thing) Management
Low-Power, Short-Range IoT Networks
Low-Power, Wide-Area Networks
IoT Processors
IoT Operating Systems
Event Stream Processing
IoT Platforms
IoT Standards and Ecosystems

D'une façon générale ce sont les dix sujets de l'IoT. Et maintenant ?

IoT - Juin 2016

Synox accompagne la Métropole de Montpellier dans son projet de Smart City
Une infrastructure dédiée aux objets connectés au cœur de la Métropole Montpellieraine.

Un boulon qui informe de son état de serrage ...
http://www.vaperail.com/des-boulons-intelligents-sur-les-rails/


EaTork
Au salon Connec-Sud le 2 juin 2016 à Montpellier
Elster rachétée par Honeywell devient client chez Altran Connected Solutions

Discussions & Documentations

Avec une question : MQTT vs CoAP Quel protocole utiliser ?
MQTT acts purely as a pipe for binary data.
CoAP is designed for interoperability with the web.

SQLI Les Technologies digitales décryptées
Présentation de l'IoT, article vraiment complet. Compréhension des objets connectés, exemples de codes sources en JS.

Comprendre l'IoT avec une boule... Mais pas que
Le magazine de la Smart City
Les Impacts de l'IoT au niveau des agglomérations, pour 78% des chefs d'état l'IoT aura une influence transformatrice sur les villes d'ici 2019 ...

Documentations & Codes sources

Linux RTOS for IoT
Linaro is for ARM ecosystem

iot.eclipse.org
Standards : Open Source implementations for IoT protocols such as CoAP, ETSI, SmartM2M, MQTT or LwM2M

iot.eclipse.org

http://www.uio.no/studier/emner/matnat/ifi/INF5910CPS/h10/undervisningsmateriale/RFID-IoT.pdf
RFID (Radio Frequency Identification) and IoT : An Overview - Asset tracking industry - Anti-Collision Protocols  - SDMA : Space Division Multiple Access - TDMA : Time Division Multiple Access - FDMA : Frequency Division Multiple Access - CDMA : Code Division Multiple Access

Fantastique travail de documentation collaborative sur l'IoT dans le GitHub, dans le même goût en suivant ce lien vous trouverez une mine d'infos

https://github.com/phodal/awesome-iot-document

https://github.com/phodal/awesome-iot-document/blob/master/EN.md

http://electronicdesign.com/iot/understanding-protocols-behind-internet-things
MQTT: Message Queue Telemetry Transport - a protocol for collecting device data and communicating it to servers (D2S)
XMPP: Jabber - a protocol best for connecting devices to people, a special case of the D2S pattern, since people are connected to the servers
DDS: Data Distribution Service - a fast bus for integrating intelligent machines (D2D)
AMQP: Advanced Message Queuing Protocol - a queuing system designed to connect servers to each other (S2S)

IoT - RFID actif - Projet en Langage C & Qt/C++

Projet réalisé par la SoDevLog à l'aide de puces RFID. Il s'agit de faire communiquer plusieurs puces, de une à 7 cartes électroniques RFID Actives, entre elles. Ces puces seront connectées à un PC par l'intermédiaire d'un port de communication de type série (USB) et se transmettront des trames par Radio (RF) sous l'effet de commandes envoyées par notre IHM.

On donnera un ordre de configuration à l'une des puces RFID pour qu'elle se mette en mode de communication par Radio Fréquence, on communiquera la trame à transmettre à la première puce afin qu'elle transmette cette trame (des octets) à la seconde puce. On vérifiera la réception de cette trame par la seconde puce.

Représentation simplifiée du projet IoT - RFID actif

Architecture du projet

Recherche de portabilité

Dans un premier temps, on souhaite développer une application pour Poste PC, mais par la suite on veut pouvoir communiquer entre smartphones de la façon suivante :

Communication entre smartphones grâce aux puces RFID

On va donc développer, une DLL (Logiciel) de Communication qui va assurer la communication entre l'IHM et les ports de communication. Cette DLL sera "portée" sur SmartPhone.

Choix d'Eclipse pour la DLL de Communication en Langage C, compilée avec MinGW et le SDK d'Android. Choix de Qt/C++ pour l'IHM portable sur PC et sur SmartPhone.

DLL de Communication en Langage C sous Eclipse

Assurer la testabilité et la non-regression

La DLL de Communication est rendue testable par l'utilisation d'un logiciel de Tests Unitaires sous Eclipse (Trace Reporter), un émulateur de port de communication et un simulateur de puce RFID ecris en C# avec Visual Studio.

Emulateur de ports de communication

Logiciel de Traces - Trace Reporter

Simulateur de communication en WPF C#

Émulateur de port COM : permet d'émuler un Port COM de façon logicielle, permet ainsi, à deux applications qui sont sur le même poste, de communiquer entre elles comme si elles le faisait au travers du Port COM (Hardware).

Simulateur de port COM : joue alternativement le rôle de la Puce RFID ou le rôle de l'application. Permet d'envoyer des Trames et d'afficher les Trames reçues.

Logiciel de Traces
Développement sous Eclipse avec utilisation du logiciel de Traces :

IDE Eclipse pour le développement de la DLL de communication en Langage C

1. La DLL de communication multithread sous Tests 
2. Logiciel de Traces et Tests Unitaires Multi-ports Comm

Spécificité de la DLL, il s'agit d'une DLL de communication multi-ports dont le multithreading est assuré à l'aide de la DLL Posix en Langage C.

IHM en Langage C++ avec Qt Creator

Utilisation de la DLL de Communication écrite en Langage C avec Qt Creator en C++, présentation de l'IDE :

IDE Qt/C++ Creator pour le développement de l'IHM

On peut distinguer au centre, une partie du design de l'IHM dans Qt Creator l'IDE de Qt/C++. Cette IHM permet d'envoyer des trames, des commandes, aux puces RFID et d'afficher le retour d'exécution des commandes. Cette IHM permet également d'afficher les trames reçues de façon "spontanée".

Exécution du projet COM Emulateur - RFID

Notre simulateur d'équipement RFID nous permet d'obtenir l'écran suivant ou l'on peut constater l'ensemble des logiciels interconnectés par l'Emulateur de port de Communication.

Simulateur d'équipement RFID développé avec Visual Studio WPF.
Simulateur d'équipement RFID développé avec Visual Studio WPF simulation d'une communication sur le port COM

Je clique sur mon Simulateur d'équipement RFID pour envoyer la trame "01 01 01" à mon configurateur du puces RFID qui répond par une trame d'acquittement "06".

Download Sources Codes

Retrouvez le communauté des développeurs GitHub des projets OpenSources

RFID CloverViewer on GitHub
RFID CloverViewer on GitHub


Have fun!

Outils de Test & Validation en Langage C

Très rapidement, il faut que je vous fasse part d'un outil de développement.

C'est plutôt une chaîne d'outils, trois briques logicielles qui fonctionnent ensembles appelées le TraceReporter. Cet outil permet de faire des traces depuis les programmes que vous écrivez en Langage C mais également dans d'autres langages moyennant une simple adaptation de l'interface. Ces traces sont transmises via des sockets TCP/IP à une application le Reporter qui les affiche.

Nous avons un site pour présenter cette suite logicielle de Test & Validation en Langage C, c'est en Open Source, il y a également un GitHub dédié. Alors n'hésitez pas à investir votre temps dans la compréhension puis l'utilisation du :

Qu’est-ce que la blockchain ?

La première blockchain est apparue en 2008 avec la monnaie digitale Bitcoin, développée par Satoshi Nakamoto qui est le pseudonyme d'une ou de plusieurs personnes dont on ne connait pas encore la véritable identité...

BitCoin est une blockchain

Le site de Blockchain France
https://blockchainfrance.net/decouvrir-la-blockchain/c-est-quoi-la-blockchain/

https://www.ethereum.org/
Downlod Ethreum Wallet for Windows 32 bits (requires Command Line tools)
CREATE YOUR OWN CRYPTO-CURRENCY WITH ETHEREUM

https://blockchain.info/wallet/bitcoin-faq
Ce site vous permettra de mieux comprendre les grands concepts de la BlockChain mais il est plutôt orienté Bitcoin

Discussion & Informations

Journal Du Net : Pourquoi il faudra 10 ans à la blockchain pour percer dans la finance

Microsoft Ideas - Digital is business
Blockchain : pourquoi toutes les industries sont concernées - nouveau paradigme de gestion de la confiance -

https://rslnmag.fr/innovation/blockchain-revolution-quotidien/
Des contrats d’assurance à votre facture d’électricité, en passant par la traçabilité de ce qui se retrouve dans votre assiette ou la sécurité de vos données personnelles, les technologies blockchain pourraient transformer radicalement votre quotidien, au-delà des cryptomonnaies supportées par ces algorithmes, comme le bitcoin. Une nouvelle révolution technologique est-elle en marche ?

Code C# sur la plateforme GitHub

Comment ça fonctionne ? C'est très simple ... plus de blabla, voici du code

https://blockchainprogramming.azurewebsites.net/
Si vous allez plus loin avec le code C# de Nicolas Dorier, vous verrez que la mise en oeuvre consiste en l'envoi d'une somme de 0.004 sur sa block chain.

Hall of the Makers - Take a picture to seel how does it evolve

https://github.com/NicolasDorier/BlockchainProgramming

Have Fun !

SoDevLog - Administration de Windows Server - Installation de Plateformes Collaboratives

Vous souhaitez installer une Plateforme Internet sur un Serveur Windows IIS (Internet Integrated Services) :

Ecran d'accueil d'IIS
Nous avons la connaissance de l'installation, de la configuration, de l'administration des Serveurs Windows. Pour vous, nous pouvons :
  1. Commander le serveur 
  2. Installer et configurer IIS (Internet Integrated Services)
  3. Installer et configurer votre plateforme
  4. Administrer cette plateforme
J'ai déjà beaucoup écris sur l'installation d'IIS (Internet Integrated Services) sur la plateforme Windows Server, vous pouvez accéder au Blog :

Administration Windows

Nous pouvons installer toutes sortes de plateformes, voici par exemple l'interface de gestion des Services Internets de Windows Server 2008 R2, configurée avec nombre de plateformes :

Windows Server 2008 R2 - IIS Management
Voici par exemple l'interface Web de notre plateforme Moodle Installée sur ce Serveur :

Moodle Plateforme Sodevlog installée et configurée sur Web Server IIS

Choisissez votre nom de domaine et la plateforme que vous souhaitez installer et nous ferons le reste

Vous souhaitez que nous installions pour vous, une plateforme, n'hésitez pas à nous contacter.

Mise à jour en mars 2019

Nous possédons maintenant une plateforme installée dans le Cloud Azure de Microsoft, n'hésitez pas à nous rendre visite :

Moodle - SoDevLog

La nouvelle page d'accueil d'IIS pour le fun :

Ecran d'accueil d'IIS sur Windows Server 2016

Dynamic Online Showcase is now on GitHub (open source community)

You want to deploy a "showcase application" with ASP.NET in C# to expose your activity on Internet ? Why not use "SoDevLog's Dynamic Showcase" an Open Source Application that you can now download on GitHub.

To see this project on GitHub just follow the link :

SoDevLog Dynamic Showcase project on GitHub

To have a look to this project managed by GitHub

You need some help to deploy your Dynamic Showcase on a Web Server ?

Do not hesited to contact us.

Here is the blog dedicated to this open source project :

http://sodevlog-dynamic-showcase.blogspot.fr/

Have a lot of fun !


Dynamic Online Showcase

This project will be an Open Sources for Online Showcase, this is the moment. I'am going to make an open source project with the sources codes I have developped on Dynamic Showcase.

Take a look at the Home page of the Dynamic Showcase :

Front page Dynamic Site Showcase

Another picture to show you the multi-level managed menu :

Recursive - Multi-level managed menu

Main features :
  • multi authors
  • pages are managed and attached in a recursive menu
  • admin can be notified when a new register is to validate
  • managing of users "authors"
  • style sheet are writable "online" you can change design of te all web site
  • pages can be commented by visitors
  • and much much more ...
This will be seen in more details...

Technologie : ASP.NET C# aspx

Have a look to the Blog dedicated to this project : Dynamic Showcase Blogspot



IoT - Protocole MQTT

Vous souhaitez en savoir plus sur le protocole MQTT. Vous avez-entendu récemment cette nouvelle notion de télécom : "Internet of Things" ou "IoT" c'est à dire en français l'Internet des Objets.

Alors c'est quoi MQTT ?

Internet of Things : Internet des Objets connectés, les objets communiquent entre eux sans passer par l'humain. Exemple : votre pacemaker connecté connait votre humeur du moment en entrant chez vous il demande à vote system audio de jouer une musique en conséquence.

Bon, vous l'aurez compris ce n'est pas un bon exemple, je n'ai pas envie de porter un pacemaker pour écouter la musique correspondant à mon humeur d'autant qu'il existe des devices plus simples. Il y a surement mieux à faire mais c'est pour vous dire que cette nouvelle aire de la télécommunication reste à inventer.

MQTT : Message Queuing Telemetry Transport est un protocole de messagerie basé sur TCP/IP (ça tombe bien, on voit mal un nouveau protocole recommencer tout, de tout en bas du modèle OSI à 7 couches) "publish-subscribe", cela signifie simplement que pour recevoir les messages du Broker il faut s'enregistrer au prêt de celui-ci. Et là c'est la clef de MQTT, un moyen tout simple de faire dialoguer les objets entre eux.

Visitez le site MQTT.org

Mise en oeuvre avec Eclipse

Côté serveur

Il ne reste plus qu'à trouver une implémentation du message broker, sorte de Serveur MQTT. L'installer, le configurer et le faire s'exécuter. Puis de développer un client, un soft capable de s'enregistrer au prêt du message broker pour recevoir et afficher les messages transmis.

Côté client

On imagine que l'on va le développer en langage C avec eclipse et en regardant de plus prêt la communication avec le Broker Mosquitto. Mais il existe, du côté d'Eclipse le projet Open Source nommé : paho

https://www.eclipse.org/paho/clients/c/

MQTT C Client for Posix and Windows

Porte d'entrée vers la compréhension d'MQTT chez IBM

Initiation aux client MQTT

Initiation aux Serveurs MQTT
  WebSphere

Modèle MQTT en Langage Java ou C
Je clique sur le Langage C :

Initiation au client MQTT pour C
On y trouvera du code en Langage C pour Visual Studio ou Eclipse tout ce qu'il faut pour démarrer votre application Client/Serveur MQTT.

Autres serveurs MQTT
Nous avons ici tout pour bien démarrer et faire aboutir un projet dans la maîtrise d'MQTT, Maintenant la vraie question c'est : doit-on investir dans la compréhension et le développement de ce type d'applications tandis que l'on entend parler plutôt de protocoles comme LoRa ou Sigfox pour les applications de l'IoT ...

Littérature
Sur la compréhension des protocoles un article simple et concis :

Frugalprototype/Quels protocoles applicatifs pour l’Internet des Objets ?