Ressources pour développeur web

Théme de la semaine : WebDesign

GoWitness : Tutoriel pour une capture d’écran de site web

Temps de lecture estimé : 6 minutes
Accueil Terminal GoWitness : Tutoriel pour une capture d’écran de site web

Découvrez GoWitness, un outil puissant pour réaliser automatiquement des captures d’écran de sites web et analyser leur structure visuelle. Dans ce tutoriel, vous allez apprendre à installer, utiliser et exploiter GoWitness efficacement pour vos audits SEO, tests et analyses web.

  • Comprendre rapidement l’utilité de GoWitness pour analyser visuellement un site web sans effort
  • Savoir installer et prendre en main l’outil même en partant de zéro
  • Gagner du temps dans vos audits SEO et techniques grâce à une vision claire et exploitable des pages

Vous avez déjà exploré un site web et voulu voir rapidement à quoi ressemblent toutes ses pages, sans cliquer partout ? C’est exactement là que GoWitness entre en jeu. Cet outil, encore peu connu du grand public, est pourtant une petite pépite dans le monde du web et du SEO technique.

Dans ce tutoriel, vous allez découvrir GoWitness pas à pas. On va prendre le temps de comprendre, tester et manipuler cet outil ensemble. À la fin, vous serez capable de capturer, analyser et exploiter visuellement un site web comme un pro… même si vous débutez.

GoWitness : qu’est-ce que c’est exactement ?

Avant de rentrer dans le terminal, posons les bases.

GoWitness est un outil en ligne de commande (CLI) développé en Go, qui permet de :

  • capturer des captures d’écran (screenshots) de pages web
  • organiser ces captures dans une base locale
  • naviguer facilement dans les résultats via une interface web
  • analyser visuellement un site (structure, erreurs, contenus…)
GoWitness

En résumé, GoWitness agit comme un robot qui visite un site à votre place et prend des photos de chaque page.

Pourquoi utiliser GoWitness ?

Vous pourriez vous dire : “Ok, mais à quoi ça sert concrètement ?”. Voici quelques cas d’usage très concrets :

  • Audit SEO : repérer les pages cassées ou mal affichées
  • Pentest / sécurité : visualiser rapidement des endpoints
  • Veille concurrentielle : capturer un site complet
  • Debug : vérifier le rendu d’un site après modification
  • UX : analyser l’expérience utilisateur visuellement

Imaginez avoir 200 URLs à visiter. Plutôt que de cliquer 200 fois… GoWitness le fait pour vous. Et il prend même des photos.

Installer GoWitness

Passons maintenant à l’installation. Rassurez-vous, on va y aller étape par étape.

Prérequis

Avant toute chose, vous devez avoir Go (Golang) installé sur votre machine.

Pour vérifier :

go version

Si vous voyez une version (ex : go1.22), c’est bon. Sinon, installez Go depuis le site officiel : https://go.dev.

Go, aussi appelé Golang, est un langage de programmation créé par Google pour être à la fois simple, rapide et efficace. Contrairement à d’autres langages complexes, il se lit presque comme de l’anglais et permet de construire des logiciels très robustes sans se perdre dans des détails techniques interminables. C’est un excellent choix pour les débutants car il impose une structure claire et évite les erreurs courantes.

Il est très utilisé lorsque vous avez besoin de créer des outils qui doivent traiter beaucoup de données en même temps ou communiquer sur le Web (comme des serveurs, des API ou des outils de Cloud).

Installation de GoWitness

Avec Go, l’installation est très simple :

go install github.com/sensepost/gowitness@latest

Cette commande télécharge et installe la dernière version de GoWitness (v3).

Une fois terminé, le binaire sera disponible dans :

~/go/bin/gowitness

Pour éviter de taper le chemin complet à chaque fois, ajoutez-le à votre PATH si nécessaire :

export PATH=$PATH:~/go/bin

Et pour rendre ça permanent (Mac/Linux) :

echo 'export PATH=$PATH:~/go/bin' >> ~/.zshrc
source ~/.zshrc

Vérifier l’installation

Testez simplement :

gowitness --help

Si vous voyez apparaître la liste des commandes, félicitations ! GoWitness est installé et prêt à fonctionner.

GoWitness depuis le terminal

Premier lancement : capturer un site

Entrons dans le vif du sujet.

Capture simple d’un site

Prenons un exemple concret :

gowitness scan single --url https://example.com

Ce que fait cette commande :

  • ouvre la page
  • prend une capture d’écran
  • stocke le résultat dans une base locale

Simple, efficace. Vous pouvez retrouver la capture d’écran à l’emplacement du terminal ou GoWitness a été lancé dans le dossier Screenshot.

Scanner plusieurs URLs

Imaginons que vous avez une liste d’URLs dans un fichier urls.txt :

https://example.com
https://google.com
https://github.com

Attention : Le fichier urls.txt doit être dans le même chemin que celui de votre terminal. Si le fichier est sur votre bureau (desktop), le terminal doit pointer vers le desktop. Pour ceux qui débutent avec le terminal : Naviguer et se situer dans le terminal.

