Créer son module PERSONNEL
Ce post est actualisé à chaque mise à jour du module afin de servir de point de référence
Introduction
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 apprtient 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 unique PERSONNEL.cmd dans lequel figurent les instructions d'installation/désinstallation (les mêmes que celles figurant ci-dessous).
✅
Un dossier PERSONNEL qui contient les fichiers utilisés pour le module.
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 dans le registre, vous pourrez utiliser une commande telle que :
regedit /S "%CHEMIN_OUTILS%\%NOM%.reg"
équivalente à (si C: est le lecteur de votre partition principale) :
regedit /S "C:\COCCI10\modules\PERSONNEL\PERSONNEL.reg"
✅ 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 difficulté a été contournée.
✅ 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 :
IF EXIST "PRO" (
votre script
)
ou
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à.
✅ 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 accidentalle 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 :
ECHO|SET /p=Nombre entier de 0 à 100>>PROGRESSION
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 scondes> 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 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 :
ECHO|SET /p=Chaîne de caractères>PROGRESSION_ELEMENT
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
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 :
@ECHO OFF
CHCP 1252
cd /d %~dp0
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
EXIT
: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
EXIT
Contenu par défaut du fichier PERSONNEL.cmd lors de sa création automatique par le cocci-kit
:: COCCI 10 - MODULE PERSONNALISÉ
:: SET
:: %SystemDrive% = %HOMEDRIVE% = C:\
:: %windir% = %SystemRoot% = C:\WINDOWS
:: %ComSpec% = C:\WINDOWS\system32\cmd.exe
:: %ProgramFiles% = C:\Program Files
:: %UserProfile% = C:\Documents and Settings\<nom utilisateur>
:: %AllUsersProfile% = C:\Documents and Settings\All Users
:: %USERPROFILE% = C:\Users\<nom utilisateur>
:: %HOMEPATH% = \Users\<nom utilisateur>
:: %USERNAME% = <nom utilisateur>
:: %TEMP% = %TMP% = C:\Users\<nom utilisateur>\AppData\Local\Temp
:: %_TZone% = 19042
@ECHO OFF
CHCP 1252
cd /d %~dp0
:: 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 ---------------->
:: À SAVOIR :
:: - 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 utilisés par le module.
:: Ainsi, pour inscrire des informations dans le registre, vous pourrez utiliser une commande telle que :
::
:: regedit /S "%CHEMIN_OUTILS%\%NOM%.reg"
:: équivalente à (si C: est le lecteur de votre partition principale) :
:: regedit /S "C:\COCCI10\modules\PERSONNEL\PERSONNEL.reg"
::
:: 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 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 :
::
:: IF EXIST "PRO" (
:: votre script
:: )
::
:: ou
::
:: IF EXIST "HOME" (
:: votre script
:: )
:: - 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.
::
:: - Depuis le cocci-kit, le module « PERSONNEL » peut être installé ou désinstallé comme n'importe quel autre module,
:: mais ne peut ê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 ci-dessous).
:: Ce 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à.
::
:: - 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
::
:: 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 scondes> 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
::
:: - Toujour facultatif mais 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 phase où le nouveau texte doit apparaître sur le cocci-kit :
::
:: ECHO|SET /p=Chaîne de caractères>PROGRESSION_ELEMENT
::
:: 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
:: <----------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *INSTALLER* VOTRE MODULE ----------------->
:: <---------------------------------------------------------------------------------------------------------->
:: <---------------------------------------------------------------------------------------------------------->
:: <---------------------------------------------------------------------------------------------------------->
ECHO >%NOM%_INSTALLE
DEL PROGRESSION
EXIT
:: 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
:: <---------------- ICI SE TERMINE LA PARTIE À PERSONNALISER POUR *DESINSTALLER* VOTRE MODULE ---------------->
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------------------------------------------------------------------------------------------------->
:: <----------------------------------------------------------------------------------------------------------->
DEL /F /Q %NOM%_INSTALLE
DEL PROGRESSION
EXIT
:: FIN DESINSTALLATION