Partage
  • Partager sur Facebook
  • Partager sur Twitter

Script pour supprimer tous ses messages ?

    17 novembre 2017 à 12:28:15

    Bonjour,

    Je souhaiterais créer un script qui me permettrait de supprimer tous mes messages sur un forum en particulier (au lieu de le faire manuellement par exemple, surtout si on a beaucoup de messages).

    C'est bien avec Javascript que ça pourrait se faire? (je débute à peine).

    J'aimerais savoir également si c'est quelque chose de complexe à faire et qui demande beaucoup de temps. (Je n'ai aucune notion du temps que ça peut prendre puisque je débute ^^).

    Merci d'avance et très bonne journée à tous! :)

    • Partager sur Facebook
    • Partager sur Twitter
      17 novembre 2017 à 13:40:11

      Oriente toi plutôt vers le PHPc c'est côté serveur que ça doit se faire
      • Partager sur Facebook
      • Partager sur Twitter
        17 novembre 2017 à 14:48:45

        Bonjour,

        Si tu as accès au serveur et donc à la base de donnée c'est du SQL mais je pense pas que ce soit le cas ici.

        Pour faire ce que tu veux faire tu vas devoir utiliser CURL. A partir de là tu peux utiliser n'importe quel langage qui permet de faire des appels curl.

        ET souvent un petit mail à l'admin du forum peut être suffisant ;)

        • Partager sur Facebook
        • Partager sur Twitter
        Un petit +1 si je vous ai aidé est toujours appréciable :).
          17 novembre 2017 à 17:18:28

          @romsVLM

          Ce n'est pas mon forum. C'est pour supprimer mes messages sur un forum précis. (Je précise que la fonction est disponible manuellement mais il faut le faire pour chaque message et je cherchais un moyen d'automatiser ça, sans passer par un add-on type Macro).

          @Krogoth

          Nope, pas accès au serveur vu que ce n'est pas mon forum :)

          Disons que j'avais souvent vu passer ce type de scripts pour effacer tous ses posts Facebook (ça marche mais c'est ultra lent...) et je voulais faire de même pour effacer mes +200 messages que j'ai postés sur un forum, sans avoir à les effacer un par un à la main. 

          Pour l'admin, il est très souvent débordé et il faut le relancer plusieurs fois. Je ne suis pas la seule à faire ce genre de demandes de plus. C'est pour ça que je voulais créer un script qui s'en occuperait (et que je pourrais partager) :)
          En plus, ça me faisait un petit projet perso pour l'apprentissage du Javascript.

          C'est quoi CURL? :D

          • Partager sur Facebook
          • Partager sur Twitter
            17 novembre 2017 à 17:43:14

            Bonjour,

            SI je comprends bien tu veux supprimer tes posts dans forum comme OCR par exemple ? Ce que tu souhaites faire n'est pas tellement possible hormis le fait de la faire manuellement. Il te faudrait avoir accès à une base de données. Ce que tu souhaites réaliser c'est une sorte de bot qui effectue des opérations à ta place ?

            Henri.

            • Partager sur Facebook
            • Partager sur Twitter
              19 novembre 2017 à 2:42:44

              Si on peut le faire manuellement, alors on peut l'automatiser en exécutant un script dans la console du navigateur.

              Pour prendre l'exemple d'OCR, c'est très compliqué à faire manuellement : tout d'abord on peut pas supprimer les messages mais seulement les éditer. Ensuite, y a pas de liste complète des messages envoyés (la liste des notifications s'arrêtent à 12 pages).

              Par contre si le site qui t'intéresse te propose une page avec l'ensemble de tes messages envoyés, c'est assez simple à mettre en oeuvre.

              -
              Edité par LCaba 19 novembre 2017 à 2:58:30

              • Partager sur Facebook
              • Partager sur Twitter
                20 novembre 2017 à 17:56:07

                @LCaba

                Je sais que ce n'est pas possible sur OCR. Je parlais d'un autre forum qui permet de supprimer un par un ses posts. C'est juste que j'en ai plus de 200 (sur plusieurs années) et que je souhaitais tout supprimer moi-même sans demander au modérateur de le faire (qui est déjà débordé par des requêtes similaires).

                Et puis c'était aussi un challenge personnel que de réussir à créer un tel script. Les messages sont sur plusieurs pages. On a une liste mais seuls les 20 premiers apparaissent en page 1, puis en page 2 encore 20 messages etc. 

                Ma question c'est :

                1. Est-ce que c'est possible de créer un tel script ? (il me semble que oui)

                2. Est-ce que c'est un script difficile à créer ? (je n'y connais rien mais peut-être que vous allez me répondre : "ouh là, pour faire ça, faut lancer une commande ceci et puis ensuite créer une boucle... c'est assez compliqué car bla bla, ça va te demander au moins 1 an de formation Javascript!"). Je voulais juste savoir le niveau de difficulté d'un tel script :)

                • Partager sur Facebook
                • Partager sur Twitter
                  20 novembre 2017 à 19:10:51

                  Il faut bien maitriser la manipulation du DOM.

                  L'idée c'est que tu te places sur la première page et tu ouvres la console de développement. Tu utilises document.querySelectorAll() avec le sélecteur appropriés pour récupérer la liste des liens vers tes messages. En principe ces liens devraient contenir un numéro qui identifie le message, il faut extraire cet identifiant.

                  Pour parcourir les pages, il faut charger le contenu en ajax (avec l'API Fetch() ) par exemple, pour pas que la page se recharge (sinon, ton environnement JS se réinitialise. Ca c'est basique :

                  fetch('lien-vers-la-page-suivante.php').then(response() => {
                    response.text().then(html => {
                      document.body.innerHTML = html;
                      continuerDeCompleterLaListe();
                    });
                  });

                  Pour supprimer les messages, il faut au préalable que tu repères quelle tête à la requete HTTP et quelles sont les données associées (en GET ou en POST). Pour faut utiliser la console, onglet réseau.

                  Dans ces données tu devrais retrouver l'identifiant du message. Donc tu parcours ta liste d'identifiant et tu fais des requetes ajax pour supprimer tous tes messages.

                  Voilà pour le principe, bon courage ;)

                  -
                  Edité par LCaba 20 novembre 2017 à 19:13:06

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Script pour supprimer tous ses messages ?

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown