Bien...
Sous Linux, comme sous tous les systèmes d'exploitation (ou presque) tu peux exécuter plusieurs sortes de programmes - ne parlons pas ici de logiciels, car un logiciel est très souvent constitué d'un ensemble de programmes.
Tous les programmes sont rédigés dans une langue particulière appelée langage de programmation. Il existe une infinité de langages de programmation.
Les programmes se divisent grosso modo en deux catégories :
Donc après compilation, le fichier du programme darktable doit recevoir la méta donnée 'exécutable sous Linux et Mac (pas de panique, c'est fait automatiquement lors de la compilation). Sous windows, le fichier darktable doit être nommé darktable.exe (pareil, c'est fait automatiquement)
Par contre les fichiers scripts tels que purge_unused_tags.sh doivent recevoir sous Linux et Mac, l'attribut exécutable manuellement pour pouvoir être considérés comme des programmes exécutables comme les autres. Sous windows, ce fichier en particulier ne pourra pas être exécuté du tout, car windows ne connaît pas (sauf peut être avec W10), le langage Shell avec lequel il a été écrit. Donc il devra être réécrit dans un langage compatible avec Windows et renommé en purge_unused_tags.dat. Cela fait partie des difficultés de portage.
Pour en revenir au bout de code que nous a fourni @kohlerg, il est écrit avec le langage de script Shell que nous venons d'évoquer dans le paragraphe précédent. Il n'est donc pas nécessaire de le compiler avant de pouvoir l'exécuter. Pour l'utiliser il te suffira de copier les lignes dans un vulgaire fichier texte, puis d'ajouter l'attribut exécutable à ce fichier, pour pouvoir ensuite l’utiliser comme un programme ordinaire.
Tu peux faire ces manips avec l'interface graphique de ton système, mais hélas, la manip est différente d'une interface graphique à une autre. Je ne peux donc pas te donner la démarche exacte. Par contre l'interface ligne de commande est la même sur tous les systèmes Unix, Linux et Mac, ce qui représente un énorme paquet de systèmes. Voici donc la marche à suivre en ligne de commande.
Lancer un terminal, tu sais ce truc tout moche avec un écran noir et juste un petit prompt qui clignote ! ;-)
Dans ce terminal lancer un éditeur de texte : gedit, nano, vi, emacs (euh..., non, pas celui là !) Copier, puis coller dans l'éditeur le texte de @kohlerg. Sauvegarder avec un nom quelconque ; monscript par exemple.
Rendre le fichier monscript exécutable avec la commande chmod +x monscript.
Placer ce fichier dans un endroit ou le système pourra le trouver ; dans <mon dossier personnel>/bin par exemple.
C'est fini !
Maintenant, pour pouvoir personnaliser le fonctionnement de ta tablette, il suffit d'exécuter, une seule fois par session de travail, ton nouveau script en l'invoquant simplement par son nom dans un terminal. Facile, non ?
Ensuite pour aller plus loin, il sera possible de grouper dans un seul script les lignes de configuration de la tablette et le lancement de darktable, puis d'ajouter ce script dans les menus de ton interface, pour faire les deux manips : configuration de la tablette et lancement de darktable en un seul clic ! L'est pas belle la vie ?
Des questions ?
Sous Linux, comme sous tous les systèmes d'exploitation (ou presque) tu peux exécuter plusieurs sortes de programmes - ne parlons pas ici de logiciels, car un logiciel est très souvent constitué d'un ensemble de programmes.
Tous les programmes sont rédigés dans une langue particulière appelée langage de programmation. Il existe une infinité de langages de programmation.
Les programmes se divisent grosso modo en deux catégories :
- Les programmes qui sont fabriqués à partir des textes sources via un processus complexe, la compilation, pour produire du code dit 'binaire', c'est à dire une succession d'instructions directement compréhensible par le processeur de la machine. Le binaire n'est pas lisible par les humains ; ce n'est qu'une succession de chiffres. On appelle souvent ces programmes des binaires.
- Les programmes qui sont directement utilisés sous leur forme de texte source. Ces programmes sont "directement" (Ici le puristes vont s'étrangler, mais je m'en f..), compris par le système. Ces programmes n'ont pas besoin d'être compilés pour pouvoir être exécutés. Leur code est en permanence lisible par les humains - du moins, par ceux qui comprennent le langage utilisé. On appelle souvent ces programmes des scripts.
- le programme principal du logiciel darktable qui s'appelle darktable sous Linux et Mac et darktable.exe sous Windows est un programme binaire. Il est écrit en langage 'c' (pour l'essentiel), puis compilé pour pouvoir être exécuté par le système. Tu ne peux absolument pas lire ce qui est contenu dans ce programme. pour le lire, il faut remonter au texte source d'origine.
- en plus de ce programme, le logiciel darktable est livré avec plusieurs programmes annexes de maintenance, par exemple purge_unused_tags.sh. Celui-ci est un script écrit avec le langage Shell. Cela veut dire que tu peux lire son contenu avec n'importe quel éditeur de texte.
Donc après compilation, le fichier du programme darktable doit recevoir la méta donnée 'exécutable sous Linux et Mac (pas de panique, c'est fait automatiquement lors de la compilation). Sous windows, le fichier darktable doit être nommé darktable.exe (pareil, c'est fait automatiquement)
Par contre les fichiers scripts tels que purge_unused_tags.sh doivent recevoir sous Linux et Mac, l'attribut exécutable manuellement pour pouvoir être considérés comme des programmes exécutables comme les autres. Sous windows, ce fichier en particulier ne pourra pas être exécuté du tout, car windows ne connaît pas (sauf peut être avec W10), le langage Shell avec lequel il a été écrit. Donc il devra être réécrit dans un langage compatible avec Windows et renommé en purge_unused_tags.dat. Cela fait partie des difficultés de portage.
Pour en revenir au bout de code que nous a fourni @kohlerg, il est écrit avec le langage de script Shell que nous venons d'évoquer dans le paragraphe précédent. Il n'est donc pas nécessaire de le compiler avant de pouvoir l'exécuter. Pour l'utiliser il te suffira de copier les lignes dans un vulgaire fichier texte, puis d'ajouter l'attribut exécutable à ce fichier, pour pouvoir ensuite l’utiliser comme un programme ordinaire.
Tu peux faire ces manips avec l'interface graphique de ton système, mais hélas, la manip est différente d'une interface graphique à une autre. Je ne peux donc pas te donner la démarche exacte. Par contre l'interface ligne de commande est la même sur tous les systèmes Unix, Linux et Mac, ce qui représente un énorme paquet de systèmes. Voici donc la marche à suivre en ligne de commande.
Lancer un terminal, tu sais ce truc tout moche avec un écran noir et juste un petit prompt qui clignote ! ;-)
Dans ce terminal lancer un éditeur de texte : gedit, nano, vi, emacs (euh..., non, pas celui là !) Copier, puis coller dans l'éditeur le texte de @kohlerg. Sauvegarder avec un nom quelconque ; monscript par exemple.
Rendre le fichier monscript exécutable avec la commande chmod +x monscript.
Placer ce fichier dans un endroit ou le système pourra le trouver ; dans <mon dossier personnel>/bin par exemple.
C'est fini !
Maintenant, pour pouvoir personnaliser le fonctionnement de ta tablette, il suffit d'exécuter, une seule fois par session de travail, ton nouveau script en l'invoquant simplement par son nom dans un terminal. Facile, non ?
Ensuite pour aller plus loin, il sera possible de grouper dans un seul script les lignes de configuration de la tablette et le lancement de darktable, puis d'ajouter ce script dans les menus de ton interface, pour faire les deux manips : configuration de la tablette et lancement de darktable en un seul clic ! L'est pas belle la vie ?
Des questions ?
Mes photos : jpverrue.fr