node
npm
git
Placer vous dans le répertoire de votre choix
git clone https://gitlab.com/alexbsd/autosign.git
Allez dans le répertoire du projet
cd autosign
Installez les dépendances
npm install
Lancer le script d'installation automatique et renseignez votre prénom, votre nom et votre mot de passe campus.
sh setup.sh
Renseignez le lien vers votre page de présence de la semaine à l'aide du script change_week.sh
sh change_week.sh
Pour l'utiliser, placez vous simplement à la racine du projet et lancez la commande
node appel.js
Vous verrez dans la console si le script a fonctionné où si vous avez rencontré des erreurs.
Vous pouvez également voir le dernier état du navigateur si ça a fonctionné en ouvrant le png généré <votreprenom>.png
.
Le script va automatiquement envoyer un mail sur votre adresse prenom?nom@mines-ales.fr pour vous dire si l'appel a fonctionné ou non.
En installant le bot sur mon raspberry, le navigateur n'arrivait pas à se lancer.
J'ai donc du installer moi-même chromium-browser sur ma machine en exécutant la commande sudo apt-get install chromium-browser
et en décommentant la ligne 52 du fichier appel.js
que j'ai écrite pour ce cas précis :
50 const browser = await puppeteer.launch({
51 //Uncomment optional line if you use custom path (for example on Raspberry with your own chromium-browser)
52 // executablePath: '/usr/bin/chromium-browser',
53 headless: true,
54 //height à 2500 pour voir toutes la semaine sur la page de présence
55 defaultViewport: { height: 2500, width: 1920 },
56 args: ['--no-sandbox','--disable-extensions']
57 });
En installant moi même chromium et en lancant le script j'ai vu qu'il me manquait des librairies, si vous rencontrez ce problème les libraires seront écrites dans le message d'erreur. Si vous n'arrivez pas à les installer n'hésitez pas à utiliser Google ou à me demander directement de vous aider.
Vous pouvez paramétrer une tâche automatique sur votre machine qui lancera la commande node appel.js
automatiquement à l'heure voulue.
Personnellement pour ça j'ai utilisé l'utilitaire crontab
présent sur linux.
Lancez la commande suivante et choisissez un éditeur de texte parmi ceux qui vous sont proposés
crontab -e
Et ajoutez par exemple la ligne suivante à la fin du fichier
30 08 20 11 * node ~/autosign/appel.js
L'utilitaire crontab
utilise la syntaxe minutes heure jour mois jourdelasemaine <commande>
, la ligne ci-dessus va donc lancer (chaque année mais on s'en fout) la commande node ~/autosign/appel.js
le 20 Novembre à 8h30.