Skip to content

Small program that automatically sign my presence on my school's website for me

Notifications You must be signed in to change notification settings

AlexBsrd/autosign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✏️ Author : Alex Broussard

Remplissage automatique du formulaire d'appel

⚠️ Prérequis :

  • node
  • npm
  • git

🚧 Installation :

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

🔧 Configuration :

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

✔️ Utilisation :

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.

💔 Erreurs que j'ai rencontré

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.

🌟 Pour aller plus loin (Linux)

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.

❔ Questions

Si vous avez des questions je suis joignable sur Facebook ou par mail en cliquant sur l'enveloppe 📧

About

Small program that automatically sign my presence on my school's website for me

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published