pacchetto tis-arduino in francese

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

4 dicembre 2023 - 14:15

Salve,
è possibile installare Arduino direttamente in francese o configurarlo dopo l'installazione? Non trovo nulla nel registro...
Avatar utente
blemoigne
Messaggi: 176
Registrazione: 17 luglio 2020 - 11:29

4 dicembre 2023 - 15:38

Ciao,
ecco un'ottima idea (fonte: https://support.arduino.cc/hc/en-us/art ... rduino-IDE):

puoi modificare direttamente il file preferences.txt.

Chiudi l'IDE di Arduino.

Apri la cartella Arduino15.

Apri preferences.txt.

Trova la riga editor.languages.current.

Modifica il valore in modo che diventi editor.languages.current=en.

Salva il file.

Apri l'IDE di Arduino per vedere le modifiche.
Gaeldi
Messaggi: 254
Registrazione: 22 nov 2015 - 08:37

4 dicembre 2023 - 15:46

Non sono riuscito a trovare il file preferences.txt nella cartella di installazione di Arduino. Ho appena scoperto che si trova in C:\Users\<user> \.arduinoIDE\arduino-cli.yaml che è modificato.

Volevo provare questo codice:

Codice: Seleziona tutto

def session_setup():   
    ## Changement de langue du logiciel vers français
    settings_arduino = makepath(user_home_directory(),'.arduinoIDE','arduino-cli.yaml') 
    with open(settings_arduino, "rt") as file:
        x = file.read()
    with open(settings_arduino, "wt") as file:
        x = x.replace("locale: en", "locale: fr")
        fin.write(x)
