### Example Shell Script for Dependency Installation Source: https://github.com/jeedom/documentations/blob/master/fr_FR/dev/daemon_plugin.md An example shell script to install dependencies using apt-get and pip. It utilizes a progress file to report installation status. Note: This script may need adaptation for Debian 12+ due to virtual environment requirements for Python packages. ```bash PROGRESS_FILE=/tmp/jeedom/template/dependance #remplacez template par l'ID de votre plugin if [ ! -z $1 ]; then PROGRESS_FILE=$1 fi touch ${PROGRESS_FILE} echo 0 > ${PROGRESS_FILE} echo "*************************************" echo "* Launch install of dependencies *" echo "*************************************" echo $(date) echo 5 > ${PROGRESS_FILE} apt-get clean echo 10 > ${PROGRESS_FILE} apt-get update echo 20 > ${PROGRESS_FILE} echo "*****************************" echo "Install modules using apt-get" echo "*****************************" apt-get install -y python3 python3-requests python3-pip python3-voluptuous python3-bs4 echo 60 > ${PROGRESS_FILE} echo "*************************************" echo "Install the required python libraries" echo "*************************************" python3 -m pip install "aiohttp" echo 80 > ${PROGRESS_FILE} echo 100 > ${PROGRESS_FILE} echo $(date) echo "***************************" echo "* Install ended *" echo "***************************" rm ${PROGRESS_FILE} ``` -------------------------------- ### Execute Zigbee Server Command Example (No Parameters) Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/automation protocol/zigbee/index.md Example of executing the 'on' command on the 'on_off' cluster for endpoint 1, with no additional parameters. ```text 1::on_off::on ``` -------------------------------- ### Execute Zigbee Server Command Example (With Parameters) Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/automation protocol/zigbee/index.md Example of executing the 'move_to_level' command on the 'level' cluster for endpoint 1, with '#slider#' and '0' as parameters. ```text 1::level::move_to_level::#slider#::0 ``` -------------------------------- ### Install Monit Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/installation.monit.md Install the Monit service supervision tool using the apt-get package manager. ```bash sudo apt-get -y monit ``` -------------------------------- ### Capture Settings Example Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/security/camera/index.md Example of setting the number of captures and the delay between them. This is typically triggered via a scenario. ```text nbSnap=3 delay=5 ``` -------------------------------- ### Command Execution Example Source: https://github.com/jeedom/documentations/blob/master/fr_FR/core/4.5/jsonrpc_api.md Example of how to execute a command using the JSON RPC API with PHP. ```APIDOC ## cmd::execCmd ### Description Exécution d’une commande avec des options optionnelles. ### Method POST ### Endpoint /core/api/jeeApi.php ### Parameters #### Request Body - **method** (string) - Required - The method to call, e.g., "cmd::execCmd" - **params** (object) - Required - Parameters for the method - **id** (integer) - Required - The ID of the command to execute - **options** (object) - Optional - Additional options for the command - **title** (string) - Optional - A title for the command execution - **message** (string) - Optional - A message associated with the command execution - **id** (integer) - Required - A unique identifier for the request ### Request Example ```php $jsonrpc = new jsonrpcClient('#URL_JEEDOM#/core/api/jeeApi.php', #API_KEY#); if($jsonrpc->sendRequest('cmd::execCmd', array('id' => #cmd_id#, 'options' => array('title' => 'Coucou', 'message' => 'Ca marche')))){ echo 'OK'; }else{ echo $jsonrpc->getError(); } ``` ``` -------------------------------- ### Example HTML with Search and Display Button Source: https://github.com/jeedom/documentations/blob/master/fr_FR/dev/core4.2.md This example shows the search input and the 'Display as Table' button integrated within the input group. ```html {% raw %} {{Mes Equipemnts}}
{% endraw %} ``` -------------------------------- ### Example MQTT Broker Bridging Configuration Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/programming/mqtt2/index.md An example configuration for bridging Mosquitto brokers between two Jeedom instances (jeedom_1 and jeedom_2) on a local network. ```mqtt connection jeedom_1 address 192.168.1.45:1883 topic # both 0 jeedom_2/ jeedom_2/ cleansession true notifications false remote_clientid jeedom_2 remote_username jeedom remote_password password_1 local_username jeedom local_password password_2 start_type automatic ``` -------------------------------- ### Daemon Startup and Initialization Source: https://github.com/jeedom/documentations/blob/master/fr_FR/dev/daemon_plugin.md Handles the initial setup of the daemon, including writing the PID file, creating the communication object, testing the callback URL, and setting up the listening socket. ```python try: jeedom_utils.write_pid(str(_pidfile)) # écrit le pidfile que le core de jeedom va surveiller pour déterminer si le démon est démarré jeedom_com = jeedom_com(apikey = _apikey,url = _callback,cycle=_cycle) # création de l'objet jeedom_com if not jeedom_com.test(): #premier test pour vérifier que l'url de callback est correcte logging.error('Network communication issues. Please fixe your Jeedom network configuration.') shutdown() jeedom_socket = jeedom_socket(port=_socket_port,address=_socket_host) # on déclare le socket pour recevoir les ordres de jeedom listen() # et on écoute except Exception as e: logging.error('Fatal error : '+str(e)) shutdown() ``` -------------------------------- ### Example Result of Getting Calendars and Events Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/organization/calendar/index.md This JSON structure represents the successful retrieval of calendar data, including event details like name, start and end times, and recurrence patterns. The result is an array of calendar objects, each potentially containing an 'events' array. ```json { "jsonrpc": "2.0", "id": 99999, "result": [ { "id": "641", "name": "labo", "logicalId": "", "generic_type": null, "object_id": null, "eqType_name": "calendar", "isVisible": "0", "isEnable": "1", "configuration": { "createtime": "2023-03-16 14:40:50", "nbWidgetDay": 7 }, "timeout": null, "category": [], "display": { "backGraph::info": 0 }, "order": "9999", "comment": null, "tags": null, "status": { "lastCommunication": "2023-03-17 11:02:46", "timeout": 0, "warning": 0, "danger": 0 }, "cache": [], "events": [ { "id": "2", "eqLogic_id": "641", "cmd_param": { "eventName": "Mon event", "noDisplayOnDashboard": "0", "icon": "", "color": "#2980b9", "transparent": "0", "text_color": "#ffffff", "start": [], "end": [], "in_progress": 1 }, "startDate": "2023-03-17 10:30:00", "endDate": "2023-03-17 14:30:00", "repeat": { "includeDate": "", "includeDateFromCalendar": "", "excludeDate": "", "excludeDateFromCalendar": "", "enable": "0", "mode": "simple", "positionAt": "first", "day": "monday", "freq": 0, "unite": "days", "excludeDay": { "1": "1", "2": "1", "3": "1", "4": "1", "5": "1", "6": "1", "7": "1" }, "nationalDay": "all" }, "until": null }, { "id": "3", "eqLogic_id": "641", "cmd_param": { "eventName": "Mon event 2", "noDisplayOnDashboard": "0", "icon": "", "color": "#2980b9", "transparent": "0", "text_color": "#ffffff", "start": [], "end": [], "in_progress": 0 }, "startDate": "2023-03-17 11:30:00", "endDate": "2023-03-17 11:45:00", "repeat": { "includeDate": "", "includeDateFromCalendar": "", "excludeDate": "", "excludeDateFromCalendar": "", "enable": "0", "mode": "simple", "positionAt": "first", "day": "monday", "freq": 0, "unite": "days", "excludeDay": { "1": "1", "2": "1", "3": "1", "4": "1", "5": "1", "6": "1", "7": "1" }, "nationalDay": "all" }, "until": null }, { "id": "4", "eqLogic_id": "641", "cmd_param": { "eventName": "Mon event", "noDisplayOnDashboard": "0", "icon": "", "color": "#2980b9", "transparent": "0", "text_color": "#ffffff", "start": [], "end": [], "in_progress": 0 }, "startDate": "2023-03-18 10:30:00", "endDate": "2023-03-18 14:30:00", "repeat": { "includeDate": "", "includeDateFromCalendar": "", "excludeDate": "", "excludeDateFromCalendar": "", "enable": "0", "mode": "simple", "positionAt": "first", "day": "monday", "freq": 0, "unite": "days", "excludeDay": { "1": "1", "2": "1", "3": "1", "4": "1", "5": "1", "6": "1", "7": "1" }, "nationalDay": "all" }, "until": null }, { "id": "5", "eqLogic_id": "641", "cmd_param": { "eventName": "Mon event", "noDisplayOnDashboard": "0", "icon": "", "color": "#2980b9", "transparent": "0", "text_color": "#ffffff", "start": [], "end": [], "in_progress": 0 }, "startDate": "2023-03-18 10:40:00", "endDate": "2023-03-18 14:50:00", "repeat": { "includeDate": "", "includeDateFromCalendar": "", "excludeDate": "", "excludeDateFromCalendar": "", ``` -------------------------------- ### Install and Use Universal-silabs-flasher Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/automation protocol/z2m/index.md Installs the necessary Python environment and the universal-silabs-flasher tool. Then, it demonstrates how to probe the device, reset it into bootloader mode, and flash a specific firmware file. Ensure the correct firmware file name is used. ```bash apt install -y python3-pip python3.11-venv python3 -m venv flash flash/bin/pip3 install universal-silabs-flasher cd flash/ bin/universal-silabs-flasher --device /dev/ttyUSB0 --bootloader-reset sonoff probe bin/universal-silabs-flasher --device /dev/ttyUSB0 --bootloader-reset sonoff flash --firmware ../ncp-uart-sw_EZNet7.4.3_V1.0.0.gbl bin/universal-silabs-flasher --device /dev/ttyUSB0 --bootloader-reset sonoff probe ``` -------------------------------- ### Lancement d'un backup initial complet Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/vmware.mise_en_place_des_backups.md Exécute un backup initial de toutes les VMs configurées en utilisant le fichier de configuration spécifié. Ce processus peut être long. ```shell /vmfs/volumes/Backup/ghettoVCB.sh -a -g /vmfs/volumes/Backup/ghettoVCB.conf ``` -------------------------------- ### Configure Dpkg for Package Installation Issues Source: https://github.com/jeedom/documentations/blob/master/fr_FR/core/4.5/faq.md When facing 'dpkg was interrupted' or 'Could not get lock' errors during plugin dependency installation, use this command via Jeedom's system console or SSH. This command configures pending dpkg operations. ```bash sudo dpkg --configure -a ``` -------------------------------- ### Get All Objects via JSON RPC Source: https://github.com/jeedom/documentations/blob/master/fr_FR/core/4.5/jsonrpc_api.md Retrieves a list of all objects in Jeedom using the JSON RPC API. This example uses a PHP client class for simplified interaction. ```php $jsonrpc = new jsonrpcClient('#URL_JEEDOM#/core/api/jeeApi.php', #API_KEY#); if($jsonrpc->sendRequest('jeeObject::all', array())){ print_r($jsonrpc->getResult()); }else{ echo $jsonrpc->getError(); } ``` -------------------------------- ### Exemple de dépendances apt avec alternatives et post-install Source: https://github.com/jeedom/documentations/blob/master/fr_FR/dev/packages.md Ce snippet spécifie des dépendances système (apt) avec des alternatives (ex: libav-tools/ffmpeg) et une action de post-installation pour redémarrer Apache. ```json { "apt" : { "libav-tools" : {"alternative" : ["ffmpeg"]}, "ffmpeg" : {"alternative" : ["libav-tools"]}, "python-pil" : {}, "php-gd" : {} }, "post-install" : { "restart_apache" : true } } ``` -------------------------------- ### Install Node-RED Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/installation.nodered.md Installs Node-RED globally using npm after installing necessary development dependencies. ```bash sudo apt-get -y install libavahi-compat-libdnssd-dev libusb-1.0-0-dev build-essential sudo npm install -g node-red ``` -------------------------------- ### Install VMware Tools on Debian Source: https://github.com/jeedom/documentations/blob/master/en_US/howtoadvance/vmware.creer_une_vm.md After installing the OS on your VM, it is essential to install VMware Tools for proper VM management by VMware. This command installs the open-vm-tools package on Debian-based systems. ```bash sudo apt-get -y install open-vm-tools ``` -------------------------------- ### Install Pip using EasyInstall Source: https://github.com/jeedom/documentations/blob/master/fr_FR/core/4.5/faq.md If you encounter errors related to 'pip._internal import main' when installing plugin dependencies, use these commands to ensure pip is installed or updated via easy_install. ```bash sudo easy_install pip sudo easy_install3 pip ``` -------------------------------- ### Installation de Let's Encrypt Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/letsencrypt.mise_en_place.md Installe Git, clone le dépôt Let's Encrypt et affiche l'aide de la commande. ```bash apt-get install -y git cd /opt git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help ``` -------------------------------- ### Start BIND DNS Service Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/installation.openjabnab.md Starts the BIND 9 DNS server service. ```bash /etc/init.d/bind9 start ``` -------------------------------- ### Exemple de dépendances apt, pip2 et post-install Source: https://github.com/jeedom/documentations/blob/master/fr_FR/dev/packages.md Ce snippet configure les dépendances système (apt), les dépendances Python 2 (pip2), et un script de post-installation pour un plugin. ```json { "apt" : { "git" : {}, "python-pip" : {}, "python-dev" : {}, "python-pyudev" : {}, "python-louie" : {}, "python-setuptools" : {}, "make" : {}, "build-essential" : {}, "libudev-dev" : {}, "g++" : {}, "gcc" : {}, "python-lxml" : {}, "unzip" : {}, "libjpeg-dev" : {}, "python-serial" : {}, "python-requests" : {} }, "pip2":{ "wheel" : {}, "urwid" : {}, "louie" : {}, "six" : {}, "tornado" : {} }, "post-install" : { "script" : "plugins/openzwave/resources/post-install.sh" } } ``` -------------------------------- ### Installation forcée des VIB de l'ESXi Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/vmware.trucs_et_astuces.md Cette commande force l'installation de tous les VIB d'un package ZIP, ce qui peut potentiellement entraîner une régression. Utilisez avec prudence. ```bash esxcli software vib install -d /vmfs/volumes/576c8ab3-fdf64d2f-091b-b8aeedeb87fb/ESXi600-201605001.zip ``` -------------------------------- ### Install Shellinabox Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/installation.shellinabox.md This command installs the Shellinabox package on Debian-based systems. Ensure you have sudo privileges. ```shell sudo apt-get -y shellinabox ``` -------------------------------- ### Installation de MariaDB Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/debian.trucs_et_astuces.md Installe les paquets serveur, client et communs pour MariaDB. ```bash apt-get -y install mariadb-server mariadb-client mariadb-common ``` -------------------------------- ### LoraPayload Payload Example Source: https://github.com/jeedom/documentations/blob/master/fr_FR/plugins/automation protocol/lorapayload/index.md Example of how to represent a received payload as a logical ID for direct display. ```json "logicalId": "payload" ``` -------------------------------- ### Start Daemon Function Source: https://github.com/jeedom/documentations/blob/master/fr_FR/dev/daemon_plugin.md This function starts the daemon process. It first stops any existing instance, checks if the daemon is launchable, constructs the command line with necessary parameters (log level, port, callback URL, user, password, API key, PID file), and then executes it. It waits for the daemon to confirm it's running. ```php public static function deamon_start() { self::deamon_stop(); $deamon_info = self::deamon_info(); if ($deamon_info['launchable'] != 'ok') { throw new Exception(__('Veuillez vérifier la configuration', __FILE__)); } $path = realpath(dirname(__FILE__) . '/../../resources/demond'); // répertoire du démon à modifier $cmd = system::getCmdPython3(__CLASS__) . " {$path}/demond.py"; // nom du démon à modifier $cmd .= ' --loglevel ' . log::convertLogLevel(log::getLogLevel(__CLASS__)); $cmd .= ' --socketport ' . config::byKey('socketport', __CLASS__, '55009'); // port par défaut à modifier $cmd .= ' --callback ' . network::getNetworkAccess('internal', 'http:127.0.0.1:port:comp') . '/plugins/template/core/php/jeeTemplate.php'; // chemin de la callback url à modifier (voir ci-dessous) $cmd .= ' --user "' . trim(str_replace('"', '\"', config::byKey('user', __CLASS__))) . '"'; // on rajoute les paramètres utiles à votre démon, ici user $cmd .= ' --pswd "' . trim(str_replace('"', '\"', config::byKey('password', __CLASS__))) . '"'; // et password $cmd .= ' --apikey ' . jeedom::getApiKey(__CLASS__); // l'apikey pour authentifier les échanges suivants $cmd .= ' --pid ' . jeedom::getTmpFolder(__CLASS__) . '/deamon.pid'; // et on précise le chemin vers le pid file (ne pas modifier) log::add(__CLASS__, 'info', 'Lancement démon'); $result = exec($cmd . ' >> ' . log::getPathToLog('template_daemon') . ' 2>&1 &'); // 'template_daemon' est le nom du log pour votre démon, vous devez nommer votre log en commençant par le pluginid pour que le fichier apparaisse dans la page de config $i = 0; while ($i < 20) { $deamon_info = self::deamon_info(); if ($deamon_info['state'] == 'ok') { break; } sleep(1); $i++; } if ($i >= 30) { log::add(__CLASS__, 'error', __('Impossible de lancer le démon, vérifiez le log', __FILE__), 'unableStartDeamon'); return false; } message::removeAll(__CLASS__, 'unableStartDeamon'); return true; } ``` -------------------------------- ### Calendar Event Result Example Source: https://github.com/jeedom/documentations/blob/master/en_US/plugins/organization/calendar/index.md Example of the JSON response structure when retrieving all calendar events. ```json { "jsonrpc": "2.0", "id": 99999, "result": [ { "id": "2", "eqLogic_id": "641", "cmd_param": { "eventName": "My event", "noDisplayOnDashboard": "0", "icon": "", "color": "#2980b9", "transparent": "0", "text_color": "#ffffff", "start": [], "end": [], "in_progress": 0 }, "startDate": "2023-03-17 10:30:00", "endDate": "2023-03-17 14:30:00", "repeat": { "includeDate": "", "includeDateFromCalendar": "", "excludeDate": "", "excludeDateFromCalendar": "", "enable": "0", "mode": "simple", "positionAt": "first", "day": "monday", "freq": 0, "unite": "days", "excludeDay": { "1": "1", "2": "1", "3": "1", "4": "1", "5": "1", "6": "1", "7": "1" }, "nationalDay": "all" }, "until": null }, { "id": "3", "eqLogic_id": "641", "cmd_param": { "eventName": "My event 2", "noDisplayOnDashboard": "0", "icon": "", "color": "#2980b9", "transparent": "0", "text_color": "#ffffff", "start": [], "end": [], "in_progress": 0 }, "startDate": "2023-03-17 11:30:00", "endDate": "2023-03-17 11:45:00", "repeat": { "includeDate": "", "includeDateFromCalendar": "", "excludeDate": "", "excludeDateFromCalendar": "", "enable": "0", "mode": "simple", "positionAt": "first", "day": "monday", "freq": 0, "unite": "days", "excludeDay": { "1": "1", "2": "1", "3": "1", "4": "1", "5": "1", "6": "1", "7": "1" }, "nationalDay": "all" }, "until": null } ] } ``` -------------------------------- ### Start MySQL Service Source: https://github.com/jeedom/documentations/blob/master/en_US/howtoadvance/mysql.trucs_et_astuces.md After applying the optimization configurations, relaunch the MySQL service to apply the changes. ```bash service mysql start ``` -------------------------------- ### Install Dependencies Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/installation.openjabnab.md Installs necessary packages for openjabnab, including apache, php, git, and development tools. ```bash apt-get update apt-get dist-upgrade apt-get install ssh apt-get install apache2 php5 php5-mysql libapache2-mod-php5 a2enmod rewrite apt-get install make apt-get install build-essential apt-get install libqt4-dev --fix-missing apt-get install qt4-dev-tools apt-get install bind9 apt-get install git ``` -------------------------------- ### Install Node-RED Modules Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/installation.nodered.md Installs various Node-RED modules globally using npm for extended functionality. ```bash sudo npm install node-red-node-discovery -g google module sudo npm install node-red-node-google -g sun events module sudo npm install node-red-contrib-sunevents -g Json path sudo npm install node-red-contrib-jsonpath -g geofence module, check if localisation is in zone sudo npm install node-red-node-geofence -g geohas, decode latitude longitude from string sudo npm install node-red-node-geohash -g Foursquare, recommandation on location sudo npm install node-red-node-foursquare -g Ping sudo npm install node-red-contrib-advanced-ping -g sudo npm install node-red-node-ping -g WOL sudo npm install node-red-node-wol -g SNMP sudo npm install node-red-node-snmp -g Weather sudo npm install node-red-node-forecastio -g sudo npm install node-red-node-openweathermap -g sudo npm install node-red-node-weather-underground -g General GPIO sudo npm install node-red-contrib-gpio -g Electirc Imp sudo npm install imp-io -g Spark Core sudo npm install spark-io -g Arduino/Firmata sudo npm install firmata -g Pushover sudo npm install node-red-node-pushover -g Notify My Android sudo npm install node-red-node-nma -g Pushbullet sudo npm install node-red-node-pushbullet -g Prowl sudo npm install node-red-node-prowl -g XMPP sudo npm install node-red-node-xmpp -g IRC sudo npm install node-red-node-irc -g Slack sudo npm install node-red-contrib-slack -g Pusher sudo npm install node-red-node-pusher -g Stockage sudo npm install node-red-node-dropbox -g sudo npm install node-red-node-flickr -g sudo npm install node-red-node-aws -g sudo npm install node-red-node-box -g Musique sudo npm install node-red-contrib-mpd -g sudo npm install node-red-contrib-mopidy -g Activities sudo npm install node-red-node-fitbit -g sudo npm install node-red-node-jawboneup -g sudo npm install node-red-node-strava -g KNX/EIBD sudo npm install node-red-contrib-eibd -g OpenZwave sudo npm install node-red-contrib-openzwave -g RFXcom sudo npm install node-red-contrib-rfxcom -g OWFS sudo npm install node-red-contrib-owfs -g Nest sudo npm install node-red-contrib-nest -g Hue sudo npm install node-red-contrib-hue -g Spark-Core sudo npm install node-red-contrib-sparkcore -g Wemo sudo npm install node-red-node-wemo -g Zibase sudo npm install node-red-contrib-zibase -g SensorTag sudo npm install node-red-node-sensortag -g Blinkstick sudo npm install node-red-node-blinkstick -g Blink1 sudo npm install node-red-node-blink1 -g Tellstick *sudo npm install node-red-contrib-tellstick -g PiTFT sudo npm install node-red-contrib-pitft-touch -g Pibrella sudo npm install node-red-node-pibrella -g sudo apt-get -y install python-rpi.gpio PiBord sudo npm install node-red-node-ledborg -g Sensors sudo npm install node-red-contrib-bmp085 -g sudo npm install node-red-contrib-ds18b20-sensor -g sudo npm install node-red-contrib-dht-sensor -g GPIO HummingBoard sudo npm install node-red-node-hbgpio -g sudo cp node_modules/node-red-node-hbgpio/gpiohb /usr/local/bin/ sudo chmod 4755 /usr/lcoal/bin/gpiohb Raspberry Pi sudo npm install raspi-io -g * BeagleBone Black sudo npm install beaglebone-io -g Galileo/Edison sudo npm install galileo-io -g Blend Micro sudo npm install blend-micro-io -g LightBlue Bean sudo npm install bean-io -g ``` -------------------------------- ### Installer l'ESXi Embedded Host Client Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/vmware.trucs_et_astuces.md Installe l'interface web HTML5 pour ESXi si elle n'est pas présente. Nécessite une connexion SSH à l'ESXi. ```bash esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxui/esxui-signed-latest.vib ``` -------------------------------- ### Installer des paquets Debian utiles Source: https://github.com/jeedom/documentations/blob/master/fr_FR/howtoadvance/debian.trucs_et_astuces.md Installe une sélection de paquets recommandés pour une nouvelle installation Debian, incluant fail2ban, vim, net-tools et dos2unix. ```bash apt-get install -y vim fail2ban net-tools dos2unix ```