#InterSystems IRIS

0 Abonnés · 756 Publications

InterSystems IRIS est une plateforme complète de données
InterSystems IRIS vous offre tout le nécessaire pour capturer, partager, comprendre et agir sur la ressource le plus précieuse de votre entreprise : vos données.
En tant que plateforme complète, InterSystems IRIS élimine la nécessité d'intégrer plusieurs technologies de développement. Les applications nécessitent moins de code, moins de ressources système et moins de maintenance.

Article Lorenzo Scalese · Oct 6, 2025 5m read

Commençons par une question simple et motivante : au cours des 14 derniers jours, quelles sont les erreurs les plus courantes dans le Journal des erreurs d'application?

Répondre à cette question via le portail de gestion ou le terminal est un processus manuel fastidieux. Nous devrions pouvoir simplement utiliser SQL. Heureusement, quelques requêtes de classe sont disponibles  pour vous aider dans la classe SYS.ApplicationError de l'espace de noms %SYS. Vous pouvez répondre à cette question pour une seule date à l'aide d'une commande telle que:

0
0 37
Article Iryna Mykhailova · Oct 2, 2025 25m read

Table des matières

  1. Objectif de l'article
  2. Les conteneurs : définition et pertinence dans le cadre d'IRIS
     2.1 Les conteneurs et les images en quelques mots
     2.2 Avantages des conteneurs pour les développeurs
     2.3 Pourquoi IRIS fonctionne bien avec Docker
  3. Conditions préalables
  4. Installation de l'image InterSystems IRIS
     4.1 Utilisation de Docker Hub
     4.2 Extraction de l'image
  5. Exécution de l'image InterSystems IRIS
     5.1 Démarrage d'un conteneur IRIS
     5.2 Vérification de l'état des conteneurs
     5.3 Exécution de code dans le terminal conteneur
     5.4 Accès au portail de gestion IRIS
     5.5 Connexion du conteneur à VS Code
     5.6 Arrêt ou suppression du conteneur
     5.7 Configuration d'un mot de passe spécifique avec un montage de type bind
     5.8 Utilisation de volumes %SYS durables
      5.8.1 Contenu stocké sous %SYS durable
      5.8.2 Comment activer %SYS durable
  6. Utilisation de Docker Compose
     6.1 Exemple d'utilisation de l'outil Docker Compose
     6.2 Exécution de Docker Compose
  7. Utilisation d'un fichier Dockerfile pour l'exécution d'un code source personnalisé
     7.1 Exemple de fichier Dockerfile
     7.2 Exemple de Docker Compose
     7.3 Compréhension des couches, du balisage des images et de la différence entre le temps de compilation et le temps d'exécution
     7.4 Code source et script d'initialisation
     7.5 Création de l'image avec le fichier Dockerfile
     7.6 Exécution d'instructions dans le terminal IRIS conteneurisé
  8. Conclusion et suite
1
0 61
Article Eugene.Forde · Sept 30, 2025 9m read

La plateforme de données InterSystems IRIS est une solution complète, multi-modèle et multi-charge de travail, idéale pour répondre aux exigences complexes des applications de l’Internet des Objets (IoT). Il s’agit d’une plateforme unifiée, cohérente et complète pour le développement, l’exécution et la maintenance des applications IoT.

Elle repose sur une architecture distribuée, capable de gérer des volumes massifs de données et des taux d’ingestion très élevés, tout en offrant la flexibilité et la robustesse d’une base de données transactionnelle multi-modèle de niveau entreprise. Cela permet d’ingérer, de traiter et de stocker des données provenant d’une grande variété de dispositifs et de formats.

La plateforme propose un ensemble complet de fonctionnalités d’intégration, de traitement d’événements et d’analytique intégrée, incluant une prise en charge complète du SQL, du traitement de texte, de l’orchestration des processus métier, ainsi qu’un environnement de développement basé sur les standards.

Se connecter à, ingérer et stocker une grande variété de types et formats de données issus de dispositifs disparates

Les types de données associés aux applications IoT sont souvent hétérogènes, car ils proviennent de dispositifs aux fonctions variées, fabriqués par différents fournisseurs. La plateforme de données sous-jacente doit être capable d’ingérer et de traiter un large éventail de données brutes dans leurs formats d’origine.

De nombreuses applications exigent également que la plateforme conserve toutes ces données sources disparates afin de détecter les écarts par rapport aux plages normales, de permettre des analyses ad hoc en aval, de respecter les obligations réglementaires ou de répondre à d’autres besoins spécifiques.

