Skip to content

Commit 495fa5c

Browse files
authored
Merge d33dc43 into 802955d
2 parents 802955d + d33dc43 commit 495fa5c

File tree

9 files changed

+129
-29
lines changed

9 files changed

+129
-29
lines changed

.github/workflows/browser-extension.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,53 @@ jobs:
3636
- name: Test
3737
run: pnpm test
3838

39+
build:
40+
runs-on: ubuntu-latest
41+
defaults:
42+
run:
43+
working-directory: browser-extension
44+
steps:
45+
- uses: actions/checkout@v2
46+
- uses: pnpm/action-setup@v4
47+
with:
48+
package_json_file: "browser-extension/package.json"
49+
- uses: actions/setup-node@v6
50+
with:
51+
node-version-file: "browser-extension/package.json"
52+
cache-dependency-path: "browser-extension/pnpm-lock.yaml"
53+
cache: pnpm
54+
- name: Install dependencies
55+
run: pnpm install
56+
- name: Build extension zip
57+
run: pnpm zip
58+
59+
- uses: actions/upload-artifact@v4
60+
id: upload-bth-extension-artifact
61+
if: false
62+
with:
63+
if-no-files-found: error
64+
name: bth-extension.zip
65+
path: ${{github.workspace}}/browser-extension/.output/
66+
retention-days: 30
67+
68+
- name: Comment PR with extension artifacts link
69+
if: github.event_name == 'pull_request' && steps.upload-bth-extension-artifact.outcome == 'success'
70+
uses: thollander/actions-comment-pull-request@v3
71+
with:
72+
message: |
73+
Extension build artifacts: <${{ steps.upload-bth-extension-artifact.outputs.artifact-url }}>
74+
comment-tag: extension-artifacts
75+
76+
- name: Update assets on extension-latest release
77+
uses: "marvinpinto/action-automatic-releases@v1.2.1"
78+
## if: github.ref == 'refs/heads/main'
79+
with:
80+
repo_token: "${{ secrets.GITHUB_TOKEN }}"
81+
automatic_release_tag: "extension-latest"
82+
prerelease: true
83+
title: "Extension Development Build"
84+
files: browser-extension/.output/
85+
3986
e2e-tests:
4087
defaults:
4188
run:

browser-extension/.env.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#VITE_BACKEND_API_BASE_URL=http://localhost:8000

