tis-arduino-Paket auf Französisch

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gälen
Nachrichten: 254
Anmeldung: 22. November 2015 - 08:37 Uhr

4. Dezember 2023 – 14:15 Uhr

Hallo,
kann man Arduino direkt auf Französisch installieren oder es nach der Installation konfigurieren? Ich finde dazu nichts in der Registry...
Benutzeravatar
Blemoire
Nachrichten: 178
Anmeldung: 17. Juli 2020 - 11:29 Uhr

4. Dezember 2023 – 15:38 Uhr

Hallo,
hier ist ein guter Tipp (Quelle: https://support.arduino.cc/hc/en-us/art ... rduino-IDE):

Sie können die Datei preferences.txt direkt bearbeiten.

Schließen Sie die Arduino IDE.

Öffnen Sie den Ordner „Arduino15“.

Öffnen Sie die Datei preferences.txt.

Suchen Sie die Zeile „editor.languages.current“.

Ändern Sie den Wert in „editor.languages.current=en“.

Speichern Sie die Datei.

Öffnen Sie die Arduino IDE, um die Änderungen zu sehen.
Gälen
Nachrichten: 254
Anmeldung: 22. November 2015 - 08:37 Uhr

4. Dezember 2023 – 15:46 Uhr

Ich konnte im Arduino-Installationsordner keine preferences.txt-Datei finden. Aber ich habe gerade herausgefunden, dass sie sich unter C:\Users\ befindet.<user> Die Datei \.arduinoIDE\arduino-cli.yaml wurde geändert.

Ich wollte diesen Code ausprobieren:

Code: Alle auswählen

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)
Der Ordner ".arduinoIDE" wird aber erst beim ersten Start der Software erstellt, daher bewirkt session_setup nichts... Und außerdem ist mein Code fehlerhaft; am Ende erhalte ich eine leere arduino-cli.yaml-Datei :)
Anlagen
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) 13238 Aufrufe
Benoit
Nachrichten: 43
Anmeldung: 26. Juni 2023 - 11:52 Uhr
Ort: Tarbes

7. Dezember 2023 - 10:47 Uhr

Guten Morgen,

Warum nicht eine while-Schleife verwenden? Zum Beispiel so:

Code: Alle auswählen

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

Was die Änderung der Konfigurationsdatei betrifft, habe ich es vorgezogen, ein Drittanbieter-Skript in AutoIt zu verwenden:

Code: Alle auswählen

#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
Grüße,
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

12. Dezember 2023 - 12:11 Uhr

Hallo zusammen,

@gaelds Ich habe die automatische Änderung der arduino-cli.yaml-Datei getestet, aber es scheint keine Auswirkungen zu haben (ich kann jedoch bestätigen, dass diese Datei tatsächlich geändert wird, wenn es eine Änderung in der GUI gibt, aber es werden gleichzeitig auch viele andere Dinge kopiert...).

@Benoit, die Verwendung von AutoIt wird nicht empfohlen; der Python-Teil ermöglicht die Behandlung von Ausnahmen und anderen Szenarien.
@Benoit, die Verwendung einer while-Schleife wird nicht empfohlen, da sie fehleranfälliger ist (im Falle von Ausnahmen usw.)

Nachdem ich eine halbe Stunde mit dieser Software verbracht habe, bin ich ziemlich entsetzt über die mangelhafte (oder nicht vorhandene) Verpackung. Die systemweite Installation ist ein Witz; die Software kopiert beim ersten Start alles in das Benutzerverzeichnis, ungefähr so:
  • ein wenig in %HOMEPATH%/.arduinoIDE
  • ein wenig in %APPDATA%\roaming\arduino IDE
  • ein wenig in %APPDATA%\roaming\arduino-ide
  • viel in %APPDATA%\local\Arduino15 (>400MB)
  • eine Menge in %APPDATA%\local\arduino-ide-updater (>130 MB, nur für den Updater, den wir ursprünglich nicht wollten...)


Und natürlich funktioniert es nicht in AppLocker- oder SRP-Umgebungen (wie manche sagen, „Sicherheit ist etwas für Schwächlinge“, sie haben offensichtlich noch nie Ransomware bei Arduino gesehen...).

Es gibt keine globale Konfigurationsdatei, und das Vorladen des Treibers ist, gelinde gesagt, unzuverlässig; die Blockierung automatischer Updates sollte in einer zukünftigen Version enthalten sein...

Ein Kollege von mir hat es gestern auf dem Rechner seines Sohnes installiert (ein ausrangierter PC), die Installation und der Start dauerten mehr als zehn Minuten, er ist dann sofort wieder zur vorherigen Version 1.x zurückgekehrt.

Kurz gesagt, ich glaube nicht, dass Arduino in Schulen eingesetzt werden möchte.

Aufrichtig,

Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Benutzeravatar
Geoffroy
Nachrichten: 75
Anmeldung: 28. Juni 2022 – 15:34 Uhr

18. Dezember 2023 - 10:56 Uhr

Ich kann es bestätigen, unsere Schule nutzt es und wir mussten eine Gruppenrichtlinie einrichten. Ein echter Albtraum...
Server: WAPT Enterprise 2.6.0.17226 auf Debian 12;
Konsolen: Windows 11
; Infrastruktur: Windows
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

18. Dezember 2023 – 15:38 Uhr

Hallo Geoffroy,

falls es sich hier um eine Gruppenrichtlinie für die Erstkonfiguration des Arduino 2 handelt, könntest du bitte erklären, wie du sie eingerichtet hast? Vielleicht könnten wir `session_setup()` verwenden? Mir ist es bisher nicht zuverlässig gelungen, daher wäre ich dir sehr dankbar, wenn du die einzelnen Schritte detailliert beschreiben könntest :-) !

Viele Grüße,

Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

6. März 2025 – 17:11 Uhr

Ich teile mein SRP-kompatibles Arduino-IDE-Paket, bei dem die automatische Aktualisierung deaktiviert und Französisch als Standardsprache eingestellt ist:

Voraussetzungen:
* Konfigurieren Sie die Software beim ersten Mal auf Französisch und kopieren Sie anschließend den unten stehenden Ordner in das Stammverzeichnis des Pakets:
C:\Users\%username%\AppData\Roaming\arduino-ide\Local Storage\leveldb
* Erstellen Sie eine uneingeschränkte SRP für den Ordner "%AllUsersProfile%\Arduino15"

Code: Alle auswählen

# -*- 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")
Aufrichtig
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Benutzeravatar
vCardon
WAPT-Experte
Nachrichten: 278
Anmeldung: 06. Oktober 2017 - 22:55 Uhr
Ort: Nantes, Frankreich

6. März 2025 – 19:30 Uhr

Olivier, wann fängst du bei uns an? :D
Vincent CARDON
Tranquil IT
Olaplanche
Nachrichten: 178
Anmeldung: 26. Januar 2017 - 11:11 Uhr

7. März 2025 – 14:01 Uhr

Wenn ich meine jetzige Position satt habe, lasse ich es dich wissen :D
- Installierte WAPT-Version: 2.6.0.16795 Enterprise
- Server-Betriebssystem: Linux / Debian Bookworm
- Betriebssystem des Administrations-/Paketerstellungsrechners: Windows 10
Antwort