Skip to content

Commit

Permalink
✨Support du média Le Télégramme (#200)
Browse files Browse the repository at this point in the history
* ✨Support du média Le Télégramme

Close #197

* 💄 Corrige l'apparence du bouton sur le Télégramme

* 📝 Met à jour le README

* 📝 Corrige des typos

* 📝 Applique un commentaire de review

Co-authored-by: Ophir LOJKINE <[email protected]>

* 📝 Applique un commentaire de review

Co-authored-by: Ophir LOJKINE <[email protected]>

* 🎨 Réapplique un choix de style JS

---------

Co-authored-by: Ophir LOJKINE <[email protected]>
  • Loading branch information
lnoss and lovasoa authored Jan 29, 2024
1 parent 83dd623 commit 5a3d2d0
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 58 deletions.
125 changes: 69 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,40 @@
# ophirofox ![icône Ophirofox](https://raw.githubusercontent.com/lovasoa/ophirofox/master/ophirofox/icons/48.png)

Une extension pour navigateurs qui permet de lire les articles du **Monde**, du **Figaro**, de **Libération** et du **Monde Diplomatique** sur son compte **Europresse**.
Une extension pour navigateurs qui permet de lire la plupart des titres de presse, comme les articles du **Monde**, du **Figaro**, de **Libération** et du **Monde Diplomatique** avec son compte **Europresse**.

[![Mozilla Firefox: download on mozilla addons](https://user-images.githubusercontent.com/552629/82738693-f4900f80-9d39-11ea-816c-1bddb73b6967.png)](https://github.com/lovasoa/ophirofox/releases/latest/download/ophirofox.xpi)
[![Google Chrome: download on the chrome web store](https://user-images.githubusercontent.com/552629/104166652-661ceb00-53fb-11eb-91c1-2db0718db66f.png)](https://chrome.google.com/webstore/detail/ophirofox/mmmjkgckgcpankonbgbianpnfenbhodf)

Comme illustré ci-dessous, l'extension ajoute un bouton **Lire sur Europresse** sur les articles réservés aux abonnés des journaux compatibles.

L'extension ajoute un bouton *Lire sur Europresse* sur les articles réservés aux abonnés du [monde.fr](https://www.lemonde.fr/) et d'autres sites d'information.
Ce bouton vous permet de vous connecter avec votre compte sur europresse via le site de votre université, et une fois authentifié,
d'être redirigé automatiquement vers une page de recherche europresse qui contient l'article du Monde original.
Ce bouton vous permet de vous connecter avec votre compte sur Europresse via le site de votre établissement, et une fois authentifié,
d'être redirigé automatiquement vers une page de recherche Europresse qui contient l'article souhaité. Un article peut prendre plusieurs heures avant d'être archivé par Europresse.

![Capture d'écran animée de démonstration de l'extension](https://user-images.githubusercontent.com/552629/93182919-98168d00-f73a-11ea-9518-175847fdc677.gif)


## Partenaires Europresse supportés

L'extension fonctionne avec les portails universitaires suivants :
- [La liste des universités et autres partenaires europresse qui fonctionnent se trouve sur le site web.](https://ophirofox.ophir.dev/#partenaires-europresse-support%C3%A9s)
L'extension supporte la majorité des portails universitaires, mais aussi d'autres partenaires d'Europresse. La liste exhaustive se trouve sur le [site Web de l'extension](https://ophirofox.ophir.dev/#partenaires-europresse-support%C3%A9s).

Si votre université n'est pas dans la liste, vous pouvez [l'ajouter](#comment-ajouter-un-nouveau-partenaire-europresse).
Si votre établissement n'est pas dans la liste, vous pouvez [l'ajouter](#comment-ajouter-un-nouveau-partenaire-europresse).

## Sites supportés

Les nouveau médias supportés sont mis à jour automatiquement avec l'extension.

### Presse nationale
- [L'Express](https://www.lexpress.fr/)
- [L'Humanité](https://www.humanite.fr)
- [L'Obs](https://www.nouvelobs.com/)
- [L'Opinion](https://www.lopinion.fr/)
- [La Croix](https://www.la-croix.com)
- [La Tribune](https://www.latribune.fr)
- [Le Figaro](https://www.lefigaro.fr/)
- [Le Monde Diplomatique](https://www.www.monde-diplomatique.fr)
- [Le Monde](https://www.lemonde.fr/)
- [Le Point](https://www.lepoint.fr)
- [Libération](https://www.liberation.fr/)
Voici la liste triée par ordre alphabétique :
- [La Croix](https://www.la-croix.com)
- [L'Express](https://www.lexpress.fr/)
- [L'Humanité](https://www.humanite.fr)
- [L'Obs](https://www.nouvelobs.com/)
- [L'Opinion](https://www.lopinion.fr/)
- [La Tribune](https://www.latribune.fr)
- [Le Figaro](https://www.lefigaro.fr/)
- [Le Monde](https://www.lemonde.fr/)
- [Le Monde Diplomatique](https://www.monde-diplomatique.fr)
- [Le Point](https://www.lepoint.fr)
- [Libération](https://www.liberation.fr/)

### Presse régionale
- [Corse Matin](https://www.corsematin.com/)
Expand All @@ -46,6 +47,7 @@ Si votre université n'est pas dans la liste, vous pouvez [l'ajouter](#comment-a
- [Nice-Matin](https://www.nicematin.com/)
- [Ouest France](https://www.ouest-france.fr/)
- [Sud Ouest](https://www.sudouest.fr/)
- [Le Télégramme](https://www.letelegramme.fr/)

### Presse étrangère
- [Courrier international](https://www.courrierinternational.com)
Expand All @@ -57,59 +59,70 @@ Si votre université n'est pas dans la liste, vous pouvez [l'ajouter](#comment-a
- [Le Temps (Suisse)](https://www.letemps.ch/)
- [Sudinfo (Belgique)](https://www.sudinfo.be/)

Vous pouvez proposer d'autres sites en ouvrant une [demande sur github](https://github.com/lovasoa/ophirofox/issues)
Vous pouvez proposer d'autres sites Web de médias en ouvrant une [demande ici-même](https://github.com/lovasoa/ophirofox/issues).

# Tester la dernière version

### Pour firefox
## Firefox sur ordinateur

- Installer [la dernière version d'Ophirofox](https://github.com/lovasoa/ophirofox/releases/latest).
- Pour les versions de Firefox plus récentes: il suffit de cliquer sur `ophirofox.xpi` et autoriser l'installation du module complémentaire.
- Pour les versions de Firefox plus anciennes: enregistrer le fichier `ophirofox.xpi` via un clic-droit, depuis le menu de Firefox ouvrir le gestionnaire des extensions, ouvrir les paramètres (roue dentée), sélectionner `Installer un module depuis un fichier`, sélectionner le fichier `ophirofox.xpi` précédemment téléchargé.
- Après installation, sélectionner dans les paramètres du module le nom de votre université.
1. Téléchargez la dernière version d'Ophirofox depuis les *releases* disponibles [ici](https://github.com/lovasoa/ophirofox/releases/latest) ;
2. Deux options en fonction de la version de Firefox :
- Pour les versions récentes : cliquez simplement sur `ophirofox.xpi` et autorisez l'installation du module complémentaire ;
- Pour les versions plus anciennes : enregistrez le fichier `ophirofox.xpi` en réalisant un clic droit, puis ouvrez le gestionnaire des extensions depuis le menu de Firefox. Ensuite, ouvrez les paramètres (représentés par une roue dentée), sélectionnez « Installer un module depuis un fichier », puis choisissez le fichier `ophirofox.xpi` que vous avez téléchargé précédemment ;
4. Une fois installée, allez dans les paramètres du module et choisissez le nom de votre établissement.

### Pour chrome
## Chrome, Edge et similaires sur ordinateur

ophirofox est [présent sur le Chrome Webstore](https://chrome.google.com/webstore/detail/ophirofox/mmmjkgckgcpankonbgbianpnfenbhodf), mais google prend parfois du temps à approuver une nouvelle version de l'extension. On peut suivre les instructions suivantes pour installer la dernière version sans passer par Google:

- [Téléchargez le code depuis github](https://github.com/lovasoa/ophirofox/archive/master.zip),
- décompressez-le, puis
- ouvrez l'adresse `chrome://extensions/`,
- activez le *developer mode*,
- et cliquez sur *load unpacked*,
- puis choisissez le dossier *ophirofox* à l'intérieur du code téléchargé.
Ophirofox est [présent sur le Chrome Web Store](https://chrome.google.com/webstore/detail/ophirofox/mmmjkgckgcpankonbgbianpnfenbhodf), mais Google prend parfois du temps à approuver une nouvelle version de l'extension. Les instructions suivantes peuvent êtres suivies pour installer la dernière version sans passer par Google :
- [Téléchargez le code source de l'extension](https://github.com/lovasoa/ophirofox/archive/master.zip) ;
- Décompressez-le ;
- Ouvrez l'adresse `chrome://extensions/` ;
- Activez le « *developer mode* » ;
- Et cliquez sur « *load unpacked* » ;
- Puis choisissez le dossier *ophirofox* à l'intérieur du code téléchargé.

<img width="624" alt="image" src="https://user-images.githubusercontent.com/552629/94343918-dbff7100-001b-11eb-86e4-df66e15bc6f6.png">

### Pour mobile
## Android avec Firefox

Depuis la version 122 de Firefox publiée le 23 janvier 2024, il est maintenant possible d'installer une extension non publiée sur le Web Store de Mozilla en activant les paramètres avancés sur Android. Les étapes à suivre sont :
- Téléchargez le fichier `ophirofox.xpi` depuis les *releases* [ici](https://github.com/lovasoa/ophirofox/releases/latest) ,
- Allez dans Paramètres de Firefox, direction « À propos de Firefox » ;
- Tapez 10 fois sur le logo Fenix de Firefox ;
- Revenez en arrière, une nouvelle option apparaît « Installer un module complémentaire à partir d'un fichier » ;
- Sélectionnez le fichier `ophirofox.xpi` depuis le répertoire où vous l'avez sauvegardé.

À terme, Firefox devrait proposer une manière plus simple d'installer manuellement des extensions.

## Userscript pour des besoins spécifiques

Un projet annexe récupère la dernière version publiée de l'extension sur ce dépôt et la concatène en un seul *userscript*. Ce script est un fichier qui peut être installer par l'intermédiaire d'autres extensions, comme Greasemonkey, Tampermonkey, ou Violentmonkey.

Si vous souhaitez utiliser ophirofox sur un téléphone android, vous pouvez vous référer à [ces instruction](https://github.com/lovasoa/ophirofox/issues/139).
Le projet annexe *ophirofox-userscript* [se trouve ici](https://github.com/Write/ophirofox-userscript).

# Comment ajouter un nouveau partenaire Europresse

Si votre établissement a un portail Europresse, vous pouvez facilement ajouter son support à cette extension.

1. Créez un compte sur [github](https://github.com).
2. Sur github, ouvrez [le fichier `manifest.json` de l'extension](https://github.com/lovasoa/ophirofox/blob/master/ophirofox/manifest.json).
3. Cliquez sur le crayon pour éditer le fichier.
4. Ajoutez votre université à la liste des partenaires Europresse supportés, en suivant le modèle des autres universités.
- Dans la section qui contient toutes les URLs au format `https://nouveau-europresse-com.proxy.univ-xyz.fr/*`, ajoutez une ligne avec l'URL du proxy europresse de votre université.
1. Créez un compte sur [github](https://github.com) ;
2. Sur Github, ouvrez [le fichier `manifest.json` de l'extension](https://github.com/lovasoa/ophirofox/blob/master/ophirofox/manifest.json) ;
3. Cliquez sur le crayon pour éditer le fichier ;
4. Ajoutez votre établissement à la liste des partenaires Europresse supportés, en suivant le modèle des autres universités.
- Dans la section qui contient toutes les URLs au format `https://nouveau-europresse-com.proxy.univ-xyz.fr/*`, ajoutez une ligne avec l'URL du proxy Europresse de votre établissement ;
- Dans la section qui contient tous les objets au format
`{ "name": "Université XYZ", "AUTH_URL": "https://proxy.univ-xyz.fr/login?url=https://nouveau.europresse.com/access/ip/default.aspx?un=CODE_UNIVERSITE" }`
, ajoutez un objet avec le nom de votre université et l'URL de son lien de connexion europresse. Vous pouvez trouver l'URL de connexion en vous connectant à votre portail d'université, puis en faisant un clic droit sur le lien de connexion à Europresse et en choisissant *Copier l'adresse du lien*. Conservez l'ordre alphabétique des universités. Faites attention au format de l'URL, qui doit contenir le code europresse de l'établissement.
5. Cliquez sur *Propose file change*.
6. Indiquez le nom de votre université dans le champ *Propose file change*.
7. Cliquez sur *Create pull request*.

# Comment cela fonctionne

1. L'extension injecte un script dans toutes les pages des journaux supportés pour détecter les articles payants.
Lorsqu'un article est détecté, l'extension lui ajoute un lien intitulé *Lire sur Europresse* qui pointe vers
la page de connexion europresse de l'université sélectionnée par l'utilisateur.
Lorsque l'utilisateur clique sur le lien, le titre de l'article est extrait de la page actuelle,
et conservée dans l'espace de stockage local de l'extension pour être réutilisé ensuite.
2. Quand l'utilisateur se retrouve sur la page d'accueil d'Europresse, après s'être connecté, l'extension utilise le titre stocké à l'étape précédente pour lancer une recherche europresse. Le titre est ensuite tout de suite supprimé de l'espace de stockage local.
3. Lorsque l'utilisateur ouvre l'article, l'extension supprime l'horrible surlignage jaune qui est ajouté par défaut par Europresse.
`{ "name": "Université XYZ", "AUTH_URL": "https://proxy.univ-xyz.fr/login?url=https://nouveau.europresse.com/access/ip/default.aspx?un=CODE_UNIVERSITE" }`, ajoutez un objet avec le nom de votre université et l'URL de son lien de connexion Europresse.
Vous pouvez trouver l'URL de connexion en vous connectant à votre portail d'université, puis en faisant un clic droit sur le lien de connexion à Europresse et en choisissant « Copier l'adresse du lien ». Conservez l'ordre alphabétique des universités. Faites attention au format de l'URL qui doit contenir le code Europresse de l'établissement.
5. Cliquez sur « *Propose file change* » (ou proposer une modification).
6. Indiquez le nom de votre université dans le champs.
7. Cliquez sur « *Create pull request* » (ou créer une demande de tirage).

# Comment l'extension fonctionne

1. L'extension injecte un script dans toutes les pages des médias supportés pour détecter les articles payants ;
2. Lorsqu'un article est détecté l'extension ajoute un lien intitulé vers la page de connexion Europresse de l'établissement sélectionné par l'utilisateur ;
3. Lorsque l'utilisateur clique sur le lien, le titre de l'article est extrait et conservée dans l'espace de stockage local de l'extension pour être réutilisé par la suite ;
4. Quand l'utilisateur se retrouve sur la page d'accueil d'Europresse, après s'être connecté, l'extension utilise le titre stocké à l'étape précédente pour lancer une recherche. Le titre est parallèlement supprimé de l'espace de stockage local.
5. Lorsque l'utilisateur ouvre l'article, l'extension supprime l'horrible surlignage jaune qui est ajouté par défaut par Europresse.

# License

Expand Down
3 changes: 3 additions & 0 deletions ophirofox/content_scripts/le-telegramme.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.ophirofox-europresse {
margin-bottom: 24px;
}
21 changes: 21 additions & 0 deletions ophirofox/content_scripts/le-telegramme.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
function extractKeywords() {
return document.querySelector("h1").textContent;
}

async function createLink() {
const a = await ophirofoxEuropresseLink(extractKeywords());
a.classList.add("tlg-btn", "tlg-btn-premium");
return a;
}

function findPremiumBanner() {
return document.querySelector(".tlg-article-premium");
}

async function onLoad() {
const premiumBanner = findPremiumBanner();
if (!premiumBanner) return;
premiumBanner.after(await createLink());
}

onLoad().catch(console.error);
16 changes: 14 additions & 2 deletions ophirofox/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,18 @@
"css": [
"content_scripts/sudinfo.css"
]
},
{
"matches": [
"https://www.letelegramme.fr/*"
],
"js": [
"content_scripts/config.js",
"content_scripts/le-telegramme.js"
],
"css": [
"content_scripts/le-telegramme.css"
]
}
],
"browser_specific_settings": {
Expand Down Expand Up @@ -836,7 +848,7 @@
{
"name": "Université de Tours",
"AUTH_URL": "https://proxy.scd.univ-tours.fr/login?url=https://nouveau.europresse.com/access/ip/default.aspx?un=butours"
},
},
{
"name": "Université de Versailles St-Quentin-en-Yvelines",
"AUTH_URL": "https://ezproxy.universite-paris-saclay.fr/login?url=http://nouveau.europresse.com/access/ip/default.aspx?un=U031535T_1"
Expand All @@ -848,4 +860,4 @@
]
}
}
}
}

0 comments on commit 5a3d2d0

Please sign in to comment.