CodiFolio

Automatisation de la saisie de l'attestation de déplacement

Pourquoi ?

  • Si vous avez décidez d'aider à sauver la planète et donc utilisez votre smartphone pour générer vos attestations de sorties plutôt que du papier ... Utilise ton smartphone pour savuer la planete Ouais !
  • Si vous n'êtes pas trop paranos et que vous croyez que Les informations saisies dans ce générateur d’attestation de déplacement ne font l’objet d’aucune collecte par le ministère de l’Intérieur comme le dit le site Générateur d'attestation de déplacement
  • Et donc si vous en avez marre de taper 10 fois par jours (travail + école + courses + sessions de surf + docteur ...) votre lieu de naissance (pour peu que vous soyez nés à Taumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu en Nouvelle-Zélande et que vous viviez à Saint-Germain-de-Tallevende-la-Lande-Vaumont dans le Calvados (Wikipedia)) votre adresse et tout le reste.

Alors ce qui suit peut vous intéresser

Comment ?

Allons droit au but:

En tapant dans la barre d'adresse d'un navigateur:

javascript:alert('Hola que tal?');void(0);
Et en validant, on se rend compte qu'on peut exécuter du javascript dans une page déjà chargée. On peut coller ce code dans la barre d'adresse pour tester, cependant, il faut aller retaper le mot 'javascript' au début de la phrase car le navigateur ne le prend pas en compte. Le "void(0), c'est pour éviter que la page ne se recharge à la saisie d'une nouvelle url."

On peut donc demander au javascript de remplir des champs de formulaire dans une page déjà chargée. Allons sur la page https://media.interieur.gouv.fr/deplacement-covid-19/confidentialite.html et récupérons les identifiants des champs du formulaire:
On obtient 8 champs texte et 9 cases à cocher:

  field-firstname (Prénom) Normal
  field-lastname (Nom) Normal
  field-birthday (date de naissance) Limite
  field-placeofbirth (lieu de naissance) Chiant
  field-address (adresse) Bon Ok
  field-city (Ville) Ok
  field-zipcode (Code postal) Ok
  field-heuresortie 

  checkbox-travail
  checkbox-achats
  checkbox-sante
  checkbox-famille
  checkbox-handicap
  checkbox-sport_animaux
  checkbox-convocation
  checkbox-missions
  checkbox-enfants

Ecrivons du javascript pour remplir tout ça, sachant que le champ date de sortie se remplit tout seul. Ici, pour l'exemple, on coche la case "activité sportive".


javascript:document.getElementById('field-firstname').value='Jean';
document.getElementById('field-lastname').value='Valjean';
document.getElementById('field-birthday').value='05/11/1769';
document.getElementById('field-placeofbirth').value='Saint-Germain-de-Tallevende-la-Lande-Vaumont';
document.getElementById('field-address').value='12 rue du général de Lattre de Tassigny';
document.getElementById('field-city').value='Beaujeu-Saint-Vallier-Pierrejux-et-Quitteur';
document.getElementById('field-zipcode').value='70100';
const d=new Date();
document.getElementById('field-heuresortie').value=d.getHours()+':'+d.getMinutes();
document.getElementById('checkbox-sport_animaux').checked=true;
void(0);

TP: Remplace les informations du petit Jean Valjean par les tiennes après avoir copier-coller le code ci-dessus dans ton éditeur de texte.

Pour que ce code foncionne dans une barre d'adresse de navigateur, il faut supprimer les sauts de lignes, ce qui est facile à faire dans notepad++, ou à la main, pour n'obtenir qu'une ligne:

javascript:document.getElementById('field-firstname').value='Jean';document.getElementById('field-lastname').value='Valjean';document.getElementById('field-birthday').value='05/11/1769';document.getElementById('field-placeofbirth').value='Saint-Germain-de-Tallevende-la-Lande-Vaumont';document.getElementById('field-address').value='12 rue du général de Lattre de Tassigny';document.getElementById('field-city').value='Beaujeu-Saint-Vallier-Pierrejux-et-Quitteur';document.getElementById('field-zipcode').value='70100';const d=new Date();document.getElementById('field-heuresortie').value=d.getHours()+':'+d.getMinutes();document.getElementById('checkbox-sport_animaux').checked=true;void(0);

Pour terminer, il va falloir mettre ce bout de code en favori dans un navigateur. J'ai testé avec succès l'opération avec chrome et brave sous android et ça fonctionne ... Voici comment faire:

  • Pour pouvoir récupérer le code javascript et le copier dans le presse papier (pour le coller ou il faut ensuite), on peut se l'envoyer par mail par exemple.
  • Aller sur une page, n'importe laquelle.
  • Ajouter cette page aux favoris
  • Aller dans les favoris et éditer le favori qui vient d'être créé
  • Lui donner un petit nom sympa. "Rempli" par exemple, et coller le code javascript à la place de l'URL
  • Sauvegarder la modification du favori

Pour utiliser ce favori personnalisé: aller sur https://media.interieur.gouv.fr/deplacement-covid-19/confidentialite.html puis dans la barre d'adresse, commencer à taper le petit nom sympa donné au favori précédemment. Le navigateur devrait proposer une liste de liens dans laquelle apparaît le favori en question (c'est celui dont l'url commence par "javascript:"). En sélectionnant celui-ci, le formulaire se remplit avec les données préremplies dans le code.

Bon, d'accord, c'est un peu fastidieux, mais comme on en a au moins pour 1 3 mois, ça peut aider quand même.

Merci à cet échange sur stackexchange pour le fonctionnement des marques pages personnalisés.

Bon allez ...

Voici un générateur de code, il n'y aura plus qu'à créer le favori personnalisé et à coller le code généré ici dans le champ adresse du signet. Et Les informations saisies dans ce générateur de code ne font l’objet d’aucune collecte ici.

C'est ici

Retour à l'index.

¿ Hola que tal ?