Centreon CLAPI est un module/API Centreon qui permet d’administrer et de configurer votre plate-forme de supervision en ligne de commande. Les actions que l’on peut effectuer depuis l’interface web peuvent être réalisé en ligne de commande rapidement…
En effet, nous allons pouvoir ajouter, supprimer, mettre à jours les hôtes, les services, les commandes…etc, mais surtout, exporter/importer la configuration complète de Centreon.
Remarque : depuis la version 2.7, le module Centreon-Clapi est totalement intégré à Centreon.
Ce qu’il vous faut :
- Centreon Server : v.2.7 et plus
- Documentation Centreon-Clapi : documentation.centreon.com
- Documentation Center : documentation-fr.centreon.com
SSH/SFTP Tools :
Remarque : MobaXterm permet d’établir une connexion SSH et SFTP simultanément. Très pratique pour récupérer ou uploader les fichiers directement depuis la machine hôte vers le serveur Centreon. Il est totalement personnalisable et permet également de récupérer vos sessions PuTTy automatiquement. Bref, the best et c’est un produit français !
Commandes CLAPI
Voici la commande Clapi :
[root@centreon ~]# centreon -u USER -p PASSWORD -o OBJET -a ACTION [-v PARAMETRE]
Explication de la commande :
- -u : l’utilisateur de l’interface Centreon.
- -p : le mot de passe associé à l’utilisateur Centreon
- -o : type d’objet associé à l’action. Exemple : Collecteur, hôte, service…etc.
- -a : type d’action à réaliser : ajouter, supprimer, modifier…etc.
- -v : pour rajouter plusieurs paramètres en fonction de l’objet ou type d’action.
Configuration Pré-requise
Connectez-vous à votre serveur Centreon en SSH.
Attention : un modèle générique doit être affecté à vos services. Sinon, l’import ne fonctionnera pas (ne me demandez pas pourquoi, à voir dans la nouvelle version de Centreon). C’est comme la création d’un service.
- Configuration > Services > Modèles > cliquez sur Ajouter
- Alias : generic_service
- Nom : generic_service
- Modèle : ne rien mettre
- Commande de vérification : Check_ICMP (ping)
- ARG1 : 3 (nombre de requête ping)
- ARG2 : 200,20%
- ARG3 : 400,50%
- Période de contrôle : workhours
- Allez dans l’onglet Notifications
- Période de notification : workhours
- Allez dans l’onglet Informations complémentaires
- Modèle de graphique : Latency
- Catégories : Ping
- Icône : ping.png
- Allez maintenant dans les paramètres d’un service et lui affecter ce modèle.
- Si vous avez beaucoup de services
- Cochez tous vos services (ou par page)
- Plus d’actions…
- Changement massive
- Mode de mise à jour : Incrémentale
- Ajouter uniquement le modèle « generic_service » et validez. Laissez le reste VIDE.
Voici un exemple avec un service Exchange :
- Sauvegarder et redémarrer le collecteur pour prendre en compte les modifications.
Exporter la configuration
Lancez la commande d’export. Si vous avez une grosse configuration, cela risque de prendre un peu de temps.
[root@centreon ~]# centreon -u admin -p admin -e > /tmp/centreon-conf.txt [root@centreon ~]#
- -e > /tmp/centreon-conf.txt = stocker la configuration dans le fichier centreon-conf.txt et l’enregistrer dans le répertoire /tmp.
Voilà, c’est terminé. Nous venons d’exporter la configuration de Centreon. Jetons un coup d’œil à l’intérieur du fichier que nous venons d’exporter.
Remarque : effectuez un double clic pour ouvrir le fichier avec l’éditeur de MobaXterm. Sinon, effectuez un clic droit > Open with… et sélectionnez le votre.
le fichier commence par les ACL (Liste de contrôle d’accès) :
{OBJECT_TYPE};{COMMAND};{PARAMETERS} ACLACTION;ADD;Simple User;Simple User; ACLACTION;SETPARAM;Simple User;activate;1; ACLACTION;GRANT;Simple User;poller_stats; ACLACTION;GRANT;Simple User;top_counter; ACLACTION;GRANT;Simple User;service_acknowledgement; ACLACTION;GRANT;Simple User;service_schedule_check; ACLACTION;GRANT;Simple User;service_schedule_forced_check; ACLACTION;GRANT;Simple User;service_schedule_downtime; ... ...
Puis l’instance (Collecteur Central)
INSTANCE;ADD;Central;127.0.0.1;22 INSTANCE;setparam;Central;localhost;1 INSTANCE;setparam;Central;is_default;1 INSTANCE;setparam;Central;ns_activate;1 INSTANCE;setparam;Central;ns_status;0 INSTANCE;setparam;Central;init_script;centengine INSTANCE;setparam;Central;init_system;systemv INSTANCE;setparam;Central;monitoring_engine;CENGINE ... ...
Les commandes (Ici les commandes disponible : Exchange)
CMD;setparam;Check-MSExchange;enable_shell;0 CMD;setparam;Check-MSExchange;command_activate;1 CMD;setparam;Check-MSExchange;command_locked;0 CMD;ADD;Check-MailboxHealth;2;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ CMD;setparam;Check-MailboxHealth;enable_shell;0 ... ...
les macros personnalisée, chemin des plugins centreon/nagios…etc.
RESOURCECFG;ADD;$USER1$;/usr/lib/nagios/plugins;Central;Nagios Plugins Path RESOURCECFG;setparam;$USER1$;activate;1 RESOURCECFG;ADD;$USER2$;/usr/lib/centreon/plugins;Central;Centreon Plugins Path RESOURCECFG;setparam;$USER2$;activate;1 RESOURCECFG;ADD;$_SERVICEPLUGIN$;0;Central; RESOURCECFG;setparam;$_SERVICEPLUGIN$;activate;1 RESOURCECFG;ADD;$_SERVICEMODE$;0;Central; RESOURCECFG;setparam;$_SERVICEMODE$;activate;1 ... ...
La configuration Centreon :
Remarque : il est conseillé de supprimer ces lignes lors d’un import de ce fichier sur un nouveau serveur Centreon. En effet, votre nouveau serveur Centreon a déjà sa propre configuration.
CENTBROKERCFG;SETOUTPUT;central-module-master;1;buffering_timeout;0 CENTBROKERCFG;SETOUTPUT;central-module-master;1;protocol;bbdo CENTBROKERCFG;SETOUTPUT;central-module-master;1;tls;no CENTBROKERCFG;SETOUTPUT;central-module-master;1;compression;no CENTBROKERCFG;SETOUTPUT;central-module-master;1;type;ipv4 ... ... ENGINECFG;ADD;Centreon Engine Central;Central;Centreon Engine ENGINECFG;setparam;Centreon Engine Central;log_file;/var/log/centreon-engine/centengine.log ENGINECFG;setparam;Centreon Engine Central;cfg_dir;/etc/centreon-engine ENGINECFG;setparam;Centreon Engine Central;temp_file;/var/log/centreon-engine/centengine.tmp ENGINECFG;setparam;Centreon Engine Central;status_file;/var/log/centreon-engine/status.dat ... ...
Les hôtes et services :
HOST;setparam;EX-SERVER1;host_snmp_community;pixelabs HOST;setparam;EX-SERVER1;host_snmp_version;2c HOST;setparam;EX-SERVER1;timezone;Europe/Paris HOST;setparam;EX-SERVER1;host_locked;0 HOST;setparam;EX-SERVER1;host_register;1 HOST;setparam;EX-SERVER1;host_activate;1 HOST;setparam;EX-SERVER1;icon_image;pixelabs/exchange.png ... ... SERVICE;ADD;EX-SERVER1;Check-CPU; SERVICE;setparam;EX-SERVER1;Check-CPU;check_command;Check-CPU SERVICE;setparam;EX-SERVER1;Check-CPU;check_period;workhours SERVICE;setparam;EX-SERVER1;Check-CPU;service_is_volatile;2 SERVICE;setparam;EX-SERVER1;Check-CPU;service_active_checks_enabled;2 SERVICE;setparam;EX-SERVER1;Check-CPU;service_passive_checks_enabled;2 SERVICE;setparam;EX-SERVER1;Check-CPU;service_parallelize_check;2 ... ...
Etc…
Il suffit maintenant d’importer cette configuration sur un nouveau serveur Centreon. Voir l’article : full-import-conf-centreon-centreon-clapi/
Remarque : sauvegarder ce fichier TXT ailleurs, pour le retrouver en cas de panne de votre serveur Centreon.
C’est terminé les amis. Ci-dessous quelques commandes Clapi à connaitre pour le fun 🙂
Gestion des collecteurs
Quelques commandes pour gérer vos collecteurs (Pollers). Dans mon cas, j’ai un seul collecteur (Poller) : Central
Afficher les colleurs disponibles :
[root@centreon ~]# centreon -u admin -p admin -a POLLERLIST poller_id;name --- 1;Central --- Return code end : 0 [root@centreon ~]#
Générer la configuration pour le collecteur Central :
[root@centreon ~]# centreon -u admin -p admin -a POLLERGENERATE -v "Central" --- Configuration files generated for poller 'Central' --- Return code end : 0 [root@centreon ~]#
Tester la configuration du collecteur Central :
[root@centreon ~]# centreon -u admin -p admin -a POLLERTEST -v "Central" --- OK: Centreon Poller Central can restart without problem... --- Return code end : 0 [root@centreon ~]#
Déplacer les fichiers pour appliquer la supervision : après avoir ajouté un hôte, service…etc
[root@centreon ~]# centreon -u admin -p admin -a CFGMOVE -v "Central" --- OK: All configuration files copied with success. --- Return code end : 0 [root@centreon ~]#
Relancer le collecteur Central :
[root@centreon ~]# centreon -u admin -p admin -a POLLERRESTART -v "Central" --- .centengine restart: done [ OK ] --- Return code end : 0 [root@centreon ~]#
Les 4 commandes ci-dessus peuvent être réalisées en une seule commande :
[root@centreon ~]# centreon -u admin -p admin -a APPLYCFG -v "Central"
Gestion des objets
Pour la gestion des objets, je vais citer quelques exemples, il faut des semaines pour faire le tour, mais si vous êtes chaud : Object management
Afficher les hôtes : J’ai qu’un hôte et c’est Exchange Server 2016
[root@centreon ~]# centreon -u admin -p admin -o HOST -a show id;name;alias;address;activate --- 2;EX-SERVER1;Exchange Server 2016;172.16.1.2;1 --- [root@centreon ~]#
Afficher les services :
[root@centreon ~]# centreon -u admin -p admin -o SERVICE -a show host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate --- 2;EX-SERVER1;13;Check-ComponentState;Check-ComponentState;;;;;2;2;1 2;EX-SERVER1;2;Check-CPU;Check-CPU;;;;;2;2;1 2;EX-SERVER1;15;Check-DAGHealth;Check-DAGHealth;;;;;2;2;1 2;EX-SERVER1;3;Check-Disk-C:;Check-Disk-C:;;;;;2;2;1 2;EX-SERVER1;4;Check-Disk-E:;Check-Disk-E:;;;;;2;2;1 2;EX-SERVER1;5;Check-Disk-F:;Check-Disk-F:;;;;;2;2;1 2;EX-SERVER1;6;Check-Disk-L:;Check-Disk-L:;;;;;2;2;1 2;EX-SERVER1;14;Check-ExchServices;Check-ExchServices;;;;;2;2;1 2;EX-SERVER1;16;Check-FailOverDB;Check-FailOverDB;;;;;2;2;1 2;EX-SERVER1;18;Check-IndexStateHealth;Check-IndexStateHealth;;;;;2;2;1 2;EX-SERVER1;11;Check-MailboxHealth;Check-MailboxHealth;;;;;2;2;1 2;EX-SERVER1;7;Check-Memory;Check-Memory;;;;;2;2;1 2;EX-SERVER1;10;Check-MSEProcess;Check-MSExchange;;;;;2;2;1 2;EX-SERVER1;17;Check-QueueHealth;Check-QueueHealth;;;;;2;2;1 2;EX-SERVER1;12;Check-ReplicationHealth;Check-ReplicationHealth;;;;;2;2;1 2;EX-SERVER1;9;Check-Service-IMAP4;Check-WINServices;;;;;2;2;1 2;EX-SERVER1;8;Check-Traffic;Check-traffic;;;;;2;2;1 --- [root@centreon ~]#
Afficher les commandes : bon…je trouve que… c’est très clair et… on s’y retrouve rapidos ! Nan ?
[root@centreon ~]# centreon -u admin -p admin -o CMD -a show id;name;type;line 35;host-notify-by-email;notif;/usr/bin/printf "%b" "***** centreon Notification *****<br/><br/>Type:$NOTIFICATIONTYPE$<br/>Host: $HOSTNAME$<br/>State: $HOSTSTATE$<br/>Address: $HOSTADDRESS$<br/>Info: $HOSTOUTPUT$<br/>Date/Time: $DATE$" | @MAILER@ -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$ 36;service-notify-by-email;notif;/usr/bin/printf "%b" "***** centreon Notification *****<br/><br/>Notification Type: $NOTIFICATIONTYPE$<br/><br/>Service: $SERVICEDESC$<br/>Host: $HOSTALIAS$<br/>Address: $HOSTADDRESS$<br/>State: $SERVICESTATE$<br/><br/>Date/Time: $DATE$ Additional Info : $SERVICEOUTPUT$" | @MAILER@ -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ 37;host-notify-by-epager;notif;/usr/bin/printf "%b" "Host $HOSTALIAS$ is $HOSTSTATE$<br/>Info: $OUTPUT$<br/>Time: $DATETIME$\" | @MAILER@ -s \"$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$ is $HOSTSTATE$\" $CONTACTPAGER$ 38;service-notify-by-epager;notif;/usr/bin/printf "%b" "Service: $SERVICEDESC$<br/>Host: $HOSTNAME$<br/>Address: $HOSTADDRESS$<br/>State: $SERVICESTATE$<br/>Info: $OUTPUT$<br/>Date: $DATETIME$" | @MAILER@ -s "$NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" $CONTACTPAGER$ 89;host-notify-by-jabber;notif;$USER1$/notify_via_jabber $CONTACTPAGER$ "Host '$HOSTALIAS$' is $HOSTSTATE$ - Info: $HOSTOUTPUT$" 90;service-notify-by-jabber;notif;$USER1$/notify_via_jabber $CONTACTPAGER$ "$NOTIFICATIONTYPE$ $HOSTNAME$ $SERVICEDESC$ $SERVICESTATE$ $SERVICEOUTPUT$ $LONGDATETIME$" 91;Check-traffic;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --mode=$_SERVICEMODE$ --interface=$_SERVICEINTERFACE$ --warning-in-traffic=$_SERVICEWARNINGIN$ --warning-out-traffic=$_SERVICEWARNINGOUT$ --critical-in-traffic=$_SERVICECRITICALIN$ --critical-out-traffic=$_SERVICECRITICALOUT$ $_SERVICEOPTION$ $_SERVICEOPTION$ 92;Check-ICMP;check;$USER1$/check_icmp -H $HOSTADDRESS$ -n $ARG1$ -w $ARG2$ -c $ARG3$ 93;Check-CPU;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning=$_SERVICEWARNING$ --critical=$_SERVICECRITICAL$ 94;Check-Memory;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-memory=$_SERVICEWARNING$ --critical-memory=$_SERVICECRITICAL$ 95;Check-Disk-C:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$ 96;Check-Disk-E:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$ 97;Check-Disk-F:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$ 98;Check-Disk-L:;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --warning-usage=$_SERVICEWARNING$ --critical-usage=$_SERVICECRITICAL$ --storage=$_SERVICEDISK$ 99;Check-WINServices;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --service=$_SERVICENAME$ $_SERVICEOPTION$ 100;Check-MSExchange;check;$USER2$/centreon_plugins.pl --plugin=$_SERVICEPLUGIN$ --mode=$_SERVICEMODE$ --hostname=$HOSTADDRESS$ --snmp-community=$_HOSTSNMPCOMMUNITY$ --snmp-version=$_HOSTSNMPVERSION$ --process-name=$_SERVICEPROCESS$ $_SERVICEOPTION$ 101;Check-MailboxHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 103;Check-ReplicationHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 104;Check-ComponentState;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 105;Check-ExchServices;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 106;Check-DAGHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 107;Check-FailOverDB;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 108;Check-QueueHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ 109;Check-IndexStateHealth;check;$USER1$/check_centreon_nrpe -H $HOSTADDRESS$ -t $_SERVICETIMEOUT$ -c $_SERVICECOMMAND$ [root@centreon ~]#
Vous avez surement compris le fonctionnement. Voir la documentation Centreon pour aller plus loin.
Dans le prochain chapitre, nous allons remettre Centreon à zero et importer la configuration.
Bonne journée et à très bientôt.
Hello, question sur l’export.
Quand on lance un « centreon -u admin -p admin -o SERVICE -a show », on se retrouve avec un 2;2;1 à la fin (actif/passif/enabled)
D’où sort la valeur « 2 » ? Dans la doc officielle, c’est 0=ON, 1=OFF
J’ai 200k services, je dois filtrer les services active enabled, les services passive enabled, mais tout est à 2 dans ces deux colonnes !!
merci
Salut Vinx,

