tis-pycharm icon

PyCharm

Paquet d’installation silencieuse pour PyCharm

2025.3.2-6
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-6
  • categories: Development
  • maintainer: WAPT Team,Jimmy PELÉ,Jordan ARNAUD
  • editor: JetBrains
  • licence: Freemium
  • locale: all
  • target_os: debian_based
  • impacted_process: pycharm64,pycharm
  • architecture: arm64
  • signature_date:
  • size: 1.20 Go
  • installed_size: 697.25 Mo
  • homepage : https://www.jetbrains.com/pycharm/
  • conflicts :

package           : tis-pycharm
version           : 2025.3.2-6
architecture      : arm64
section           : base
priority          : optional
name              : PyCharm
categories        : Development
maintainer        : WAPT Team,Jimmy PELÉ,Jordan ARNAUD
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         : debian_based
min_wapt_version  : 2.3
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      : f45c2aaa-9ffd-4d09-8834-8e81ff487f7a
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-28T09:29:59.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         : Nf/SQC0lOqbVg8THiyd+8Li6Xjx8DyTFat1EXSXQkrkYKsk6DxylYNO/OR35shv4Ref3xphhyoqplnnNG/gZqEfQdBZEqKWw3uAGwgtJGpIHrmd6vd0nL+Z8i4ATHHU78uoCxHVisR4rPiFGH1iyl0CqxQtS7GZXV957+IEfAVYLbblslXtFAOeA6R87mqT1emGPf3LQwUDOBADVLRBEJstDCDTrHu6hLEHI5CgIh2agQ0wxHVJV5TOmlX8ZCfym4CkHeSfc8Vl8j9eZYBwxVt9QSrdhc00c2I6g9AeTWJ30jhTTYUyoB4gFoTgdFk+vSbiPBXN/5q2Tic+QIu51wA==

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

bin_path = "/usr/local/bin/pycharm"
app_path = "/opt/pycharm"


def extract_tar_gz(filename, path="."):
    with tarfile.open(filename, "r:gz") as tar:
        tar.extractall(path)

def install():
    archive_file = glob.glob("pycharm-*.tar.gz")[0]
    temp_extract_folder = makepath(basedir, "pycharm")

    # Delete older version
    if isdir(app_path):
        remove_tree(app_path)

    extract_tar_gz(archive_file, path=temp_extract_folder)

    folder_app = glob.glob(f"{temp_extract_folder}/*")[0]

    copytree2(folder_app, app_path)

    if isfile(bin_path) or os.path.islink(bin_path):
        print("Removing existing symlink")
        remove_file(bin_path)
        
    print(f"Creating pycharm alias in path")
    os.symlink(f"{app_path}/bin/pycharm.sh", bin_path)

    # Delete extracted folder
    if isdir(temp_extract_folder):
        remove_tree(temp_extract_folder)

    
def uninstall():
    # Removing of symlink
    if isfile(bin_path) or os.path.islink(bin_path):
        remove_file(bin_path)

    # Removing of the software 
    if isdir(app_path):
        remove_tree(app_path)

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


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]

    # 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}")

    # 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'*.tar.gz'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
35f6d0904ce90ffebe6beae269750440d3d448faaf397a159257d1f38d43e73c : WAPT/control
d8e61e0d3d8c4e15ebb79b689f55a3239d4e1d6fde9f867acb9c0b3d2ccee678 : WAPT/icon.png
b8cf557dc007267e6f5fbfddcb62dbe878262751a74efe4c493d87f41a6a5c2a : luti.json
92985c4fa6bb255ef616a713abb8aebc0728952816745bce6e7fe8d2364febd8 : pycharm-2025.3.2-aarch64.tar.gz
20fa2d37a43109a9ee8c8464128c97f6c0b15a65c36ca0f31422a0e9fb553412 : setup.py
48586f7b8a4bcedf036b95c4a93c787acb16860f85f245a8e815f238dc0dc8ba : update_package.py