tis-pycharm icon

PyCharm

Paquet d’installation silencieuse pour PyCharm

2025.3.2-5
Development
Development

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-pycharm
  • name: PyCharm
  • version: 2025.3.2-5
  • categories: Development
  • maintainer: WAPT Team,Jimmy PELÉ,Pierre COSSON,Tranquil IT
  • editor: JetBrains
  • licence: Freemium
  • locale: all
  • target_os: windows
  • impacted_process: pycharm64,pycharm
  • architecture: arm64
  • signature_date:
  • size: 848.93 Mo
  • installed_size: 697.25 Mo
  • homepage : https://www.jetbrains.com/pycharm/
  • conflicts :

package           : tis-pycharm
version           : 2025.3.2-5
architecture      : arm64
section           : base
priority          : optional
name              : PyCharm
categories        : Development
maintainer        : WAPT Team,Jimmy PELÉ,Pierre COSSON,Tranquil IT
description       : PyCharm is an integrated development environment (IDE) used in computer programming, specifically for the Python language
depends           : 
conflicts         : tis-pycharm-community,tis-pycharm-professional
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.1
sources           : 
installed_size    : 697249792
impacted_process  : pycharm64,pycharm
description_fr    : PyCharm est un environnement de développement intégré utilisé pour programmer en Python
description_pl    : PyCharm jest zintegrowanym środowiskiem programistycznym (IDE) używanym w programowaniu komputerowym, w szczególności dla języka Python
description_de    : PyCharm ist eine integrierte Entwicklungsumgebung (IDE) für die Computerprogrammierung, insbesondere für die Sprache Python
description_es    : PyCharm es un entorno de desarrollo integrado (IDE) utilizado en la programación informática, específicamente para el lenguaje Python
description_pt    : PyCharm é um ambiente de desenvolvimento integrado (IDE) utilizado na programação de computadores, especificamente para a linguagem Python
description_it    : PyCharm è un ambiente di sviluppo integrato (IDE) utilizzato nella programmazione informatica, in particolare per il linguaggio Python
description_nl    : PyCharm is een geïntegreerde ontwikkelingsomgeving (IDE) die wordt gebruikt bij computerprogrammering, specifiek voor de taal Python
description_ru    : PyCharm - это интегрированная среда разработки (IDE), используемая в компьютерном программировании, в частности, для языка Python
audit_schedule    : 
editor            : JetBrains
keywords          : pycharm,ide,integrated,development,environment
licence           : Freemium
homepage          : https://www.jetbrains.com/pycharm/
package_uuid      : 489d1afb-19b0-4c3b-a9df-ee08da51f40e
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10
max_os_version    : 
icon_sha256sum    : d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-28T09:43:57.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         : KQPho8dcwWV5Lo1KRVFaVWRRuoBKvMgLvhfW6CcBWROVX1tUH0wso3NitbJtC1AS4sHjnHZ2wrtRpbHg5tYramJZ1x79uFd1EP86hz8AmMa/7xDb4cTQDupD1Erxz/1/LZCiUOmI9wDya8A0WCW8B5mPgoCtXPqKJx1wfJxS7vgPkofJWHRyFLvCTVUKQod5+8fn1pEzGJP1wpjb+zeP5I7PSUsngoMo/gfeCzrHFTqY7woyCfyXwn3y+RHCKWP3I+jY62ObSbGgqeKcZN4VeQRuZK8xpzKV8Jym/xpmerExA11y9xHFSY0mACibsVIoN3LuhQK1QnlP3Dx4sAAX+Q==

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

#
# Silent Conf: https://www.jetbrains.com/help/pycharm/installation-guide.html#silent-config
#

def install():
    # Specific app values
    bin_name = glob.glob("pycharm-*.exe")[0]

    # Uninstalling older versions of the software
    for to_uninstall in installed_softwares("PyCharm"):
        if Version(to_uninstall["name"].split(" ")[-1]) < Version(control.get_software_version()) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(ensure_list(control.impacted_process))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])

    # Installing the package
    install_exe_if_needed(
        bin_name,
        silentflags="/S /CONFIG=silent.conf",
        name="PyCharm %s" % control.get_software_version(),
        accept_returncodes=[0, 3010, 1223],
        min_version=control.get_software_version(),
        timeout=2000,
        get_version=get_installed_version
    )


def get_installed_version(key):
    return key["name"].split(" ")[-1]

# -*- 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

    releases = wgets("https://data.services.jetbrains.com/products/releases?code=PC&latest=true&type=release",proxies=proxies, as_json=True)['PCP'][0]
    version = releases['version']
    downloads = releases['downloads']

    download_dict = {
        'windows-x64': downloads['windows']['link'],
        'windows-arm64': downloads['windowsARM64']['link'],
        'debian_based-x64': downloads['linux']['link'],
        'debian_based-arm6464': downloads['linuxARM64']['link'],
        'darwin-x64': downloads['mac']['link'],
        'darwin-arm': downloads['macM1']['link']
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
    download_url = download_dict[os_type]
    latest_bin = download_url.rsplit("/", 1)[-1]
    latest_bin_extension = latest_bin.rsplit(".", 1)[-1]

    # 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 = "JetBrains s.r.o."
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuer:
        error(f'Bad issuer {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
9e3ff61fdabf4354d48dd1ec505bbdd19bb8bdf2859e920bcff0f2a9523c6ff4 : WAPT/control
d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678 : WAPT/icon.png
528ffc794e985b31016299f27530dd4a1ee71053365b46528f33adf8cbec9cb8 : luti.json
39b4b74ca78b4df6fd8ef1e00a651f5e88f1a0d55a95ccbef95f24644357467b : pycharm-2025.3.2-aarch64.exe
dec201f6d3356b150aeb5f2af00df4fb7b2117c032cbab0d2b3438c9a27e84ca : setup.py
9f47e2e77d5eab88cf78ca92f74c9861019a8c477c7dc25fd72aff52a3f5ce3c : silent.conf
90c2c2c73794390023e36f46401aa07032c6f4c8798d61604aa48c2ffe406df3 : update_package.py