Réglages proxy dans TXM

Objectif

[SJ: En cours de rédac] Permettre l'installation, le lancement et le bon fonctionnement de TXM sur une machine étant connectée à Internet via un proxy.

État de la situation

On distingue plusieurs moments pour différents composants dans différents systèmes concernant la gestion des proxy :

  • à l'installation de TXM : en Linux et Mac on accède au réseau pour installer des composants complémentaires
    • packages Linux : accès repository Ubuntu
    • packages R : accès repository R
  • au démarrage de TXM : un proxy non configuré provoque des latences
  • lors de mises à jour :
    • R
    • RCP
  • pour ouvrir des pages web

La stratégie adoptée aide les situations de proxy à ne pas subir de timeout trop longs au deuxième lancement lors de la recherche des mises à jour.

On peut choisir la stratégie inverse qui favorise les situations sans proxy (majoritaires) : mieux prévenir dans les boites de dialogue et la documentation de l'installation d'opérations possibles lors de timeouts provoqués par un proxy non réglé.

En attendant, on documente comment régler a priori :

  • salle de cours :
    • soit le script de lancement (pratique pour une salle de cours)
    • soit TXM.ini du logiciel
  • machine personnelle :
    • soit TXM.ini de l'utilisateur, en considérant que TXM a déjà été lancé au moins une fois

Développements

Historique

  • Depuis la mise en place des maj dans TXM 0.7.5 beta, lorsqu'une personne est connectée derière un proxy, elle rencontre plusieurs problèmes :
    • Mises à jour impossible
    • Timeout HTTP au démarrage et à la validation des préférences
  • Dans TXM 0.7.5 stable,
    • nous avons rendu disponible la page de préférence de réglage du proxy.
    • Mais reste toujours les timeouts.
  • Dans TXM 0.7.6, nous avons
    • rajouté les plugins org.eclipse.net et ses fragments pour les architectures Windows et Linux. Il n'existe pas de plugin pour Mac OS X. Ces plugins activent la préférence “Native” pour le provider dans les options de la RCP qui permet à la RCP d'utiliser la même configuration Internet que celle de l'OS.
    • Or depuis cette version, au démarrage de TXM, une vérification des packages R est faite. Cette vérification peut lancer des installations ou mise à jour de packages. Problème R doit être lui aussi configuré pour le proxy : #868

Méthode

Il faut arriver à reproduire le bug. Pour l'instant seul Sébastien y arrive. Pour reproduire le bug, on peut essayer de reproduire le timeout :

  • Débrancher sa connexion
    • test de MD sous Linux, il faut aussi tester sous Windows : pas de problème
  • Configurer un accès proxy (public) : http://www.freeproxylists.net/fr
    • tes tde MD sous Mac OS X 10.6 : pas de problème

Plusieurs propositions de résolution (à détailler) :

  • Forcer l'utilisation de la configuration du système
  • Tester l'accès à Internet et activer ou pas le mécanisme de mise à jour

État de la plateforme

Avancement dans l'élaboration de la solution

[WIP]

Réglages actuels définis pour la couche à utiliser dans la RCP dans le cas d'une connexion sous proxy et valeurs des time out et du nombre de retries.

\-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient4
\-Dorg.eclipse.ecf.provider.filetransfer.retrieve.connectTimeout=3000
\-Dorg.eclipse.ecf.provider.filetransfer.retrieve.retryAttempts=2

Installation

Linux

L'installation des dépendances ne pose pas de problème sous proxy, les connections utilisant par défaut la configuration de l'OS. Idem, si R n'est pas installé, il est installé depuis le gestionnaire de packages utilisant par défaut la configuration de l'OS. La configuration du proxy de l'OS est passée à R avant l'installation des packages R en ligne.

Windows

Aucune connexion n'est utilisée lors de l'installation de TXM sous Windows, ni pour TXM, ni pour R ou ses packages.

Mac OS X

Pas d'installation de dépendances en ligne. Si R n'est pas installé, il est installé depuis un .pkg fourni avec le setup, il n'y a donc pas non plus de connexion pour l'installation de R. La configuration du proxy de l'OS est passée à R avant l'installation des packages R en ligne.

Exécution

Actuellement TXM sous Windows et Linux utilise les implémentations natives du plug-in RCP “org.eclipse.net” pour récupérer la configuration proxy de l'OS et la stocker dans les préférences (Network connection\Provider\Native) au premier lancement de TXM. Ce plug-in n'existe pas pour la cible MAC OS.

A chaque lancement de TXM, TXM lance R en lui passant les réglages de proxy de l'OS. La préférence Network connection\Provider\Native n'est pas liée à R. Changer la préférence ne change pas les réglages de connexion de R.

Le job des mises à jour ne se fait pas complètement dans une boîte de dialogue que l'on peut annuler/arrêter. Un traitement dans le processus de mise à jour semble encore se faire dans un thread bloquant l'UI.

Solution

État de l'art

Éléments de solution

Prototypes

Version finale

Recette

Protocole de test

Alpha

Beta

État courant

Qui Quand Quoi

public/reglage_proxy.txt · Dernière modification: 2016/11/07 11:25 par alexei.lavrentev@ens-lyon.fr