- package: tis-charlemagne-moteur
- name: Charlemagne Moteur
- version: 29.2-10
- categories: Education
- maintainer: WAPT Team,Tranquil IT, Flavien Schelfaut
- editor: Aplim
- locale: all
- target_os: windows
- architecture: all
- signature_date:
- size: 140.45 Mo
- homepage : https://www.aplim.fr
package : tis-charlemagne-moteur
version : 29.2-10
architecture : all
section : base
priority : optional
name : Charlemagne Moteur
categories : Education
maintainer : WAPT Team,Tranquil IT, Flavien Schelfaut
description : Charlemagne Moteur
depends :
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.1
sources : https://api.ecoledirecte.com/v3/c/0/download/majcharlemagne.awp?verbe=get&chemin=MiseAJour\V2\&fichier=wMoteur.exe
installed_size :
impacted_process :
description_fr :
description_pl :
description_de :
description_es :
description_pt :
description_it :
description_nl :
description_ru :
audit_schedule :
editor : Aplim
keywords :
licence :
homepage : https://www.aplim.fr
package_uuid : 001ba343-d688-40e6-beac-24df7e82446e
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version : 10.0
max_os_version :
icon_sha256sum : 1a1cade259c2fa39e2bd34b839f32b0df2e4443ed74ae22996111b18339965e0
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-09-04T00:43:35.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 : IEOnXuShgCuqTvTcohgFOHLDvRUOVFD3Qn0VCYx0aVNZmn8bYbTN5G/eIV6thsiJ6OHpv4Pbspxfw4ye9C7esL+vw8b1GMDxdZPRULOeOl5YkwFrASS288JkFNI5IkwD4ZjIzNKRy0DypyKhIsq4kwujARMi6hgo0qbQ/Q/bIm0YAGihaBItWzjqkoFWFHdpnMsaVt6IeP2+oRXGT7ZChlU1XkHrtHNwh/bylM4p170aFLr3w+ReOlolQqMpumU691ncvXcU1/mAAtdDTn3J0349I5ZQIBbS/1bzJYn39sW+DEOoIwXChdZDoj2++e0q+PVo71rcPnAKhf6Je0WPFQ==
# -*- coding: utf-8 -*-
from setuphelpers import *
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name = "charlemagne_moteur.exe"
silent_args = "/S"
desktop_shortcut_names = []
path_folder = makepath(programfiles32(),'alcuin')
all_path_bin_exe = [ # Edit here the name of the executable
makepath(path_folder, 'Donnees.exe'),
makepath(path_folder, 'WDModFic.exe'),
# makepath(path_folder, 'WDOptimiseur.exe')
makepath(path_folder, 'WDOptimizer.exe')
]
def install():
# Installing the package
print(f"Installing: {bin_name}")
file_version = makepath(path_folder, f"wMoteur{str(Version(control.get_software_version())).replace('.', '_')}.txt")
if force or not isfile(file_version):
run(f"{makepath(basedir, bin_name)} {silent_args}")
if not isfile(file_version):
error('Error %s not found' % file_version)
# Allow user to delete shortcut / or remove the shortcut
for desktop_shortcut_name in desktop_shortcut_names:
file_path = rf"{makepath(common_desktop(), desktop_shortcut_name)}.lnk"
# run_powershell(rf"icacls '{file_path}' /grant '*S-1-5-32-545:(RX,DE)'") # BUILTIN\Utilisateurs
remove_file(file_path)
def audit():
for path_bin_exe in all_path_bin_exe:
if not isfile(path_bin_exe):
print(f"The executable can't be found here : {path_bin_exe}")
return "ERROR"
file_version = makepath(path_folder, f"wMoteur{str(Version(control.get_software_version())).replace('.', '_')}.txt")
if not isfile(file_version):
print(f'{file_version} not found, Was the version updated ?')
return "WARNING"
print("The installation has been done correctly")
return "OK"
# -*- coding: UTF-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences
targeted_text = "wMoteur"
latest_bin = "charlemagne_moteur.exe"
api_version_url = "https://apic.ecoledirecte.com/v3/c/maj/versions.awp?verbe=get&mc=Outils"
api_download_url = f"https://api.ecoledirecte.com/v3/c/0/download/majcharlemagne.awp?verbe=get&chemin=MiseAJour/V2/&fichier={targeted_text}.exe"
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies_from_wapt_console()
if not proxies:
proxies = get_proxies()
app_name = control.name
version = wgets(api_version_url, user_agent=user_agent, proxies=proxies, as_json=True)['data'][targeted_text]
print(f"Latest {app_name} version is: {version}")
print(f"Download url is: {api_download_url}")
for f in glob.glob('*.exe'):
if Version(get_version_from_binary(f)) < Version(version):
remove_file(f)
if not isfile(latest_bin):
print(f"Downloading: {latest_bin}")
package_updated = True
wget(api_download_url, latest_bin, proxies=proxies)
else:
print(f"Binary is present: {latest_bin}")
expected_issuer = 'Aplim'
sign_name = waptlicences.check_exe_signing_certificate(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})")
package_updated = True
else:
print(f"Software version up-to-date ({version})")
control.set_software_version(get_version_from_binary(latest_bin))
control.save_control_to_wapt()
return package_updated
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
3954ed1133768bf3d27038c50dc80960106cce7c5340f249224c1086413da637 : WAPT/control
1a1cade259c2fa39e2bd34b839f32b0df2e4443ed74ae22996111b18339965e0 : WAPT/icon.png
838096d0489b888288b0698b52fff056423fac7bb7ab7e2c0efc7c2148f50c2d : charlemagne_moteur.exe
3b291345488214515337dfde9975b01ab6368c4c2f92444f496a4b1d4cb14244 : luti.json
b26130b032537ea852252221484203c4b3ff759ab86a7a1004be8ccfd54e13a2 : setup.py
e541822171f1bba69780b61276d8acc43a812e12170e651fa1f8505268365ca1 : update_package.py