Aller au contenu

QChat : un tchat dans QGIS#

📆 Date de publication initiale : 15 octobre 2024

Nous sommes en 2024 (enfin, sauf si vous lisez cet article en 2025, ou en 2026, ou en 2027, ou en 2028, ou en encore 2029... enfin bon vous voyez le truc), et il faut avouer que Teams c'est un peu dépassé... En plus c'est même pas possible d'y balancer le hashtag #GISchat, c'est même pas possible d'y rencontrer d'autres sigistes, c'est même pas possible d'y gagner des stickers Geotribu 😉... Nan mais franchement... Nan mais allô quoi...

C'est le moment de faire du shadow IT.

Pour remédier à ceci, voici donc une messagerie instantanée directement dans QGIS, un tchat pour discuter et échanger avec ses pair/e/s directement dans le logiciel SIG bureautique le plus stylay et qui représente l'avenir. QChat : c'est son petit nom. Alors la question c'est : pourquoi ? Et la réponse : et pourquoi pas ?

Commenter cet article


Installation#

QChat est une fonctionnalité du plugin QTribu, le plugin de Geotribu, qui permet d'ailleurs d'accéder et de contribuer aux contenus du site directement depuis QGIS.

Ce plugin est disponible sur le dépôt officiel. QChat est disponible à partir de la v1 du plugin, que vous pouvez installer via le gestionnaire des extensions de QGIS :

QGIS - Gestionnaire des extensions QGIS pour l'installation du plugin QTribu

🐧 Dépendances additionnelles requises sur Linux#

logo WebSocket

L'échange de messages de QChat repose sur le protocole WebSocket (rappelez-vous, on vous en parlait dès 2013), via des composants du cadriciel Qt sur lequel repose principalement QGIS. Ces composants optionnels sont intégrés dans les versions Windows de QGIS mais nécessitent d'être installés expressément sur Linux. Par exemple sur Ubuntu (22.04) :

Commande apt pour installer les dépendances Qt additionnelles sur Debian/Ubuntu
sudo apt install python3-pyqt5.qtmultimedia python3-pyqt5.qtwebengine python3-pyqt5.qtwebsockets

Si ces dépendances ne sont pas installées, QChat est désactivé dans le plugin et un message d'erreur vous renvoie vers la documentation d'installation.


Paramétrage#

Une fois le plugin installé, avant de pouvoir tchatter avec les autres, il est nécessaire de configurer 2-3 trucs, dans les paramètres du plugin, un onglet dans les paramètres généraux de QGIS (menu Préférences > Options...)

Écran des paramètres du plugin QTribu

Trop bien ces paramètres de plugin !

Trop bien ces paramètres de plugin ! Mais comment on fait ? Vous pouvez jeter un coup d'oeil au templater de plugins QGIS, qui peut directement générer un squelette de plugin avec un onglet Paramètres, entre autres... 😉

Jetons à présent un coup d'👀 à ces différents paramètres, en commençant par la partie Informations d'attribution en bas:

Écran de paramétrage QChat du plugin QTribu

  • le Pseudo QChat correspond à votre pseudo qui indiquera aux autres QChattos qui a envoyé le message. Entre 3 et 32 caractères alphanumériques, c'est l'occasion de se lâcher (pour info, xX_D4rth_L4mb3rt_Xx et B3rt1n_Le_ouf_du_78 sont déjà pris)

  • l'Avatar QChat correspond à l'icône symbolique que vous incarnerez dans le tchat. Il est possible de choisir sa fav' parmi les icônes les plus fancy de QGIS, et à côté de chaque message que vous envoyez sera affiché cet avatar

Passons à présent aux paramètres dans la partie QChat :

Écran de paramétrage QChat du plugin QTribu

  • l'URL de l'instance indique sur quelle instance de QChat vous souhaitez vous connecter (les règles de l'instance sont consultables via le bouton Règles de l'instance). À date il y a 2 instances disponibles :

    • gischat.geotribu.net : instance QChat de Geotribu anglophone, pour tout le monde
    • gischat.geotribu.fr : instance QChat de Geotribu francophone, pour tout le monde aussi
  • la case Montrer les avatars permet d'afficher ou non les avatars des QChattos à côté des messages

  • la case Afficher les messages d'admin activera ou non l'affichage des messages d'admin: connexions, déconnexions...
  • la case Activer les cheatcodes... 😉 😜
  • la case Jouer des sons activera la lecture d'un son lorsque vous êtes mentionné/e/s par un autre QChattos. Si la case est cochée, vous pouvez régler le volume ainsi que le son de notification
  • les 3 paramètres de couleur permettent de customiser colorimétriquement les messages du tchat

C'est parti : tchattons#

Le QChat est inclus dans un dock widget, c'est-à-dire un "panneau" QGIS que vous pouvez déplacer et accrocher à votre guise, et qui vous permettra de tchatter en parallèle de ce que vous avez l'habitude de réaliser dans QGIS. Pour l'ouvrir, deux manières possibles :

  • en allant dans le menu Internet > QTribu > QChat
  • en cliquant sur la deuxième icône, en forme de bulle, dans la barre d'outils :

barre d'outils du plugin QTribu avec l'icône QChat

Et voici le QChat qui s'ouvre 🎉 :

Écran de QGIS avec le panneau QChat à droite

Info

P.S. : big-up au tutoqgis.cnrs.fr

Dans la partie Instance en haut, vous pouvez retrouver les règles de l'instance configurée dans les paramètres, de même que le nombre de QChattos dans chaque "room" via le bouton Statut.

