tis-drawio icon

draw.io

Paquet d’installation silencieuse pour draw.io

29.2.9-5
Utilities
Utilities

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-drawio
  • name: draw.io
  • version: 29.2.9-5
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Simon Fonteneau,Pierre COSSON,Ingrid TALBOT,Jimmy PELÉ
  • editor: JGraph
  • licence: opensource_free,cpe:/a:apache:license_2.0,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: draw.io
  • architecture: x86
  • signature_date:
  • size: 113.24 Mo
  • installed_size: 435.18 Mo
  • homepage : http://www.draw.io

package           : tis-drawio
version           : 29.2.9-5
architecture      : x86
section           : base
priority          : optional
name              : draw.io
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Simon Fonteneau,Pierre COSSON,Ingrid TALBOT,Jimmy PELÉ
description       : draw.io is free online diagram software for making flowcharts, process diagrams, org charts, UML, ER and network diagrams
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://github.com/jgraph/drawio-desktop/releases
installed_size    : 435183041
impacted_process  : draw.io
description_fr    : draw.io est un logiciel de diagramme en ligne gratuit permettant de créer des organigrammes, des diagrammes de processus, des diagrammes UML, ER et des diagrammes de réseau
description_pl    : draw.io to darmowe oprogramowanie do tworzenia schematów blokowych, diagramów procesów, schematów organizacyjnych, UML, ER i diagramów sieciowych
description_de    : draw.io ist eine kostenlose Online-Diagrammsoftware zur Erstellung von Flussdiagrammen, Prozessdiagrammen, Organigrammen, UML, ER und Netzwerkdiagrammen
description_es    : draw.io es un software de diagramas en línea gratuito para crear diagramas de flujo, diagramas de procesos, organigramas, diagramas UML, ER y de red
description_pt    : draw.io é um software de diagramas online gratuito para criar fluxogramas, diagramas de processos, organogramas, UML, ER e diagramas de rede
description_it    : draw.io è un software gratuito per la creazione di diagrammi di flusso, diagrammi di processo, organigrammi, diagrammi UML, ER e di rete
description_nl    : draw.io is gratis online diagrammensoftware voor het maken van stroomdiagrammen, procesdiagrammen, organogrammen, UML-, ER- en netwerkdiagrammen
description_ru    : draw.io - это бесплатное программное обеспечение для создания блок-схем, диаграмм процессов, оргсхем, UML, ER и сетевых диаграмм
audit_schedule    : 
editor            : JGraph
keywords          : 
licence           : opensource_free,cpe:/a:apache:license_2.0,wapt_public
homepage          : http://www.draw.io
package_uuid      : cb7adc81-bd16-44aa-a7bb-7615a2276849
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://github.com/jgraph/drawio-desktop/releases
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 5f1b0f70feb594db5e5f58614b7920488465dc55d56fb35ea81e37b10502363c
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-02T23:02:34.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature         : NZLtR5kDyv8Z8ZfiVlQ3pOmLEvbv60H/lZ4NAN/NILLleyrZYV7DD+1Dna2o7paF+Lmy6E+XvNwMJunJaLAJ8/AXldEwBPlt4qGQ9kbxtblWXWcoxoNo6PANJbfLoWIy4QLnYBz7LJIZFnD9/gv39DjU7PGeFRXr5QW8YMoeq6TB8LgoeJJiqqqNiBTqLU8YsCrbzHyS6fabuRy8wN9m295C66EAInTV2Mk+qRJvLkx86UPsEfXzRilrMEdSKvxVzKBhWoH7Ww6b4ZjPyb1b+Mk88l/5WDW4FIZMeOTON74f3IWKXWE7yYaAbaSqaVAUFCAGR0LeXIRjxcyT8QA8+Q==

# -*- coding: utf-8 -*-
from setuphelpers import *


def install():
    bin_name = glob.glob("draw.io*.exe")[0]
    install_exe_if_needed(
        bin_name,
        silentflags="/S",
        key="27a75bf3-be48-5c35-934f-8491cf108abe",
        min_version=control.get_software_version(),
    )

    # Removing desktop shortcut if allowed
    if params.get("remove_desktop_shortcut"):
        remove_desktop_shortcut("draw.io")

    # Disable auto update
    set_environ_variable("DRAWIO_DISABLE_UPDATE", "true")

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    
    api_url = "https://api.github.com/repos/jgraph/drawio-desktop/releases/latest"
    
    print(f"API used is: {api_url}")
    json_load = wgets(api_url, proxies=proxies, as_json=True)
    version = json_load["tag_name"].replace("v", "").replace(".windows", "")

    download_dict = {
        "windows-x64": f"draw.io-{version}-windows-installer.exe",
        "windows-x86": f"draw.io-ia32-{version}-windows-32bit-installer.exe",
        "windows-arm": f"draw.io-arm64-{version}-windows-arm64-installer.exe",
        "debian_based-x64": f"drawio-amd64-{version}.deb",
        "debian_based-arm64": f"drawio-arm64-{version}.deb",
        "redhat_based-x64": f"drawio-x86_64-{version}.rpm",
        "darwin-x64": f"draw.io-x64-{version}.dmg",
        "darwin-arm": f"draw.io-arm64-{version}.dmg",
    }
    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    for asset in json_load["assets"]:
        if asset["name"] == download_dict[os_type]:
            download_url = asset["browser_download_url"]
            latest_bin = asset["name"]
            latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
            break

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    expected_issuer = 'JGraph Ltd'
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error('Bad issuer %s != %s ' % (sign_name,expected_issuer))

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 : WAPT/changelog.txt
aecd559d7f99f86ad84331a1c8f0c01475dca85d2a38a13f0336f24207236b4a : WAPT/control
5f1b0f70feb594db5e5f58614b7920488465dc55d56fb35ea81e37b10502363c : WAPT/icon.png
27a4137f7a9095432a9fb1c72988d1a3193694245b60516d194a04baed17c8d6 : draw.io-ia32-29.2.9-windows-32bit-installer.exe
0fe13c32a2d42aad03a894d00ecdbeba685f1819e4df1ffe96e6fc57441bdcd2 : luti.json
59772102a20f153ba5516dad27e4cb77b8f40cca88dcd79d6d5cd0f1503e6a78 : setup.py
1d362a41f739b6cc17b9f81651e595c69573472f560b84125312c458060a9d6b : update_package.py