Cet article liste les classes P5 en donnant la traduction en OJS correspondante. Etant donné le nombre important de classes dans P5 cette liste ne sera pas exhaustive mais sera enrichie au fil du temps.
Lorsque l’on développe des fonctionnalités en script OJS il est souvent nécessaire de connaitre les classes d’objet présentes dans P5. En effet, de nombreuses fonctions OJS utilisent les classes d’objet P5 nécessitent de connaitre la dénomination exacte de la classe en OJS.
Par exemple pour obtenir un projet sous forme d’objet P5 grâce à son ID on pourra utiliser une syntaxe du type :
var mon_projet = "OpxProject".get("ID_DE_MON_PROJET"
Le mot clé « OpxProject » permet de préciser la classe de l’objet sur laquelle va porter la fonction get(). Ce mot clé est construit de la manière suivante :
"Opx" + <em>Nom de la classe P5 ou de la table additionnelle.</em>
Par __exemple pour créer une nouvelle alerte dans la table additionnelle des alertes intranet nommée « _AL_PT_AL », la syntaxe serait :
mon_alerte = new "Opx_AL_PT_AL" ( "NOM" , "nom_de_mon_alerte" , "CLASSE_A_SURVEILLER" , "classe_de_mon_alerte" , "COMMENT" , "libellé_de_mon_alerte" )
Difficulté d’utilisation des classes P5 en OJS
S’il est en général facile de retrouver la classe P5 à partir de sa dénomination en OJS, il est parfois difficile de connaître facilement la dénomination exacte de la classe en OJS à partir de son nom dans P5. Par exemple une AFFECTATION dans P5 se traduit en OJS « OpxPlannedHours ».
Cet article liste donc les classes P5 en donnant la traduction en OJS correspondante. Etant donné le nombre important de classes dans P5 cette liste ne sera pas exhaustive mais sera enrichie au fil du temps.
Astuce pour retrouver le nom d’une classe P5 en OJS
La méthode suivante permet de retrouver ou vérifier rapidement la dénomination OJS d’une classe P5. Il s’agit de créer une macro d’actions multiples sur la classe concernée puis de transformer en OPX2 Script via la fonction standard prévue à cet effet.
1) Créer une nouvelle macro d’action multiple :
Données > Actions multiples > Actions multiples…
``` 
Etape 1 : Créer une nouvelle macro
2) Renseigner la classe sur laquelle va porter la macro P5 
Etape 2 : Sélection de la classe et archivage
3) Archiver la macro (par exemple sous le nom « AAAA ») 
Etape 3 : Archivage de la macro
4) Ouvrir la table des objets d’environnement et rechercher la macro précédemment créée (dans notre exemple filtrer sur ID= »AAAA »).
```java
Fichier > Administration > Environnement…
Sélectionner la macro et cliquer sur le bouton de transformation de la macro en script.
Etape 4 : Sélection et transformation de la macro
5) Sélectionner le script puis l’ouvrir. 
Etape 5 : Sélection du script
6) Retrouver le nom de la classe en OJS (ici « OpxObsElement »).
Etape 6 : Consultation de la syntaxe du script
Les AsyncTask permettent une utilisation correcte et facile du ThreadUI. Cette classe permet d’effectuer des tâches de fond et de publier des résultats sans manipuler des threads et/ou des handlers.
Découvrez la planche #37 !
Un RAG (Retrieval Augmented Generation) est un système utilisé dans les entreprises pour améliorer la gestion documentaire, et notamment, faciliter la recherche dans de grosses volumétries de documents. Si vous avez déjà testé d’utiliser l’IA avec les LLM traditionnels pour ce sujet, vous avez sûrement rencontré des problématiques importantes liées au manque de contexte ou de connaissances basé sur les documents (dû à la limite de tokens d’entrée). C’est là où le RAG joue sa carte ! Un RAG a pour but d’alimenter la base de connaissances de votre IA avec vos documents. Et comme, elle se base sur vos données pour répondre aux questions (documents internes, données confidentielles, etc), les réponses sont plus pertinentes ! Dans cet article, nous plongeons au coeur du fonctionnement d’un RAG pour vous expliquer les rouages du système. Let’s go !