logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-08-2018 16:16:55

Rekiel
Membre
Inscription : 09-08-2018

Automatisation d'un programme

Salut,

Je cree se sujet car je voudrais automatiser le lancement du Red Bot Discord, si vous voulez des infos dessus je suis prêt a vous repondre.

Cordialement

Hors ligne

#2 09-08-2018 17:31:06

MicP
Membre
Inscription : 29-02-2016

Re : Automatisation d'un programme

Bonjour

Je ne sais pas du tout ce qu'est Red Bot Discord
alors j'ai trouvé ça sur le Web

En espérant qu'il s'agisse bien du Red Bot Discord dont tu parles
et que la procédure proposée soit applicable pour ton système debian.

Hors ligne

#3 09-08-2018 18:12:35

Rekiel
Membre
Inscription : 09-08-2018

Re : Automatisation d'un programme

Merci, mais j'ai deja essayer je ne comprend pas tout en plus de ca, si on pourrait m'aider d'avantage par rapport a ce qu'il dise.

Hors ligne

#4 09-08-2018 22:39:13

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Automatisation d'un programme

Bonjour et Bienvenue smile

Systemd est le programme qui va lancer d'autres programmes automatiquement, selon un ordre défini. Par exemple, lancer un programme du genre un bot Discord alors que les programmes qui gèrent l'accès au réseau n'e sont pas encore démarrés n'a aucun intérêt wink

Ce genre de programme lancé en arrière plan (il est possible de lancer plusieurs programmes qui vont faire leur travail tour à tour sans bloquer ton ordinateur) est appelé service ou démon (daemon en anglais).

systemd va lancer ces services en fonction de fichiers de configuration qu'on appelle unité (unit en anglais, désolé, l'anglais est la langue officielle de l'informatique tongue ) ayant pour extension .service.

Le tuto que donne MicP te propose donc de créer ce fichier de configuration. Pour cela, il faudra utiliser la ligne de commande

Prend le temps de lire tou les liens du tuto sur la lign de commande pour bien comprendre comment on utilise l'éditeur de texte nano  avec les droits administrateurs en adaptant le fichier du tuto de MicP à ton cas. Ça ne sera pas un simple copier/coller, il faudra adapter le chemin du programme là par exemple

WorkingDirectory=/home/username/Red-DiscordBot
# username est à remplacer par ton nom d'utilisateur


Prend vraiment le temps de tout bien lire et exerce toi à utiliser la ligne de commande. Si des questions te viennent après ces lectures, n'hésites pas à les poser ici smile


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#5 10-08-2018 13:00:03

Rekiel
Membre
Inscription : 09-08-2018

Re : Automatisation d'un programme

Salut, je cite "systemd
This guide assumes you used the Linux guide to install Red, you are using Python 3.5.x and that your Linux distribution uses systemd (Example: Ubuntu 15.04 or newer)."

Le probleme c'est que je suis en Python3.6 sad

Hors ligne

#6 10-08-2018 15:34:23

Freemaster
Membre
Lieu : Nord
Distrib. : Debian amd64
Inscription : 31-07-2018
Site Web

Re : Automatisation d'un programme

Rekiel a écrit :

Le probleme c'est que je suis en Python3.6


remplacer

ExecStart=/usr/bin/python3.5 /home/username/Red-DiscordBot/red.py --no-prompt


par

ExecStart=/usr/bin/python3.6 /home/username/Red-DiscordBot/red.py --no-prompt


c'est pas bien compliqué smile
faudra que tu penses aussi à adapter le chemin /home/username/Red-DiscordBot/red.py tongue


o_O

Hors ligne

#7 10-08-2018 17:08:04

Rekiel
Membre
Inscription : 09-08-2018

Re : Automatisation d'un programme

/usr/bin/python3.6 C'est la localisation du fichier ? et c'est quoi username et usergroup?

Hors ligne

#8 10-08-2018 17:33:35

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Automatisation d'un programme

Rekiel a écrit :

et c'est quoi username et usergroup

Ton nom d’utilisateur et ton nom de groupe comme expliqué dans ce tuto smile


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#9 10-08-2018 19:10:06

MicP
Membre
Inscription : 29-02-2016

Re : Automatisation d'un programme

…et c'est quoi username et usergroup…

Copie/colle ce qui suit dans une fenêtre de terminal
et appuie sur la touche Entrée pour lancer cette ligne de commande

echo -e "\nDans le tuto,\nusername  devra être remplacé par $(id -un $USER)\nusergroup devra être remplacé par $(id -gn $USER)\n"

et la réponse à ta question s'affichera.

Dernière modification par MicP (10-08-2018 19:43:52)

Hors ligne

#10 10-08-2018 23:46:09

Rekiel
Membre
Inscription : 09-08-2018

Re : Automatisation d'un programme

[Unit]
Description=Red-DiscordBot
After=multi-user.target
[Service]
WorkingDirectory=/home/username/Red-DiscordBot
User=username
Group=usergroup
ExecStart=/usr/bin/python3.5 /home/username/Red-DiscordBot/red.py --no-prompt
Type=idle
Restart=always
RestartSec=15

[Install]
WantedBy=multi-user.target

Ce qu'il y a en gras il faut que je le laisse telle qu'elle ?

Hors ligne

#11 11-08-2018 08:35:56

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Buster
Noyau : Linux 5.9.1-2-default + Linux 4.19.0-12-amd64
(G)UI : Gnome + Console et un peu Fluxbox
Inscription : 20-03-2012
Site Web

Re : Automatisation d'un programme

Oui. En fait, seule ces 4 lignes sont à modifier je pense

...
#Changer username et usergroupcomme indiqué par MicP
WorkingDirectory=/home/username/Red-DiscordBot
User=username
Group=usergroup
#Modifier username et python3.5 en 3.6 à vrai dire /usr/bin/python3 devrait fonctionner aussi
ExecStart=/usr/bin/python3.5 /home/username/Red-DiscordBot/red.py --no-prompt
...


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

Hors ligne

#12 12-08-2018 21:51:58

Rekiel
Membre
Inscription : 09-08-2018

Re : Automatisation d'un programme

Quand j'essaye de le start, ca m'ecrit: Failed to start red.service: Unit red.service failed to load: Invalid argument. See system logs and 'systemctl status red.service' for details.

Hors ligne

#13 14-08-2018 01:29:36

Rekiel
Membre
Inscription : 09-08-2018

Re : Automatisation d'un programme

3

Dernière modification par Rekiel (14-08-2018 01:30:23)

Hors ligne

Pied de page des forums