browser-extension/CONTRIBUTING.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Comment développer l'extension
2+
3+
# Installer l'environnement de dev
4+
5+
- Installer pnpm
6+
- `pnpm install` dans le répertoire browser-extension
7+
8+
## Installer l'extension en mode dev dans Chrome
9+
10+
- Lancer `pnpm dev` qui lance un serveur
11+
- Charger le répertoire .output/chrome-mv3-dev comme extension non empaquetée (voir https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world#load-unpacked)
12+
13+
A partir de là la plupart des changements sont propagés automatiquement dans l'extension navigateur sans besoin de rafraichir manuellement l'extension.
14+
15+
## Vérifier les changements
16+
17+
Verifier le formattage et le lint de code:
18+
19+
- `pnpm format` format le code avec prettier
20+
- `pnpm lint` lint le code avec eslint
21+
- `pnpm lint:fix` lint le code et fix les issues qu'il peut corriger automatiquement
22+
23+
Lancer les tests automatiques:
24+
25+
- `pnpm test` lance les tests unitaires basé sur vitest
26+
- `pnpm test:e2e` lance les tests end-to-end avec Playwright
27+
28+
# Configurer l'extension pour pointer vers le backend de classification locale
29+
30+
Par défaut l'extension utilise le backend de classification déployé en staging.
31+
Pour utiliser un backend déployé localement: copier `.env.example` vers `.env` et décommenter la ligne `VITE_BACKEND_API_BASE_URL=http://localhost:8000`
32+
33+
Voir dans [](../backend/README.md) pour comment démarrer le backend.
34+
35+
# Ajouter des composants de la library UI shadcn
36+
37+
Explorer les composants ici: https://ui.shadcn.com/docs/components
38+
Lancer la commande indiquée dans la doc du composant pour l'installer
39+
e.g. `pnpm dlx shadcn@latest add accordion`
40+
41+
# Architecture
42+
43+
## Documentation d'architecture
44+
45+
[Voir la doc d'architecture frontend](../docs/frontend)
46+
47+
## Stack de l'extension:
48+
49+
- [wxt](https://wxt.dev/) framework pour faciliter le dev de web-extension
50+
- [React](https://fr.react.dev/)
51+
- [shadcn/ui](https://ui.shadcn.com/docs) comme library de composants
52+
- [tanstack query](https://tanstack.com/query/latest)
53+
- [vitest](https://vitest.dev/) comme framework de test
54+
- prettier comme formatter
55+
- eslint comme linter

browser-extension/README.md

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,39 @@
11
# Extension Navigateur Balance Tes Haters
22

3-
Cette extension permet de capturer les commentaires depuis des publications réseau sociaux.
3+
Cette extension permet de capturer les commentaires depuis des publications des réseaux sociaux.
44

5-
# Contributing
5+
# Pour contribuer
66

7-
Stack de l'extension:
7+
Voir [./CONTRIBUTING.md](./CONTRIBUTING.md)
88

9-
- [wxt](https://wxt.dev/) framework pour faciliter le dev de web-extension
10-
- [React](https://fr.react.dev/)
11-
- [shadcn/ui](https://ui.shadcn.com/docs) comme library de composants
12-
- [tanstack query](https://tanstack.com/query/latest)
13-
- [vitest](https://vitest.dev/) comme framework de test
14-
- prettier comme formatter
15-
- eslint comme linter
9+
# Installer l'extension
1610

17-
## Installation
11+
(Pour installer en mode dev voir [./CONTRIBUTING.md](./CONTRIBUTING.md))
1812

19-
- Installer pnpm
20-
- `pnpm install` dans le repertoire extension
13+
Pour installer depuis un zip:
2114

22-
## Mode dev (avec chrome)
15+
- Télécharger le zip
16+
- Dézipper le fichier et copier le chemin vers le répertoire dézippé
17+
- Ouvrir Google Chrome
18+
- Accéder à la page "Extensions" en cliquant sur le menu "..." > "Extensions" > "Gérer les extensions":
19+
- Activez le mode développeur en cliquant sur le bouton en haut à droite
20+
- Cliquez sur le bouton "Charger l'extension non empaquetée", puis sélectionnez le répertoire où l'extension a été dézippée plus haut.
21+
![Menu](doc/install-step1.png)
22+
![Page gérer les extensions](doc/install-step2.png)
2323

24-
- Lancer `pnpm dev`
25-
- Charger le répertoire .output/chrome-mv3-dev comme extension non empaqueté (see https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world#load-unpacked)
24+
3. Épingler l'extension en cliquant sur le bouton puzzle puis sur l'épingle à côté de l'extension
25+
![Epingler l'extension](doc/install-setp3.png)
2626

27-
A partir de là la plupart des changements sont propagé automatiquement dans l'extension navigateur sans besoin de rafraichir manuellement l'extension.
27+
# Utiliser l'extension
2828

29-
## Ajouter de composants le la library ui shadcn
29+
## Faire une capture
3030

31-
Explorer les composants ici: https://ui.shadcn.com/docs/components
32-
Lancer la commande indiquer dans la doc du composant pour l'installer
33-
e.g. `pnpm dlx shadcn@latest add accordion`
31+
1. Naviguer vers une publication pour laquelle une capture est supportée :
32+
- Pour YouTube il s'agit d'une vidéo avec une URL de la forme https://www.youtube.com/watch?v=videoid
33+
- Pour instagram il s'agit d'un post avec une url de la forme instagram.com/p/C56ZonItOfO/
34+
2. Lancer la capture en cliquant sur le bouton de l'extension à coté de la barre d'adresse puis sur "Analyser ce post" dans la popup
35+
![Analyser ce post](doc/analyser-post.png)
3436

35-
## Scripts pnpm
37+
## Voir les résultats
3638

37-
- `pnpm dev` démarrage de l'extension en mode dev (voir ci dessus)
38-
- `pnpm test` lance les tests unitaires
39-
- `pnpm format` format le code avec prettier
40-
- `pnpm lint` lint le code avec eslint
41-
- `pnpm lint:fix` lint le code et fix les issues qu'il peut corriger automatiquement
42-
- `pnpm check-all` lance toute les vérifications
39+
Cliquer sur le bouton de l'extension à côté de la barre d'adresse puis sur "Voir les analyses précédentes" dans la popup
96.8 KB
Loading
38.4 KB
Loading
14.8 KB
Loading
16.3 KB
Loading

browser-extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"format:check": "prettier --check .",
2020
"test": "vitest",
2121
"check-all": "pnpm lint && pnpm format:check && pnpm test run && pnpm compile",
22-
"test:e2e": "playwright test",
22+
"test:e2e": "playwright test --retries=3",
2323
"test:e2e:ui": "playwright test --ui",
2424
"test:e2e:debug": "playwright test --debug",
2525
"test:e2e:report": "playwright show-report"

0 commit comments

Comments
 (0)