# libere-tes-chaine-de-mots

![screenshot-lcm-demo001.png](images/screenshot-lcm-demo001.png)

Je te présente Libère tes chaînes de mots, mon nouveau projet de moteur de recherche de publications sur les médias sociaux et autres plateformes web.

Ce logiciel est construit avec le moteur de recherche OpenSearch et du code Python et R. Je réutilise du code de mon ancien projet Libère tes chaînes de mots, que j'avais lancé il y a 2 ans.

Il permet d'explorer nos données de publications exportées depuis les plateformes. Actuellement LinkedIn, Facebook, Instagram et Wordpress sont supportés. D'autres plateformes viendront sous peu dont les podcasts en RSS, Threads et les infolettres.

<iframe title="Libère tes chaînes de mots - Un moteur de recherche de publications" width="560" height="315" src="https://videos.jevalide.ca/videos/embed/5b86317a-01d2-4460-8889-d15cd6056b5b" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>

- Vidéo démo disponible ici: https://videos.jevalide.ca/w/civfiTK5RQiEYLoMhonWPV

- Code disponible ici: https://git.jevalide.ca/lcm/libere-tes-chaine-de-mots (tu es ici en ce moment)

- Soutien disponible en mode consultation express: https://jevalide.ca/express


# Installation

Pour utiliser cet outil, tu as besoin d'installer des logiciels, d'obtenir tes données de sauvegarde et ensuite d'exécuter des scripts.

## Logiciels requis

- [Docker Desktop](https://www.docker.com/products/docker-desktop/)
- [Homebrew sur MacOS](https://brew.sh/) pour installer des trucs (si tu l'as pas déjà t'as manqué de quoi !)
- Git (Installer avec Homebrew sur Mac, [Git Bash](https://git-scm.com/downloads) sur Windows)
- Python (Installer avec Homebrew sur Mac, [Site officiel Python](https://www.python.org/downloads/windows/) sur Windows)
- R (pour commentaires LinkedIn seulement)
- Un IDE tel que [Visual Studio Code](https://code.visualstudio.com/) ou [IntelliJ IDEA](https://www.jetbrains.com/idea/)

## Obtenir les données

Tu peux obtenir une sauvegarde des données de tes réseaux sociaux. Je t'ai mis les instructions pour chaque réseau en PDF

### LinkedIn

- [Demander les fichiers de données pour le profil LinkedIn](demander_donnees/demander_linkedin.pdf)
- [Extraire les fichiers de données pour le profil LinkedIn](demander_donnees/extraire_linkedin.pdf)


### Instagram

- [Demander tes données de Facebook et Instagram](demander_donnees/demander_facebook_instagram.pdf)
- [Extraire les fichiers de données pour Instagram](demander_donnees/extraire_instagram.pdf)

### Facebook

- [Extraire les fichiers de données pour le profil personnel Facebook](demander_donnees/extraire_facebook_personnel.pdf)
- [Extraire les fichiers de données pour la page entreprise Facebook](demander_donnees/extraire_facebook_entreprise.pdf)
- [Demander tes données de Facebook et Instagram](demander_donnees/demander_facebook_instagram.pdf)

### Wordpress

- [Extraire les données de ton site Wordpress](demander_donnees/extraire_wordpress.pdf)

## Cloner le projet et initialiser le moteur de recherche

- Clone le projet avec Git
- Configure ton mot de passe en copiant .env.template dans .env et en y mettant un mot de passe de ton choix
- Exécute le fichier docker-compose.yml avec Docker Compose pour installer le moteur de recherche OpenSearch
- Connecte toi à OpenSearch Dashboards au http://localhost:5601 avec l'utilisateur `admin` et le mot de passe que tu as choisi ci-dessus
- Si tout fonctionne, tu vas accéder à l'interface

## Mettre les fichiers au bon endroit

- Crée la structure de répertoire en exécutant [00_creer_data_repo.py](import_data/00_creer_data_repo.py)
- Mets les fichiers au bon endroit dans la structure de répertoire en suivant cette capture d'écran

![ou-mettre-fichiers-reseaux.png](images/ou-mettre-fichiers-reseaux.png)

- Exécuter le fichier qui crée les index dans le moteur de recherche  [00_creer_reseauxsociaux.py](import_data/00_creer_reseauxsociaux.py)

- Ensuite exécuter tous les fichiers Python pertinents pour charger les données que tu as téléchargées. 
  - Pour les commentaires LinkedIn, il faut exécuter le programme R [32_importation_linkedin_comments.R](import_data/32_importation_linkedin_comments.R) avant le programme Python [32_importation_linkedin_comments.py](import_data/32_importation_linkedin_comments.py)

Ensuite, tu devrais pouvoir voir toutes les données que tu as chargées dans OpenSearch Dashboards sur http://localhost:5601. Va dans Discover / Search and find insights.

![opensearch-discover.png](images/opensearch-discover.png)

Ensuite change la plage de temps pour voir les données

![opensearch-changer-plage-temps.png](images/opensearch-changer-plage-temps.png)