- Vue d'ensemble (Overview)
- Cryptographie
- Base de donnés
- Java
- Python
- APIweb
Meilleures pratiques
Meilleures pratiques pour les activités de base de données, couvrant les chaînes de connexion pour SQL Server, Oracle, MySQL et d’autres bases de données, les procédures stockées et la résolution des problèmes.
Utilisation d’une procédure enregistrée avec OracleRefCursor
Lorsque vous utilisez des procédures enregistrées dans Oracle, assurez-vous que curseur de référence est correctement lié à la variable Oracle.ManagedDataAccess.Types.OracleRefCursor.
Pour ce faire, vous devez vous assurer que le nombre de paramètres et leur type correspondent à ceux configurés dans la propriété Paramètres (Parameters) de l’activité Exécuter une requête (Run Query).
Vous pouvez obtenir le contenu du curseur à l’aide de l’activité Appeler le code (Invoke Code) ou le transmettre à une autre requête de base de données en tant que paramètre d’entrée. Voici un exemple de code d’appel à convertir en table de données :
Oracle.ManagedDataAccess.Client.OracleDataReader reader2 = myRefCursor.GetDataReader();
dt = new DataTable();
dt.Load(reader2);
Oracle.ManagedDataAccess.Client.OracleDataReader reader2 = myRefCursor.GetDataReader();
dt = new DataTable();
dt.Load(reader2);
Vous devez supprimer le curseur lorsque vous avez terminé. Vous pouvez le faire avec l’activité Appeler le code (Invoke Code) (myRefCursor.Dispose), avec l’activité Appeler la méthode (Invoke Method) du package d’activités système ou via une commande SQL que vous exécutez.
Exécution de procédures stockées avec des paramètres
Les activités Exécuter une requête et Exécuter la commande peuvent appeler une procédure stockée au lieu d'une simple instruction SQL. Utilisez Exécuter la requête lorsque la procédure renvoie un ensemble de résultats et Exécuter la commande dans le cas contraire.
Pour appeler une procédure stockée:
- Définissez la propriété Type de commande sur Procédure enregistrée.
- Entrez le nom de la procédure dans le champ SQL , sans encapsuleur
EXECouCALL. - Ajoutez une entrée à la collection Paramètres pour chaque paramètre de procédure.
Chaque entrée Paramètres a les attributs suivants:
- Un nom.
- Une direction (
In,OutouIn/Out). - Un type.
- Une valeur.
Les valeurs Out et In/Out sont lues après l'appel. La façon dont les noms et l'ordre des paramètres sont interprétés dépend du fournisseur de base de données, de sorte que les directives diffèrent par base de données dans les sections suivantes.
| Base de donnés | Fournisseur | Comment appeler | Liaison de paramètre |
|---|---|---|---|
| Serveur Microsoft SQL | Microsoft.Data.SqlClient | Type de commande = procédure enregistrée, SQL = nom de la procédure | Par nom (@name); l'ordre n'a pas d'importance |
| Oracle | Oracle.ManagedDataAccess.Client | Type de commande = procédure enregistrée, SQL = nom de la procédure | Par position; ajouter des paramètres dans l'ordre déclaré de la procédure |
| MySQL/MariDB | Connectivité de la base de données ouverte | Type de commande = Texte, SQL = CALL procedure_name(?, ?) | Espaces réservés de ? positionnels |
| PostgreSQL | ODBC | Type de commande = Texte, SELECT * FROM function_name(?) ou CALL procedure_name(?) | Espaces réservés de ? positionnels |
| SQLite | Microsoft.Data.Sqlite | Non Applicable | SQLite n'a aucune procédure stockée |
Serveur Microsoft SQL
SQL Server lie les paramètres par nom, de sorte que les noms d'entrée Paramètres doivent correspondre aux paramètres @-préfixés de la procédure, et leur ordre n'a pas d'importance. Les paramètres de sortie sont renvoyés lorsque vous définissez la direction d'entrée sur Out.
CREATE PROCEDURE dbo.usp_CountCustomers @Country NVARCHAR(5), @Total INT OUTPUT AS
BEGIN
SET NOCOUNT ON;
SELECT @Total = COUNT(*) FROM dbo.customer WHERE country = @Country;
END;
CREATE PROCEDURE dbo.usp_CountCustomers @Country NVARCHAR(5), @Total INT OUTPUT AS
BEGIN
SET NOCOUNT ON;
SELECT @Total = COUNT(*) FROM dbo.customer WHERE country = @Country;
END;
Configurez Exécuter la commande avec le type de commande = procédure enregistrée et SQL = dbo.usp_CountCustomers, puis ajoutez les paramètres:
| Nom | Direction | Saisie de texte | Valeur (Value) |
|---|---|---|---|
@Country | dans | String | US |
@Total | Sortie | Int32 | — |
Après l'exécution, @Total contient le nombre. Pour une procédure qui renvoie des lignes, utilisez plutôt Exécuter une requête . le résultat est disponible dans la sortie de la table de données .
Oracle
Oracle lie les paramètres par position, et non par nom, de sorte que vous devez ajouter les entrées Paramètres dans le même ordre que la procédure déclare. Une procédure renvoie un ensemble de résultats via un paramètre OUT SYS_REFCURSOR ; déclarez cette entrée avec le type OracleRefCursor et la direction Out , et les lignes sont renvoyées dans la sortie de la table de données de Run Query. Voir également Utilisation d'une procédure enregistrée avec OracleRefCursor.
CREATE OR REPLACE PROCEDURE get_customers(p_country IN VARCHAR2, p_cursor OUT SYS_REFCURSOR) AS
BEGIN
OPEN p_cursor FOR SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END;
CREATE OR REPLACE PROCEDURE get_customers(p_country IN VARCHAR2, p_cursor OUT SYS_REFCURSOR) AS
BEGIN
OPEN p_cursor FOR SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END;
Configurez l'option Exécuter une requête avec le type de commande = Procédure enregistrée et SQL = get_customers, puis ajoutez les paramètres dans l'ordre de déclaration:
| Nom | Direction | Saisie de texte | Valeur (Value) |
|---|---|---|---|
p_country | dans | String | US |
p_cursor | Sortie | OracleRefCursor | — |
Oracle lie les paramètres par position. Si les entrées des paramètres ne sont pas dans l'ordre déclaré de la procédure, les valeurs sont attribuées aux mauvais paramètres et l'appel échoue ou renvoie une sortie vide.
MySQL et MaryDB
Lorsque vous vous connectez à MySQL ou MySQL par le biais d'ODBC, appelez la procédure avec le type de commande Texte et une instruction CALL qui utilise des espaces réservés ? de position. Une SELECT à l'intérieur de la procédure est renvoyée dans la sortie de la table de données de l'activité Exécuter une requête.
CREATE PROCEDURE list_customers(IN p_country VARCHAR(5))
BEGIN
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END
CREATE PROCEDURE list_customers(IN p_country VARCHAR(5))
BEGIN
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
END
Configurez Exécuter une requête avec Type de commande = Texte et Requête SQL = CALL list_customers(?), puis ajoutez un paramètre In pour l'espace réservé.
Pour les procédures MySQL avec des paramètres OUT , lisez la valeur d’un ensemble de résultats renvoyé ou utilisez le modèle CALL procedure_name(?, @out); SELECT @out; , car les valeurs OUT ne sont pas toujours mappées à l’entrée du paramètre via ODBC.
PostgreSQL
PostgreSQL expose deux types de routines: les fonctions, appelées avec SELECT, et les procédures, appelées avec CALL. Lorsque vous vous connectez via ODBC, utilisez le type de commande Texte avec des espaces réservés ? de position. Utilisez Exécuter une requête pour une fonction qui renvoie des lignes.
CREATE FUNCTION get_customers_by_country(p_country text)
RETURNS TABLE(id int, name text) LANGUAGE sql AS $$
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
$$;
CREATE FUNCTION get_customers_by_country(p_country text)
RETURNS TABLE(id int, name text) LANGUAGE sql AS $$
SELECT id, name FROM customer WHERE country = p_country ORDER BY id;
$$;
Configurez Exécuter une requête avec Type de commande = texte et Requête SQL = SELECT * FROM get_customers_by_country(?), puis ajoutez un paramètre In . Pour invoquer une procédure créée avec CREATE PROCEDURE, utilisez CALL procedure_name(?) à la place.
SQLite
SQLite ne prend pas en charge les procédures stockées. Conservez la logique dans votre workflow à l'aide des instructions paramétrées Exécuter la requête et Exécuter la commande , ou définissez une vue réutilisable.
Chaînes de connexion pour différents systèmes de base de données
Ce guide fournit des exemples de chaînes de connexion pour l'activité Se connecter à la base de données , vous permettant de vous connecter à diverses bases de données à l'aide de pilotes natifs et ODBC. Il inclut des exemples de chaîne de connexion pour:
- Microsoft SQL Server (y compris l’authentification Microsoft Entra ID)
- Oracle
- PostgreSQL
- MySQL
- Amazon Amazon
- Microsoft Access
- SAP HANA
- IBM Db2
- SQLite
Une section de résolution des problèmes pour les erreurs de connexion courantes suit les exemples. Suivez les meilleures pratiques pour garantir une connectivité de base de données sécurisée et efficace.
Serveur Microsoft SQL
Formats de chaîne de connexion courants pour Microsoft SQL Server lors de l’utilisation de Microsoft.Data.SqlClient.
Authentification SQL Server et ODBC
-
Utilisation de l'authentification SQL Server :
Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;User ID=USERNAME;Password=<your-password>; -
Avec un port spécifique :
Data Source=SERVER_NAME,PORT_NUMBER;Initial Catalog=DATABASE_NAME;User ID=USERNAME;Password=<your-password>; -
Utilisation du pilote ODBC:
Driver={ODBC Driver 18 for SQL Server};Server=SERVER_NAME;Database=DATABASE_NAME;Uid=USERNAME;Pwd=<your-password>;Encrypt=yes;TrustServerCertificate=no;
Par défaut, ces activités sont liées à Encrypt=True. Une connexion à un serveur avec un certificat auto-signé ou non approuvé échouera à moins que vous n’ajoutiez TrustServerCertificate=True (test ou développement uniquement) ou que vous n’installiez un certificat approuvé. Pour un comportement prévisible, définissez les deux mots clés explicitement, par exemple Encrypt=True;TrustServerCertificate=False;.
Authentification par Microsoft Entra ID
-
Utilisation de l’authentification par mot de passe (obsolète par Microsoft et incompatible avec l’authentification multifacteur; préférez l’authentification interactive, le principal de service ou l’identité gérée):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Password;User ID=user@yourtenant.onmicrosoft.com;Password=<your-password>;Encrypt=True; -
Utilisation de l’authentification principale du service (pour les Unattended Robots):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Service Principal;User ID=APP_CLIENT_ID;Password=<your-client-secret>;Encrypt=True; -
Utilisez l’authentification par identité gérée (omettez
User IDpour une identité attribuée par le système; pour une identité attribuée par l’utilisateur, définissez-la sur l’ID client de l’identité):Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Managed Identity;User ID=USER_ASSIGNED_MI_CLIENT_ID;Encrypt=True; -
Utilisation de l'authentification intégrée (utilise l'authentification Windows intégrée avec une identité Active Directory locale fédérée):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Integrated;Encrypt=True; -
Utilisation de l’authentification interactive (ouvre un navigateur avec une invite MFA; pour une utilisation Attended ou Développement uniquement, pas pour les Unattended Robots):
Server=tcp:SERVER.database.windows.net,1433;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Interactive;User ID=user@yourtenant.onmicrosoft.com;Encrypt=True;
Pour le pilote ODBC, les valeurs de mot clé équivalentes ne comportent pas d'espaces: ActiveDirectoryPassword, ActiveDirectoryServicePrincipal, ActiveDirectoryMsi (identité gérée), ActiveDirectoryIntegrated et ActiveDirectoryInteractive. ActiveDirectoryInteractive est disponible sous Windows uniquement.
Si le même workflow s’exécute à la fois sur un robot et sur une machine de développement, utilisez Authentication=Active Directory Default. Il utilise DefaultAzureCredential, qui teste les variables d'environnement, l'identité de la charge de travail et l'identité gérée avant de revenir aux informations d'identification de l'outil de développement.
Vous pouvez en savoir plus sur la syntaxe de la chaîne de connexion dans la documentation officielle de Microsoft et sur l'authentification Microsoft Entra dans la documentation d'authentification Microsoft Entra.
Fichier Excel
Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\full\path\to\the\sampleFile.xlsx;
Accès aux données gérées par Oracle
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XEPDB1)));User Id=system;Password=<your-password>;
Vous pouvez également utiliser le formulaire court Easy Connect: Data Source=//HOST_NAME:1521/SERVICE_NAME;User Id=USERNAME;Password=<your-password>;.
Pour plus d'informations, consultez la documentation du fournisseur de données Oracle pour.NET.
MySQL ODBC 8.3 Pilote Unicode
Driver={MySQL ODBC 8.3 Unicode Driver};Server=SERVER_NAME;Database=DATABASE_NAME;User=USERNAME;Password=<your-password>;Option=3;
Vous pouvez en savoir plus à ce sujet via la page de documentation officielle de MySQL ici.
Pilote ANSI MySQL ODBC 8.3
Driver={MySQL ODBC 8.3 ANSI Driver};Server=SERVER_NAME;Database=DATABASE_NAME;User=USERNAME;Password=<your-password>;Option=3;
Remplacez la version dans le nom du pilote par la version du connecteur MySQL/ODBC installée sur la machine (par exemple, MySQL ODBC 9.4 Unicode Driver); le nom doit correspondre exactement au pilote enregistré. Préférez le pilote Unicode au pilote ANSI pour éviter de corrompre les données non ASCII. L’indicateur Option=3 hérité est facultatif et n’est pas requis dans le cadre d’une utilisation standard.
PostgreSQL
Driver={PostgreSQL Unicode};Server=SERVER_NAME;Port=5432;Database=DATABASE_NAME;Uid=USERNAME;Pwd=<your-password>;
Utilisez la variante ANSI Driver={PostgreSQL ANSI};… uniquement pour les encodages à octet unique hérités; préférez le pilote Unicode pour les bases de données UTF-8. Ajoutez sslmode=require; (minuscule) pour appliquer TLS.
Le nom Driver={...} doit correspondre au pilote enregistré sur la machine qui exécute le robot. Selon le programme d'installation, le pilote psqlODBC 64 bits est enregistré sous la forme PostgreSQL Unicode ou PostgreSQL Unicode(x64) (et les équivalents ANSI). Si le nom ne correspond pas à un pilote enregistré, la connexion échoue avec « nom de source de données introuvable».
Vérifiez le nom enregistré exact dans l'administrateur de source de données ODBC 64 bits (C:\Windows\System32\odbcad32.exe).
Vous pouvez en savoir plus via la documentation psqlODBC.
Amazon Amazon (compatible avec SQL)
Amazon Amazon MySQL-Compatible Edition utilise le protocole de connexion MySQL, de sorte que vous vous connectez avec le pilote MySQL Connector/ODBC. Pointez Server au niveau du point de terminaison du cluster Azure (auteur):
Driver={MySQL ODBC 9.4 Unicode Driver};Server=CLUSTER.cluster-xxxx.REGION.rds.amazonaws.com;Port=3306;Database=DATABASE_NAME;User=USERNAME;Password=<your-password>;
Base de données autonome Oracle avec portefeuille
Pour se connecter à la base de données autonome Oracle (traitement autonome des transactions ou entrepôt de données autonome):
- Téléchargez le portefeuille d’instances (
Wallet_DBNAME.zip) à partir d’oracle Cloud Infrastructure. - Extrayez tous les fichiers de l'archive du portefeuille dans un dossier sur la machine robot.
- Définissez la variable d'environnement
TNS_ADMINsur ce dossier. - Modifiez le répertoire
WALLET_LOCATIONdans le fichiersqlnet.oradu portefeuille dans ce même dossier. Le portefeuille est livré avec un espace réservé?/network/adminque vous devez remplacer, carTNS_ADMINseul ne suffit pas.
Avec le portefeuille à connexion automatique (cwallet.sso), aucun mot de passe de portefeuille n’est nécessaire. Sinon, indiquez le mot de passe du portefeuille afin que le pilote puisse ouvrir le fichier ewallet.p12 protégé par mot de passe.
Utilisez ensuite un alias de service de tnsnames.ora (DBNAME_high, DBNAME_medium ou DBNAME_low, plus DBNAME_tp et DBNAME_tpurgent sur les bases de données de traitement des transactions):
Data Source=DBNAME_low;User Id=USERNAME;Password=<your-password>;
Vous pouvez également vous connecter sans portefeuille à l'aide d'un protocole TLS à sens unique, à condition que l'instance Base de données autonome soit configurée pour autoriser les connexions TLS. Les instances configurées pour le TLS mutuellement nécessitent toujours le portefeuille.
Vous pouvez en savoir plus via la documentation sur la configuration Oracle ODP.NET.
Microsoft Access
Utilisation du pilote ODBC:
Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\full\path\to\database.accdb;Uid=Admin;Pwd=;
Utilisation du fournisseur OLE DB (System.Data.OleDb, disponible sous Windows uniquement):
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\full\path\to\database.accdb;Persist Security Info=False;
Pour un fichier protégé par mot de passe, ajoutez Jet OLEDB:Database Password=<your-password>; à la chaîne OLE DB.
Le pilote ODBC et le fournisseur ALE OLE DB sont issus du redistribuable moteur de la base de données Microsoft Access, dont l'architecture (x86 ou x64) doit correspondre à l'architecture du robot et du projet. Une non-correspondance entraîne le fait que le fournisseur ne correspond pas à l'enregistrement sur la machine locale Erreur.
SAP HANA
Driver={HDBODBC};ServerNode=HOST_NAME:3NN15;UID=USERNAME;PWD=<your-password>;
Utilisez HDBODBC pour les robots 64 bits (HDBODBC32 uniquement pour un processus 32 bits). Pour une base de données à conteneur unique ou pour le premier locataire, le port est 3NN15, où NN est le numéro d'instance à deux chiffres — par exemple, 30015 pour l'instance 00 ou 30515 pour l'instance 05.
Pour un système de conteneur de base de données multilocataire, connectez-vous via le port système-base de données 3NN13 et nommez le locataire, qui est le formulaire recommandé par SAP:
Driver={HDBODBC};ServerNode=HOST_NAME:30013;DATABASENAME=TENANT_DB;UID=USERNAME;PWD=<your-password>;
Pour SAP HANA Cloud (par opposition à la version locale de SAP HANA), l'hôte est un point de terminaison de style UUID sur le port 443 et la connexion est toujours chiffrée. Définissez encrypt=TRUE explicitement pour le client SAP HANA 2.5 et versions antérieures; les clients plus récents le déduisent sur le port 443. Le schéma de port 3NN15 s'applique uniquement aux systèmes locaux.
IBM Db2
Driver={IBM DB2 ODBC DRIVER};Database=DATABASE_NAME;Hostname=HOST_NAME;Port=50000;Protocol=TCPIP;Uid=USERNAME;Pwd=<your-password>;
Le nom du pilote enregistré peut être spécifique à l'installation - avec plusieurs copies Db2, il peut s'agir IBM DB2 ODBC DRIVER - DB2COPY1. Vérifiez le nom exact dans l’administrateur de la source de données ODBC sous Windows ou dans odbcinst.ini sous Linux. Le port 50000 est le port par défaut, mais le port réel est défini par instance par SVCENAME.
SQLite
Les activités de la base de données utilisent Microsoft.Data.Sqlite. Indiquez le chemin d’accès au fichier de la base de données:
Data Source=C:\full\path\to\database.db;
Les mots clés facultatifs incluent Mode=ReadOnly (ou ReadWrite / ReadWriteCreate), Foreign Keys=True pour appliquer l’intégrité référentielle et Cache=Shared. Le mot clé Version=3 n’est pas valide ici — il appartient à l’ancien fournisseur System.Data.SQLite et entraîne une erreur.
Vous pouvez en savoir plus via la documentation Microsoft.Data.Sqrite.
JDBC
Les activités de la base de données s’exécutent sur.NET et n’utilisent pas directement les pilotes JDBC. Pour accéder à une base de données à laquelle vous accéder normalement via JDBC, utilisez son pilote ODBC avec la chaîne de connexion ODBC pour cette base de données dans ce guide, ou implémentez la connexion dans un workflow codé à l'aide du pilote.NET ou ADO.NET du fournisseur de base de données.
Résolution des problèmes de connexion courants
Nom de la source de données introuvable (erreur IM002)
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found, and no default driver specified
Le pilote ODBC nommé dans Driver={...} n’est pas installé ou est enregistré sous un nom ou une architecture différente. Pour résoudre ce problème:
- Installez le pilote ODBC correspondant.
- Confirmez que le pilote apparaît dans l'administrateur de source de données ODBC qui correspond à l'architecture du robot. Il existe des administrateurs 32 bits et 64 bits distincts.
- Copiez le nom exact du pilote de l’administrateur dans
Driver={...}. Le nom est souvent spécifique à la version ou à l'installation (par exemple,PostgreSQL Unicode(x64),MySQL ODBC 9.4 Unicode DriverouIBM DB2 ODBC DRIVER - DB2COPY1).
Impossible de charger le pilote (erreur IM003)
ERROR [IM003] Specified driver could not be loaded due to system error 1114
L'erreur système 1114 signifie que la bibliothèque de pilotes a été trouvée, mais que sa routine d'initialisation a échoué - généralement une dépendance manquante (telle qu'un runtime requis) ou une incompatibilité d'architecture ou de version. Il est commun avec Oracle Instant Client (SQORA32.dll) et IBM Db2 (DB2CLIO.DLL). Pour résoudre ce problème:
- Assurez-vous que l’architecture du pilote correspond au runtime.
- Installez tous les prérequis requis par le pilote.
- Réinstallez ou mettez à jour le pilote.
Architecture des pilotes et prise en charge de la plateforme
Installez le pilote de base de données qui correspond à l'architecture de runtime du projet. Les projets Windows s’exécutent en tant que processus 64 bits et ont besoin du pilote ODBC ou OLE DB 64 bits. Les projets Windows Héritage s’exécutent en tant que processus 32 bits et ont besoin du pilote 32 bits.
La base de données OLE (System.Data.OleDb, utilisée pour Access et Excel) est disponible uniquement sous Windows. ODBC fonctionne sur Windows et sur les robots Linux ou macOS lorsqu'unixODBC 2.3.1 ou version ultérieure et le pilote cible est installé sur cette machine.
Après avoir installé un pilote, redémarrez Studio ou le robot pour qu'il détecte le pilote.
- Utilisation d’une procédure enregistrée avec OracleRefCursor
- Exécution de procédures stockées avec des paramètres
- Serveur Microsoft SQL
- Oracle
- MySQL et MaryDB
- PostgreSQL
- SQLite
- Chaînes de connexion pour différents systèmes de base de données
- Serveur Microsoft SQL
- Fichier Excel
- Accès aux données gérées par Oracle
- MySQL ODBC 8.3 Pilote Unicode
- Pilote ANSI MySQL ODBC 8.3
- PostgreSQL
- Amazon Amazon (compatible avec SQL)
- Base de données autonome Oracle avec portefeuille
- Microsoft Access
- SAP HANA
- IBM Db2
- SQLite
- JDBC
- Résolution des problèmes de connexion courants
- Nom de la source de données introuvable (erreur IM002)
- Impossible de charger le pilote (erreur IM003)
- Architecture des pilotes et prise en charge de la plateforme