Ma la cartella ".arduinoIDE" viene creata solo dopo il primo avvio del software, quindi session_setup non farà nulla... E per di più, il mio codice è errato: mi ritrovo con un file arduino-cli.yaml vuoto :)
Allegati
2023-12-04 15_43_10-C__Users_informatique.DS_.arduinoIDE_arduino-cli.yaml - Notepad++ [Administrator.jpg
2023-12-04 15_43_10-C__Users_informatique.DS_.arduinoIDE_arduino-cli.yaml - Notepad++ [Administrator.jpg (51,38 KB) Visualizzato 12796 volte
Benoit
Messaggi: 43
Registrazione: 26 giugno 2023 - 11:52
Posizione: Tarbes

7 dicembre 2023 - 10:47

Buongiorno,

Perché non usare un ciclo while? Ad esempio, qualcosa del genere:

Codice: Seleziona tutto

import os

def session_setup(): 
    try : # pour la gestion des erreurs
        ## Changement de langue du logiciel vers français
        file_exist = False # initialise la variable file_exist
        settings_arduino = makepath(user_home_directory(),'.arduinoIDE','arduino-cli.yaml') 
        while not file_exist: # boucle qui recommence tant que  file_exist n'est pas vrai
            if os.pah.exists(settings_arduino): # vérifie si le fichier de configuration existe
                with open(settings_arduino, "rt") as file:
                    x = file.read()
                with open(settings_arduino, "wt") as file:
                    x = x.replace("locale: en", "locale: fr")
                    fin.write(x)
                file_exist = True 
                print("Le fichier arduino-cli.yaml a été mis à jour )
            else :
                file_exist = False # renvoi false à la variable file_exist sir le fichier n'éxiste pas
    except Exception as e:
        print(f"L'erreur suivante s'est produite : {e}") 
 

Per quanto riguarda la modifica del file di configurazione, ho preferito utilizzare uno script di terze parti in AutoIt:

Codice: Seleziona tutto

#include <FileConstants.au3>
#include <File.au3>
#include <StringConstants.au3>

Local $file_path = @UserProfileDir & "\.arduinoIDE\arduino-cli.yaml"
Local $yaml_file = @UserProfileDir & "\.arduinoIDE\arduino-cli.yaml"
Local $proxy_line = "proxy: ********************"
Local $file_exists = False

While (Not $file_exists)
    If FileExists($file_path) Then
        $file_exists = True
        
        ; Boucle pour tester si le proxy est présent
        While StringInStr(FileRead($yaml_file), $proxy_line) = 0
            ; Ajout du proxy
            FileWriteLine($yaml_file, "network:")
            FileWriteLine($yaml_file, "    proxy: **************************")
            Sleep(1000) ; Attendre 1 seconde
        WEnd
    Else
        Sleep(1000) ; Attendre 1 seconde
    EndIf
WEnd
Saluti,
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

12 dicembre 2023 - 12:11

Ciao a tutti,

@gaelds Ho provato a modificare automaticamente il file arduino-cli.yaml, ma non sembra avere alcun impatto (posso però confermare che questo file viene effettivamente modificato quando si verifica una modifica nella GUI, ma ci sono anche molte altre cose che vengono copiate contemporaneamente...

@Benoit, non è consigliabile usare autoit; la parte Python consente di gestire eccezioni e altri scenari.
@Benoit, l'utilizzo di un ciclo while non è consigliato perché è più soggetto a errori (in caso di eccezioni, ecc.)

Dopo aver trascorso mezz'ora con questo software, sono piuttosto sconvolto dalla scarsa (o inesistente) gestione del pacchetto. L'installazione a livello di sistema è una barzelletta; il software copia tutto nella directory utente al primo avvio, più o meno così:
  • un po' in %HOMEPATH%/.arduinoIDE
  • un po' in %APPDATA%\roaming\arduino IDE
  • un po' in %APPDATA%\roaming\arduino-ide
  • molto in %APPDATA%\local\Arduino15 (>400 MB)
  • molto in %APPDATA%\local\arduino-ide-updater (>130 MB, solo per l'aggiornamento che inizialmente non volevamo...)


E ovviamente non funziona negli ambienti AppLocker o SRP (come dicono alcuni, "la sicurezza è per i deboli", è evidente che non hanno mai visto un ransomware su Arduino...).

Non esiste un file di configurazione globale e il precaricamento del driver è quantomeno inaffidabile; il blocco degli aggiornamenti automatici dovrebbe essere incluso in una versione futura...

Ho un collega in ufficio che ieri l'ha installato sul computer di suo figlio (un PC riciclato); l'installazione e l'avvio hanno richiesto più di dieci minuti, poi è tornato subito all'ultima versione 1.x.

In breve, penso che Arduino non voglia essere utilizzato nelle scuole.

Sinceramente,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Avatar utente
Geoffroy
Messaggi: 75
Registrazione: 28 giugno 2022 - 15:34

18 dicembre 2023 - 10:56

Posso confermare che la nostra scuola lo usa e abbiamo dovuto implementare un GPO. Un vero incubo...
Server: WAPT Enterprise 2.6.0.17226 su Debian 12;
Console: Windows 11
; Infrastruttura: Windows
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

18 dicembre 2023 - 15:38

Ciao Geoffroy,

se si tratta di una GPO per la configurazione iniziale di Arduino 2, potresti spiegarmi come l'hai configurata? Forse potremmo usare `session_setup()`? Non sono riuscito a farlo in modo coerente, quindi se hai i dettagli dei passaggi necessari, te ne sarei grato :-) !

Cordiali saluti,

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

6 marzo 2025 - 17:11

Condivido il mio pacchetto arduino-ide compatibile con SRP, con l'aggiornamento automatico disabilitato e il francese come lingua predefinita:

Prerequisiti:
* Configurare il software in francese per la prima volta, quindi copiare la cartella sottostante nella radice del pacchetto:
C:\Utenti\%nomeutente%\AppData\Roaming\arduino-ide\Archiviazione locale\leveldb
* Crea un SRP senza restrizioni nella cartella "%AllUsersProfile%\Arduino15"

Codice: Seleziona tutto

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

"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_name_string = 'arduino-ide_%s_Windows_64bit.msi'

def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = bin_name_string % package_version
    all_user_data = makepath(programdata,'Arduino15')

    # Installing the software
    install_msi_if_needed(bin_name,
        properties='/qn ALLUSERS=1',
        timeout=1200
    )
    print('Restricting permissions on %s' % all_user_data)
    if not isdir(all_user_data):
        mkdirs(all_user_data)
    run(r'icacls "%s" /t /grant *S-1-5-21-3299883279-2723331061-yyyyyyyyyy-xxxx:(OI)(CI)M' % all_user_data) # groupe AD ELEVES (Get-ADGroup -Identity ELEVES | select Name, SID)
    run(r'icacls "%s" /t /grant *S-1-5-21-3299883279-2723331061-yyyyyyyyyy-xxxx:(OI)(CI)M' % all_user_data) # groupe AD PROFESSEUR (Get-ADGroup -Identity PROFESSEUR | select Name, SID)

    print('Add Windows Firewall rules')
    add_netfirewallrule(r"Arduino IDE", r"C:\program files\Arduino-IDE\Arduino IDE.exe", profile="Domain")
    add_netfirewallrule(r"mdns-discovery", r"C:\ProgramData\arduino15\packages\builtin\tools\mdns-discovery\1.0.9\mdns-discovery.exe", profile="Domain")

    # Installing Arduino IDE user settings
    print('Copying Arduino IDE user settings to %s' % all_user_data)
    copytree2("leveldb","%s\leveldb" % all_user_data)

def session_setup():
    import tempfile
    # Declaring local variables
    all_user_data = makepath(programdata,'Arduino15')
    
    # Set Arduino CLI language fr and librairies/data/downloads paths
    pathfile = makepath(tempfile.gettempdir(),'arduino-cli.yaml')
    currentuser = get_current_user()
    configpath = makepath(r'c:\users',currentuser,'.arduinoIDE')
    datafile = r"""board_manager:
  additional_urls: []
daemon:
  port: "50051"
directories:
  builtin:
    libraries: C:\ProgramData\Arduino15\libraries
  data: C:\ProgramData\Arduino15
  downloads: C:\ProgramData\Arduino15\staging
  user: C:\Users\%s\Documents\Arduino
library:
  enable_unsafe_install: false
locale: fr
logging:
  file: ""
  format: text
  level: info
metrics:
  addr: :9090
  enabled: true
output:
  no_color: false
sketch:
  always_export_binaries: false
updater:
  enable_notification: false
""" % currentuser
    fichier = open(pathfile, "w")
    fichier.write(datafile)
    fichier.close()
    mkdirs(configpath)
    filecopyto(pathfile,configpath)
    remove_file(pathfile)

# Disable Update Notification
    pathfile = makepath(tempfile.gettempdir(),'settings.json')
    currentuser = get_current_user()
    configpath = makepath(r'c:\users',currentuser,'.arduinoIDE')
    datafile = r"""{
  "window.titleBarStyle": "native",
  "arduino.checkForUpdates": false
}
"""
    fichier = open(pathfile, "w")
    fichier.write(datafile)
    fichier.close()
    mkdirs(configpath)
    filecopyto(pathfile,configpath)
    remove_file(pathfile)


    # Set Arduino IDE language fr
    leveldbpath = makepath(r'c:\users',currentuser,'AppData','Roaming','arduino-ide','Local Storage','leveldb')
    if not isdir(leveldbpath):
        mkdirs(leveldbpath)
    copytree2("%s\leveldb" % all_user_data,leveldbpath)

def uninstall():
    print('Uninstalling all_user_data')
    remove_tree(makepath(programdata,'Arduino15'))
    print('Uninstalling Windows Firewall rules')
    remove_netfirewallrule("Arduino IDE")
    remove_netfirewallrule("mdns-discovery")
Sinceramente
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
Avatar utente
vcardon
Esperto WAPT
Messaggi: 272
Registrazione: 06/10/2017 - 22:55
Posizione: Nantes, Francia

6 marzo 2025 - 19:30

Olivier, quando verrai a lavorare con noi? :D
Vincent CARDON
Tranquillo IT
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

7 marzo 2025 - 14:01

Quando mi stancherò della mia attuale posizione, te lo farò sapere :D
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
Risposta