Nous ne sommes pas encore connectés à une room pour tchatter. Pour cela, il faudra en choisir une dans la liste déroulante, ce qui vous y connectera automatiquement. Une fois connecté/e, c'est parti pour tchatter ! Les messages des autres QChattos apparaissent au milieu :

Écran de QGIS avec des messages envoyés dans le QChat

À noter que :

  • insérer @all dans votre message enverra une notification dans la barre des messages QGIS de tous les QChattos connectés à la room
  • double-cliquer sur un message dans le QChat vous permettra de mentionner le QChattos qui a envoyé le message

Pour aller plus loin#

Nous avons vu la partie client QChat dans QGIS. Pour aiguiller et faire transiter les messages au travers de websockets, il y a aussi un backend dont le dépôt GitHub se trouve ici.

Monter sa propre instance#

Si jamais vous souhaitez monter votre propre instance de backend QChat/GISchat, vous pouvez suivre les instructions sur le dépôt. Pas de base de données, simplement des websockets stateless. Il s'agit d'une simple image docker à faire tourner avec quelques variables d'environnement.

Il existe également un annuaire des instances QChat, auquel il ne faut pas hésiter à contribuer dans le cas où vous avez monté votre instance, pour la rendre visible et disponible : le bouton Découvrir les instances dans les paramètres du plugin affiche cet annuaire via un popup QGIS.

Développer un client compatible QChat#

Si jamais vous souhaitez développer un client compatible QChat, il est possible de se référer à la "doc" sur le dépôt GitHub.

Les messages transitent par websocket, et il y a quelques routes disponibles pour :

  • récupérer les règles de l'instance
  • récupérer les noms des rooms
  • récupérer le nombre de websockets ouvertes par room
  • envoyer un message dans une room via une requête POST

Et plein d'autres trucs prochainement 😉

Conclusion#

QChat, c'est un peu comme avoir un café virtuel au coin de votre bureau, où les discussions techniques se mêlent aux blagues de géographes (vous savez, celles qui font rire uniquement les initiés). Alors, pourquoi ne pas installer QChat dès aujourd'hui et transformer votre expérience QGIS en une aventure collaborative et amusante ? Après tout, qui a dit que la cartographie devait être ennuyeuse ? Avec QChat, chaque carte devient une histoire partagée, et chaque projet, une occasion de rire ensemble. Alors, prêts à cartographier et à papoter ?


Auteur·ices#

Guilhem ALLAMAN#

Je suis ingénieur informaticien. J'aime les ordinateurs. Mais ce que j'aime par-dessus tout (oh oui !), c'est itérer, et ce de manière agile, transverse et langoureuse, de bon matin, dès l'aube, à l'heure où blanchit le dashboard du sprint backlog.

Basé à Paris, j'ai commencé par le développement Java avant de découvrir les joies des SIG et de m'y spécialiser.

Julien MOURA#

Portrait Julien Moura

Géographe "sigiste" de formation, j'ai travaillé sur différentes thématiques et types de structures : gestion des déchets en milieu urbain à Madagascar, foncier d'intérêt général auprès de l'EPF de La Réunion, organisation et la résilience urbaine face aux risques naturels à Lima pour l'IRD, gouvernance et ouverture des données à Isogeo.

Je travaille désormais à Oslandia.
Féru des dynamiques de contributions, je participe activement à Geotribu depuis fin 2011.

Florian BORET#

Portrait Florian Boret

Géomaticien/cartographe, je suis arrivé dans le monde de la géomatique en suivant un cursus « professionnalisant » (BTS Géomètre-Topographe, Licence pro GGAT, Master SIGAT). J’ai ensuite travaillé dans un bureau d’études spécialisé dans la production de données d’occupation du sol et puis pour des raisons personnelles je me suis expatrié quelques années au Sénégal où je me suis lancé comme géomaticien indépendant (DATA\WAX).

Depuis mon retour en France, je suis en charge du SIG de la communauté d'agglomération Lunel Agglo.

En dehors de ces expériences, j'ai aussi régulièrement initié de petits projets personnels iGeo-Topo, GIS-Blog.fr, osm2igeo, osm2igeotopo. Aujourd'hui, c’est avec plaisir que j’interviens également comme contributeur de GeoTribu.

Licence Beerware #

Ce contenu est sous licence Beerware (Révision 42).
Les médias d'illustration sont potentiellement soumis à d'autres conditions d'utilisation.

Réutiliser, citer l'article

Tant que vous conservez cette licence :

  • vous pouvez faire ce que vous voulez de ce contenu
  • si vous rencontrez l'auteur/e un jour et que vous pensez que ce contenu vaut le coup, vous pouvez lui payer un coup en retour

Citer cet article :

"QChat" publié par Guilhem ALLAMAN, Julien MOURA, Florian BORET sur Geotribu - Source : https://geotribu.fr/articles/2024/2024-10-15_qchat/

Commentaires

Afin de favoriser les échanges constructifs, merci de préférer le pseudonymat à l'anonymat. Pour rappel, l'adresse mail n'est pas exposée publiquement et sert principalement aux notifications de réponse. Les commentaires sont automatiquement republiés sur nos réseaux sociaux pour favoriser la discussion. Consulter la page sur la confidentialité et les données personnelles.
Une version minimale de la syntaxe markdown est acceptée pour la mise en forme des commentaires.
Propulsé par Isso.

Ce contenu est sous licence Beerware Pictogramme BeerWare