Opération Racines — logiciels utilisés pour ouvrir les photos HEIC/HEIF La conversion se fait dans le navigateur. Si celui-ci ne sait pas ouvrir la photo, le site utilise libheif et libde265, distribués dans libheif-js 1.23.5. Le code JavaScript de liaison libheif.js est inclus dans le Worker de /operation.js ; le fichier WebAssembly associé est /assets/libheif-1.23.5.wasm. LICENCES ET AUTEURS - libheif, © Dirk Farin, struktur AG et contributeurs : LGPL version 3 ou ultérieure. Bibliothèque, exemples et wrappers ont chacun leurs notices : /assets/licenses/libheif-COPYING.txt - libde265, © Dirk Farin, struktur AG et contributeurs : bibliothèque sous LGPL ; les exemples ont leurs licences distinctes : /assets/licenses/libde265-COPYING.txt - libheif-js, compilation et distribution JavaScript : LGPL version 3 : /assets/licenses/libheif-js-LICENSE.txt - Textes complets LGPL 3 et GPL 3 accompagnant la distribution : /assets/licenses/LGPL-3.0-et-GPL-3.0.txt - Emscripten (outil de compilation), licences MIT et University of Illinois/NCSA : /assets/licenses/emscripten-LICENSE.txt Ces logiciels sont fournis sans garantie ; consulter les textes ci-dessus et les notices contenues dans chaque archive pour leurs conditions complètes. SOURCES ET SCRIPTS Les archives suivantes sont proposées sur ce site : - /assets/licenses/sources/libheif-v1.23.5.tar.gz Code libheif : tag officiel v1.23.5, commit 413e2a87e6a70b3eccc3a3adc5801179dd2d9e00, incluant build-emscripten.sh. SHA-256 : 3be49950c75d3fd9318ba775e8253248dd9e08c61ea955fca81b6b89c02d6b2b https://github.com/strukturag/libheif/tree/v1.23.5 - /assets/licenses/sources/libde265-v1.0.15.tar.gz Code libde265 : tag officiel v1.0.15, commit 17bb8d9fcea62db8cdeb0fc7ef8d15dbd19a22e4. SHA-256 : d4e55706dfc5b2c5c9702940b675ce2d3e7511025c6894eaddcdbaf0b15fd3f3 https://github.com/strukturag/libde265/tree/v1.0.15 - /assets/licenses/sources/libheif-emscripten-v1.23.5.tar.gz Scripts de compilation : tag officiel v1.23.5, commit 5c8968a44e9c68ae677e24790d77d001ed7fe7cc ; son sous-module libheif référence le commit 413e2a87e6a70b3eccc3a3adc5801179dd2d9e00 ci-dessus. SHA-256 : 8e3395ca983e369448bea84d223c35f1117373953e00219588415f1bc37c86ea https://github.com/catdad-experiments/libheif-emscripten/tree/v1.23.5 - /assets/licenses/sources/libheif-js-d8ec4bc.tar.gz Code et scripts libheif-js, révision npm exacte d8ec4bc3bc5bf8055975577bccbbc7e1d7313c2d. SHA-256 : db9c0c25b15c5c351ac5b045b01009cc446f5712091300656902f9e40a2934db https://github.com/catdad-experiments/libheif-js/tree/d8ec4bc3bc5bf8055975577bccbbc7e1d7313c2d - /assets/licenses/sources/libheif-js-1.23.5-npm.tgz Paquet npm original, contenant les fichiers libheif.js et libheif.wasm utilisés. SHA-256 : d0bfe7198bd624c524cef8ccf78e15ceb42683c87598c64c2e13ced0d8680932 SHA-512 npm, en base64 : umXZPthnWZtF3iG/5mQG+AZ2V6i0UeYpo3z2CkggTEgL8dKmIIwJT6TDuAMuabXa1yTW8uJ1ZAgR+CxNTklYYw== https://registry.npmjs.org/libheif-js/-/libheif-js-1.23.5.tgz - /assets/licenses/sources/outils-remplacement-libheif.tar.gz Procédure et programme pour substituer une compilation compatible de libheif, produire une copie adaptée de operation.js et recalculer l'empreinte du WASM. SHA-256 : 4965996b4f422a26c5cff6200bef017246617f9049b39f4431c8488192f2ce36 Le fichier WASM distribué a l'empreinte SHA-256 : 184d3d20f8323877f13e9f5254f9c6a0ce272c9a3a2f823b0b2bcd2ee9f73f80 Le JavaScript de liaison d'origine a l'empreinte SHA-256 : 376c0bb483c23ac458cd22d718074693748ea75eddc3e4929353d4153e365a2e Le binaire rapporte lui-même les versions libheif 1.23.5 et libde265 1.0.15. La chaîne de compilation publiée indique Emscripten 3.1.61 : https://github.com/emscripten-core/emscripten/tree/3.1.61 Les archives de code libheif et libde265 proviennent des tags Git officiels. Le script amont télécharge l'archive de release libde265 1.0.15 ; l'identité bit à bit entre cette archive de release et le code Git n'a pas été établie. Les versions et scripts ont été relevés, mais une reconstruction bit à bit du WASM distribué n'a pas encore été démontrée.