C'est l'automne, les feuilles tombent ! Mon hébergeur me rappelle que rien n'est gratuit et que la vie est dure... Jusque fin septembre, je fais donc appel à la générosité des coccinautes pour de solliciter leur soutien aux frais de maintenance du site, selon leurs disponibilités et sans contrainte. Quelques euros suffisent, les petites gouttes créeront la grosse. Pour participer, clique sur le logo Paypal à la fin de ce paragraphe. Et merci ❤️ pour ton soutien.Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous

Auteur Sujet: MODULE Instructions pour créer son propre module avec le module PERSONNEL  (Lu 256 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Coccinelle AUTEUR

  • Administrateur
  • *
  • *
  • *
  • Inscription : 17/12/2020
  • Offre-moi un chocolat bien chaud
Dernière modification : 25/06/21 à 19:29 par Coccinelle
Créer son module PERSONNEL

Présentation actualisée à chaque mise à jour du module. Cliquez sur Notifier si vous souhaitez être averti lors de ces mises à jour.

Introduction


Il existe 2 modules PERSONNEL sur le cocci-kit : PERSONNEL et PERSONNEL 2. Ils sont strictement identiques et s'utilisent de la même façon. Le fait qu'ils soient 2 n'est que pour apporter un confort supplémentaire, pour éviter de surcharger les scripts. Par exemple le premier module peut s'occuper d'installer des programmes, pendant que l'autre sera consacré aux réglages des programmes et du système.

Le module
PERSONNEL
est un module un peu à part. Il ne se télécharge pas, mais existe en local à côté des autres modules. Et c'est à vous qu'il appartient de construire le script d'installation/désinstallation afin que le module soit commandable depuis le cocci-kit. Il est d'ailleurs structuré de la même façon que les autres modules :

✅ Un fichier batch  PERSONNEL.cmd dans lequel figureront vos instructions d'installation/désinstallation.
✅ Un fichier batch  PERSONNEL_instructions.cmd régulièrement actualisé dans lequel vous retrouverez toutes les instructions dont vous avez besoin.
✅ Un dossier  PERSONNEL qui contient les fichiers utilisés pour le module.

Pour le module PERSONNEL2, vous retrouverez donc le fichier   PERSONNEL2.cmd et le dossuer   PERSONNEL2 (depuis le cocci-kit vous pouvez virtuellement renommer ces deux modules).

Depuis le cocci-kit, un clic pour installer, un clic pour désinstaller. En revanche, afin de garantir que votre travail ne soit pas supprimé par inadvertance, il n'a pas été prévu de pouvoir supprimer le module PERSONNEL depuis le cocci-kit via le clic droit sur le bouton d'installation.

Instructions d'utilisation


✅ Vous n'avez que deux parties à compléter, chacune bien balisée pour ne pas vous perdre :

<---------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ---------------->

Votre script d'installation
<----------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ----------------->



<----------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ----------------->

Votre script de désinstallation
<---------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ---------------->


✅ Le script est automatiquement lancé avec des DROITS ADMINISTRATEUR.
✅ Le script est lancé en mode CACHÉ, la commande ECHO n'aura donc aucun effet visible. Pour afficher des informations, vous devrez lancer un script/programme supplémentaire (peu importe son langage).
✅ La variable
%NOM%
retourne la valeur « PERSONNEL », qui est en fait le nom du module et aussi le nom du dossier conteneur pour ce module.
✅ La variable
%CHEMIN_OUTILS%
retourne le chemin complet du dossier « PERSONNEL » dans lequel doivent être présents vos fichiers utilisé par le module. Ainsi, pour inscrire des informations du fichier "C:\COCCI10\modules\PERSONNEL\PERSONNEL.reg" dans le registre, vous pouvez utiliser une commande telle que (note : préférez toujours la commande REG IMPORT à REGEDIT pour une intégration pleine):
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
IF EXIST "%PROGRAMFILES(X86)%" (
REG IMPORT "%CHEMIN_OUTILS%\%NOM%_INSTALLER.reg" /reg:64
) ELSE (
REG IMPORT "%CHEMIN_OUTILS%\%NOM%_INSTALLER.reg" /reg:32
)
✅ Le chemin d'accès au dossier du module ne contient aucun espace. les guillemets ne sont donc pas nécessaires si aucun fichier ou dossier auquel vous souhaitez accéder au sein du module ne contient lui non plus d'espace.
✅ Le cocci-kit étant un programme compilé en 32 bits, cela impacte la valeur renvoyée par certaines variables système. Ainsi, la variable
%ProgramFiles%
retournera toujours la valeur « C:\Program Files », mais si vous l'intégrez comme donnée d'une clé de registre, sa valeur deviendra « C:\Program Files (x86) ». jetez un œil au script du module DEMARRAGE pour voir comment cette contrainte a été contournée (avec la v ariable %ProgramW6432%).
✅ Si vous souhaitez adapter votre script selon que Windows est en édition HOME ou PRO, vous pouvez utiliser les conditions suivantes, qui vérifient la présence des fichiers PRO ou HOME créés par le cocci-kit et que vous pouvez alors utiliser comme jetons :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
IF EXIST "PRO" (
votre script
)
ou
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
IF EXIST "HOME" (
votre script
)
✅ Le script doit impérativement rester encodé en ANSI (comme il l'est déjà). Vous pouvez ainsi utiliser les caractères accentués tant que vous laissez la commande « CHCP 1252 » (déjà présente) en début de fichier.
✅ Lors du lancement du cocci-kit, si le dossier « PERSONNEL » est absent, il sera créé avec à l'intérieur les fichiers module_installe.vbs et module_desinstalle.vbs (voir ci-dessous contenu du fichier bach par défaut). Le fichier « PERSONNEL.cmd » sera également recréé au cas où il serait supprimé, mais en aucun cas il ne sera écrasé s'il existe déjà. Quand au fichier « PERSONNEL_instructions.cmd », il restera en permanence dans le dossier des modules et sera actualisé si besoin.
✅ Détail qui tue : préférez les deux points « :: » au « REM » pour intégrer vos commentaires. REM est une commande, et à ce titre prend du temps de traitement... même si son but est de ne rien faire. En revanche, COMMAND.COM ne traitant pas les étiquettes, en convertissant une étiquette en commentaire avec un double-point pour éviter l'utilisation accidentelle de vrais labels permet de gagner en temps de traitement. Si vous avez envie de creuser le sujet : Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous .
✅ Facultatif, mais vivement conseillé, il est possible d'afficher un pourcentage évalué de progression de l'installation/désinstallation du module. Ajouter simplement la ligne suivante à chaque endroit où le pourcentage doit être modifié sur le cocci-kit :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
ECHO|SET /p=Nombre entier de 0 à 100>>PROGRESSIONExemple :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
ECHO|SET /p=30>PROGRESSION
instructions
ECHO|SET /p=60>PROGRESSION
instructions
ECHO|SET /p=90>PROGRESSION
instructions

Si le script s'installe "trop" rapidement, vous pouvez le ponctuer de TIMEOUT <nb de scondes> entre chaque instruction afin que le pourcentage ait le temps de s'afficher. Exemple :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
ECHO|SET /p=40>PROGRESSION
TIMEOUT 1
instructions
ECHO|SET /p=80>PROGRESSION
TIMEOUT 1
instructions
✅  Toujours facultatif mais conseillé, il est possible d'afficher sur le cocci-kit le nom de l'élément en cours de traitement lors de l'installation/désinstallation du module. Ajouter simplement la ligne suivante à chaque phase où le nouveau texte doit apparaître sur le cocci-kit :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
ECHO|SET /p=Chaîne de caractères>PROGRESSION_ELEMENTExemple incluant le pourcentage de progression :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
ECHO|SET /p=10>PROGRESSION
ECHO|SET /p=Enregistrement dans le Registre des paramètres>PROGRESSION_ELEMENT
instructions
ECHO|SET /p=20>PROGRESSION
ECHO|SET /p=Suppression des fichiers obsolètes>PROGRESSION_ELEMENT
instructions

Le mot de la fin


Ne soyez surtout pas effrayés par la longueur de fichier batch par défaut : l'essentiel est rempli par des commentaires explicatifs. Voici le même fichier épuré de ses commentaires, histoire de vous rassurer :

Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
CHCP 1252 >NUL
cd /d %~dp0
IF EXIST "DEBUGDETAILLE" ( @ECHO ON )


SET NOM=PERSONNEL
set ACTION=%1
SET CHEMIN_OUTILS=%~dp0%NOM%
IF "%ACTION%" == "INSTALLER" goto :installer
IF "%ACTION%" == "DESINSTALLER" goto :desinstaller
EXIT

:installer
:: <---------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ---------------->

:: <----------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ----------------->

ECHO >%NOM%_INSTALLE
DEL PROGRESSION
DEL PROGRESSION_ELEMENT
goto :bye


:desinstaller
:: <----------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ----------------->

:: <---------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ---------------->

DEL /F /Q %NOM%_INSTALLE
DEL PROGRESSION
DEL PROGRESSION_ELEMENT


:bye
IF EXIST "DEBUG" (
ECHO.
ECHO =====================================================================
ECHO              LE MODE DEBUG ÉTANT ACTIVÉ SUR LE COCCI-KIT
ECHO  VOUS POUVEZ DÉSORMAIS CONSULTER LE RAPPORT DE PROGRESSION DU SCRIPT
ECHO       AVANT DE FERMER CETTE FENÊTRE PAR L'APPUI SUR UNE TOUCHE
ECHO =====================================================================
ECHO.
PAUSE
)

Contenu par défaut du fichier PERSONNEL_instructions.cmd lors de sa création automatique par le cocci-kit


Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
:: ===============================================================================
:: COCCI 10
:: ===============================================================================
:: %SystemDrive% = %HOMEDRIVE% = C:\
:: %windir% = %SystemRoot% = C:\WINDOWS
:: %ComSpec% = C:\WINDOWS\system32\cmd.exe
:: %ProgramFiles% = C:\Program Files
:: %ProgramW6432% = C:\Program Files (sur x64)
:: %PROGRAMFILES(x86)% = C:\ProgramFiles (x86)"
:: %AllUsersProfile% = C:\Documents and Settings\All Users
:: %APPDATA% = C:\Users\frederic\AppData\Roaming
:: %USERPROFILE% = C:\Users\frederic
:: %HOMEPATH% = \Users\frederic
:: %USERNAME% = frederic
:: %TEMP% = %TMP% = C:\Users\frederic\AppData\Local\Temp
:: %_TZone% = 19042
::
:: Caractères spéciaux utilisables: … † ‡ ‰  – — › « » ¤ © ¬ ¯ º × •
:: ===============================================================================

@ECHO OFF
TITLE COCCI10_MODULE_PERSONNEL_INSTRUCTIONS
:: L'instruction ci-dessous vous permet d'utiliser librement les caractères accentués.
:: Cette page ne doit PAS être encodée en UTF-8 mais rester en ANSI.
CHCP 1252 >NUL
cd /d %~dp0
IF EXIST "DEBUGDETAILLE" ( @ECHO ON )

:: NOM DU MODULE
SET NOM=PERSONNEL
:: ACTION = INSTALLER ou DESINSTALLER (paramètre reçu)
set ACTION=%1
SET CHEMIN_OUTILS=%~dp0%NOM%
IF "%ACTION%" == "INSTALLER" goto :installer
IF "%ACTION%" == "DESINSTALLER" goto :desinstaller
EXIT

:installer
:: DEBUT INSTALLATION
:: <------------------------------------------------------------------------------------------------------>
:: <------------------------------------------------------------------------------------------------------>
:: <------------------------------------------------------------------------------------------------------>
:: <---------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ---------------->
:: <---------------- Document actualisé le 5 juin 2021 --------------------------------------------------->
::
:: **** NOTES IMPORTANTES ****
:: Depuis le cocci-kit, le module « PERSONNEL » peut être installé ou désinstallé comme n'importe quel autre module,
:: mais il ne peut pas être supprimé afin de ne pas réduire votre travail à néant par inadvertance.
:: Lors du lancement du cocci-kit, si le dossier « PERSONNEL » est absent, il sera créé avec à l'intérieur
:: les fichiers « module_installe.vbs » et « module_desinstalle.vbs » (voir plus bas).
:: Ce fichier « PERSONNEL_instructions.cmd » restera en permanence dans le dossier des modules et sera actualisé si besoin.
:: Quant au fichier « PERSONNEL.cmd », que vous devrez utiliser pour intégrer vos scripts, il sera recréé au cas où il serait supprimé,
:: il ne sera pas écrasé s'il existe déjà afin de ne pas détruire votre travail.
::
::
:: **** INSTRUCTIONS ****
::
:: • Le script est automatiquement lancé avec des DROITS ADMINISTRATEUR.

:: • Le script est lancé en mode CACHÉ, la commande ECHO n'aura donc aucun effet visible.
:: pour afficher des informations, vous devrez lancer un script supplémentaire (peu importe son langage).
::
:: • La variable %NOM% retourne la valeur « PERSONNEL », qui est en fait le nom du module et aussi le nom du dossier conteneur pour ce module.
::
:: • La variable %CHEMIN_OUTILS% retourne le chemin complet du dossier « PERSONNEL » dans lequel doivent être présents vos fichiers.
:: Ainsi, pour inscrire des informations du fichier "C:\COCCI10\modules\PERSONNEL\PERSONNEL.reg" dans le registre,
:: vous pouvez utiliser une commande telle que (note : préférez la commande REG IMPORT à REGEDIT):
::
:: IF EXIST "%PROGRAMFILES(X86)%" (
:: REG IMPORT "%CHEMIN_OUTILS%\%NOM%_INSTALLER.reg" /reg:64
:: ) ELSE ( REG IMPORT "%CHEMIN_OUTILS%\%NOM%_INSTALLER.reg" /reg:32
:: )
::
:: Notez que le chemin d'accès au dossier du module ne contient aucun espace. les guillemets ne sont donc pas nécessaires
:: si aucun fichier ou dossier auquel vous souhaitez accéder au sein du module ne contient lui non plus d'espace.
::
:: • Le cocci-kit étant un programme compilé en 32 bits, cela impacte la valeur renvoyée par certaines variables système.
:: Ainsi, la variable %ProgramFiles% retournera toujours la valeur C:\Program Files »,
:: mais si vous l'intégrez comme donnée d'une clé de registre, sa valeur deviendra « C:\Program Files (x86) ».
::
:: • Si vous souhaitez adapter votre script selon que Windows est en édition HOME/PRO, 32/64 bits, vous pouvez vérifier la présence des jetons PRO, HOME, 32 et 64 créés par le cocci-kit. Exemple :
::
:: IF EXIST "HOME" (
:: IF EXIST "64" (
:: ECHO Vous êtes sur Windows édition Famiiales 64 bits
:: )
:: )
::
:: • Ce script BATCH doit impérativement rester encodé en ANSI (comme il l'est déjà).
:: Vous pouvez ainsi utiliser les caractères accentués tant que vous laissez la commande « CHCP 1252 » (déjà présente) en début de fichier.
::
:: • Facultatif, mais vivement conseillé, il est possible d'afficher un pourcentage indicatif de progression de l'installation/désinstallation du module.
:: Ajouter simplement la ligne suivante à chaque endroit où le pourcentage doit être modifié sur le cocci-kit :
::
:: ECHO|SET /p=Nombre entier de 0 à 100>PROGRESSION
::
:: Important : PROGRESSION doit impérativement rester en majuscule.
::
:: exemple :
::
:: ECHO|SET /p=30>PROGRESSION
:: instructions
:: ECHO|SET /p=60>PROGRESSION
:: instructions
:: ECHO|SET /p=90>PROGRESSION
:: instructions
::
:: Si le script s'installe "trop" rapidement, vous pouvez le ponctuer de TIMEOUT <nb de secondes> entre chaque instruction
:: afin que le pourcentage ait le temps de s'afficher.
::
:: exemple :
::
:: ECHO|SET /p=40>PROGRESSION
:: TIMEOUT 1
:: instructions
:: ECHO|SET /p=80>PROGRESSION
:: TIMEOUT 1
:: instructions
::
:: • Toujours facultatif mais autant conseillé, il est possible d'afficher le nom de l'élément en cours de traitement
:: lors de l'installation/désinstallation du module. Ajouter simplement la ligne suivante
:: à chaque étape où le nouveau texte doit apparaître sur le cocci-kit :
::
:: ECHO|SET /p=Chaîne de caractères>PROGRESSION_ELEMENT
::
:: Important : PROGRESSION_ELEMENT doit impérativement rester en majuscule.
::
:: exemple incluant le pourcentage de progression :
::
:: ECHO|SET /p=10>PROGRESSION
:: ECHO|SET /p=Enregistrement dans le Registre des paramètres>PROGRESSION_ELEMENT
:: instructions
:: ECHO|SET /p=20>PROGRESSION
:: ECHO|SET /p=Suppression des fichiers obsolètes>PROGRESSION_ELEMENT
:: instructions
::
::
:: En guise de conclusion, voici est un simple script d'exemple pour que ce module ne soit pas vide.
:: Il affiche un message à l'écran quand le module est installé :

cscript %CHEMIN_OUTILS%\module_installe.vbs
:: REG IMPORT "%CHEMIN_OUTILS%\%NOM%_INSTALLER.reg"

:: <----------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ----------------->
:: <---------------------------------------------------------------------------------------------------------->
:: <---------------------------------------------------------------------------------------------------------->
:: <---------------------------------------------------------------------------------------------------------->

ECHO >%NOM%_INSTALLE
DEL PROGRESSION
DEL PROGRESSION_ELEMENT
goto :bye
:: FIN INSTALLATION




:desinstaller
:: DEBUT DESINSTALLATION
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------- ICI COMMENCE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ----------------->

:: N'oubliez rien de ce qui permettra de désinstaller votre module :
:: Suppression de fichiers
:: Désinstallation de programmes
:: Suppression d'informations dans le registre
:: Restauration de paramètres
:: ...

cscript %CHEMIN_OUTILS%\module_desinstalle.vbs

:: REG IMPORT "%CHEMIN_OUTILS%\%NOM%_DESINSTALLER.reg"

:: <---------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ---------------->
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------------------------------------------------------------------------------------------------->


DEL /F /Q %NOM%_INSTALLE
DEL PROGRESSION
DEL PROGRESSION_ELEMENT
EXIT
:: FIN DESINSTALLATION


:bye
IF EXIST "DEBUG" (
ECHO.
ECHO =====================================================================
ECHO              LE MODE DEBUG ÉTANT ACTIVÉ SUR LE COCCI-KIT
ECHO  VOUS POUVEZ DÉSORMAIS CONSULTER LE RAPPORT DE PROGRESSION DU SCRIPT
ECHO       AVANT DE FERMER CETTE FENÊTRE PAR L'APPUI SUR UNE TOUCHE
ECHO =====================================================================
ECHO.
PAUSE
)
  
2 👍🏻
  
Une communauté sympa sans réseau social, avec juste une :bulletminicoc: aux commandes ? Si, c'est possible ! :D

Hors ligne Coccinelle AUTEUR

  • Administrateur
  • *
  • *
  • *
  • Inscription : 17/12/2020
  • Offre-moi un chocolat bien chaud
Version du 25/06/21 à 18h00

✅ Adaptation du module au changement de méthode d'obtention des droits administrateurs sur le cocci-kit couple avec le mode DEBUG.
  
1 👍🏻
  

 

Merci pour ton soutien
Le point de ralliement en cas de souci de connexion