Il t’affiche « 2 » parce que c’est par défaut :
Si tu veux « 1 » ou « 0 », il faut cocher la case « Oui » ou « Non »
(il est possible de modifier ces paramètres en masse)
Bonne journée.
-sysadmin.
Ah oui ok je comprends, ce qu’il retourne c’est la config du service
Finalement ce que je recherche, c’est l’état actuel du service (monitoring/services/clic sur le service/active checks [disabled | enabled]
Car dans ma config tous mes services sont en « Default », mais j’ai un event handler qui a passé la valeur « Active checks » à « Disabled » sur un tas de services et j’aimerais repasser « Active checks » as « Enabled » en masse via clapi 😉
Je n’ai jamais fait de modif en masse via Clapi,
C’est easy depuis l’interface web de Centreon, tu peux sélectionner plusieurs services et modifier ce paramètre en masse et rapidos 😉
Le souci c’est que j’ai 200000 services, il n’y a pas moyen de filtrer (j’aimerais retirer les services dont le host est down ou en downtime), j’ai des centaines de pages
En plus à chaque fois que je coche des services pour faire un « Services : Enable Check », il retourne à la page 1, et me retire mon tri sur la colonne ‘Last check’ ; j’en ai pour des semaines via l’interface lente de Centreon !
Oui, effectivement 200k c’est énorme.. même en faisons des groupes de services, c’est pareil !
En tous cas, désolé, je le maîtrise pas Clapi, je ne sais pas faire grand chose avec à part de l’Export/Import et un peu d’administration du collecteur.
Penses à bosser sur un serveur de test pour éviter de flinguer la prod ^^
Bon courage.
-sysadmin.
Mise à jour de l’article.
J’ai essayé de détaillé au maximum. N’hésitez pas si besoin 🙂
Bonjour,
Merci pour cet intéressant article!
Je voudrais cependant vous poser une question car j’ai plusieurs pollers et je cherche à faire l’export de toute la configuration.
Doit-on exécuter la commande d’export que sur le poller central ? ou exécuter la commande sur chaque poller ?
Même question également pour l’import.
Je voudrais également savoir s’il y’a des choses qui ne seront pas exporter réellement comme les conf ldap, ou l’escalade?
D’avance merci de votre aide!
Salut,
Tu peux exécuter la commande depuis n’importe quel poller, il suffit de préciser dans la commande le nom du poller distant.
Tout ce que tu vois sur cette image sera exporter/Importer : https://pixelabs.fr/wp-content/uploads/2018/06/Export-Configuration-Centreon.png
+ la configuration du collecteur.
Je ne veux pas rentrer dans les détails car, je n’ai jamais administré un poller distant (peut être dans les prochains jours).
Tu as la doc Centreon-Clapi ici : https://documentation.centreon.com/docs/centreon-clapi/en/latest/engine_management.html
Bon courage 🙂
-sysadmin.
bonjour !
est-ce l’équivalent de de l’import/export AWIE ?
Avez-vous une procédure de réinstallation complète depuis les fichiers de configuration bakupés par centreon (à partir des 4 fichiers)
Merci,
Bonjour thierry,
Oui, c’est l’équivalent de AWIE.
Et non désolé, je n’ai pas eu encore l’occasion de réinstaller Centreon depuis des fichiers de sauvegarde.
(Cela m’intéresse fortement également).
Si je trouve quelque chose à l’avenir ou si je me penche dessus, je ferais un article.
Bonne journée.
-Pixel.