0
1 30
Annonce Irène Mykhailova · Sept 29, 2025

Bonjour à la communauté,

Nous sommes ravis de vous présenter un tout nouveau tutoriel Instruqt :

🧑‍🏫 RAG avec InterSystems IRIS Vector Search

Ce laboratoire pratique vous guide dans la création d'un chatbot IA basé sur la génération augmentée de récupération (RAG) et optimisé par InterSystems IRIS Vector Search. Vous découvrirez comment la recherche vectorielle peut être exploitée pour fournir des réponses actualisées et précises, en combinant les atouts d'IRIS et de l'IA générative.

✨ Pourquoi l'essayer ?

0
0 46
Article Sylvain Guilbaud · Sept 25, 2025 7m read

Si vous avez jamais observé un véritable artisan, qu'il s'agisse d'un potier transformant de l'argile en chef-d'œuvre ou d'un luthier donnant vie à un morceau de bois brut pour en faire une magnifique guitare, vous savez que la magie ne réside pas dans les matériaux, mais dans le soin, le savoir-faire et le traitement. Je le sais d'expérience : ma guitare électrique faite à la main est une source d'inspiration quotidienne, mais je dois avouer que créer quelque chose de ce genre est un don qui me manque.

0
0 45
Article Robert Cemper · Sept 23, 2025 4m read

La situation de départ

Une "Class Query" dans l'espace de noms %SYS fournissant des valeurs système réelles.

L' objectif à atteindre

Présentation des données dans le navigateur, accompagnée de
quelques visualisations graphiques, par exemple un graphique à barres.
L’ objectif est d’obtenir les valeurs réelles en un seul clic ou en actualisant.
La solution doit être indépendante de Windows, Linux, OSX, AIX, ...

0
0 79
Article Lorenzo Scalese · Sept 23, 2025 8m read

Mes clients me contactent régulièrement à propos du dimensionnement de la mémoire lorsqu'ils reçoivent des alertes indiquant que la mémoire libre est inférieure à un seuil ou lorsqu'ils constatent que la mémoire libre a soudainement diminué. Existe-t-il un problème? Leur application va-t-elle cesser de fonctionner parce qu'elle manque de mémoire pour exécuter les processus système et applicatifs? La réponse est presque toujours non, il est inutile de s'inquiéter. Mais cette réponse simple n'est généralement pas suffisante. Que se passe-t-il?

0
0 54
Article Lorenzo Scalese · Sept 18, 2025 5m read

IrisTest est un outil léger, puissant et facile à utiliser, conçu pour simplifier la génération de rapports de tests unitaires. Il comprend un interpréteur de commandes interactif et une API pour faciliter la communication, permettant aux développeurs de gérer et de générer facilement des rapports pour leurs tests dans des formats variés. Que vous déboguez ou créiez des rapports détaillés pour analyse, IrisTest rend le processus fluide et efficace!

Table des matières

0
0 34
Article Iryna Mykhailova · Sept 17, 2025 3m read

Salut tout le monde! Ayant récemment rejoint InterSystems, je me suis rendu compte que, même en ayant la version communautaire de la Community Edition totalement gratuite et géniale, la manière d'y accéder n'était pas très claire. J'ai donc décidé de rédiger un guide présentant toutes les différentes façons d'accéder à la version communautaire de la Community Edition d'InterSystems IRIS:

Obtention de la Community Edition d'InterSystems IRIS sous forme de conteneur

L'utilisation d'une instance conteneurisée de la Community Edition est l'approche recommandée pour les personnes qui découvrent le développement sur InterSystems IRIS. À mon avis, c'est aussi la plus simple. La Community Edition d'InterSystems IRIS est disponible sur DockerHub; si vous avez un compte SSO InterSystems, vous pouvez également la trouver dans le registre de conteneurscan also find it in the InterSystems Container Registry.

Quel que soit le cas, vous devrez extraire l'image de votre choix à l'aide de l'interface CLI Docker:

docker pull intersystems/iris-community:latest-em
// or
docker pull containers.intersystems.com/intersystems/iris-community:latest-em

