Auteur Sujet: MODULE COCCI-KIT Instructions pour créer son propre module avec le module PERSONNEL  (Lu 48 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Coccinelle AUTEUR

  • Administrateur
  • *
  • *
  • Inscription : 17/12/2020
  • Offre-moi un chocolat bien chaud
MODULE COCCI-KIT Instructions pour créer son propre module avec le module PERSONNEL
« le: 21/02/21 | 18:46 »
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 :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
regedit /S "%CHEMIN_OUTILS%\%NOM%.reg"équivalente à (si C: est le lecteur de votre partition principale) :
Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
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 :
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à.
✅ 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 :
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
@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


Code: Les visiteurs ne peuvent voir les liens. Enregistrez-vous ou connectez-vous
:: 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
« Modifié: 25/02/21 | 21:50 par Coccinelle »
  
  
Une communauté sympa sans réseau social, avec juste une coccinelle 🐞 aux commandes... Si, c'est possible ! :D

Hors ligne Coccinelle AUTEUR

  • Administrateur
  • *
  • *
  • Inscription : 17/12/2020
  • Offre-moi un chocolat bien chaud
Ajout de la possibilité d'afficher le pourcentage de progression d'une installation/désinstallation.
Cette fonctionnalité sera disponible dès la prochaine version du cocci-kit (après la version du 20/02/21 à 19h00).
Les modules vont être modifiés progressivement afin d'intégrer cette fonctionnalité.
  
  

Hors ligne Coccinelle AUTEUR

  • Administrateur
  • *
  • *
  • Inscription : 17/12/2020
  • Offre-moi un chocolat bien chaud
Ajout de la possibilité d'afficher le nom de l'élément en cours d'installation/désinstallation.
Cette fonctionnalité sera disponible dès la prochaine version du cocci-kit (après la version du 25/02/21 à 16h00).
Les modules vont être modifiés progressivement afin d'intégrer cette fonctionnalité.
  
  

 

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