Blog

« Nous avons choisi la qualité parce que la chance était devenue trop chère. » - Jean Abraham.

AppleScript: Sécurisez vos téléchargements sous un VPN

Plusieurs lecteurs m’ont fait part d’un problème ennuyeux lors d’un téléchargement derrière un VPN (Réseau privé virtuel). En effet, si ce dernier venait à se couper, leur logiciel de téléchargement continuait quant à lui son travail ce qui engendrait un risque probable de se faire cueillir par les gentils emmerdeurs d’Hadopi.

C’est à ce moment là que j’ai eu l’idée de faire un petit script en AppleScript, qui permet de continuer à télécharger en toute sécurité.

Le Script FuckHadopi (un joli nom n’est ce pas?) propose les fonctions suivantes :

1) Plus besoin de lancer le VPN
2) Plus besoin de lancer l’application de Téléchargement (Transmission, etc..)
3) Le script se met directement dans la barre de menu du Mac…
4) Un click sur le script Start_FuckHadopiil lance le VPN, puis le logiciel de téléchargement
5) Si le VPN se coupe pour X raisons, le logiciel de téléchargement se coupe également (il quitte car sinon il continuera a « communiquer » avec les trackers)
6) Le script check l’état du VPN… une fois ce dernier revenu… il relance l’application de téléchargement..
7) Pour tout quitter (VPN + logiciel de téléchargement), il suffit simplement de cliquer sur Stop_FuckHadopi..

Configuration du VPN

Avant de commencer le script, il faut d’abord configurer son VPN. Pour cela, je vous invite à lire le billet de Klakinoumi qui est fort bien fait.

Introduction

Nous aurons besoin de deux scripts distincts :
1 – Le script Start_FuckHadopi qui permet de lancer le VPN puis le logiciel de téléchargement
2 – Le script Stop_FuckHadopi qui permet de tout couper (VPN + logiciel de téléchargement)

PARTIE 1 : L’éditeur AppleScript

Nous allons écrire ce script avec l’éditeur AppleScript que vous trouverez dans « Applications/Utilitaires/ ».
Vous pouvez également passer par « Spotlight » comme ci-dessous.

Une fois l’application « Editeur AppleScript » lancé, allez dans les préférences

Allez dans l’Onglet « Général », puis cliquez sur la case indiquée comme ci-dessous.

Cette opération vous permet d’afficher l’icone AppleScript dans la barre de menu de votre Mac (Nous y reviendrons ultérieurement).
Voilà ce que vous devez avoir dans votre barre de menu.

Voilà, c’en est terminé pour la configuration de l’Editeur AppleScript. Passons aux choses sérieuses.

PARTIE 2 : Le Script Start_FuckHadopi

Dans l’éditeur AppleScript tapez le code suivant:

Si vous avez la femme de taper le code, les scripts sont disponibles en téléchargement à la fin du tuto ;-)


Partie 2.1 : Explication du code du script Start_FuckHadopi

1 – Les deux instructions Tell appellent les éléments du système puis les préférences réseaux
2 – Set VpnConnexion to the service « Giganews »
(Nous stockons le nom du service VPN dans la variable VpnConnexion)


Remplacez « Giganews »
par le nom EXACTE de votre réseau VPN, si vous avez un doute, allez voir le nom de votre VPN dans vos préférences réseaux. (par exemple « iPredator » si le nom de votre VPN s’appelle ainsi)


1 – Nous allons stocker dans la variable « DownLoadSoftIsRunning » tous les processus liés à notre logiciel de téléchargement.
2 – le  ‘>0′ indique qu’il doit y avoir au moins 1 processus lancé et lié au logiciel

Dans notre cas, le logiciel de téléchargement s’appelle « SABnzbd », remplacez-le par le nom de votre logiciel de téléchargement en n’oubliant pas de mettre des guillemets.
Exemple : « Transmission »

1 – Si le VPN n’est pas connecté (VpnConnexion is not connected) et si le logiciel de téléchargement est lancé (DownLoadSoftIsRunning=true) alors nous appelons l’application « SABnzbd » à quitter. Puis nous nous connectons au VPN (connect VpnConnexion).

Remplacez « SABnzbd » par le nom de votre logiciel de téléchargement en n’oubliant pas de mettre des guillemets.
Exemple : « Transmission »