Ensuite, vous devrez démarrer le conteneur: Afin d'interagir avec IRIS en dehors du conteneur (par exemple, pour utiliser le portail de gestion), vous devrez publier certains ports. La commande suivante exécutera le conteneur IRIS Community Edition avec les ports du superserveur et du serveur web publiés ; notez que vous ne pouvez rien avoir d'autre en cours d'exécution qui dépende des ports 1972 ou 52773!

docker run --name iris -d --publish 1972:1972 --publish 52773:52773 intersystems/iris-community:latest-em
0
0 55
Article Guillaume Rongier · Sept 10, 2025 5m read

Cet article vous présente le concept des environnements virtuels en Python, qui sont essentiels pour gérer les dépendances et isoler les projets du système d'exploitation.

Qu'est-ce qu'un environnement virtuel?

Un environnement virtuel est un dossier qui contient :

  • Une version spécifique de Python
  • Au démarrage, un répertoire site-packages vide

Les environnements virtuels vous aideront à isoler votre projet de l'installation Python du système d'exploitation et d'autres projets.

Utilisation

Pour utiliser les environnements virtuels, vous pouvez suivre les étapes suivantes:

0
1 59
Article Guillaume Rongier · Sept 9, 2025 3m read

Ce court article est consacré aux méthodes dunder de Python, également appelées méthodes magiques.

Qu'est-ce que les méthodes Dunder?

Les méthodes Dunder sont des méthodes spéciales en Python qui commencent et se terminent par deux traits de soulignement (__). Elles vous permettent de définir le comportement de vos objets pour les opérations intégrées, telles que l'addition, la soustraction, la représentation sous forme de chaîne, etc.

Parmi les méthodes dunder courantes, on peut citer:

0
0 58
Article Robert Cemper · Sept 6, 2025 4m read

Cet article a été motivé par le concours Article Bounty de septembre 2025.
***************************************************************************

Le principe de Docker me semble tout simplement convaincant.

  • Obtenez un bac à sable dans lequel vous pouvez jouer et essayer tout ce que vous voulez/devez faire.
  • Une fois terminé, vous le supprimez sans laisser de traces dans votre environnement de travail.

