Article Guillaume Rongier · Jan 8 15m read

Salut la Communauté,

Dans la première partie de cette série, on a vu les bases de l'interopérabilité sur Python Interoperability on Python (IoP), et surtout comment ça nous permet de construire des éléments d'interopérabilité comme des services métier, des processus et des opérations uniquement à l'aide de Python.

Maintenant, on est prêts à aller plus loin. Les scénarios d'intégration dans le monde réel vont au-delà du simple transfert de messages. Ils impliquent des interrogations programmées, des structures de messages personnalisées, une logique de décision, un filtrage et une gestion de la configuration. Dans cet article, on va se pencher sur ces fonctionnalités IoP plus avancées et montrer comment créer et exécuter un flux d'interopérabilité plus complexe uniquement à l'aide de Python.

Pour que ce soit plus concret, on va construire un exemple complet: La Reddit Post Analyzer Production (production d'analyseur de posts Reddit). Le concept est simple : récupérer en continu les dernières publications d'un subreddit choisi, les filtrer en fonction de leur popularité, leur ajouter des balises supplémentaires et les envoyer pour stockage ou analyse plus approfondie.

L'objectif final est ici de disposer d'un pipeline d'ingestion de données fiable et autonome. Tous les éléments principaux (service métier, processus métier et opération métier) sont implémentés en Python, ce qui montre comment utiliser l'IoP à l'aide de la méthodologie d'intégration axée sur Python.

0
0 33
Annonce Irène Mykhailova · Jan 7
Bonjour et bienvenue à la récapitulation annuelle de la communauté des développeurs de 2025.
Statistiques générales:
✓ Publications 264 publiées le 2025 :
 147 articles
 109 annonces
 8 questions

28 membres ont rejoint la communauté des développeurs en 2025
1,337 publications au total depuis le début
194 membres ont rejoint au total depuis le début

0
0 20
Article Guillaume Rongier · Jan 6 8m read

Interoperability on Python (IoP) (Interopérabilité sur Python) est un projet de validation de concept conçu pour démontrer la puissance du cadre d'interopérabilité InterSystems IRIS lorsqu'il est associé à une approche axée sur Python. IoP exploite Embedded Python (une fonctionnalité d'InterSystems IRIS) pour permettre aux développeurs d'écrire des composants d'interopérabilité en Python, qui s'intègrent de manière transparente à la plateforme IRIS robuste. Ce guide a été conçu pour les débutants et fournit une introduction complète à l'IoP, à sa configuration et aux étapes pratiques pour créer votre premier composant d'interopérabilité. À la fin de cet article, vous comprendrez clairement comment utiliser l'IoP pour créer des solutions d'interopérabilité évolutives basées sur Python. IoP est particulièrement utile pour les développeurs qui travaillent avec InterSystems IRIS ou IRIS for Health, car il simplifie la création de services métier, de processus métier et d'opérations métier qui utilisent Python. Une telle approche réduit la dépendance à ObjectScript (le langage traditionnel pour le développement IRIS), le rendant plus accessible aux développeurs Python.


Pourquoi utilisons-nous IoP?

IoP offre plusieurs avantages aux développeurs:

  1. Dévelopment Python-First: Python est un langage largement adopté, convivial pour les débutants et doté d'un riche écosystème de bibliothèques. IoP permet aux développeurs de tirer parti de leur expertise Python au sein de l'écosystème IRIS.
  2. Interopérabilité simplifiée: IoP résume les configurations complexes basées sur ObjectScript, permettant un développement plus rapide des composants d'interopérabilité.
  3. Applications de santé Healthcare: IoP est particulièrement adapté aux intégrations dans le domaine de la santé, telles que celles impliquant FHIR (Fast Healthcare Interoperability Resources), grâce à la prise en charge robuste des normes de santé par IRIS for Health.
  4. Communauté et Open Source: IoP est disponible sur PyPI et GitHub et bénéficie d'un soutien actif de la communauté, notamment grâce aux contributions de développeurs tels que Guillaume Rongier (développeur évangéliste pour InterSystems).

Conditions préalables

Avant de vous lancer dans IoP, assurez-vous d'avoir les éléments suivants:

  • InterSystems IRIS ou IRIS for Health: une installation locale ou un conteneur Docker exécutant IRIS (la version Community Edition suffit pour les tests).
  • Python 3.10 ou version ultérieure: requis pour exécuter IoP et ses dépendances.
  • Connaissances de base en Python: bonne connaissance des classes, des fonctions et de l'installation des paquets Python.

Dans ce tutoriel, nous utiliserons à l'aide d'une installation IRIS locale pour créer une production InterSystems IRIS comportant une fonctionnalité basée sur Python qui enregistre un message 'Hello World' à la réception d'une requête. Cela devrait démontrer une intégration transparente avec le cadre d'interopérabilité IRIS.

Les étapes suivantes décrivent le processus permettant d'atteindre cet objectif :

  • Étape 1: configuration de l'environnement virtuel
  • Étape 2: installation du paquet IoP
  • Étape 3: configuration des variables d'environnement pour la connexion IRIS
  • Étape 4: initialisation du module IoP dans IRIS à l'aide de l'interface de ligne de commande (CLI)
  • Étape 5: création d'une opération métier Python: exemple Hello World
  • Étape 6: migration des composants IoP vers IRIS
  • Étape 7: aperçu de la production
  • Étape 8: Test du composant d'opération de production

Commençons par l'étape 1.

Étape1: configuration de l'environnement virtuel

Tout d'abord, configurez un environnement virtuel Python afin d'isoler les dépendances de votre projet et d'assurer la compatibilité avec IoP et InterSystems IRIS. Un environnement virtuel est un répertoire autonome contenant une version spécifique de Python et les packages requis pour votre projet. Une telle configuration évite les conflits avec d'autres projets Python et rationalise le processus de développement. Pour ce tutoriel, créez un dossier nommé IOP afin d'organiser vos fichiers de projets.

Accédez au dossier IOP et exécutez la commande suivante pour configurer l'environnement virtuel:

python -m venv .venv

Cette commande crée un répertoire .venv dans votre dossier IOP, contenant un interpréteur Python et tous les paquets que vous installez pour votre projet IoP.
Pour activer l'environnement virtuel sous Windows, exécutez la commande suivante:

.venv\Scripts\activate

 
Pour Unix ou MacOS, utilisez la commande suivante:

source .venv/bin/activate

 

Étape 2: installation du paquet IoP

Une fois votre environnement virtuel activé, installez le paquet iris-pex-embedded-python, dépendance principale de votre projet IoP, afin d'activer l'interopérabilité basée sur Python au moyen d'InterSystems IRIS. Exécutez la commande suivante dans votre terminal:

pip install iris-pex-embedded-python

Cette commande installe le paquet iris-pex-embedded-python et ses dépendances à partir du Python Package Index (PyPI) dans votre environnement virtuel. Après l'installation, vous pouvez utiliser le module IoP à l'aide de composants d'interopérabilité basés sur Python, tels que les activités commerciales pour votre projet IoP.

 

0
0 34
Annonce Irène Mykhailova · Jan 1
Bonjour et bienvenue à la récapitulation de la communauté des développeurs de décembre 2025.
Statistiques générales
✓ Nouvelles publications 20 publiées le décembre :
 10 nouveaux articles
 10 nouvelles annonces

✓ Publications 1,337 publiées depuis le début
✓ Membres 194 ayant rejoint depuis le début
✓ Nouveaux membres 4 ayant rejoint le décembre 

0
0 27
Article Guillaume Rongier · Déc 11, 2025 6m read

Dans cet article, nous aborderons tous les outils de débogage disponibles dans l' IDE Microsoft Visual Studio Code.

Les sections suivantes seront abordées:

  • Points d’arrêt (Breakpoints)
  • Fenêtre de surveillance (Watch Window)
  • Pile d’appels (Call Stack)

Commençons par découvrir les prérequis nécessaires pour le débogage!

Prérequis

Il existe deux plugins (extensions) permettant le débogage d’ObjectScript

Le premier plugin fait partie de l’ InterSystems ObjectScript Extension Pack. Le second, Serenji, est un plugin autonome qui propose un éditeur, un gestionnaire de fichiers ainsi que des fonctionnalités de débogage. Les deux plugins peuvent être installés depuis la boutique d’extensions. Pour l'activqtion de ses fonctionnalités principales, Serenji nécessite une licence. Dans cet article, nous utiliserons l’InterSystems ObjectScript Extension Pack afin de réduire la courbe d’apprentissage. Une fois les bases maîtrisées, vous pourrez envisager l’achat d’une licence payante pour Serenji.

2
0 49
Annonce Irène Mykhailova · Déc 26, 2025

Salut la Communauté,

Nous effectuons actuellement des travaux techniques. Durant cette période, vous pourriez rencontrer des problèmes avec le portail de la communauté des développeurs, l'IA de la communauté des développeurs et la fonction de recherche :

🔹 "Demandez à DC AI" est temporairement indisponible.

🔹 La recherche peut être plus longue que d'habitude ou ne pas renvoyer de résultats.

Nous mettons tout en œuvre pour rétablir le fonctionnement normal au plus vite. Merci de votre patience et de votre compréhension.

0
0 24
Article Thibault Odor · Déc 26, 2025 1m read

Commandes pour la gestion des productions :

Démarrer, arrêter, mettre à jour, restaurer et nettoyer une production

Do ##class(Ens.Director).StartProduction("ProductionName")
Do ##class(Ens.Director).StopProduction()
Do ##class(Ens.Director).UpdateProduction()
Do ##class(Ens.Director).RecoverProduction()
Do ##class(Ens.Director).CleanProduction()

Interrompre les messages en attente :

d ##class(Ens.Queue).AbortQueue("Component Name")

Obtenir le nom de l’instance :

W !,##class(%SYS.System).GetUniqueInstanceName()

Obtenir le nom du nœud :

W !,##class(%SYS.System).GetNodeName()

Terminer un Job (JobId) :

0
0 40
Article Lorenzo Scalese · Déc 23, 2025 3m read

Dans le paysage actuel des données de santé, FHIR est devenu la norme pour l'échange structuré de données cliniques. Cependant, si FHIR excelle en matière d'interopérabilité, son format JSON rend l'analyse difficile, y compris pour FHIR QuestionnaireResponse.

Ce projet montre la manière de transformer les données FHIR QuestionnaireResponse de JSON emboîté en tables SQL relationnelles et en intégrations vectorielles. En intégrant InterSystems IRIS FHIR SQL Builder et Vector Search, nous révélons la signification sémantique derrière les réponses des patients.

Trois étapes de sa construction

0
0 43
Annonce Irène Mykhailova · Déc 22, 2025

Chère communauté,

À l'approche des fêtes de fin d'année 🎄, nous sommes ravis de vous adresser nos meilleurs vœux. Que vos fêtes soient remplies de joie 🧑‍💻 d'apprendre, 🫂 d'échanger avec d'autres développeurs et de l'enthousiasme pour les nouvelles idées et les défis qui vous attendent pour l'année à venir !

Nous sommes ravis de célébrer une nouvelle année de réalisations remarquables avec VOUS, nos incroyables membres :

0
0 16
Article Iryna Mykhailova · Déc 18, 2025 6m read

L'idée qui a obtenu le plus de votes sur le portail InterSystems Ideas Portal (74 votes) concerne la création d'une version allégée d'IRIS. Bien que la plateforme soit devenue un puissant moteur de données, de nombreux projets ne nécessitent que ses capacités de base de données SQL. Cet article explique comment créer une image IRIS Community Edition non officielle et compacte, axée uniquement sur les fonctionnalités de base de données essentielles, ce qui réduit la taille de l'image de plus de 80 %.

⚠️ Avertissement

Ce projet produit une image non officielle et expérimentale d'InterSystems IRIS Community Edition.

  • Il n'est ni pris en charge ni approuvé par InterSystems.
  • Vous l'utilisez à vos propres risques. Les modifications suppriment des fonctionnalités essentielles de la plate-forme et peuvent nuire à la compatibilité avec les outils, les API et les comportements attendus.
  • Aucune garantie n'est fournie, y compris en ce qui concerne l'adéquation à une utilisation en production.
  • Il est destiné uniquement à des fins éducatives et expérimentales par des utilisateurs avancés.

Pourquoi une version allégée d'IRIS?

Bien que la version actuelle d'IRIS offre de nombreuses fonctionnalités (interopérabilité, analyse, apprentissage automatique, gestion du système, etc.), de nombreux projets ne nécessitent que ses capacités SQL de base. L'image Docker officielle de la version Community Edition est approximativement la suivante:

  • Espace disque utilisé: 3,5 à 3,8 Go
  • Format compressé: ~1,1 Go

IRIS Light réduit ces valeurs à:

  • Espace disque utilisé: ~575 à 583 Mo
  • Format compressé: ~144 à 148 MoB

Ainsi, elle convient pour:

  • L'utilisation de microservices ou de SQL conteneurisé
  • Les pipelines CI avec un démarrage et un pull plus rapides
  • La mise à l'échelle horizontale lorsque toutes les fonctionnalités ne sont pas nécessaires
0
0 25
Annonce Irène Mykhailova · Déc 17, 2025

Bonjour à tous,

✨ Alors que nous clôturons une année incroyable au sein de la Communauté des développeurs, il est temps de revenir sur tout ce que vous avez accompli en 2025 ! Votre récapitulatif 2025 personnalisé est maintenant disponible : un aperçu unique de votre activité, de vos réalisations et de la valeur ajoutée que vous avez apportée à la communauté cette année.

Des articles que vous avez partagés aux discussions que vous avez lancées, vos contributions ont permis de façonner les connaissances et la collaboration sur notre plateforme. Vous pouvez désormais tout retrouver au même endroit !

0
0 16
Article Sylvain Guilbaud · Déc 16, 2025 12m read

Dans la Partie 1, nous avons exploré le fonctionnement des fonctions de fenêtre. Nous avons découvert la logique sous-jacente à PARTITION BY, ORDER BY et à des fonctions telles que ROW_NUMBER() et RANK(). Dans cette deuxième partie, nous allons approfondir notre connaissance des fonctions de fenêtre au moyen d'exemples pratiques..

1. Fonctions d'agrégation sur fenêtre

Présentation

0
1 33
Article Sylvain Guilbaud · Déc 15, 2025 4m read

Les fonctions de fenêtre dans InterSystems IRIS permettent de réaliser des analyses puissantes — comme des totaux cumulés, des classements (rankings) ou des moyennes mobiles — directement en SQL.
Ces fonctions s’appliquent à une "fenêtre" de lignes liées à la ligne courante, sans regrouper les résultats comme le fait GROUP BY. Cela signifie que vous pouvez écrire des requêtes plus claires, plus rapides et plus faciles à maintenir — sans boucles, sans jointures, sans tables temporaires.

0
1 43
Annonce Irène Mykhailova · Déc 8, 2025

Bonjour à tous,

Le 7 décembre 2025, la Communauté des développeurs InterSystems a fêté son 10e anniversaire ! 🥳🎉

Nous rendons aujourd’hui hommage à cette décennie d’apprentissage, de collaboration, de résolution de problèmes et de développement des technologies InterSystems. Que vous soyez parmi nous depuis le début ou que vous nous ayez rejoints récemment, merci pour vos contributions, vos questions, vos idées et votre soutien. Ce succès est le vôtre 💖 Vous avez bâti cette communauté et nous vous en sommes profondément reconnaissants !

Pour célébrer cet anniversaire, nous vous avons invités à participer à une vidéo spéciale. Et vous avez été formidables ! Merci à tous ceux qui ont pris le temps de partager leurs vœux, leurs souvenirs et leurs gentils mots.

2
0 46
Article Irène Mykhailova · Juil 15, 2025 3m read

Notre objectif au sein de la Communauté des développeurs est de promouvoir un contenu technique original, fiable et de haute qualité, créé par et pour les développeurs. Si des outils d'IA comme ChatGPT peuvent être utiles à la rédaction, nous attendons de tout contenu publié qu'il reflète une expertise authentique et une compréhension personnelle. Si vous avez des questions ou souhaitez discuter de votre problème de codage avec une IA, pensez à utiliser le chat IA de la Communauté des développeurs.

Utilisation acceptable de l'IA

2
0 100
Annonce Irène Mykhailova · Déc 10, 2025

Salut la communauté !

Pour fêter notre anniversaire, nous avons créé une vidéo spéciale retraçant les grandes étapes, la croissance et les réussites de la Communauté des développeurs et de son écosystème au cours de la dernière décennie 🎆

Découvrez le chemin parcouru et tout ce que nous avons construit ensemble :

0
0 36
Article Lorenzo Scalese · Déc 9, 2025 9m read

Les entités dynamiques (objets et tableaux) dans IRIS sont extrêmement utiles lorsque vous devez transformer des données JSON en un modèle d'objet pour les stocker dans la base de données, comme dans les points de terminaison API REST hébergés dans IRIS. En effet, ces objets et tableaux dynamiques peuvent facilement servir de point de conversion d'une structure de données à une autre.

Entités dynamiques

0
0 39
InterSystems officiel Adeline Icard · Déc 5, 2025

Présentation

Cette version apporte des améliorations majeures en matière d'évolutivité et de performances du stockage, une mise à niveau importante du système d'exploitation pour toutes les offres, et une nouvelle version par défaut du serveur FHIR. Ensemble, ces mises à jour renforcent la fiabilité, la flexibilité et la sécurité du système, tout en garantissant la prise en charge à long terme de la plateforme.

Nouvelles fonctionnalités et améliorations

0
0 34
Article Iryna Mykhailova · Déc 4, 2025 2m read

Bonjour,

Lorsque nous ouvrons un terminal dans IRIS, nous accédons à l'interpréteur de commandes ObjectScript. Dans cet interpréteur, nous pouvons exécuter des commandes IRIS, telles que :

Autrement dit, la commande ObjectScript est exécutée dans l'interpréteur de commandes actuel. Mais il est toujours bon de se rappeler qu'IRIS possède d'autres interpréteurs de commandes.

  • SQL
  • Python
  • TSQL
  • MDX

Un aspect très intéressant réside dans les raccourcis. On peut accéder à ces shells soit par leurs appels, soit par des raccourcis, comme indiqué dans le tableau ci-dessous :

0
0 30
Annonce Irène Mykhailova · Déc 3, 2025

Nous apprécions vos commentaires sur les ressources d'apprentissage que vous utilisez pour tirer le meilleur parti des produits InterSystems. Que vous ayez suivi des cours en autoformation ou en direct, consulté la documentation ou obtenu une certification, nous serions ravis d'avoir votre avis !

How can InterSystems improve its learning resources in 2026? Take the survey.

0
0 37
Article Iryna Mykhailova · Déc 2, 2025 1m read

Il y a quelque temps, j'ai créé un petit exemple pour déployer rapidement des instances InterSystems IRIS connectées via ECP à l'aide de Docker.

Le temps a passé et, comme tout, il nécessitait une petite mise à jour.

Je l'ai donc mis à jour pour qu'il fonctionne avec la dernière version d'IRIS (actuellement la 2025.3), qui, entre autres, n'installe plus de serveur web par défaut. Ce n'est pas un problème majeur, mais il est bon de le savoir.

J'ai simplifié les Dockerfiles, mis à jour le fichier docker-compose.yml et ajouté des serveurs web dédiés au déploiement afin que vous puissiez administrer les instances de votre choix. Tout le reste (exemples d'applications, fonctionnalités principales, etc.) reste inchangé.

0
0 43
Annonce Irène Mykhailova · Déc 1, 2025
Bonjour et bienvenue à la récapitulation de la communauté des développeurs de novembre 2025.
Statistiques générales
✓ Nouvelles publications 22 publiées le novembre :
 13 nouveaux articles
 9 nouvelles annonces

✓ Nouveaux membres 2 ayant rejoint le novembre
✓ Publications 1,317 publiées depuis le début
✓ Membres 190 ayant rejoint depuis le début

0
0 35
Article Iryna Mykhailova · Nov 28, 2025 4m read

Pour les développeurs d'applications externes, notamment ceux utilisant des technologies comme C#, ODBC (Open Database Connectivity) est une passerelle standardisée essentielle vers toute base de données relationnelle, y compris InterSystems IRIS. Bien qu'InterSystems propose son propre fournisseur ADO.NET natif, le pilote ODBC reste souvent la solution la plus simple pour l'intégration avec les outils et frameworks de bases de données génériques.

Voici un guide pas à pas pour connecter votre application C# à une instance IRIS à l'aide du pilote ODBC, en mettant l'accent sur la chaîne de connexion sans DSN.

Étape 1 : Installation du pilote ODBC InterSystems IRIS

Le pilote ODBC InterSystems est installé par défaut lors de l'installation d'InterSystems IRIS sur une machine Windows.

  • Si IRIS est installé sur la même machine : le pilote est déjà présent.
  • Si IRIS est installé sur un serveur distant : vous devez télécharger et installer le package du pilote client ODBC autonome correspondant à votre système d’exploitation (Windows, Linux ou macOS) et à son architecture (32 bits ou 64 bits) depuis le site web de WRC si vous êtes client, ou en installant les composants clients et en copiant le pilote ODBC.

Une fois installé, vous pouvez vérifier sa présence dans l’outil Administrateur de sources de données ODBC sous Windows (recherchez le pilote InterSystems IRIS ODBC35).

0
0 27
Article Robert Barbiaux · Nov 27, 2025 11m read

Le développement de la production interopérable InterSystems IRIS implique l'utilisation ou l'écriture de différents types de composants. Parmi ceux-ci figurent les services (qui traitent les données entrantes), les processus (qui gèrent le flux et la logique des données) et les opérations (qui gèrent les données ou les requêtes sortantes). Les messages circulant à travers ces composants doivent être constamment adaptés aux applications qui les utilisent. Ainsi, lesLes transformations de données constituent sans conteste le composant le plus courant dans les productions interopérables.

0
0 32