1 – Si le VPN est connecté (VpnConnexion is connected) et si l’application de téléchargement n’est pas lancée (DownLoadSoftIsRunning = false) alors on appelle l’application de téléchargement à se connecter. Nous recommençons l’opération 10 fois (return 10).

Remplacez « SABnzbd » par le nom de votre logiciel de téléchargement en n’oubliant pas de mettre des guillemets.
Exemple : « Transmission »

Partie 2.2 : Enregistrement du script Start_FuckHadopi

Une fois que vous avez taper votre code, il faut sauvegarder votre script, mais pas n’importe comment !

Enregistrez le Script sur votre bureau dans en premier temps, en faisant « Enregistrer Sous » (donnez lui le nom Start_FuckHadopi puis sélectionner « Application » pour le format de fichier, et cochez l’option « Rester en arrière-plan ».

Vous devez obtenir quelque chose comme ça

Cliquez sur « Enregistrer ».

Le script Start_FuckHadopi se trouve maintenant sur votre bureau. Si vous lancez l’application, vous verrez l’icône apparaitre dans le Dock. Toutefois, pour des raisons pratiques et esthétiques, l’apparition de cet icône AppleScript n’est pas génial.

Cela serait certainement plus sympa que l’icône disparaisse du Dock, pour cela, c’est très simple.

1 – Faites un click droit sur le script Start_FuckHadopi placé sur votre bureau, puis cliquez sur « Afficher le contenu du paquet ».


2 - Une fenêtre apparait et affiche le contenu du paquet. Maintenant, faites un click droit sur le fichier info.plist puis « Ouvrir avec » et choisissez un éditeur de texte comme TextEdit par exemple.

Le fichier info.plist est maintenant ouvert, profitons en pour ajouter deux lignes en toute fin de code.

<key>NSUIElement</key>
<string>1</string>

Ces lignes ajoutées permettent de supprimer l’affichage de l’icone du script dans le Dock.

N’oubliez pas d’enregistrer le fichier info.plist avant de quitter.

Voilà, nous en avons terminé avec le script Start_FuckHadopi. Passons à l’autre script qui nous permettra de tout quitter proprement et en sécurité
PARTIE 3 : Le Script Stop_FuckHadopi

Dans l’éditeur AppleScript tapez le code suivant:

Si vous avez la femme de taper le code, les scripts sont disponibles en téléchargement à la fin du tuto ;-)

Partie 3.1 : Explication du code du script Stop_FuckHadopi

1 – Le script vérifie ici si le processus lié à notre premier script Start_FuckHadopi est bien lancé. Si tel est le cas, on quitte Start_FuckHadopi.

Surtout indiquez bien le nom de votre premier Script. Dans notre exemple, le premier script créé s’appelle Start_FuckHadopi. Si vous l’avez appelé autrement, faites la correction en remplaçant « Start_FuckHadopi » par le nom que vous aviez choisi

1 – Si le processus du logiciel de téléchargement existe (« SABnzbd » ou « Transmissions » par exemple) alors on quitte le logiciel de téléchargement.
2 – On stock le nom du VPN (« Giganews » dans mon exemple) dans la variable VpnConnexion.
3 – Si le VPN est connecté alors on le quitte.

Remplacez « Sabnzbd » par le nom de votre logiciel de téléchargement (ex: Transmission). Remplacez également « Giganews » par le nom de votre VPN. N’oubliez pas les guillemets
Partie 3.2 : Enregistrement du script Stop_FuckHadopi

Une fois que vous avez taper votre code, il faut sauvegarder votre script, mais pas n’importe comment !

