Plantage en cours de MAJ de la version 3.3.55 vers la version 4

Bonjour

J’ai voulu faire une mise à jour de la version 3.3.55 vers la version 4. J’ai un plantage en cours de MAJ avec le log suivant :

 [START UPDATE]
****Update from 3.3.55 (2021-02-28 16:21:43)****
Parameters : {"preUpdate":"0","backup::before":"1","plugins":"1","core":"1","force":"0"," update::reapply":"0"}
Send begin of update event...OK
Check update...
OK
Check rights...
OK
[START BACKUP]
***************Start of Jeedom backup at 2021-02-28 16:21:50***************
Envoi l'évènement de début de sauvegarde...OK
Vérification des droits sur les fichiers...
OK
Vérification de la base de données...
OK
Sauvegarde la base de données...
OK
Persistance du cache :
OK
Création de l'archive...
OK
Nettoyage de l'ancienne sauvegarde...OK
Limitation de la taille des sauvegardes à 3000 Mo...
OK
Nom de la sauvegarde : /var/www/html/core/php/../../backup/backup-JeedomBuster-3.3.55-2021-02-28-16h21.tar.gz
Vérification des droits sur les fichiers...
OK
Envoi l'évènement de fin de sauvegarde...OK
Durée de la sauvegarde : 97s
***************Fin de la sauvegarde de Jeedom***************
[END BACKUP SUCCESS]
Disable all task
kill: (2403): No such process
.
kill: (15314): No such process
.
kill: (3065): No such process
.
.
kill: (15642): No such process
. OK
Disable all scenario................................
.................................................
................................
............................................
.... OK
Download url : https://github.com/jeedom/core/archive/V4-stable.zip
Download in progress...--2021-02-28 16:23:38--  https://github.com/jeedom/core/archive/V4-stable.zip
Resolving github.com (github.com)... 140.82.121.4
Connecting to github.com (github.com)|140.82.121.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/jeedom/core/zip/V4-stable [following]
--2021-02-28 16:23:38--  https://codeload.github.com/jeedom/core/zip/V4-stable
Resolving codeload.github.com (codeload.github.com)... 140.82.121.10
Connecting to codeload.github.com (codeload.github.com)|140.82.121.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 70809195 (68M) [application/zip]
Saving to: '/tmp/jeedom/install/jeedom_update.zip'
0K ........ ........ ........ ........ ........ ........  4% 12.3M 5s
3072K ........ ........ ........ ........ ........ ........  8% 25.4M 4s
6144K ........ ........ ........ ........ ........ ........ 13% 24.2M 3s
9216K ........
........ ........ ........ ........ ........ 17% 21.8M 3s
12288K ........ ........ ........ ........ ........ ........ 22% 13.4M 3s
15360K ........ ........ ........ ........ ........ ........ 26% 12.8M 3s
18432K ........ ........ ........ ........ ........ ........ 31% 13.2M 3s
21504K ........ ........ ........ ........ ........ ........ 35% 10.8M 3s
24576K ........ .......
........ ........ ........ ........ 39% 9.25M 3s
27648K ........ ........ ........ ........ ........ ........ 44% 9.92M 3s
30720K ........ ........ ........ ........ ........ ........ 48% 10.5M 3s
33792K ........ ........ ........ ........ ........ ........ 53% 10.4M 2s
36864K ....
.... ........ ........ ........ ........ ........ 57% 11.2M 2s
39936K ........ ........ ........ ........ ........ ........ 62% 10.8M 2s
43008K ........ ........ ........ ........ ........ ........ 66% 11.8M 2s
46080K ........ ........ ........ ........ ........ ........ 71% 11.9M 2s
49152K ........ ........ .
....... ........ ........ ........ 75% 11.8M 1s
52224K ........ ........ ........ ........ ........ ........ 79% 12.6M 1s
55296K ........ ........ ........ ........ ........ ........ 84% 12.1M 1s
58368K ........ ........ ........ ........ ........ ........ 88% 13.1M 1s
61440K ........ ........ ........ ........ ........ ........ 93% 13.1M 0s
64512K ..
...... ........ ........ ........ ........ ........ 97% 13.1M 0s
67584K ........ ........ ........                           100% 13.3M=5.4s
2021-02-28 16:23:43 (12.6 MB/s) - '/tmp/jeedom/install/jeedom_update.zip' saved [70809195/70809195]
OK
Cleaning folders...OK
Create temporary folder...OK
Unzip in progress...
OK
Clean temporary files (tmp)...OK
Moving files...
Ignore file /tmp/jeedom_unzip/core-4-stable///docs/de_DE/noteVersion.md because size is 0
Ignore file /tmp/jeedom_unzip/core-4-stable///docs/en_US/noteVersion.md because size is 0
Ignore file /tmp/jeedom_unzip/core-4-stable///docs/es_ES/noteVersion.md because size is 0
Ignore file /tmp/jeedom_unzip/core-4-stable///docs/fr_FR/noteVersion.md because size is 0
Ignore file /tmp/jeedom_unzip/core-4-stable///docs/pt_PT/noteVersion.md because size is 0
OK
Remove temporary files...OK
Update system into : 3.4.0...Suppression theme /var/www/html/install/update/../../core/themes/amber/Suppression theme /var/www/html/install/update/../../core/themes/blue/Suppression theme /var/www/html/install/update/../../core/themes/blue_grey/Suppression theme /var/www/html/install/update/../../core/themes/bootable/Suppression theme /var/www/html/install/update/../../core/themes/brown/Suppression theme /var/www/html/install/update/../../core/themes/cerulean/Suppression theme /var/www/html/install/update/../../core/themes/cosmo/Suppression theme /var/www/html/install/update/../../core/themes/cyan/Suppression theme /var/www/html/install/update/../../core/themes/cyborg/Suppression theme /var/www/html/install/update/../../core/themes/darkly/Suppression theme /var/www/html/install/update/../../core/themes/darksobre/Suppression theme /var/www/html/install/update/../../core/themes/deep_orange/Suppression theme /var/www/html/install/update/../../core/themes/deep_purple/Suppression theme /var/www/html/install/update/../../core/themes/flatly/Suppression theme /var/www/html/install/update/../../core/themes/green/Suppression theme /var/www/html/install/update/../../core/themes/grey/Suppression theme /var/www/html/install/update/../../core/themes/indigo/Suppression theme /var/www/html/install/update/../../core/themes/journal/Suppression theme /var/www/html/install/update/../../core/themes/light_blue/Suppression theme /var/www/html/install/update/../../core/themes/light_green/Suppression theme /var/www/html/install/update/../../core/themes/lime/Suppression theme /var/www/html/install/update/../../core/themes/lumen/Suppression theme /var/www/html/install/update/../../core/themes/orange/Suppression theme /var/www/html/install/update/../../core/themes/paper/Suppression theme /var/www/html/install/update/../../core/themes/pink/Suppression theme /var/www/html/install/update/../../core/themes/purple/Suppression theme /var/www/html/install/update/../../core/themes/readable/Suppression theme /var/www/html/install/update/../../core/themes/red/Suppression theme /var/www/html/install/update/../../core/themes/sandstorn/Suppression theme /var/www/html/install/update/../../core/themes/simplex/Suppression theme /var/www/html/install/update/../../core/themes/slate/Suppression theme /var/www/html/install/update/../../core/themes/spacelab/Suppression theme /var/www/html/install/update/../../core/themes/superhero/Suppression theme /var/www/html/install/update/../../core/themes/teal/Suppression theme /var/www/html/install/update/../../core/themes/united/Suppression theme /var/www/html/install/update/../../core/themes/yellow/Suppression theme /var/www/html/install/update/../../core/themes/yeti/OK
Update system into : 4.0.1...OK
Update system into : 4.0.2...
PHP Fatal error:  Uncaught Error: Call to undefined method timeline::refreshWidget() in /var/www/html/core/class/cmd.class.php:967
Stack trace:
#0 /var/www/html/install/update/4.0.2.php(23): cmd->save(true)
#1 /var/www/html/install/update/4.0.2.php(32): replaceAndSaveFA5(Array)
#2 {main}
thrown in /var/www/html/core/class/cmd.class.php on line 967
OK
Update system into : 4.0.3...Copy widget of plugin widget to jeedom custom widget dir...OK
Update system into : 4.0.4...
PHP Fatal error:  Uncaught Error: Call to undefined method timeline::refreshWidget() in /var/www/html/core/class/cmd.class.php:967
Stack trace:
#0 /var/www/html/install/update/4.0.4.php(23): cmd->save(true)
#1 {main}
thrown in /var/www/html/core/class/cmd.class.php on line 967
OK
Update system into : 4.0.5...
OK
Update system into : 4.0.6...
OK
Update system into : 4.0.11...
OK
Update system into : 4.0.15...OK
Update system into : 4.0.23...
je passeOK
Update system into : 4.1.1...
OK
Update system into : 4.1.2...cp: cannot stat '/var/www/html/install/update/../../core/config/scenario': No such file or directory
OK
Update system into : 4.1.3...OK
Update system into : 4.1.4...OK
Update system into : 4.1.5...OK
Update system into : 4.1.7...OK
Update system into : 4.1.15...PHP Fatal error:  Uncaught Exception: [MySQL] Error code : 42S22 (1054). Unknown column 'order' in 'field list'  : SELECT `id`, `name`, `image`, `configuration`, `order`
FROM planHeader
ORDER BY `order` in /var/www/html/core/class/DB.class.php:101
Stack trace:
#0 /var/www/html/core/class/planHeader.class.php(48): DB::Prepare('SELECT `id`, `n...', Array, 1, 8, 'planHeader')
#1 /var/www/html/install/update/4.1.15.php(3): planHeader::all()
#2 {main}
thrown in /var/www/html/core/class/DB.class.php on line 101
OK
Check jeedom consistency...[START CONSISTENCY]
[START CHECK AND FIX DB]
Fix : ALTER TABLE `cmd` DROP INDEX `unique`;
Fix : ALTER TABLE `cmd` DROP INDEX `isHistorized`;
Fix : ALTER TABLE `cmd` DROP INDEX `type`;
Fix : ALTER TABLE `cmd` DROP INDEX `name`;
Fix : ALTER TABLE `cmd` DROP INDEX `subtype`;
Fix : ALTER TABLE `cmd` DROP INDEX `eqLogic_id`;
Fix : ALTER TABLE `cmd` DROP INDEX `value`;
Fix : ALTER TABLE `cmd` DROP INDEX `order`;
Fix : ALTER TABLE `cmd` DROP INDEX `logicalID`;
Fix : ALTER TABLE `cmd` MODIFY COLUMN `logicalId`  varchar(255) NULL
Fix : ALTER TABLE `cmd` MODIFY COLUMN `name`  varchar(127) NULL
Fix : ALTER TABLE `cmd` DROP `html`
Fix :
CREATE UNIQUE INDEX `unique` ON `cmd` (`eqLogic_id` ASC,`name` ASC)
Fix :
CREATE INDEX `isHistorized` ON `cmd` (`isHistorized` ASC)
Fix :
CREATE INDEX `type` ON `cmd` (`type` ASC)
Fix :
CREATE INDEX `name` ON `cmd` (`name` ASC)
Fix :
CREATE INDEX `subtype` ON `cmd` (`subType` ASC)
Fix :
CREATE INDEX `eqLogic_id` ON `cmd` (`eqLogic_id` ASC)
Fix :
CREATE INDEX `value` ON `cmd` (`value` ASC)
Fix :
CREATE INDEX `order` ON `cmd` (`order` ASC)
Fix :
CREATE INDEX `logicalID` ON `cmd` (`logicalId` ASC)
Fix : ALTER TABLE `cmd` DROP INDEX `logicalId_eqLogicID`;
Fix : ALTER TABLE `config` MODIFY COLUMN `key`  varchar(127) NOT NULL
Fix : ALTER TABLE `cron` DROP INDEX `deamon`;
Fix : ALTER TABLE `cron` MODIFY COLUMN `option`  text NULL
Fix : CREATE INDEX `function` ON `cron` (`function` ASC)
Fix :
CREATE INDEX `deamon` ON `cron` (`deamon` ASC)
Fix : ALTER TABLE `cron` DROP INDEX `type`;
Fix : ALTER TABLE `cron` DROP INDEX `logicalId_Type`;
Fix : ALTER TABLE `eqLogic` DROP `eqReal_id`
Fix : ALTER TABLE `eqLogic` DROP INDEX `eqReal_id`;
Fix : ALTER TABLE `eqLogic` DROP INDEX `logica_id_eqTypeName`;
Fix : ALTER TABLE `eqLogic` DROP INDEX `logicalId`;
Fix : ALTER TABLE `historyArch` DROP INDEX `cmd_id_index`;
Fix : ALTER TABLE `interactDef` ADD `display` text NULL
Fix : ALTER TABLE `message` ADD `occurrences` int(11) NULL
Fix : ALTER TABLE `object` DROP INDEX `name_UNIQUE`;
Fix : ALTER TABLE `object` DROP INDEX `fk_object_object1_idx1`;
Fix : ALTER TABLE `object` DROP INDEX `position`;
Fix : ALTER TABLE `object` MODIFY COLUMN `name`  varchar(127) NOT NULL
Fix :
CREATE UNIQUE INDEX `name_UNIQUE` ON `object` (`name` ASC)
Fix :
CREATE INDEX `fk_object_object1_idx1` ON `object` (`father_id` ASC)
Fix :
CREATE INDEX `position` ON `object` (`position` ASC)
Fix : ALTER TABLE `plan3dHeader` ADD `order` int(11) NULL
Fix : CREATE INDEX `order` ON `plan3dHeader` (`order` ASC)
Fix : ALTER TABLE `planHeader` ADD `order` int(11) NULL
Fix : CREATE INDEX `order` ON `planHeader` (`order` ASC)
Fix : ALTER TABLE `scenario` DROP `type`
Fix : ALTER TABLE `scenario` DROP INDEX `group`;
Fix : ALTER TABLE `viewData` DROP INDEX `fk_data_zone1_idx`;
Fix : CREATE TABLE IF NOT EXISTS `widgets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(191) NOT NULL,
`type` varchar(27) NULL,
`subtype` varchar(27) NULL,
`template` varchar(255) NULL,
`display` text NULL,
`replace` text NULL,
`test` text NULL,
primary key(`id`))
ENGINE InnoDB;
CREATE UNIQUE INDEX `unique` ON `widgets` (`type` ASC,`subtype` ASC,`name` ASC)
Fix : CREATE TABLE IF NOT EXISTS `timeline` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`folder` varchar(255) NULL,
`type` varchar(27) NULL,
`subtype` varchar(27) NULL,
`link_id` varchar(27) NULL,
`name` varchar(255) NULL,
`datetime` datetime NOT NULL,
`options` text NULL,
primary key(`id`,`datetime`))
ENGINE InnoDB;
CREATE INDEX `datetime` ON `timeline` (`datetime` ASC)[END CHECK AND FIX DB]
Check jeedom database...OK
Check filesystem right...
OK
PHP Fatal error:  Uncaught Error: Call to undefined method timeline::refreshWidget() in /var/www/html/core/class/cmd.class.php:862
Stack trace:
#0 /var/www/html/install/consistency.php(421): cmd->save(true)
#1 /var/www/html/install/update.php(348): require_once('/var/www/html/i...')
#2 {main}
thrown in /var/www/html/core/class/cmd.class.php on line 862

Les plugins obsolètes ont bien été supprimés au préalable.

Faut-il restaurer la sauvergarde 3.3.55 et recommencer ?

Qui peut me venir en aide ?
Merci d’avance

Bonjour.

Vous avez quoi comme problème ?
Sinon, dans votre situation il est d’usage de refaire la mise à jour par dessus elle même.

Il faut cliquer sur le bouton en haut à droite mise à jour.
Ne rien changer dans les choix par défaut et mettre à jour.

Ce qui m’inquiète c’est le message dans le log

PHP Fatal error: Uncaught Error: Call to undefined method timeline::refreshWidget() in /var/www/html/core/class/cmd.class.php:862

Et le fait qu’il n’y ait pas de message de fin.

Merci de votre attention

Qu’avez vous, en ce moment même, à l’écran en allant sur l’adresse IP de Jeedom.

J’ai relancé l’installation. ca s’est bloqué à 55 %; j’ai la mise à jour des plugins un par un.

Ca a l’air de fonctioner , à part le plugin Z-wave impossible à relancer.

Il faut attendre et surtout détailler plus.

Les dépendances des plugins s’installent les unes après les autres. Cela ne se fait pas en //

Regardez la page santé pour savoir ce qui est en cours.

Quand plus rien ne bouge vous pouvez relancer les dépendances qui ne se seraient pas installées seules.

Si vous voulez plus d’aide, il faut détailler et fournir les journaux de log.

Merci de votre écoute.

J’ai mis à jour les paquets qui manquaient en allant sur : Réglages > Système > Configuration > _OS/DB

puis :

  • Vérification générale
  • Rétablissement des droits des dossiers et fichiers
  • Vérification des packages système
  • Vérification de la base de données

Tout est o k , sauf la dernière ligne pour les packages système :

|restart_apache|post-install|NOK|oui|camera||||Corriger|

En ssh, j’ai fait :
Exécutez « apt list --upgradable » pour les voir.

root@debian-buster:~# apt list --upgradable
En train de lister... Fait
libnode-dev/stable 10.24.0~dfsg-1~deb10u1 amd64 [pouvant être mis à jour depuis : 10.23.1~dfsg-1~deb10u1]
libnode64/stable 10.24.0~dfsg-1~deb10u1 amd64 [pouvant être mis à jour depuis : 10.23.1~dfsg-1~deb10u1]
nodejs-doc/stable 10.24.0~dfsg-1~deb10u1 all [pouvant être mis à jour depuis : 10.23.1~dfsg-1~deb10u1]
nodejs/stable 10.24.0~dfsg-1~deb10u1 amd64 [pouvant être mis à jour depuis : 10.23.1~dfsg-1~deb10u1]
root@debian-buster:~#

Je ne connais pas la procédure à suivre pour installer ce qui manque, mais apparemment c’est pour le plugin camera.

Pour ce qui est des dépendances du plugin Z-vawe, j’ai relancer plusieurs fois leur installation, rien faire !
Les dépendances, c’est OK, Mais le démon est toujours à NOK

Voici le log de l’update :

Lancement de l'installation/mise à jour des dépendances openzwave
Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease
Get:3 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Fetched 65.4 kB in 1s (87.8 kB/s)
Reading package lists...
Installation des dependances
Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version (12.6).
g++ is already the newest version (4:8.3.0-1).
gcc is already the newest version (4:8.3.0-1).
git is already the newest version (1:2.20.1-2+deb10u3).
libjpeg-dev is already the newest version (1:1.5.2-2+deb10u1).
python-louie is already the newest version (1.1-4).
python-lxml is already the newest version (4.3.2-1+deb10u2).
make is already the newest version (4.2.1-1.2).
python-serial is already the newest version (3.4-4).
python-dev is already the newest version (2.7.16-1).
python-pip is already the newest version (18.1-5).
python-setuptools is already the newest version (40.8.0-1).
python-pyudev is already the newest version (0.21.0-1).
python-requests is already the newest version (2.21.0-1).
libudev-dev is already the newest version (241-7~deb10u6).
unzip is already the newest version (6.0-23+deb10u2).
The following packages were automatically installed and are no longer required:
  python-backports.functools-lru-cache python-soupsieve
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Installation des dependances Python
Requirement already satisfied: urwid in /usr/local/lib/python3.7/dist-packages (2.1.2)
Requirement already satisfied: louie in /usr/local/lib/python3.7/dist-packages (2.0)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (1.12.0)
Requirement already satisfied: tornado in /usr/local/lib/python3.7/dist-packages (6.1)
mkdir: cannot create directory '/opt': File exists
Désinstallation de la version précédente
Installation de Python-OpenZwave
WARNING: Skipping Cython as it is not installed.
apt-get install --force-yes -y cython
Reading package lists...
Building dependency tree...
Reading state information...
cython is already the newest version (0.29.2-2).
The following packages were automatically installed and are no longer required:
  python-backports.functools-lru-cache python-soupsieve
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
W: --force-yes is deprecated, use one of the options starting with --allow instead.
Installing dependencies for python : 2 7 16
apt-get install --force-yes -y python-pip python-dev python-docutils python-setuptools python-louie
Reading package lists...
Building dependency tree...
Reading state information...
python-louie is already the newest version (1.1-4).
python-dev is already the newest version (2.7.16-1).
python-docutils is already the newest version (0.14+dfsg-4).
python-pip is already the newest version (18.1-5).
python-setuptools is already the newest version (40.8.0-1).
The following packages were automatically installed and are no longer required:
  python-backports.functools-lru-cache python-soupsieve
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
W: --force-yes is deprecated, use one of the options starting with --allow instead.
apt-get install --force-yes -y build-essential libudev-dev g++
Reading package lists...
Building dependency tree...
Reading state information...
build-essential is already the newest version (12.6).
g++ is already the newest version (4:8.3.0-1).
libudev-dev is already the newest version (241-7~deb10u6).
The following packages were automatically installed and are no longer required:
  python-backports.functools-lru-cache python-soupsieve
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
W: --force-yes is deprecated, use one of the options starting with --allow instead.
apt-get install --force-yes -y cython
Reading package lists...
Building dependency tree...
Reading state information...
cython is already the newest version (0.29.2-2).
The following packages were automatically installed and are no longer required:
  python-backports.functools-lru-cache python-soupsieve
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
W: --force-yes is deprecated, use one of the options starting with --allow instead.
pip install nose-html
Requirement already satisfied: nose-html in /usr/local/lib/python3.7/dist-packages (1.1)
Requirement already satisfied: nose>=0.11.1 in /usr/local/lib/python3.7/dist-packages (from nose-html) (1.3.7)
pip install nose-progressive
Requirement already satisfied: nose-progressive in /usr/local/lib/python3.7/dist-packages (1.5.2)
Requirement already satisfied: blessings<2.0,>=1.3 in /usr/local/lib/python3.7/dist-packages (from nose-progressive) (1.7)
Requirement already satisfied: nose>=1.2.1 in /usr/local/lib/python3.7/dist-packages (from nose-progressive) (1.3.7)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from blessings<2.0,>=1.3->nose-progressive) (1.12.0)
pip install coverage
Requirement already satisfied: coverage in /usr/local/lib/python3.7/dist-packages (5.4)
pip install nose
Requirement already satisfied: nose in /usr/local/lib/python3.7/dist-packages (1.3.7)
pip install pylint
Requirement already satisfied: pylint in /usr/local/lib/python3.7/dist-packages (2.7.0)
Requirement already satisfied: toml>=0.7.1 in /usr/local/lib/python3.7/dist-packages (from pylint) (0.10.2)
Requirement already satisfied: mccabe<0.7,>=0.6 in /usr/local/lib/python3.7/dist-packages (from pylint) (0.6.1)
Requirement already satisfied: astroid==2.5.0 in /usr/local/lib/python3.7/dist-packages (from pylint) (2.5)
Requirement already satisfied: isort<6,>=4.2.5 in /usr/local/lib/python3.7/dist-packages (from pylint) (5.7.0)
Requirement already satisfied: typed-ast<1.5,>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from astroid==2.5.0->pylint) (1.4.2)
Requirement already satisfied: lazy-object-proxy>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from astroid==2.5.0->pylint) (1.5.2)
Requirement already satisfied: wrapt<1.13,>=1.11 in /usr/local/lib/python3.7/dist-packages (from astroid==2.5.0->pylint) (1.12.1)
#pip install docutils
#pip install setuptools
#The following line crashes with a core dump
#pip install "Cython==0.22"
Dependencies for users installed (python 2 7 16)
sed -i -e '253s/.*//' openzwave/cpp/src/value_classes/ValueID.h
cd openzwave && make
make[1]: Entering directory '/opt/python-openzwave/openzwave'
CPPFLAGS= make -C /opt/python-openzwave/openzwave/cpp/build/ -w 
make[2]: Entering directory '/opt/python-openzwave/openzwave/cpp/build'
Building OpenZWave Version 1.4.-1
Building tinystr.o
Building tinyxmlerror.o
Building tinyxml.o
Building tinyxmlparser.o
Building hid.o
Building aeskey.o
Building aescrypt.o
Building aestab.o
Building aes_modes.o
Building Proprietary.o
Building DoorLockLogging.o
/opt/python-openzwave/openzwave/cpp/src/command_classes/DoorLockLogging.cpp: In member function 'virtual bool OpenZWave::DoorLockLogging::HandleMsg(const uint8*, uint32, uint32)':
/opt/python-openzwave/openzwave/cpp/src/command_classes/DoorLockLogging.cpp:312:15: warning: passing argument 1 to restrict-qualified parameter aliases with argument 4 [-Wrestrict]
      snprintf(usercode, sizeof(usercode), "%s %d", usercode, (int)_data[12+i]);
               ^~~~~~~~                             ~~~~~~~~
Building MultiCmd.o
Building Configuration.o
Building Language.o
Building CRC16Encap.o
Building Color.o
Building ZWavePlusInfo.o
Building MeterPulse.o
Building SensorBinary.o
Building ControllerReplication.o
Building Alarm.o
Building SwitchBinary.o
Building ClimateControlSchedule.o
Building ThermostatOperatingState.o
Building Hail.o
Building SwitchToggleBinary.o
Building Version.o
Building TimeParameters.o
Building UserCode.o
Building SensorAlarm.o
Building Indicator.o
Building ApplicationStatus.o
Building BarrierOperator.o
Building ThermostatSetpoint.o
Building DoorLock.o
Building SoundSwitch.o
Building MultiChannelAssociation.o
Building Protection.o
Building NodeNaming.o
Building ManufacturerProprietary.o
Building SwitchAll.o
Building WakeUp.o
Building Lock.o
Building Association.o
Building ManufacturerSpecific.o
Building SceneActivation.o
Building Powerlevel.o
Building AssociationCommandConfiguration.o
Building Meter.o
Building MultiInstance.o
Building SensorMultilevel.o
Building DeviceResetLocally.o
Building SwitchMultilevel.o
Building Battery.o
Building ThermostatFanMode.o
Building CentralScene.o
Building Security.o
Building Clock.o
Building CommandClasses.o
Building ThermostatFanState.o
Building NoOperation.o
Building BasicWindowCovering.o
Building EnergyProduction.o
Building Basic.o
Building CommandClass.o
Building ThermostatMode.o
Building SwitchToggleMultilevel.o
Building Value.o
Building ValueList.o
Building ValueButton.o
Building ValueInt.o
Building ValueStore.o
Building ValueDecimal.o
Building ValueRaw.o
Building ValueString.o
Building ValueByte.o
Building ValueBool.o
Building ValueSchedule.o
Building ValueShort.o
Building Controller.o
Building Wait.o
Building Thread.o
Building Stream.o
Building Log.o
Building HidController.o
Building Mutex.o
Building SerialController.o
Building Event.o
Building FileOps.o
Building TimeStamp.o
Building FileOpsImpl.o
Building TimeStampImpl.o
Building WaitImpl.o
Building ThreadImpl.o
Building LogImpl.o
Building MutexImpl.o
Building SerialControllerImpl.o
Building EventImpl.o
Building Options.o
Building Scene.o
Building Utils.o
Building Driver.o
Building ZWSecurity.o
Building Group.o
Building Node.o
Building Manager.o
Building Msg.o
Building Notification.o
Creating vers.cpp
Building vers.o
Linking Static Library
Linking Shared Library
Making ozw_config file
make[2]: Leaving directory '/opt/python-openzwave/openzwave/cpp/build'
CPPFLAGS= make -C /opt/python-openzwave/openzwave/cpp/examples/MinOZW/ -w 
make[2]: Entering directory '/opt/python-openzwave/openzwave/cpp/examples/MinOZW'
Building Main.o
Linking /opt/python-openzwave/openzwave/.lib/MinOZW
g++   -o /opt/python-openzwave/openzwave/.lib/MinOZW /opt/python-openzwave/openzwave/.lib/Main.o /opt/python-openzwave/openzwave/libopenzwave.so -pthread
Creating Temporary Shell Launch Script
make[2]: Leaving directory '/opt/python-openzwave/openzwave/cpp/examples/MinOZW'
make[1]: Leaving directory '/opt/python-openzwave/openzwave'
python setup-lib.py build
running build
running build_ext
cythoning src-lib/libopenzwave/libopenzwave.pyx to src-lib/libopenzwave/libopenzwave.cpp
/usr/lib/python2.7/dist-packages/Cython/Compiler/Main.py:367: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /opt/python-openzwave/src-lib/libopenzwave/libopenzwave.pyx
  tree = Parsing.p_module(s, pxd, full_module_name)
building 'libopenzwave' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src-lib
creating build/temp.linux-x86_64-2.7/src-lib/libopenzwave
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.16=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DPY_SSIZE_T_CLEAN=1 -Iopenzwave/cpp/src/ -Iopenzwave/cpp/src/value_classes/ -Iopenzwave/cpp/src/platform/ -Iopenzwave/cpp/build/linux/ -I/usr/include/python2.7 -c src-lib/libopenzwave/libopenzwave.cpp -o build/temp.linux-x86_64-2.7/src-lib/libopenzwave/libopenzwave.o
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
src-lib/libopenzwave/libopenzwave.cpp:3: warning: "PY_SSIZE_T_CLEAN" redefined
 #define PY_SSIZE_T_CLEAN
<command-line>: note: this is the location of the previous definition
In file included from openzwave/cpp/src/aes/aescpp.h:26,
                 from openzwave/cpp/src/Driver.h:42,
                 from src-lib/libopenzwave/libopenzwave.cpp:638:
openzwave/cpp/src/aes/aes.h:75: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning( disable : 4324 )
openzwave/cpp/src/aes/aes.h:93: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning( default : 4324 )
src-lib/libopenzwave/libopenzwave.cpp: In function 'PyObject* __pyx_pf_12libopenzwave_9PyManager_268beginControllerCommand(__pyx_obj_12libopenzwave_PyManager*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*, PyObject*)':
src-lib/libopenzwave/libopenzwave.cpp:30325:204: warning: 'bool OpenZWave::Manager::BeginControllerCommand(uint32, OpenZWave::Driver::ControllerCommand, OpenZWave::Driver::pfnControllerCallback_t, void*, bool, uint8, uint8)' is deprecated [-Wdeprecated-declarations]
   __pyx_t_6 = __Pyx_PyBool_FromLong(__pyx_v_self->manager->BeginControllerCommand(__pyx_t_1, __pyx_t_2, __pyx_f_12libopenzwave_ctrl_callback, ((void *)__pyx_v_pythonfunc), __pyx_t_3, __pyx_t_4, __pyx_t_5)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4120, __pyx_L1_error)
                                                                                                                                                                                                            ^
In file included from src-lib/libopenzwave/libopenzwave.cpp:643:
openzwave/cpp/src/Manager.h:1731:19: note: declared here
   DEPRECATED bool BeginControllerCommand( uint32 const _homeId, Driver::ControllerCommand _command, Driver::pfnControllerCallback_t _callback = NULL, void* _context = NULL, bool _highPower = false, uint8 _nodeId = 0xff, uint8 _arg = 0 );
                   ^~~~~~~~~~~~~~~~~~~~~~
creating build/lib.linux-x86_64-2.7
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.16=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.16=. -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/src-lib/libopenzwave/libopenzwave.o openzwave/libopenzwave.a -ludev -lstdc++ -o build/lib.linux-x86_64-2.7/libopenzwave.so
python setup-lib.py install
running install
running bdist_egg
running egg_info
creating src-lib/libopenzwave.egg-info
writing requirements to src-lib/libopenzwave.egg-info/requires.txt
writing src-lib/libopenzwave.egg-info/PKG-INFO
writing top-level names to src-lib/libopenzwave.egg-info/top_level.txt
writing dependency_links to src-lib/libopenzwave.egg-info/dependency_links.txt
writing manifest file 'src-lib/libopenzwave.egg-info/SOURCES.txt'
reading manifest file 'src-lib/libopenzwave.egg-info/SOURCES.txt'
writing manifest file 'src-lib/libopenzwave.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
skipping 'src-lib/libopenzwave/libopenzwave.cpp' Cython extension (up-to-date)
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-2.7/libopenzwave.so -> build/bdist.linux-x86_64/egg
creating stub loader for libopenzwave.so
byte-compiling build/bdist.linux-x86_64/egg/libopenzwave.py to libopenzwave.pyc
installing package data to build/bdist.linux-x86_64/egg
running install_data
creating build/bdist.linux-x86_64/egg/config
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-lib/libopenzwave.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/libopenzwave-0.3.1-py2.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing libopenzwave-0.3.1-py2.7-linux-x86_64.egg
creating /usr/local/lib/python2.7/dist-packages/libopenzwave-0.3.1-py2.7-linux-x86_64.egg
Extracting libopenzwave-0.3.1-py2.7-linux-x86_64.egg to /usr/local/lib/python2.7/dist-packages
Adding libopenzwave 0.3.1 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/libopenzwave-0.3.1-py2.7-linux-x86_64.egg
Processing dependencies for libopenzwave==0.3.1
Searching for six==1.12.0
Best match: six 1.12.0
Adding six 1.12.0 to easy-install.pth file
Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for libopenzwave==0.3.1
Installation of lib finished.
python setup-api.py install
running install
running bdist_egg
running egg_info
creating src-api/openzwave.egg-info
writing requirements to src-api/openzwave.egg-info/requires.txt
writing src-api/openzwave.egg-info/PKG-INFO
writing top-level names to src-api/openzwave.egg-info/top_level.txt
writing dependency_links to src-api/openzwave.egg-info/dependency_links.txt
writing manifest file 'src-api/openzwave.egg-info/SOURCES.txt'
reading manifest file 'src-api/openzwave.egg-info/SOURCES.txt'
writing manifest file 'src-api/openzwave.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/controller.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/network.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/command.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/scene.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/group.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/node.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/__init__.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/object.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/value.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/option.py -> build/lib.linux-x86_64-2.7/openzwave
copying src-api/openzwave/singleton.py -> build/lib.linux-x86_64-2.7/openzwave
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-2.7/libopenzwave.so -> build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/controller.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/network.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/command.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/scene.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/group.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/node.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/__init__.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/object.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/value.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/option.py -> build/bdist.linux-x86_64/egg/openzwave
copying build/lib.linux-x86_64-2.7/openzwave/singleton.py -> build/bdist.linux-x86_64/egg/openzwave
byte-compiling build/bdist.linux-x86_64/egg/openzwave/controller.py to controller.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/network.py to network.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/command.py to command.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/scene.py to scene.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/group.py to group.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/node.py to node.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/object.py to object.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/value.py to value.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/option.py to option.pyc
byte-compiling build/bdist.linux-x86_64/egg/openzwave/singleton.py to singleton.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying src-api/openzwave.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-api/openzwave.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-api/openzwave.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-api/openzwave.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-api/openzwave.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying src-api/openzwave.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
creating 'dist/openzwave-0.3.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing openzwave-0.3.1-py2.7.egg
creating /usr/local/lib/python2.7/dist-packages/openzwave-0.3.1-py2.7.egg
Extracting openzwave-0.3.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding openzwave 0.3.1 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/openzwave-0.3.1-py2.7.egg
Processing dependencies for openzwave==0.3.1
Searching for libopenzwave==0.3.1
Best match: libopenzwave 0.3.1
Processing libopenzwave-0.3.1-py2.7-linux-x86_64.egg
libopenzwave 0.3.1 is already the active version in easy-install.pth
Using /usr/local/lib/python2.7/dist-packages/libopenzwave-0.3.1-py2.7-linux-x86_64.egg
Searching for Louie==1.1
Best match: Louie 1.1
Adding Louie 1.1 to easy-install.pth file
Using /usr/lib/python2.7/dist-packages
Searching for six==1.12.0
Best match: six 1.12.0
Adding six 1.12.0 to easy-install.pth file
Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for openzwave==0.3.1
Installation of API finished.
Everything is successfully installed!

Voici le log en mode debug quand je lance le demon :

[2021-03-01 17:45:05][ERROR] : Attention je pense qu'il y a un soucis avec le démon que j'ai relancé plus de 3 fois consécutivement
[2021-03-01 17:45:06][INFO] : Lancement démon openzwave : /usr/bin/python /var/www/html/plugins/openzwave/core/class/../../resources/openzwaved/openzwaved.py  --device auto --loglevel debug --port 8083 --config_folder /var/www/html/plugins/openzwave/core/class/../../resources/openzwaved/config --data_folder /var/www/html/plugins/openzwave/core/class/../../data --callback http://127.0.0.1:80/plugins/openzwave/core/php/jeeZwave.php --apikey 4kXf9rjqBXlvaIVGtBNt5mQSA9jHNxCq --suppressRefresh 0 --cycle 0.3 --pid /tmp/jeedom/openzwave/deamon.pid
('The dependency of openzwave plugin are not installed. Please check the plugin openzwave configuration page for instructions', 'error')
('Error: No module named tornado.web', 'error')
[2021-03-01 17:45:36][ERROR] : Impossible de lancer le démon openzwave, relancer le démon en debug et vérifiez la log

Dans la page santé, tout est ok sauf Z-vawe qui est NOK

X

La page config du plugin Zvawe


lapage santé

Il y a apparement un problème d’installation des dépendances ; peut-être l’ancienne à désinstaller ; mais je ne comprends pas la procédure à suivre.

Dans la log, il ya plusieur fois : Use ‹ sudo apt autoremove › to remove them.

Merci encore de votre aide

Bonsoir,

En ssh, exécutez cette commande :

sudo python -m pip install tornado.web

Et tentez un redémarrage du Daemon.

Si cela ne suffit pas, exécutez cette commande en SSH :
sudo python2 -m pip install tornado

Et tentez un redémarrage du Daemon.

Ouhrra ! le démon est reparti

Ca a à l’air d’avoir fonctionné

A la première commande j’ai un message d’erreur, j’ai fait ensuite la 2ème :

root@debian-buster:~# sudo python -m pip install tornado.web
Collecting tornado.web
Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://pypi.org/simple/tornado-web/

root@debian-buster:~# sudo python2 -m pip install tornado
Collecting tornado
Cache entry deserialization failed, entry ignored
Downloading https://files.pythonhosted.org/packages/e6/78/6e7b5af12c12bdf38ca9bfe863fcaf53dc10430a312d0324e76c1e5ca426/tornado-5.1.1.tar.gz (516kB)
100% |████████████████████████████████| 522kB 1.0MB/s
Collecting backports_abc>=0.4 (from tornado)
Downloading https://files.pythonhosted.org/packages/7d/56/6f3ac1b816d0cd8994e83d0c4e55bc64567532f7dc543378bd87f81cebc7/backports_abc-0.5-py2.py3-none-any.whl
Collecting futures (from tornado)
Downloading https://files.pythonhosted.org/packages/d8/a6/f46ae3f1da0cd4361c344888f59ec2f5785e69c872e175a748ef6071cdb5/futures-3.3.0-py2-none-any.whl
Collecting singledispatch (from tornado)
Downloading https://files.pythonhosted.org/packages/7a/12/2b10635e91ec4007e2a287812b1a1c8649cf68686ff2d69ed97553cf8a7a/singledispatch-3.6.1-py2.py3-none-any.whl
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (from singledispatch->tornado) (1.12.0)
Building wheels for collected packages: tornado
Running setup.py bdist_wheel for tornado … done
Stored in directory: /root/.cache/pip/wheels/6d/e1/ce/f4ee2fa420cc6b940123c64992b81047816d0a9fad6b879325
Successfully built tornado
Installing collected packages: backports-abc, futures, singledispatch, tornado
Successfully installed backports-abc-0.5 futures-3.3.0 singledispatch-3.6.1 tornado-5.1.1
root@debian-buster:~#

Merci ! Bravo à vous…

Ca fait énormément plaisir d’avoir des gens compétents, et surtout serviables :+1: :+1: :+1:

Ha, mais c’est moi ça ?

De rien, cela nous fait aussi plaisir quand l’aide est utile, c’est une passion !
=> il faut cocher le message qui vous a aidé en réponse.

J’aurai bien voulu comprendre ce qui bloquait, mais c’est hors de ma portée !
C’est quoi ce tornado ? un aspirateur … :sweat_smile:

Encore bravo… c’est mérité !

C’est expliqué ici : tornado · PyPI

Pour la commande qui est indiqué dans les logs : use sudo apt autoremove

C’est à dire, le journal vous demande de saisir cela en ssh :
sudo apt autoremove

Cela va supprimer les packages non utilisés.

J’ose abuser de la situation pour vous demander la solution au problème indiqué plus haut :

Que faut-il faire pour régler ce point ?

Il est vrai qu’on respire mieux quand tous les voyants sont au vert …

Ces voyants ne sont pas verts chez moi, car je part du principe que si cela était obligatoire, ils seraient installés par défaut.

Ils sont obligatoire oui, pour les plugins qui les utilisent.

La dernière ligne pour vous, doit se résoudre avec cette commande SSH :
service apache2 restart

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.