tis-pycharm icon

PyCharm

Paquet d’installation silencieuse pour PyCharm

2025.3.2-4
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-4
  • 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: x64
  • signature_date:
  • size: 889.42 Mo
  • installed_size: 697.25 Mo
  • homepage : https://www.jetbrains.com/pycharm/
  • conflicts :

package           : tis-pycharm
version           : 2025.3.2-4
architecture      : x64
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      : 20903d1c-1737-4de2-a505-e215bd9cc6f3
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-29T12:20:31.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         : rtC/iJXMalrHIfq7XXnWHuqRtCv5d1SwBea1ylWX+f3TBr2uao5AHKSV8oeGege17GbKRdweBLtviL4f+qrpRIqCKXcJACQQfKmqpxv7klJpJ3p5oj9VBd+BKQr0SR2JHXRZUxZrCqOy11VgiOxU16QWSMSRlFk5etqciyIf5XTQlxs+eO71Wj0AW1+UWtM+hdUGk1//OZAS3naiZdUibM6Z9wxjPWvo61rNTxIYTzLAuXMMREII7tLAZWm2bqJ1BZc5gDhU+4v7N3Fx9bF2qFE1/Z0BZTDRhZ8Px4JxWDf2IVQawrfQEPOqFFpD1MbqNigTtN+ETQzPNJIbGn+B8w==

# -*- 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'],
        'debian_based-x64': downloads['linux']['link'],
        'debian_based-arm64': 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
8791c2125bc79e094fd118023fccf1382001f3aa16d529d5a0406785bfb273ed : WAPT/control
d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678 : WAPT/icon.png
65f624d07f641c8105a90e25cf9a0d365aee384d450104b4a8c3403033ecfa39 : luti.json
7cf57a2e7a49b686bac859bfdaae82f390fd1283db03369ba3f2586ed2d58430 : pycharm-2025.3.2.exe
dec201f6d3356b150aeb5f2af00df4fb7b2117c032cbab0d2b3438c9a27e84ca : setup.py
9f47e2e77d5eab88cf78ca92f74c9861019a8c477c7dc25fd72aff52a3f5ce3c : silent.conf
9f664011576fa60f3e56fdd7afdcedc4bea32daf7c29ff99c2865347ca50c471 : update_package.py