📥Générer un rapport
Exporter des données d'une ou plusieurs importations, ou d'une analyse, vers Google Cloud Storage sous forme de fichiers CSV thématiques.
Principe général
Objectif
Comprendre ce que produit l'exporter et comment retrouver les fichiers générés.
Étapes
- 1
L'exporter génère un ou plusieurs fichiers CSV stockés dans le bucket GCS `gs://reports-exporter/exports/{job_id}/`. Chaque type de rapport produit un fichier CSV distinct dans ce dossier.
- 2
Le job est dispatché via Cloud Tasks (queue `exporter`). L'appel API retourne immédiatement un `job_id` ; chaque rapport est ensuite traité en parallèle dans des sous-tâches séparées.
- 3
Pour les jeux de données volumineux, l'exporter bascule automatiquement vers BigQuery au-delà d'un seuil configurable (`bq_threshold`, défaut 300 000 lignes). En dessous de ce seuil, la requête est exécutée directement sur Cloud SQL.
✓ Résultat attendu
Chaque rapport demandé produit un fichier `{report_type}_{timestamp}.csv` dans le dossier GCS `exports/{job_id}/`.
Choisir le périmètre : importations ou analyse
Objectif
Comprendre les deux modes de sélection et les rapports que chacun rend disponibles.
Étapes
- Après le Client et le Projet, l'option Exporter à partir de propose deux modes exclusifs. Changer de mode vide la sélection de l'autre mode.
- 1
Renseignez le périmètre selon le mode choisi :
Champ Description Exemple Importations Une ou plusieurs importations du projet (au moins une). Permet tous les rapports qui ne dépendent pas d'une analyse. #128 Élections X, #131 Élections TikTok Analyse Une analyse du projet. Ses importations sont déduites automatiquement de sa déclaration et affichées sous le sélecteur. Si l'analyse ne déclare pas ses collectes, toutes les importations du projet sont utilisées (pastille orange « Toutes les collectes du projet — périmètre non déclaré par l'analyse ») : les rapports d'analyse restent bornés à l'analyse, mais les rapports généraux portent alors sur tout le projet. #42 Topic mining élections Prompts LLM (optionnel) Un ou plusieurs prompts de classification LLM, disponibles dans les deux modes. Ils débloquent les rapports du groupe LLM Classification. #7 Classification ton politique Rapports disponibles selon le périmètre
Champ Description Exemple Général, Posts, Liens, Interactions, Comptes, Contenu Toujours disponibles (importations ou analyse). distinct_posts, accounts, hashtags Topic Modeling, Narrative Filtering, Coordination Mode **Analyse** uniquement. topic_modelling_raw, coordination_clusters accounts_llm_classification Dès qu'un **prompt LLM** est choisi, dans les deux modes (ce rapport n'utilise pas l'analyse). Importations #128 + prompt #7 distinct_posts_llm_classification Mode **Analyse** et au moins un **prompt LLM** : la classification est lue sur les segments de l'analyse. Analyse #42 + prompt #7 - Les rapports déjà cochés qui ne sont plus permis par le périmètre (changement de mode, analyse ou prompt retiré) sont décochés automatiquement.
Schéma
Molette pour zoomer · Cliquer-glisser pour naviguer
✓ Résultat attendu
La section 2 n'affiche que les rapports compatibles avec le périmètre, et le récapitulatif en bas de page indique « N importation(s) » ou « analyse #id · N collecte(s) ».
Types de rapports disponibles
Objectif
Choisir les bons types de rapports selon le besoin d'analyse.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Pour les rapports Topic Modeling, Narrative Filtering, Coordination et distinct_posts_llm_classification : choisir le mode Analyse.
Étapes
- 1
Groupe Général
Champ Description Exemple importations Liste des importations et projets disponibles dans le SDS. Ne dépend d'aucun filtre de date. stats_importations Statistiques agrégées par importation : nombre de posts, d'auteurs, et sommes des engagements, réactions, partages, commentaires. - 2
Groupe Posts — données brutes des publications
Champ Description Exemple distinct_posts Liste dédupliquée des posts (un post = une ligne). Ne contient pas les relations de citation/partage. all_posts Tous les posts avec leurs relations de citations, partages et commentaires (plusieurs lignes possibles par post source). distinct_posts_with_media Posts distincts associés à un média (image / vidéo). Le type de média est filtrable. posts_by_date Volume de posts agrégé par date de publication (1 ligne = 1 date). - 3
Groupe Liens — analyse des URLs et domaines partagés
Champ Description Exemple urls Agrégation des posts par URL présente dans le texte : nombre de posts, auteurs, engagements. domains Agrégation des posts par nom de domaine extrait des URLs. related_posts_to_domains Posts contenant au moins un des domaines spécifiés dans le champ **Domaines** (requis). Retourne les posts complets. - 4
Groupe Interactions — citations et partages
Champ Description Exemple citations Posts cités (quote tweets / citations). Filtrables par date de republication (`citation_start_date` / `citation_end_date`). repartages Posts repartagés (retweets / reshares). Filtrables par date de republication. - 5
Groupe Comptes — profils des auteurs
Champ Description Exemple accounts Comptes auteurs des posts. Filtrables par date de création du compte (`registered_start_date` / `registered_end_date`). user_profiles Export brut de la table des comptes pour les importations du périmètre. Aucun filtre de date ni de type de post. mentions Comptes mentionnés dans les posts (agrégation par compte mentionné). quoted_accounts Comptes dont les posts ont été cités. Filtrables par date de création du compte. shared_accounts Comptes dont les posts ont été repartagés. Filtrables par date de création du compte. - 6
Groupe Contenu — analyse textuelle
Champ Description Exemple hashtags Agrégation des posts par hashtag : volume, portée, engagements. ner Agrégation des posts par entités nommées reconnues (NER) : personnes, organisations, lieux. distinct_posts_with_ner Posts distincts enrichis de leurs entités nommées (1 ligne = 1 post avec ses entités en colonnes ou en JSON). - 7
Groupe Coordination — détection de comportements coordonnés *(mode Analyse)*
Champ Description Exemple coordination_clusters Un cluster de coordination par ligne : identifiant, taille, métriques de coordination. all_posts_coordination_clusters Tous les posts associés à leur cluster de coordination (1 ligne = 1 post avec son `cluster_id`). - 8
Groupe Topic Modeling — non-annotés *(mode Analyse)*
Champ Description Exemple topic_modelling_raw Chunks (segments textuels) associés à leur topic numérique brut issu du topic modeling. topic_modelling_aggregated Posts agrégés depuis leurs chunks, avec leur topic dominant. topics_representation Représentation statistique de chaque topic : volume de posts, part relative, mots-clés représentatifs. users_representation Répartition des utilisateurs par topic dominant. - 9
Groupe Topic Modeling — annotés *(mode Analyse, analyse annotée)*
Champ Description Exemple raw_labels Chunks associés à leur label d'annotation (sortie brute après annotation des topics). agregated_labels Posts agrégés depuis leurs chunks, avec leur label dominant. labels_representation Représentation statistique de chaque label : volume, part, liste des utilisateurs. users_representation_labels Répartition des utilisateurs par label dominant. - 10
Groupe Narrative Filtering *(mode Analyse)*
Champ Description Exemple distinct_posts_matching_narratives Posts distincts correspondant à au moins un narratif de la base de référence, avec le ou les narratifs matchés. - 11
Groupe LLM Classification *(nécessite au moins un prompt LLM)*
Champ Description Exemple distinct_posts_llm_classification Posts distincts enrichis de leur classification LLM. Nécessite en plus le mode Analyse. accounts_llm_classification Comptes auteurs enrichis de leur classification LLM. Disponible aussi en mode Importations.
✓ Résultat attendu
Chaque groupe produit un CSV indépendant dans le dossier GCS du job.
Erreurs fréquentes
| Erreur | Cause probable | Solution |
|---|---|---|
| Rapports Topic Modeling, Narrative Filtering, Coordination ou LLM absents de la liste | Le périmètre choisi ne les permet pas. | Passez en mode **Analyse** et choisissez une analyse (étape 1). Pour le groupe LLM Classification, sélectionnez aussi au moins un **Prompt LLM** ; `distinct_posts_llm_classification` exige les deux. |
Paramètres et filtres
Objectif
Configurer les filtres temporels, les types de posts inclus et les options avancées.
Étapes
- 1
Filtres de contenu (toggles — s'appliquent à tous les rapports)
Champ Description Exemple inclure_original Inclure les posts originaux (non cités, non repartagés). Activé par défaut. true inclure_citations Inclure les posts qui citent d'autres posts (quote tweets). true inclure_retweets Inclure les posts retweetés : le post d'origine relayé, attribué à son auteur (pastille « Posts retweetés »). true inclure_reposts Inclure les retweets eux-mêmes, attribués au compte qui retweete (pastille « Retweets »). Absent : prend la valeur de inclure_retweets. Les deux portent le même texte : pour exclure tout retweet, décocher les deux. true inclure_comments Inclure les commentaires / réponses. Activé par défaut. true - 2
Filtres de dates
Champ Description Exemple start_date / end_date Période de publication des posts. S'applique à la majorité des rapports. 2025-01-01 → 2025-03-31 citation_start_date / citation_end_date Période de republication. Visible uniquement si `citations` ou `repartages` est sélectionné. 2025-02-01 → 2025-02-28 registered_start_date / registered_end_date Période de création des comptes. Visible uniquement si `accounts`, `quoted_accounts` ou `shared_accounts` est sélectionné. 2020-01-01 → 2023-12-31 - 3
Champ Domaines (visible uniquement pour `related_posts_to_domains`)
Champ Description Exemple domains Liste de noms de domaine à filtrer, un par ligne ou séparés par des virgules. youtube.com x.com t.me - 4
Paramètres avancés
Champ Description Exemple bq_threshold Seuil de lignes au-delà duquel BigQuery est utilisé à la place de Cloud SQL. Défaut : 300 000. Augmenter ce seuil force Cloud SQL (plus rapide sur petits volumes) ; abaisser ce seuil force BigQuery (recommandé sur très grands jeux de données). 300000
✓ Résultat attendu
Les filtres réduisent le périmètre des données extraites sans modifier la structure des CSV produits.
Erreurs fréquentes
| Erreur | Cause probable | Solution |
|---|---|---|
| Le rapport `related_posts_to_domains` échoue | Le champ Domaines est vide. | Renseignez au moins un domaine dans le champ **Domaines** avant de lancer l'export. |
| Export très lent ou timeout | Le volume de données dépasse le seuil BigQuery mais `bq_threshold` est trop élevé. | Abaissez `bq_threshold` (ex. 100 000) pour forcer l'utilisation de BigQuery sur les grands volumes. |
Lancer un export
Objectif
Générer des fichiers CSV et retrouver le dossier GCS correspondant.
Prérequis
- Avoir au moins une importation avec des données collectées.
- Pour les rapports d'analyse : avoir une analyse sur le projet.
Étapes
- 1
Dans la barre latérale, cliquez sur Générer un rapport.
- 2
Sélectionnez le Client et le Projet, puis le périmètre : une ou plusieurs Importations, ou une Analyse (voir « Choisir le périmètre »). Ajoutez un ou plusieurs Prompts LLM pour les rapports LLM Classification.
- 3
Cochez les types de rapports souhaités. Plusieurs rapports peuvent être sélectionnés simultanément — chacun produira un CSV indépendant.
- 4
Configurez les filtres (toggles de contenu, dates, domaines) et les paramètres avancés si nécessaire.
- 5
Cliquez sur Générer le rapport. Un `job_id` est retourné immédiatement. Les fichiers sont produits de façon asynchrone dans `gs://reports-exporter/exports/{job_id}/`.
✓ Résultat attendu
L'interface affiche le `job_id` et le chemin GCS `gs://reports-exporter/exports/{job_id}/`. Chaque rapport demandé est disponible sous la forme `{report_type}_{timestamp}.csv` dans ce dossier.
Erreurs fréquentes
| Erreur | Cause probable | Solution |
|---|---|---|
| Bouton « Générer le rapport » désactivé | Périmètre vide (aucune importation, ou analyse non choisie), aucun type de rapport coché, ou une date de début postérieure à la date de fin. | Vérifiez que l'étape 1 (périmètre) et l'étape 2 (au moins un rapport) sont complétées, et corrigez les dates signalées en rouge. |
| Fichier CSV absent ou vide | Aucun post ne correspond aux filtres appliqués, ou la collecte n'a pas encore produit de données. | Retirez les filtres de date et vérifiez que l'importation contient des données collectées. |