Ensuite, vous pouvez lancer :

gowitness scan file --file urls.txt

GoWitness va parcourir chaque URL et capturer les pages automatiquement.

Scanner un réseau (pentest ou audit)

GoWitness peut aussi scanner des plages d’IP :

gowitness scan cidr --cidr 192.168.1.0/24

Très pratique pour :

  • audits internes
  • pentesting
  • inventaire réseau

Comprendre le fonctionnement interne

Prenons un moment pour comprendre ce qui se passe vraiment.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

Quand vous lancez GoWitness :

  1. Il ouvre un navigateur headless (sans interface)
  2. Il charge la page
  3. Il attend que le contenu soit stable
  4. Il prend une capture
  5. Il enregistre les données dans une base SQLite

C’est donc un mélange de :

  • navigateur automatisé
  • base de données
  • moteur de capture

Visualiser les résultats

C’est là que GoWitness devient vraiment intéressant.

Faire un scan de test correct

D’abord placer le chemin de votre terminal sur desktop :

cd desktop

Utilisez ensuite cette commande :

gowitness scan single --url https://google.com --write-db --write-db-uri sqlite://gowitness.sqlite3
  • --write-db : Indique à GoWitness qu’il doit enregistrer le résultat dans une base.
  • --write-db-uri : Indique quelle base utiliser.

Lancer l’interface web

Après ce scan, vous pouvez lancer :

gowitness report server
GoWitness server

Ensuite, ouvrez votre navigateur :

http://localhost:7171

Vous arrivez sur une interface web avec :

  • toutes les captures
  • les URLs associées
  • des filtres
  • une navigation simple
GoWitness server

Pour arrêter le serveur :

CTRL + C

Explorer les captures

Vous pouvez :

  • cliquer sur une capture pour l’agrandir
  • voir les métadonnées
  • trier par statut HTTP
  • rechercher une URL
GoWitness Gallery

C’est un peu comme une galerie photo… mais pour vos scans web.

Imaginez que vous scannez un site comme, par exemple, le Créa-blog.

Avec GoWitness, vous pourriez :

  • voir toutes les pages en un coup d’œil
  • repérer une page cassée visuellement
  • détecter un problème de responsive

C’est exactement le genre d’analyse qui peut faire la différence en SEO.

Options avancées (version 3)

GoWitness v3 apporte plusieurs améliorations intéressantes.

Définir un timeout

gowitness scan single --url https://example.com --timeout 10

Utile si un site met du temps à charger.

Définir un user-agent

gowitness scan single --url https://example.com --user-agent "Mozilla/5.0"

Permet de simuler un navigateur spécifique.

Mode silencieux

gowitness scan file --file urls.txt --quiet

Pratique pour les scripts automatisés.

Export des résultats

Vous pouvez exporter vos données pour analyse :

gowitness report export

Idéal pour :

  • créer des rapports
  • intégrer dans un workflow SEO
  • automatiser vos audits

Automatiser GoWitness

Là, on passe à un niveau supérieur.

Exemple de script bash

#!/bin/bash

echo "Scan en cours..."
gowitness scan file --file urls.txt

echo "Lancement du serveur..."
gowitness server

Vous lancez tout en une seule commande.

Intégration avec d’autres outils

GoWitness fonctionne très bien avec :

Exemple :

gau example.com | gowitness scan file

Vous récupérez des URLs + capture automatique = combo puissant.

👉 Pour aller plus loin : Tout savoir sur le Symbole pipe, commande pipeline

Bonnes pratiques

Quelques conseils simples mais essentiels :

  • évitez de scanner des sites sans autorisation
  • limitez la vitesse pour ne pas surcharger un serveur
  • organisez vos scans par projet
  • nettoyez régulièrement la base

Tableau récapitulatif des commandes GoWitness

CatégorieCommandeDescriptionFlags importants
Scan Uniquegowitness scan singleCapture une seule URL.-u (url), --write-db
Scan Listegowitness scan fileCapture une liste d’URLs depuis un fichier.-f (fichier), --threads
Serveur Webgowitness report serverLance l’interface de visualisation.--db-uri--port
Exportgowitness report exportExporte les résultats (CSV, etc.).--db-uri--format
Base de donnéesgowitness dbOutils pour manipuler la base SQLite.importexport

GoWitness n’est pas juste un outil technique de plus. C’est un véritable gain de temps pour tous ceux qui travaillent avec le web : développeurs, SEO, pentesters… et même les curieux.

Ce qui le rend puissant, ce n’est pas seulement sa capacité à capturer des pages, mais surtout la vision globale qu’il vous offre. En quelques minutes, vous passez d’une liste d’URLs abstraites à une compréhension visuelle concrète.

Et c’est souvent là que tout change.

Si vous prenez le temps de l’intégrer dans vos habitudes — que ce soit pour vos audits SEO ou vos projets web — vous verrez rapidement la différence.

Alors maintenant, à vous de jouer : lancez votre premier scan… et laissez GoWitness travailler pour vous.

👉 Pour aller plus loin avec les captures d’écran, découvrez comment faire un screenshot d’une page entière.