C'est sur cette base technique que j'ai pu effectuer environ 700 évaluations dans OEX 
sans pratiquement aucun effet secondaire  (à l'exception de ceux causés par moi-même).

0
0 122
Article Guillaume Rongier · Sept 4, 2025 6m read

Les modules, quel sujet ! Nous n'avons pas de notion équivalente en ObjectScript, mais c'est un concept fondamental en Python. Découvrons-le ensemble.

Qu'est-ce qu'un module?

Je considère les modules comme une couche intermédiaire entre les classes et les packages. Voici un exemple.

Un mauvais exemple :

# MyClass.py
class MyClass:
    def my_method(self):
        print("Hello from MyClass!")

Lorsque vous voulez utiliser cette classe dans un autre script, vous devez faire comme suit:

# class_usage.py
from MyClass import MyClass # weird, right?

my_instance = MyClass()
my_instance.my_method()
0
0 50
Article Eugene.Forde · Sept 4, 2025 4m read

Salut tout le monde !

Parfois, lorsqu’on conçoit une méthode de classe et qu’on y ajoute de plus en plus de fonctionnalités utiles, le nombre de paramètres peut rapidement atteindre 10, voire plus.

Cela devient alors assez difficile pour les utilisateurs de ces méthodes utiles de se rappeler de la position des paramètres importants, et il devient très facile de se tromper en inversant des valeurs entre paramètres.

Voici un exemple d’une telle méthode (j’ai demandé à GPT de me créer une méthode avec 20 paramètres) :

ClassMethod GenerateReportWith20Params(
    pTitle As%String = "",
    pAuthor As%String = "",
    pDate As%String = "",            // ex. 2025-09-03
    pCompany As%String = "",
    pDepartment As%String = "",
    pVersion As%String = "1.0",
    pFormat As%String = "pdf",      // pdf|html|docx
    pIncludeCharts As%Boolean = 1,
    pIncludeSummary As%Boolean = 1,
    pIncludeAppendix As%Boolean = 0,
    pConfidentiality As%String = "Public",
    pLanguage As%String = "en",
    pReviewers As%String = "",      // CSV, ex. "Alice,Bob"
    pApprover As%String = "",
    pLogoPath As%String = "",
    pWatermarkText As%String = "",
    pColorScheme As%String = "default",
    pPageSize As%String = "A4",
    pOrientation As%String = "Portrait",
    pOutputPath As%String = "report.pdf"
) As%Status
{
    // implémentation
}
0
0 44
Article Guillaume Rongier · Sept 2, 2025 6m read

Cet article présente une introduction à la programmation Python dans le contexte d'IRIS.

Avant toute chose, je vais aborder un sujet important : Fonctionnement de Python. Cela vous aidera à comprendre certains problèmes et certaines limites que vous pourriez rencontrer lorsque vous utilisez Python dans IRIS.

Tous les articles et exemples sont disponibles dans ce dépôt git: iris-python-article

Fonctionnement de Python

Langage interprété

Python est un langage interprété, ce qui signifie que le code est exécuté ligne par ligne lors de l'exécution, même lorsque vous importez un script.

0
0 40
Article Sylvain Guilbaud · Août 29, 2025 1m read

Rubrique FAQ InterSystems

Par défaut, l'ordre des colonnes d'une table est déterminé automatiquement par le système. Pour modifier cet ordre, définissez explicitement l'ordre de chaque propriété à l'aide du mot-clé SqlColumnNumber lors de la définition de la classe.

Exemple :

Property Name As %String [SqlColumnNumber = 2];

Veuillez consulter la documentation ci-dessous.

SqlColumnNumber

Si vous souhaitez modifier le nom de la table SQL, spécifiez SqlTableName. Si vous souhaitez modifier le nom de la colonne (nom du champ), spécifiez SqlFieldName.

0
0 24
Article Iryna Mykhailova · Août 28, 2025 12m read

Nous présentons ici le processus d'utilisation de la célèbre solution Jaeger pour tracer les applications InterSystems IRIS. Jaeger est un produit open source permettant de suivre et d'identifier des problèmes, en particulier dans les environnements distribués et de microservices. Ce backend de traçage, apparu chez Uber en 2015, a été inspiré par Dapper de Google et OpenZipkin de Twitter. Il a ensuite rejoint la Fondation Cloud Native Computing (CNCF) en tant que projet en incubation en 2017, avant d'obtenir le statut gradué en 2019. Ce guide vous montrera comment utiliser la solution Jaeger

0
0 36
Article Lorenzo Scalese · Août 27, 2025 4m read

Cet excellent article a récemment déclenché une discussion privée, et j'aimerais partager certaines de mes réflexions à ce sujet.La question motivante se résume ainsi : pourquoi devons-nous absolument établir des règles ou des conventions de codage ? Où est passée la merveilleuse époque des artistes-programmeurs de la Renaissance qui traçaient leur propre voie, avant d'être supplantés par les artisans, puis (pire encore) par IA?En bref, il existe plusieurs raisons pour expliquer l'utilité des normes et des directives de codage, et les artistes-programmeurs de la Renaissance n'ont pas

0
0 31
Article Guillaume Rongier · Août 25, 2025 8m read

Bonjour à toute la communauté InterSystems ! Je m'appelle Sidd, je suis stagiaire au bureau de Singapour et j'ai récemment eu l'occasion de développer un pilote afin de connecter IRIS à Metabase pour aider certains ingénieurs commerciaux ici. On m'a encouragé à partager cette information ici afin que ceux qui rencontrent un problème similaire puissent utiliser ce pilote et faire part de leurs commentaires sur les améliorations possibles. Le dépôt GitHub complet avec la procédure de démarrage rapide, un bref aperçu et le processus de création du pilote est disponible ici. L'objectif principal

0
0 41
Article Liam Evans · Août 20, 2025 4m read

Dans le cadre de mon projet stagiaire, je développe une application backend Flask de l'API REST. Mon objectif est de l'héberger sur InterSystems IRIS à l'aide de l'interface WSGI. Il s'agit d'une approche relativement nouvelle qui n'est actuellement utilisée que dans quelques projets tels que AskMe. Pour aider ceux qui souhaitent se lancer, j'ai décidé d'écrire cet article afin de simplifier le processus.

Création d'une application Flask de base

Commençons par créer une application Flask minimale. Voici le code:

0
0 32
Article Iryna Mykhailova · Août 18, 2025 4m read

Récompense d’août pour les articles sur Global Masters a retenu mon attention, et l'un des sujets proposés m'a semblé très intéressant quant à son utilisation future dans mon enseignement. Voici donc ce que j'aimerais dire à mes étudiants à propos des tables dans IRIS et de leur corrélation avec le modèle objet.

Tout d'abord, InterSystems IRIS dispose d'un modèle de données unifié. Cela signifie que lorsque vous travaillez avec des données, vous n'êtes pas enfermé dans un paradigme unique. Les mêmes données sont accessibles et manipulables comme une table SQL traditionnelle, comme un objet natif, ou même comme un tableau multidimensionnel (global). Cela signifie que lorsque vous créez une table SQL, IRIS crée automatiquement une classe d'objet correspondante. Lorsque vous définissez une classe d'objet, IRIS la rend automatiquement disponible sous forme de table SQL. Les données elles-mêmes ne sont stockées qu'une seule fois dans le moteur de stockage multidimensionnel performant d'IRIS. Le moteur SQL et le moteur objet sont simplement des « optiques » différentes pour visualiser et travailler avec les mêmes données.

Commençons par examiner la corrélation entre le modèle relationnel et le modèle objet :

Relationnel Objet
Table Classe
Colonne Propriété
Ligne Objet
Clé primaire Identifiant d'objet

La corrélation n'est pas toujours exacte, car plusieurs tables peuvent représenter une même classe, par exemple. Mais c'est une règle générale.

0
0 47
Article Iryna Mykhailova · Août 13, 2025 8m read

Au fil des ans, j'ai constaté que certaines questions SQL revenaient régulièrement au sein de la Communauté des développeurs InterSystems, notamment concernant l'utilisation du prédicat LIKE dans différents contextes. Parmi les variantes courantes, on peut citer :

et bien d'autres dérivés. J'ai donc décidé d'écrire un article consacré au fonctionnement de LIKE dans InterSystems IRIS SQL, notamment lorsqu'il est utilisé avec des variables dans Embedded SQL, Dynamic SQL et les requêtes de classes, tout en abordant l'échappement de motifs et les recherches de caractères spéciaux.

Tout d'abord, je tiens à préciser qu'InterSystems IRIS SQL offre la plupart des fonctionnalités disponibles dans d'autres bases de données relationnelles implémentant une version ultérieure de la norme SQL. Il est toutefois important de préciser qu'outre l'accès relationnel, IRIS permet également d'utiliser d'autres modèles pour obtenir les mêmes données, par exemple des modèles objet ou document.

À ce propos, examinons le prédicat LIKE et son utilisation en SQL pour la recherche de motifs.

0
0 78
Article Lorenzo Scalese · Août 11, 2025 4m read

Mon intention est de montrer à quel point il est simple de générer un tableau de recherche en tenant compte des informations qui arrivent dans notre messagerie HL7. Certes, le tableau de recherche de messages HL7 fourni par IRIS est suffisant pour la plupart des recherches que nous souhaitons effectuer, mais nous avons toujours ce champ spécial de notre HIS, LIS, RIS, etc. dans lequel nous aimerions rechercher. Mais il se trouve dans un segment en dehors de cette table. Ce champ nous oblige à générer une recherche spécifique en utilisant les critères de recherche avancés. Nous aurons

0
0 40
Question Cécile Heuillet · Mai 26, 2025

Bonjour,

je me suis rendue compte que j'avais cette erreur qui est survenue sur une interop qui tournait depuis quelques mois  :

"BP completion cleanup error deleting BP instance Id: 1133, ERREUR #5540: SQLCODE : Message -106 : Échec de suppression de la ligne de la table « xxx.Context » avec  %rowid=« 1012 », la ligne avec cet ID n'a pas été trouvée."

Nous n'avons pas fait de modification à ce moment là et je ne trouve pas d'où vient l'erreur. Nous avions fait plus tôt un changement de namespace mais c'était bien plus tôt.

Et par ailleurs cela ne met pas le système en erreur.

3
0 64
Article Benjamin De Boe · Juil 30, 2025 13m read

Cet article décrit une amélioration significative apportée dans la version 2025.2 à la manière dont InterSystems IRIS traite les statistiques de table, un élément crucial pour le traitement SQL IRIS. Nous commencerons par un bref rappel sur ce que sont les statistiques de table, comment elles sont utilisées et pourquoi cette amélioration était nécessaire. Nous nous intéresserons ensuite en détail à la nouvelle infrastructure de collecte et d'enregistrement des statistiques de table, puis nous examinerons ce que ce changement signifie en pratique pour vos applications. Nous terminerons par quelques remarques supplémentaires sur les modèles rendus possibles par le nouveau modèle et nous attendons avec impatience les étapes suivantes de cette première livraison.

0
0 46