Enregistrez le Script sur votre bureau dans en premier temps, en faisant « Enregistrer Sous » (donnez lui le nom Stop_FuckHadopi puis sélectionner « Application » pour le format de fichier. Ne cochez AUCUNE option.

Vous devez obtenir quelque chose comme ça

Cliquez sur  »Enregistrer ».

FIN : Déplacez les deux scripts dans le bon répertoire

Maintenant, nous allons déplacer les deux scripts « Start_FuckHadopi » et « Stop_FuckHadopi » qui se trouvent sur le bureau, vers le répertoire de destination « Macintosh HD / Utilisateurs / votrecompte / Bibliothèque / Scripts ».

VOILA C’EST FINI !

Téléchargez les deux scripts en cliquant ici (fichier .zip)
Taille : Environ 50 kb

Ouvrez les deux fichiers avec l’Editeur AppleScript et remplacez tous les éléments comme indiqué dans le tuto ci-dessus (Sabnzbd et Giganews)

[quicktime width="600" height="400"]http://www.geekunivers.com/wp-content/Video/fuckhadopi.mov[/quicktime]

  1. Vincent LemeurVincent Lemeur11-05-2010

    Tout simplement énorme ce tuto ! 0_0 En plus j’ai tout compris ! ;-)

    Merci

  2. PikachuPikachu11-05-2010

    Haaaaaa c’te truc de malade ! j’imagine meme pas le temps que tu as mis pour faire un tuto pareil. Les mots me manquent pour te remercier. c’est trop bon ! Yiiiihaaaaa tu m’as trop donné envie de mettre à apple script. Ca déchire. :-)

    @+ pikachu

  3. banjodbanjod11-05-2010

    Je ne trouve tout simplement pas les mots pour exprimer ma gratitude! à diffuser très largement car vraiment d’utilité publique! Fuck_Hadopi forever!!!!

  4. wumingwuming11-06-2010

    Sympa comme tout ! Fonctionne tres bien également avec ipjetable.net.

    En revanche un scirpt pour les VPN telque vpntunnel.se (connection au VPN via une Application tierce serait la bienvenue !

  5. ludoludo11-08-2010

    Merci à tous pour vos gentils mots. ^^ J’espère que ce script vous sera d’une grande utilité.

    @wuming Ouais pourquoi pas. Si j’ai le temps je ferai une application en cocoa pour gérer tout le truc en quelques clics.

  6. janyerjanyer11-08-2010

    Le nom « giganews » on le remplace par le nom de la configuration des prefs réseau ou par le nom figurant dans l’adresse du serveur ? j’ai un doute!! Super truc en tout cas. Merci

  7. ludoludo11-08-2010

    @Janyer Tu remplaces « Giganews » par le nom de ton VPN que tu as choisi dans tes préférences systemes.

    Va dans.. « Préférences système »… puis « Réseau ».. Dans la liste de gauche tu trouveras « Ethernet », « PPPOE », « Airport »..etc.. regarde le nom que tu as choisi pour ton VPN à cet endroit.. Surtout vérifie bien la casse.. exemple: « MonVPN ».. c’est différent de « monvpn »..

    Voila ;-)

    • janyerjanyer11-08-2010

      OK ! c’est bon. Encore merci .

  8. dylandylan11-14-2010

    salut ludo,

    merci ton tuto très précis. Mais j’ai un énorme problème. Quand j’active ton script, l’application transmission revient tout le temps au premier plan. Je pas travailler correctement du coup :(

    il y aurait pas quelques lignes à ajouter ?

  9. ludoludo11-14-2010

    Salut Dylan et merci pour l’intérêt que tu portes à mon petit script ! ;-) Pour répondre à ta question, je te conseille de regarder la vidéo de klakinoumi au sujet de ce script. http://www.klakinoumi.com/2010/11/08/un-script-pour-la-reconnexion-et-le-monitoring-dune-connexion-vpn/

    En fait il faut copier/coller le code dans une nouvelle fenêtre Applescript comme l’explique klaki. Si tu as toujours le problème, je regarderai à modifier le script pour virer ce problème. :-)

  10. ChristianChristian01-03-2011

    Bonjour et merci pour ce script qui correspond bien à ce que je cherchais. Mon problème est que je n’ai pas fait de réglage réseau spécifique (et aucun besoin d’en faire) avec le logiciel que j’utilise (TunnelBlick), je garde mon IP fourni par mon routeur pour les connexions en local et j’ai bien une IP fournie par mon serveur Openvpn pour les échanges sur le web, la seule trace de VPN que je trouve dans mes préférences réseau est le DNS qui est changé. Pourrais-tu m’aider ? merci d’avance

  11. ludoludo01-03-2011

    Bonjour christian ! Je n’ai pas testé le script avec un logiciel VPN en particulier. Cependant tu peux regarder de son côté pour voir s’il donne un nom à la connexion VPN. Si c’est le cas, ajoute ce nom là dans le script en suivant le tuto.

    Au pire, tu peux reprendre les données indiquées par ton soft VPN (login, password et port) et les mettre dans une nouvelle connexion VPN dans les préférences réseaux de ton Mac.

    De mon côté, je vais regarder si je peux modifier le script afin d’utiliser un logiciel tiers pour les connexions VPN.

  12. ChristianChristian01-04-2011

    Merci pour ta réponse. J’ai testé tout ça, résultat pas terrible a) modification du script ; je ne suis pas arrivé a grand-chose, voici les modifs que j’ai essayées : tell application « System Events »
    tell application « Tunnelblick.app »
    set VpnConnexion to the service « Psilo-EUR-P2P » AppleScript me répond « fin de ligne prévue, mais  »  »  » trouvée. D’autre part, peut-on récupérer l’état d’un logiciel si aucun dictionnaire Apple script n’est disponible ?

    b) connexion réseau ; je me suis battu avec cette possibilité et j’ai bloqué sur les certificats fournis par mon VPN qui refusent d’apparaître dans « mes certificats » au niveau du trousseau, malgré des modifications dans tous les sens.

    Je vais continuer à chercher, merci

  13. ludoludo01-04-2011

    @Christian L’état du soft est bel et bien récupéré, le dico apple Script est par défaut sur le système. Par contre, lorsque j’ai fait le script j’ai remarqué que l’éditeur AppleScript m’avertissait d’erreurs qui étaient inexistantes ! Tout cela parce que j’avais installé XCODE. Une fois ce dernier viré de mon Mac, il n’y avait plus d’erreur.

    Dans ta solution A, tu fais appel à l’application Tunnelblick, saches qu’en faisant cela, tu devras modifier en profondeur le script (chose que je suis en train de faire en ce moment) afin que le soft de Téléchargement coupe si le VPN tombe (service ou crash du soft). Tu appelles une 2ème application (tunnelblick) alors que dans mon script j’en appelais qu’une seule (soft de téléchargement)

    Dans ton exemple « Psilo-EUR-P2P » est-il le nom du VPN une fois TunnelBlick lancé ou est-ce le nom de ta connexion VPN que tu as créé dans les préfs système ?

  14. ChristianChristian01-05-2011

    Ludo « Psilo-EUR-P2P » est la seule chose qui pourrait ressembler à un nom au niveau de TunnelBlick. Je fatigue un peu et comme je voie que tu travailles là-dessus, je crois que je vais laisser faire ceux qui savent et attendre des news de ton blog. À bientôt

  15. JeanJean07-16-2011

    Sympa et très bien pour le 10.6, malheureusement en ce moment je n’ai plus qu’un PBG4 sous 10.4.11, l’autre est parti en réparation. L’ennui il est impossible à utiliser sous 10.4.x ;_;

    Auriez-vous des connaissances pour les modifier et qu’ils soient utilisable sous cet excellent système. Merci

  16. ludoludo07-23-2011

    @Jean Bonjour, malheureusement je ne peux te dire si cela fonctionne sous 10.4.x car je n’ai aucune machine sous cette version de Mac OS. Toutefois, le code est distribué librement, tu peux donc, si tu le souhaites le modifier à tes souhaits.

    Il n’y a aucune licence sur ce code, tu peux donc le triturer, l’améliorer, le distribuer, bref tout ce que tu veux. ^^

    En ce moment, je suis en train de réfléchir à une amélioration du script, notamment sur Mac OSX Lion que j’ai installé il y a qq jours. Avec un peu de temps, peut-être en ferais-je une application à part entière.. qui sait.. ;-)

  17. JeanJean07-25-2011

    Bonjour Ludo, en modifiant un autre script et grâce à un contributeur de MacBidouille, j’ai une application qui marche sans trop de problème sous 10.4. Sous 10.6, j’ai fait un script avec des bouts de code ramassés à droite et à gauche et de l’aide. Tout d’abord c’est une application Applescript qui a la particularité de se reposer ( 15′, 30′ ou 1h) toutes les 4 à 6 coupures d’affilées, ce qui arrivent assez souvent avec mon VPN. Comme c’est une application, on peut la quitter dans le dock sans problème et elle peut faire marcher 2 logiciels en même temps. Si cela t’intéresse ?

  18. Angelo LombardoAngelo Lombardo07-31-2011

    le script marche très bien chez moi sur Lion. merci pour ce que tu fais pour nous. j’adore tes tutos.. continue comme ça Angelo

  19. JayJay09-06-2011

    Bonsoir Ludo,

    Tout d’abord merci pour ce script qui est très bien pensé ! Tout comme Christian, j’utilise l’application Tunnelblick car c’est uniquement ce que fournit VPNTunnel. Tu disais bosser sur une 2ème version du script, typiquement pour ces applications externes, l’aurais tu s’il te plaît terminée ?

    Merci par avance et à bientôt

  20. Giorgio7000Giorgio700009-07-2011

    Merci

  21. ludoludo09-07-2011

    @Jay Je n’ai pas encore développé la 2eme version du script, mais j’ai déjà noté les choses que j’allais modifier/refaire. Comme tu as pu le lire dans mon dernier billet, je vais suivre 2 formations fin septembre et début octobre (Formation Objective-C et développement iphone/ipad). J’ai pour idée de transformer le script en véritable application (gratuite) avec notamment la possibilité de notification par mail (push).

    @Giorgio7000 Mais de rien ;-)

  22. JayJay09-07-2011

    Parfait Ludo, j’attends donc cela avec impatience. Merci pour ta réactivité ! A très bientôt

  23. CalitofCalitof09-08-2011

    B r a v o !!! C’est juste parfait.

    Merci :-)

  24. francisandlilifrancisandlili09-08-2011

    Excellementissime!!

    Merci beaucoup pour ce tuto super complet! Tu mériterais presque un bisous sur la fesse gauche!

  25. ludoludo09-08-2011

    @Calitof et @Francisandlili Merci beaucoup ! C’est trop, je vais rougir :D Ravi de voir que le script correspond à votre attente, mais sachez qu’il y aura bientôt des modifications car je compte le transformer en application (gratuite) sur Mac. Par contre, cela va me demander un peu plus de temps car je vais faire une formation Objective-C et développement iPhone/iPad à la fin de ce mois ;-)

  26. ludoludo10-31-2011

    Petite information, je suis en train de transformer le script en véritable petite application.. ;-) En cours de développement…

  27. starsysstarsys11-21-2011

    Bonjour. Merci pour ce tuto.

    2 questions : 1) est-ce qu’on peut e servir de ce script avec safari juste pour surfer anonymement ? Si oui, quelle est la syntaxe à utiliser pour « appeler » safari dans le script ? 2) est ce que le VPN est vraiment utile pour les newsgroup si on utilise une connexion crypter en SSL comme celle de Giganews Diamond ? (au pire on verra que notre IP télécharge, mais on ne saura pas quoi) Merci.

  28. starsysstarsys11-21-2011

    Petite précision : j’ai remarqué qu’après une mise en veille, l’icone du VPN semblait toujours active, or ca n’était plus le cas. Quelques secondes plus tard, l’icône se met à jour et indique que la connexion VPN a sauté. Est-ce que le script prend en compte cela pendant ce petit laps de temps ? N’y a t il pas un risque de renvoyer notre vrai IP à cet instant ?

  29. ludoludo11-21-2011

    @starsys Merci d’être passé par mon Blog ! ;-) Bon je vais tâcher de bien répondre à tes questions.

    1) Pas besoin de script pour naviguer en mode sécurisé sur le net. En fait dès que tu lances le petit script que j’ai proposé, le VPN se lance..ainsi que le soft de téléchargement. Il suffit de mettre tes téléchargements en pause afin de surfer confortablement sur le net de manière sécurisée. Ou alors, il suffit simplement que tu baisses le débit de téléchargement dans les préférences de ton logiciel de téléchargement. Aujourd’hui, quasi tous les softs de téléchargements proposent cette fonctionnalité

    2) Oui c’est utile pour les Newsgroups mais pas nécessaire. Personnellement je préconise l’utilisation du SSL + VPN.. 2 sécurités valent mieux qu’une ;-)

    Question 3) celle de ton 2eme commentaire Il n’y pas de risque d’envoyer l’IP en clair, car en fait qd le VPN est désactivé (pourtant l’icone peut sembler dire le contraire), cela coupe le téléchargement. Il n’y a pas donc pas de risque. Toutefois, je suis en train de mettre à jour le script, car j’ai recu 1 ou 2 mails de personnes qui avaient des soucis sous Mac OS Lion.

    La mise à jour du tuto est pour bientôt, en fait, cela ne sera plus un script mais une application à part entière.. Encore un peu de patience donc.. ;-)

    J’espère que j’ai bien répondu à tes questions, si tu en as d’autres, n’hésites pas à poster un commentaire ici :D

  30. starsysstarsys11-22-2011

    Merci pour tes réponses. Je suis d’accord avec toi pour l’aspect « téléchargement ». Par contre, je suis surtout intéressé par ton script pour surfer anonymement. Je suis sous Mac OS X Lion et j’aimerai empêcher toute navigation internet tant que le VPN n’est pas actif. Est-ce possible avec ton script ? Le soucis que j’ai actuellement, c’est qu’après chaque mise en veille le VPN se déconnecte et si je ne fais pas attention et que je surfe sans prendre garde au statut du VPN, j’ai le risque de démarrer ma navigation avec mon IP privée.

  31. ludoludo11-22-2011

    @Starsys Oui c’est possible en modifiant légèrement le script. Il suffit de remplacer le nom du logiciel de téléchargement par le nom de ton navigateur (ex: Safari), et le tour est joué.

    Si l’ordinateur est en veille, c’est que tu n’es pas devant. Il suffit donc de fermer le script avant de partir. Dès que tu reviens sur l’ordi, ce dernier sort de sa mise en veille, il te suffira alors de lancer simplement Safari pour que le VPN se lance automatiquement.

    Toutefois, je vais tenter de modifier le script pour la mise en veille. Mais je ne pourrais pas faire cela cette semaine car j’ai énormément de boulot. Si tu es pressé, tu peux essayer de le faire par toi-même. Le script est ouvert et libre, j’autorise toutes modifications et diffusions, tu en fais ce que tu veux. ;-)

  32. starsysstarsys11-22-2011

    Ok merci.

    je suis tout nouveau sous Mac donc je ne vais m’aventurer tout de suite dans la rédaction de scripts ! J’ai bien d’autres choses à découvrir avant. Merci.

  33. burtburt04-02-2012

    hello et merci pour ce super script ! où en est le dev de ton application ? je passe aussi par tunnelblick et j’ai pas les compétences pour adapter ton script…

  34. CousCous04-03-2012

    Salut,

    j’utilise ton script depuis maintenant 1 semaine et je te félicite, ça simplifie pas mal la gestion des connections, encore bravo !

    Par contre, comme un utilisateur l’avait déjà remonté il y a un bout de temps, il est vrai que parfois, lorsqu’on lance le script de Stop, 10 secondes après le Start se relance tout seul, ce qui peut être un peu agaçant.

    De mon côté ce que j’ai fait:

    • Vu que tu as mis un return de 10 dans le start, j’ai rajouté un return de 15 à la fin du Stop;

    • et dans le Start j’ai rajouté au début le code suivant:

      -- Couper complètement si demandé
      if ((count of (every process whose name is "Stop_FuckHadopi")) > 0) then
          quit me
      end if
      

    Je ne sais pas si à la base le problème était que j’avais plusieurs Start lancés en même temps, mais maintenant le Stop coupe la connec et elle ne se relance pas toute seule.

    En espérant que ça aide quelqu’un,

    encore merci !

  35. alexalex04-05-2012

    Top ce script ! est ce que c’est possible que je le rajoute sur mon site http://vpngratuit.fr ? merci

  36. ludoludo04-05-2012

    @Burt Oui c’est en cours.. mais vu le boulot que j’ai en ce moment il faudra être encore un peu patient.. ;-)

    @Cous Très sympa l’ajout de code que tu as fait. Bravo ! ;-)

    @Alex Pas de problème, le script est là pour aider, vous pouvez le modifier, le trifouiller, etc. Si tu pouvais ajouter un lien vers mon billet lorsque tu le placeras sur ton site, ça serait sympa ;-)

  37. StefStef04-12-2012

    Merci beaucoup pour ce script!! Je viens de recevoir le 2eme avertissement de nos amis de chez HADOPI, j’espere que ça pourra m’éviter de recevoir le 3eme et dernier….. En tout cas merci encore de ton aide En attendant ton appli ;)

  38. ludoludo04-12-2012

    @Stef Mais de rien ! J’espère également qu’ils te foutront la paix ! ;-)

Laissez un commentaire