Bienvenue sur eagle-usb

EagleDev

DevEagleConnect

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes 18-97-14-80.crawl.commoncrawl.org
Voir aussi : IntegrationEagleConnectDansCvs, DocEagleConnect, TestEagleConnect



Ajout du 10/10/2004

[emmanuel@localhost eagleconnect]$ cvs -d emmanuel@cvs.gna.org:/cvs/eagleusb -f commit -m "Parameagleconnect.tcl updated : bug corrected, and eagleconnect.conf file path modified" parameagleconnect.tcl
Enter passphrase for key '/home/emmanuel/.ssh/id_dsa':
Checking in parameagleconnect.tcl;
/cvs/eagleusb/eagleusb/utils/eagleconnect/parameagleconnect.tcl,v <-- parameagleconnect.tcl
new revision: 1.3; previous revision: 1.2
done




ajout d'un paragraphe daté de ce jour tout en bas de la page
Et si on inversait l'ordre des paragraphes pour l'avenir, le plus récent en haut?--mcoolive

Salut Mc, je n'avais pas prêté attention que tu m'avais laissé un mot en début de page. Hum, pourquoi pas, effectivement, c'est une bonne idée à mon avis. Benoît, tu en penses quoi ? -- EmmanuelYves 20040920
dans ce cas faut faire court si tu mets tout en début de page... et mettre dans le corps du texte les modifs => ya les diffs qui sont dispos en tapant sur la date (tout en bas) -- BenoitAudouard
> Comment cela ? Quelles modifs insérer dans le corps du texte ? -- EmmanuelYves

Ajout du 07/04/2004

I)
FONCTIONS DE DETECTION DE FIN DE PROCESSUS (ici, fctStartAdsl)

Le même procédé sera également utilisé pour détecter la fin d'autres process, notamment celui d'EagleDiag qui me permet de connaître le statut de la connexion (si les utilisateurs peuvent naviguer sur internet ou pas). J'évite ainsi, même si c'est plus long à coder, les boucles "after + temps secondes" au résultat trop aléatoire.

Pour une meilleure compréhension, lire dans l'ordre les fonctions connect (voir plus bas), puis test1, puis test2 en remontant

oula trop verbeux ;-) c'est plus long que ton code ! -- BenoitAudouard
Je pense que c'est effectivement mieux là ;-) -- EmmanuelYves


Fonction : test2
Objet : détecter fin du process fctStartAdsl pour rendre la main au script (exécution d'un eaglediag juste après) ah ok je viens de comprendre : ne lance eaglediag qu'après la fin de fctStartAdsl pour permettre à l'utilisateur de vérifier si la connexion s'est correctement effectuée, c'est bien ça ?

Yes, c'est bien ça. En outre, si je ne détectais pas la fin du process, le script continuait en me lançant Eaglediag alors que fctStartAdsl n'avait pas eu le temps d'aboutir. J'avais bien pensé à la commande after, qui permet de créer des pauses de x temps secondes, mais le temps est tellement une notion subjective d'une machine à l'autre ...


Paramètres Entrée :
Sortie :
Traitement : cf. objet






Fonction : test1
Objet : Trouver le terme "defunct" dans le résultat d'un ps -a et le transmettre à la fonction test2 (euh mais pourquoi donc ?!)
Paramètres Entrée :
Sortie :
Traitement :

lorsqu'un canal est ouvert sur un processus qui a cessé d'être actif, alors le terme <defunct> apparaît lorsque tu fais un ps -a sur ledit processus. Evidemment, le canal, lui, reste ouvert, et c'est la raison pour laquelle fctStartAdsl, même inactif, continue d'apparaître à l'écran dans la liste des processus.

proc test1 {numero canal} {
catch {exec ps -a | grep $numero} erreur1;
puts $erreur1;
set recuperreur [string match "*defunct*" $erreur1];
test2 $recuperreur $numero $canal}




Fonction : connect
Objet : donner le pid du processus fctStartAdsl et le transmettre à la fonction test1 pour traitement (quel traitement ?! repérer si ledit processus dont nous avons le pid apparaît dans la liste des process en cours ) => effectue une connexion par fctStartAdsl (par défaut) et vérifie la bonne connexion avant de rendre la main (que se passe-t'il s'il y a un firewall qui fait que le test ne se passe pas correctement ? ou qu'il y a un timeout ? ou que l'utilisateur a entré un mauvais mot de passe en non dégroupé => quand ça se connecte pas, ça met une erreur ?)

oui, dans les fonctions que je présente ici, je prends seulement en compte la détection de fin du processus fctStartAdsl. La partie de la détection de la connexion ADSL est basée sur Eaglediag. Pour ce qui est du mot de passe, les utilisateurs se connectent via sudo. Mais il y aura certainement des points à revoir encore.


Paramètres Entrée :
Sortie :
=> donner le critère de sortie... quand c'est connecté ? ça reste bloqué indéfiniment ? non non, la fonction connect transmet ces deux variables qui sont ensuite traitées par test1 et test2. Si le process fctStartAdsl est terminé (voir test2), alors test2 passe la main à la fonction detectviaeaglediag.

proc connect {x} {
set recupconnect $x; 
global canal1;
set canal [open "| sudo $recupconnect" "r"];
global numero;
set numero [pid $canal];

test1 $numero $canal; 
}


II)
Même procédé appliqué pour Eaglediag.
Le bouton "Connecter" appelle donc d'abord fctstartAdsl dont on contrôle le déroulement du processus. Lorsque ce dernier est arrivé à son terme, le programme passe le relais à Eaglediag dont on contrôle également le processus. Lorsque Eaglediag a terminé d'écrire dans un fichier externe les données (si ping, dns etc ... sont OK ou pas), alors l'interface graphique affiche le statut de la connexion. Le code est sensiblement le même que précédemment (pourquoi ne pas réutiliser exactement le même code rendu générique ? c'est à ça que servent les fonctions/procédures)), à l'exception de l'affichage du statut de la connexion dans la fenêtre.

Yep, c'est ce que j'ai fait. Réutilisation des mêmes fonctions, mais le champ du statut de la connexion apparaît par ailleurs dans une autre portion de code.




08/04/2004

- Hum, tu as raison Ben, trop long à lire (je suis un littéraire ...). Je vais réduire tout cela. Merci pour tes précieux conseils ;-)

- Bonne nouvelle : la partie codage est bientôt terminée. Il me reste la traduction de l'interface à implémenter (90 % de fait), et le fichier d'aide à repondre (0%). Je pense que tout sera effectivement en ligne à compter de dimanche soir.
bah fait une version intermédiaire en identifiant ce qui ne marche pas, il y en aura pour tester... et te suggérer des fonctionnalités supplémentaires -- BenoitAudouard
Sortie prévue de toutes façons dimanche soir, avec ou sans la doc que je mettrai en ligne plus tard le cas échéant si je n'ai pas eu le temps de boucler. Tout le monde pourra ainsi la tester ;-)



09/04/2004

- Yeah, j'ai finalement trouvé d'où provenait mon erreur : je mettais en lecture seule le fichier dans lequel Eaglediag devait écrire avant que ce dernier n'ait eu le temps d'y inscrire complètement les résultats ! Je m'en suis rendu compte en relisant mon code mdrrrrrr Du coup, les fonctions de détection de fin de processus (ci-dessus) ne sont plus nécessaires et l'interface est plus rapide lol




11/04/2004


Nouvelle version d'EagleConnect en ligne (version 0.8)


Vous pouvez trouver la nouvelle version d'Eagleconnect (0.8) à l'adresse suivante :

http://www.membres.lycos.fr/eyves/connexion/EagleConnect/version08/

Lisez attentivement la documentation jointe pour l'installation. Mais pour ceux qui veulent aller vite, dans l'ordre, effectuez les opération suivantes :

1)
- supprimez l'ancienne version d'EagleConnect (les fichiers EagleConnect.tcl, aide.gif et le répertoire EagleConnect ou eagleconnect s'il existe).

2)
- vérifiez l'emplacement des commandes fctStartAdsl, fctStopAdsl, eaglediag, eaglectrl et eaglestat.

Pour cela, une simple commande tapée comme suit dans un terminal vous en indiquera l'emplacement :

whereis fctStartAdsl


Vous obtiendrez alors /usr/local/sbin ou /usr/sbin

3)
- modifiez (en root) votre fichier /etc/sudoers
Ajoutez à la fin de ce fichier les lignes comme suit (exemple dans le cas d'un utilisateur qui s'appelle emmanuel sur la machine et dont les commandes fctStartAdsl etc se trouvent dans /usr/local/sbin) :

emmanuel ALL=NOPASSWD:/usr/local/sbin/fctStartAdsl
emmanuel ALL=NOPASSWD:/usr/local/sbin/fctStopAdsl -sf
emmanuel ALL=NOPASSWD:/usr/local/sbin/eaglediag
emmanuel ALL=NOPASSWD:/usr/local/sbin/eaglectrl -w

Ne mettez surtout pas le signe # (ouvre des commentaires) avant chacune de ces lignes

4) Téléchargez le fichier eagleconnect08.tgz à l'adresse mentionnée ci-dessus (http://www.membres.lycos.fr/eyves/connexion/EagleConnect/version08/) ainsi que les deux fichiers de documentation joints dans le même répertoire.
Mettez les fichiers récupérés dans votre répertoire utilisateur (/home/emmanuel , ou /home/bertrand etc ...)

5) Décompactez le fichier eagleconnect08.tgz de la manière suivante, en tapant dans un terminal (en simple utilisateur) :

tar -xzvf eagleconnect.tgz


Vous obtenez alors un répertoire eagleconnect.

6) Depuis un terminal, en tant que simple utilisateur, entrez dans ce nouveau répertoire avec la commande :
cd eagleconnect

puis, pour lancer l'interface, tapez la commande :

EagleConnect.tcl
(attention aux majuscules)

6) Un panneau des préférences utilisateur vous demandera alors de rentrer le chemin de chacune des commandes fctStartAdsl, eaglediag etc... (par exemple : /usr/local/sbin/fctStartAdsl). Ne mettez aucune option derrière ces commandes, certaines d'entre-elles sont déjà présentes dans le corps du programme. Une fois une que vous aurez entré ces commandes et leur emplacement, n'oubliez pas de sauvegarder vos préférences en cliquant sur le bouton prévu à cet effet.

N'hésitez pas à consulter le manuel pour de plus amples informations. En ce qui concerne l'applet, un léger bug subsiste que je n'ai pas eu le temps de corriger faute de temps (il le sera prochainement) : il faut attendre environ une minute avant que le nombre de paquets reçus et envoyés n'apparaisse dans les champs. Ces valeurs sont ensuite actualisées chaque minute.

Voilà, j'espère que mon programme vous sera surtout utile. N'hésitez pas à m'adresser des mels pour me donner votre avis, j'en serai ravi :-)

Vous souhaitant une bonne découverte de la nouvelle version d'EagleConnect et évidemment de joyeuses Pâques,

Cordialement

Emmanuel YVES



04/05/2004

- Reprise du développement d'EagleConnect (à petite vitesse)

- La détection de la connexion au démarrage repose à présent uniquement sur Eaglediag. Elimination de la détection via le nombre de paquets reçus. Résultat : plus aucun bug au démarrage de l'interface. S'il n'y a pas de connexion, EagleConnect l'indique automatiquement.

- Travaux en cours pour pouvoir lancer EagleConnect en tant que root ou a contrario en tant que simple utilisateur.



15/05/2004

- Correction définitive d'un bug au démarrage de l'interface
- Détection d'un bug lié au bouton "Connecter"



19 et 20 /05 /2004

- Refonte du module de paramètres de connexion :
Ajout d'un menu Fichier (sauvegarder les préférences, quitter) et Utilisateur (Afficher, Ajouter, Supprimer )




16/06/2004 Reprise du développement d'EagleConnect

- Suppression des menus déroulants du module des paramètres de connexion qui devient un module de Configuration d'EagleConnect
- Pour l'instant, ce dernier comprend deux fenêtres : Gestion des utilisateurs (inachevé) et Préférences utilisateur




17/06/2004

- Ajout d'une Listbox comprenant la liste des utilisateurs dans le panel dédié
- Ajout de deux boutons : "Ajout" et "Suppression" d'un utilisateur
- Refonte du code pour autoriser l'agrandissement de la fenêtre



20/06/2004

- Boutons "Ajout" et "Suppression" d'un utilisateur pleinement fonctionnels. Listbox idem.

- Détection automatique de la présence des utilitaires eagleusb et de leur chemin qui s'inscrit dans le panneau de configuration
(plutôt que d'avoir à les taper systématiquement. Exemple : /usr/local/sbin/fctstartAdsl s'inscrit tout seul dans le champ adéquat)
Message d'erreur si les exécutables n'ont pas été trouvés par la commande whereis.



21/06/2004

- La listbox des utilisateurs, les boutons "Ajout" et "Suppression", et les champs d'emplacement des utilitaires figurent à présent dans le même panneau
- Création d'une aide contextuelle



22-23-24/06/2004

- Création d'un sélecteur de polices (tailles y compris) pour l'interface d'Eagleconnect.
Le sélecteur fonctionne nickel (un bouton témoin permet de visualiser le résultat) , mais je n'ai pas encore reparamétré Eagleconnect pour que ce dernier prenne
en compte les variations de polices.

- Par ailleurs, je vais essayer de faire un modificateur automatique du fichier /etc/sudoers pour ceux qui ne se connectent pas en root

Ah bin tu peux livrer une version 0.9 ;-) après yaura 0.10 !!! bonne idée la modif sudoers (faut pouvoir afficher une fenêtre permettant de se connecter root comme le MCC - Mandrake Control Center) -- BenoitAudouard 20040624

Yes Ben, ce sera effectivement la 0.9 ;-) La fenêtre de connexion utilisateur est aussi prévue
Je ne peux donner de date relative à la sortie de la 0.9, mais je travaille quotidiennement sur cette version, donc cela devrait être assez rapide ... j'espère !!!
Pour la 0.10 : possibilité de choisir les couleurs de l'interface lol

EmmanuelYves 20040625




26/06/2004

- Ajout des styles bold, italic et underline pour les polices
- Correction d'un bug présent dans le sélecteur de fontes
- Insertion de "cases à cocher" destinées à appliquer les variations de polices au reste de l'interface (la procédure de modif pour l'ensemble reste à écrire)



27/06/2004 - 02/07/2004

- On peut à présent appliquer les styles de polices sur les boutons de l'interface dans son ensemble, cela fonctionne.
Restent à faire : polices des menus, champs, et étiquettes de l'application.




07/07/2004

- Utilisation de l'extension tcl Expect (paquetage expect-8.4.2-1mdk.i586.rpm dans la mandrake 9.2) pour la reconnaissance du mot de passe root




10-12/07/2004

- Fenêtre d'ouverture (au libellé largement inspiré de kdesu) pour lancer EagleConnect en tant que root ou simple utilisateur
On peut donc lancer à présent l'interface Eagleconnect en tant que root. Les autres interfaces vont suivre (Eaglediag et Eaglestat).

- Modification du code d'EagleConnect.tcl pour prendre en compte le pseudonyme de l'utilisateur actif (commande : who -u)
Le répertoire ddu simple utilisateur n'apparaît plus sous la forme de ~/ car lorsque je me connectais en tant que root, le logiciel cherchait
la présence du répertoire .eagleconnect dans le répertoire root. Or ce dernier étant créé dans le répertoire du simple utilisateur, il m'a fallu
déclarer autrement le chemin d'accès qui prend désormais la forme suivante : /home/$login sachant que $login est obtenu de la façon suivante :

set login1 [exec who -u] # j'affecte à la variable login1 le résultat de la commande who -u
set rech2pts [string first " " $login1] # j'affecte à la variable rech2pts la position du premier espace vide dans $login1
set login [string range $login1 0 [expr {$rech2pts-1}]] # J'affecte à la variable login le contenu de $login qui part de 0 jusqu'à rech2pts - 1

En effet, lorsque j'exécute la commande who -u, j'obtiens le résultat suivant :
emmanuel :0 Jul 12 09:34 ? 2218

Comme je ne veux conserver que mon pseudo (pour faire /home/emmanuel), alors je récupère les premiers caractères jusqu'au premier caractère espace (non inclus).





22/07/2004

- sur ma propre bécane, passage au driver 1.9.8

- les exécutables de l'interface sont à présent placés dans /usr/local/sbin en prévision de la version 2 du driver eagle-usb.
en fait il faut pouvoir les placer où on veut -- BenoitAudouard 20040722

- l'exécutable Eagleconnect.tcl change de nom : Main.tcl , appellé par le programme EagleConnect (semblable à kdesu) qui permet de le lancer en mode root ou non
il est à stocker où Main.tcl ? si c'est dans /usr/local/(s)bin c'est pas forcément une bonne idée de l'appeler comme cela... si c'est dans un répertoire dédié, pas (trop) de pb -- BenoitAudouard 20040722

D'après Olivier, les exécutables seraient - a priori - copiés dans /usr/local/(s)bin, ce qui serait plutôt une bonne idée je pense. Je viens de faire des essais, et ça roule. Pour Main.tcl, no problem, je vais changer son appellation ;-) Tu n'aurais pas une idée pour le nom des fois ? -- EmmanuelYves 20040722
bin comme avant : EagleConnect.tcl et tu l'appelles dans EagleConnect par ksystraycmd EagleConnect.tcl

- yes, le programme EagleConnect lance donc à présent la commande ksystraycmd EagleConnect.tcl -- EmmanuelYves 20040723

- le bouton exit de Main.tcl exécute la commande wm withdraw . qui permet de cacher l'interface que l'on peut rappeller via le trayicon
Hum, mais il me faut quand même un bouton pour quitter, non ?

Autre interrogation : à quel endroit placer les fichiers temporaires créés lors, par exemple, de la récupération des résultats d'eaglestat, entre autres. Dans l'immédiat, les ai laissés dans le répertoire /home/simpleuser/.eagleconnect car on ne peut écrire dans /usr/local/(s)bin ou /etc/eagle-usb/eagleconnect en tant que simple utilisateur.
dans /tmp : attention, il faut que le nom soit unique (je crois que tu l'avais géré ?)... -- BenoitAudouard 20040722

que je suis bête, tu as raison. Je n'avais pas du tout songé au répertoire /tmp. Hum, yes, nom unique géré -- EmmanuelYves 200420040722

Idem pour le fichier des préférences utilisateur pour lequel peut subvenir des changements (modifs des polices, tailles etc ...) à moins d'être créé en root et que les valeurs sauvegardées soient aussi bien valables pour root que pour le simple user qui ne pourra évidemment les modifier.
dans $HOME/.eagleconnect c'est bien -- BenoitAudouard 20040722

ça marche -- EmmanuelYves 200420040722

J'ai besoin de votre avis les gars :-)




23/07/2004

Ben, je viens de penser à un truc subitement. Lorsque tu écris :

"Bon je crois que je vais ajouter un -o|--output ou -f|--file (mais uniquement pour la sortie de diag, pas pour celles de conseils obtenue avec l'option -n comme newbie...)."

Est-ce qu'un ouput est vraiment nécessaire ? En effet, l'intégralité des résultats de la commande eaglediag est envoyée dans une variable que je lis ensuite pour affichage. Je peux très bien enregistrer le contenu de cette variable dans un fichier externe (avec un "enregistrer sous") , so ne te casse pas la tête pour l'ouput file.

Hum, par contre, vu que tu as inséré un mode newbie pour l'aide, est-ce qu'il faut que je supprime dans ce cas la fenetre du bas où les conseils apparaissaient ?
ah je croyais que tu récupèrais les fichiers que eaglediag créait... si tu ne prends que l'affichage pas grave (enlève la fenêtre de conseils) de toute façon personne ne lit ce qui est écrit et copie/colle tel quel sur le forum (avec les 2 lignes du bas qui ne servent à rien, sans passer par le fichier que je crée, moi il me sert d'historique). le -o peut-être utile pour un "enregistrer sous" effectivement.

Sinon, là, je suis en train de modifier le chemin des fichiers temporaires (qui devient donc /tmp), et je dois résoudre quelques petits problèmes. Vraiment loin d'avoir fini pour l'instant. Vous la sortez quand la version 2 du driver ?
sl33p3r est revenu, donc on sort une version vers mercredi prochain (on y travaille ce WE). La date limite c'est début Août (Mandrake freeze les nouvelles versions) -- BenoitAudouard 20040723

Début Août ? Bon, je vais bosser dessus tout le week end alors de façon à être dans les temps si possible vu que je ne bouge pas. Pour la doc, en revanche, ne suis pas certain de pouvoir la livrer avec.
Il se peut que le paquetage tclX (tclx-8.4.2-1mdk RPM for i586 sur mandrake 9.2) soit également nécessaire à l'application. Je dois faire quelques tests de toutes façons.
Pour Eaglediag, c'est vrai que malgré tout, j'aimais bien cette fenêtre de conseils. Enfin, si personne ne la lit ...
bin en fait ton idée de séparer les conseils du texte les met en évidence, si on pouvait la garder ça m'arrangerait... -- BenoitAudouard 20040724

Hum, en fait tu préfèrerais ne pas voir apparaître les conseils dans la fenêtre des résultats d'Eaglediag ... Ceci implique alors d'extraire du résultat les lignes de conseil. Ce doit être jouable.
les conseils sont dans /var/log/eagle-usb/eagle_diag_newbie.txt. Je vais les faire précéder de ## en début de ligne comme ça tu auras un critère de filtrage
dispo en cvs eaglediag 1.7 -- BenoitAudouard 20040725
Nickel :-) --EmmanuelYves 20040725

Par ailleurs, finalement, sans doute pas besoin du paquetage tclX. Je voudrais éviter aux maximum les dépendances. Seul reste donc le paquetage Expect.



25/07/2004



étant enregistré dans le répertoire de chaque utilisateur.


Mandrake la met plutôt dans /usr/share/doc/[package_name]/ m'enfin on va revoir ça quand on va s'occuper du package pour Mandrake... -- BenoitAudouard 20040725

Hum, c'est pareil dans les autres distribs ? Parce que la doc peut être appelée depuis le prog ...


26/07/2004

- Bonne prise de tête toute la journée sur des modifications que j'ai apportées au panneau de configuration (pas encore terminé)
- Une fois ceci fait, je modifie l'interface d'Eaglediag pour prendre en compte les derniers changements
si tu veux pas te galérer avec le cvs, tu as la version de eaglediag en download là : http://cvs.gna.org/viewcvs/*checkout*/eagleusb/eagleusb/utils/scripts/eaglediag?rev=1.7 -- BenoitAudouard 20040726

Merci ;-)


27/07/2004

- Remplacement des deux boutons de connexion et déconnexion par un seul dont l'état change selon le statut de la connexion
- Je me heurte à un problème à un problème avec ksystraycmd lorsqu'il n'y a pas de connexion ADSL au démarrage de l'interface (tant en root que simple utilisateur) :
l'interface semble alors figée, elle ne répond plus. Je ne rencontre pas ce problème lorsque je lance EagleConnect via les commandes habituelles exec ou wish.
Je laisse donc la commande ksystraycmd de côté pour l'instant en espérant trouver rapidement une soluce.



28/07/2004

- Modification de diagnostic.tcl (basé sur eaglediag) pour prise en compte du mode "newbie". Texte de log affiché normalement grâce aux caractères de filtrage
- Fonction "Enregistrer sous" à créer pour ce module
ah bin ça avance bien ;-) oublie pas de mettre à jour DevLinks si tu trouves des URL intéressantes pour tes dévs -- BenoitAudouard 20040728

Yes, je bosse tous les jours dessus :-) Heu, il y a bien le site sur Expect. Je le mettrai dans les DevLinks. Sinon, quelle est la date prévue pour la sortie du driver (même une fourchette) ?
On va essayer ce WE mais c'est pas gagné, faut que je vérifie avec sl33p3r et Tux en fonction de leurs dispos
Si tu veux, tu peux livrer une 0.9 pour qu'on te fasse des remarques et en parallèle tu continues les devs puis la doc'
-- BenoitAudouard 20040729
En fait, il me faudrait juste une semaine supplémentaire pour tout boucler ... Vous ne pouvez pas plutôt le sortir le week-end d'après ? Hum, sinon, je peux effectivement vous envoyer une première mouture de la 0.9 samedi en fin d'après-midi. Comment est-ce qu'on procède ?
bon je vais faire un ordre du jour pour une réunion alors ;-) (par mail ça devrait suffire) en gros en ce qui te concerne, si tu packages et met en ligne en identifiant ce qui reste à faire, ça permet d'avancer sur les tests et de voir où on l'intègre sur le cvs (et dans un nouveau paquet) -- BenoitAudouard 20040729
Ok, je mettrai en ligne la première mouture de la 0.9 samedi fin d'après-midi avec détail de ce qui manque dans un fichier. Je donnerai l'adresse de téléchargement ici samedi pm.

Après diagnostic.tcl, il me restera à :




29/07/2004

- Fonction "Enregistrer sous " du module diagnostic.tcl (eaglediag) achevée
- Agrandissement du champ Ethernet Interface effectué pour pouvoir y placer eagle_usb
- Panneau de configuration momentanément terminé. Des tests sont encore à prévoir



30/07/2004

- Nouvelles modifications apportées à la partie graphique du panneau de configuration. Ce dernier comporte encore quelques bugs assez visibles lol
Enfin, je le mettrai tout de même en ligne demain après-midi.

- Le fichier de langue fr.msg sera à placer dans le répertoire /etc/eagle-usb/eagleconnect Cela fonctionne, mais je n'ai pas encore eu le temps de terminer la traduction
- Les fichiers seront demain soir en ligne aux alentours de 20 heures. Je repréciserai l'adresse ici.
cool ;-) bon en fait je suis pas certain que tu aies compris l'adage de Linus et du libre en général : "livrer souvent / tester souvent", c'est pour ça que je te presse => l'intérêt c'est que tu n'es pas seul et tu vas avoir des retours / demandes d'améliorations. Actuellement, tu es le seul sur le sujet et ya personne pour t'aider... (m'enfin t'es déjà super-efficace, j'espère que ta femme ne nous en veut pas ;-) ) Notamment, tu peux pourrir DevLinks avec toutes tes demandes de support (intéressante, einh) sur des forums ou les sites qui t'aident à avancer. En tout cas félicitations pour le suivi des dév, ya peu de monde à comprendre l'intérêt de documenter au fur et à mesure (il ne te manque que des copies d'écran pour montrer l'avancement) -- BenoitAudouard 20040730

No problemo, je suis célibataire :-))) Ce sont surtout mes recherches d'emploi qui me prennent du temps ... Merci en tous les cas pour tes encouragements et tes conseils depuis le début d'Eagleconnect. Je vais faire de mon mieux pour vous faire un truc clean, même si je ne suis pas développeur expérimenté ... Copies d'écran ce soir ici même, et je vais tâcher d'intégrer l'adage au mieux ;-)



31/07/04

Nouvelle version d'EagleConnect en ligne (version 0.9)


Vous pouvez trouver la nouvelle version d'Eagleconnect (0.9) à l'adresse suivante :

http://www.membres.lycos.fr/eyves/connexion/EagleConnect/version09/



ATTENTION, CETTE VERSION D'EAGLECONNECT (0.9) EST ENCORE INCOMPLETE ET COMPORTE DES BUGS


NOTICE EXPLICATIVE SUCCINTE


1) Prérequis

les bibliothèques tcl-8.4.2-1.mdk et tk-8.4.2-1.mdk
le driver eagle-usb-1.9.8
l'extension tcl Expect (paquetage expect-8.4.2-1mdk.i586.rpm dans la mandrake 9.2) pour la reconnaissance du mot de passe root


2) Installation

- Les fichiers exécutables (EagleConnect, EagleConnect.tcl, diagnostic.tcl, reseau.tcl et parameagleconnect.tcl) sont
à placer dans :
/usr/local/(s)bin

- Le fichier de traduction fr.msg est à placer dans le répertoire suivant :
/etc/eagle-usb/eagleconnect

- La documentation (non mise à jour pour l'instant) est à placer dans le répertoire suivant :
/etc/eagle-usb/eagleconnect/doc/EagleConnectDocumentation.txt





3) DEMARRAGE A SUIVRE A LA LETTRE POUR LA PREMIERE UTILISATION :



PREMIERE ETAPE

a) EagleConnect doit d'abord être démarré en tant que simple utilisateur en tapant dans un terminal la commande suivante :
cd /usr/local/(s)bin
EagleConnect


b) Saisissez le mot de passe root et cliquez sur OK
(à noter, ce programme est basé sur l'extension tcl Expect de Don Libes - http://expect.nist.gov/ - et je me suis TRES largement
inspiré du programme su2 que l'on trouve à l'adresse suivante : http://expect.nist.gov/scripts/su2)


c) Un message apparaît : le répertoire .eagleconnect vient d'être créé


d) Une fois l'interface démarrée, le panneau de configuration apparaît :

- le fichier des préférences utilisateur (ici, root.pref) est automatiquement créé
- vous devez alors cliquer sur le bouton "Modify /etc/sudoers" pour permettre ensuite au simple utilisateur
de pouvoir utiliser EagleConnect sans mot de passe
- Cliquez ensuite sur Next pour accéder à la partie gestion de l'interface

e) La déclaration de polices est obligatoire sous peine de ne pas voir l'interface démarrer correctement
- Il suffit simplement de les sélectionner et de cliquer sur chacun des boutons (bouton, champ, étiquette etc..)


f) Quittez le panneau de configuration via le bouton Exit et fermez l'interface



SECONDE ETAPE


4) Redémarrez en simple utilisateur :

a) cd /usr/local/(s)bin
EagleConnect

b) Cliquez sur le bouton Ignorer

c) Un message apparaît : le répertoire .eagleconnect vient d'être créé

d) Une fois l'interface démarrée, le panneau de configuration apparaît :

- le fichier des préférences utilisateur (ici, utilisateur.pref) est automatiquement créé
- Cliquez ensuite sur Next pour accéder à la partie gestion de l'interface

e) La déclaration de polices est obligatoire sous peine de ne pas voir l'interface démarrer correctement
- Il suffit simplement de les sélectionner et de cliquer sur chacun des boutons (bouton, champ, étiquette etc..)

f) Quittez le panneau de configuration via le bouton Exit et fermez l'interface


Vous pouvez à présent utiliser EagleConnect en appelant la commande EagleConnect comme vu précédemment en tant que simple utilisateur.


Faute de temps, je mettrai les screenshots en ligne demain soir.



Ce qu'il reste à faire, entre autres :

- traduire l'interface du logiciel; là, je me suis mélangé un peu les pinceaux et l'anglais côtoie le français
à certains endroits

- mettre des polices par défaut afin que le process de gestion des polices ne soit pas obligatoire

- terminer, voire modifier le panneau de configuration, notamment son aspect. J'aurais presque envie de faire
un panneau à la MCC. En tous les cas, le système de gestion des utilisateurs ne me plaît pas trop : le grand bandeau blanc
à gauche qui contient le nom du fichier des préférences prend énormément de place. Mal conçu et mal pensé dès le départ.

- corriger les bugs identifiés liés à ce panneau :

1 agrandissement du panneau lors de la visualisation d'une police
2 revoir la fonction d'écriture des polices dans le fichier qui a légèrement tendance à bugger également
3 un 1 s'affiche dans le champ des polices lorsque on affiche le fichier /etc/sudoers

- Ecrire la documentation

- Revoir le problème de l'applet

- Trouver une solution au problème de ksystraycmd

J'ajouterai des liens dans Devlinks demain soir.



Ah bin début des rapports de bugs :




01/08/04

Yes, tu as raison, je vais faire ça de suite --> fait

J'ai vu que tu avais fait une annonce sur la ML, je viens de balancer un mel avec la notice explicative succinte pour l'installation

Sinon , j'ai oublié dans "Ce qu'il reste à faire" :

- faire apparaître un message d'erreur si le mot de passe root n'est pas le bon
- j'ai constaté un bug lorsqu'on clique sur le bouton "annuler " du module save as de diagnostic.tcl. Ce module étant une bibliothèque de
tcl/tk, je ne sais pas si je vais pouvoir faire grand chose, enfin je vais essayer

Il y en aura encore probablement d'autres ...

01/08/04 17 heures 19

Nouveau bug détecté :

- lorsqu'on lance diagnostic.tcl en mode simple utilisateur, l'appel au mode normal renvoie une erreur d'application stipulant que le fichier
/var/log/eagle-usb/eagle_diag_newbie.txt ne peut être ouvert en lecture faute de droits suffisants.

Hum, bizarre : je viens de supprimer tous les fichiers *.txt présents dans /var/log/eagle-usb/ et relancer EagleConnect puis diagnostic.tcl
en tant que simple utilisateur. Le problème n'est pas réitéré. Je me demande si le fait d'avoir certainement lancé diagnostic.tcl auparavant en root
n'y est pas pour quelque chose. Ledit fichier eagle_diag_newbie.txt étant créé en tant que root sous le mode normal, il n'est alors peut-être plus
accessible en lecture pour le simple utilisateur. Je vais faire l'essai.
Essai
Non, résultat négatif, le fichier est bien accessible en lecture même pour le simple utilisateur. Je ne parviens pas à reproduire l'erreur d'exécution
de l'application.


Par ailleurs, une idée me vient à l'esprit concernant diagnostic.tcl :
il serait peut-être judicieux de ne faire apparaître le bouton "Save as" qu'à partir du moment où la commande Eaglediag affiche ses résultats
dans la frame du haut ...

EmmanuelYves 20040801



02/08/04

Modifications apportées à EagleConnect (le module de lancement) :

-champ de saisie allongé
-prise en compte des touches Enter et Escape. Si la touche Enter a été validée et qu'un mot de passe est dans le champ, alors EagleConnect.tcl démarre en root.
-Si aucun mot de passe n'a été saisi, EagleConnect démarre en simple utilisateur.
La touche Escape permet de quitter l'application.

EmmanuelYves 20040802




04/08/04

ok, je viens d'installer le CVS sur ma bécane et j'ai procédé à l'installation.
Les exécutables sont donc à présent dans /usr/sbin en ce qui concerne fctStartAdsl etc mais il y a eu une erreur à l'installation pour eagleconnect :





J'imagine que l'option -c indique la copie du programme eagleconnect dans le répertoire /usr/sbin ? :
sr/bin/install -c -m 0755 eagleconnect /usr/sbin && \
Si je vais dans le répertoire /home/emmanuel/eagleusb/utils/eagleconnect à partir duquel a commencé l'installation, je ne trouve plus
le programme eagleconnect basé sur expect vu qu'on a décidé de le balancer. J'imagine que l'erreur provient de là ?
Bon, pas grave, je viens de copier à la main eagleconnect.tcl dans /usr/sbin et les autres dans /etc/eagle-usb/eagleconnect.



Par ailleurs, j'ai jeté un coup d'eil sur eagleconnect.conf, et j'ai vu effectivement les changements apportés :

@SBIN_DIR@/fctStartAdsl etc

Sachant que @SBIN_DIR@/ équivaut à /usr/sbin/, comment dois-je le déclarer dans mes fichiers, comme ceci ? :
set @SBIN_DIR@/ /usr/sbin/ ?
Ma variable sera donc du type : $@SBIN_DIR@/ ?

ou dois-je procéder de la sorte (je penche pour cette deuxième soluce car j'imagine que les @ juxtaposant SBIN_DIR servent à Makefile ?) :
set SBIN_DIR /usr/sbin
La variable résultant étant : $SBIN_DIR ?

Hum, mais si j'ai bien compris, Makefile va chercher en début de chaque script les chemins des exécutables. Du coup, est-il alors vraiment nécessaire de les faire figurer dans eagleconnect.conf ? En effet, eagleconnect lisait l'emplacement des exécutables dans (par exemple) le fichier emmanuel.pref. Si les emplacements sont définis via Makefile au travers de la variable @SBIN_DIR@, répercutés ensuite au début de chaque script, je doute que le maintien des chemins dans eagleconnect.conf soit d'une quelconque utilité.

De même, si je saisis bien, ne réside plus qu'un fichier de configuration : eagleconnect.conf, et basta utilisateur.pref dans ~/.eagleconnect ?


Premier essai :
Bon, là, je suis root, et situé dans le répertoire du simple utilisateur. Je lance eagleconnect.tcl, la fenêtre apparaît et me demande de d'abord paramétrer eagleconnect. Le panneau de configuration ne s'affiche pas, ce qui est normal puisqu'il est à présent situé dans /etc/eagle-usb/eagleconnect. Je vais tâcher de modifier le code pour qu'il soit en cohérence avec cette nouvelle architecture.

Déjà, si l'on se base sur un seul fichier de préférences, eagleconnect.conf, on peut écrire pour la lecture des fontes :

set verifpresencepref [file exists $EU_EAGLECONNECT_DIR/eagleconnect.conf]
	if {$verifpresencepref > 0} {
                set contenupreferences [open $EU_EAGLECONNECT_DIR/eagleconnect.conf r]; etc..


Hum, je m'interroge vraiment sur la nécessité de lire le fichier de configuration pour connaître l'emplacement des utilitaires. A la rigueur, je pourrais supprimer la procédure pref qui est censée récupérer les paths lus dans des variables, et mettre simplement à la place (dans la mesure où l'emplacement des utilitaires de connexion demeure bien /usr/sbin sur toutes les distributions), par exemple pour fctstopAdsl :

if {$identifiant == "root"} {
       exec $SBIN_DIR/fctStopAdsl -sf; etc...} else {
       exec sudo $SBIN_DIR/fctStopAdsl -sf;
                                          }


J'amerais avoir votre avis les gars.

Hum, bon, il est 14 heures 53. Après quelques modifications apportées à eagleconnect.tcl (suppression de la fonction de lecture pref, remplacement des variables contenant les paths par les variables SBIN_DIR etc, modification de quelques variables associées à l'appel d'eaglediag pour la recherche de l'établissement - ou non - d'un connexion au démarrage), je parviens enfin à lancer ce dernier.

15 heures 39

Je parviens à présent à lancer le panneau de configuration (à retoucher), les commandes fctStartAdsl / fctStopAdsl /eaglectrl -w et le module diagnostic.tcl (à retoucher également)

17 heures 02

Le module lié à eaglestat (reseau.tcl) peut à présent être appelé également. Quelques corrections à faire dans diagnostic.tcl.


EmmanuelYves 20040804





Copies d'écran :


http://membres.lycos.fr/eyves/connexion/EagleConnect/version09/screenshots/eagleconnect.jpg

http://membres.lycos.fr/eyves/connexion/EagleConnect/version09/screenshots/diagnostic.jpg

http://membres.lycos.fr/eyves/connexion/EagleConnect/version09/screenshots/reseau.jpg




07/08/04

Retouches du panneau de configuration en cours




08/08/04

- Retouches du panneau de configuration en cours (loin d'avoir terminé)

- Réécriture complète de diagnostic.tcl pour autoriser le redimensionnement de ce dernier sans que l'on voit dépasser le canvas (fait)
- Fontes plus petites (fait)
- Correction du bug lié au bouton "annuler" du module "Enregistrer sous" de diagnostic.tcl (fait)

Nouveau fichier diagnostic.tcl envoyé sur le CVS ce jour :

[emmanuel@localhost eagleconnect]$ cvs -d emmanuel@cvs.gna.org:/cvs/eagleusb -f commit -m "Diagnostic.tcl rewriten : now, you can resize it without any problem, fonts are smaller and saveas procedure has been corrected so that cancel button doesn't make appear a mistake message" diagnostic.tcl
Enter passphrase for key '/home/emmanuel/.ssh/id_dsa':
Checking in diagnostic.tcl;
/cvs/eagleusb/eagleusb/utils/eagleconnect/diagnostic.tcl,v <-- diagnostic.tcl
new revision: 1.4; previous revision: 1.3
done




10/08/04

- Retouches du panneau de configuration en cours





19/09/04

- Reprise du développement d'Eagleconnect. Je suis toujours sur le panneau de configuration ....
Mise en ligne du nouveau Panneau de configuration :

[emmanuel@localhost eagleconnect]$ cvs -d emmanuel@cvs.gna.org:/cvs/eagleusb -f commit -m "Parameagleconnect.tcl rewriten : icons added, many bugs corrected (frame resizing whith new fonts size)" parameagleconnect.tcl
Enter passphrase for key '/home/emmanuel/.ssh/id_dsa':
Enter passphrase for key '/home/emmanuel/.ssh/id_dsa':
Checking in parameagleconnect.tcl;
/cvs/eagleusb/eagleusb/utils/eagleconnect/parameagleconnect.tcl,v <-- parameagleconnect.tcl
new revision: 1.2; previous revision: 1.1
done


- Je dois également mettre en ligne dans le répertoire eagleconnect du CVS un nouveau répertoire contenant des images (les icônes de l'interface). Comment fait-on ?

- Prochaines étapes : la modification du fichier makefile pour la prise en compte de ces nouveaux répertoire/fichiers (si j'y arrive lol), la mise à jour de la doc, et le fichier de traduction fr.msg à compléter. Sans doute en fin de semaine.

Copie d'écran :


http://membres.lycos.fr/eyves/connexion/EagleConnect/version09/screenshots/panneaudeconfig1.jpg




28/09/2004

- Quelques modifications apportées à eagleconnect.tcl et à Makefile (ajout du répertoire images et des fichiers qu'il contient; vérifier s'il n'y a pas d'erreur)


[emmanuel@localhost eagleconnect]$ cvs -d emmanuel@cvs.gna.org:/cvs/eagleusb -f commit -m "Font of connection state field modified, some corrections added" eagleconnect.tcl
Enter passphrase for key '/home/emmanuel/.ssh/id_dsa':
Checking in eagleconnect.tcl;
/cvs/eagleusb/eagleusb/utils/eagleconnect/eagleconnect.tcl,v <-- eagleconnect.tcl
new revision: 1.5; previous revision: 1.4
done
[emmanuel@localhost eagleconnect]$ ls
CVS/ eagleconnect.old* images/ Makefile~
diagnostic.tcl* eagleconnect.tcl* lang/ parameagleconnect.tcl*
eagleconnect.conf eagleconnect.tcl~* Makefile reseau.tcl*
[emmanuel@localhost eagleconnect]$ cvs -d emmanuel@cvs.gna.org:/cvs/eagleusb -f commit -m "Images directory and pictures associated added" Makefile
Enter passphrase for key '/home/emmanuel/.ssh/id_dsa':
Checking in Makefile;
/cvs/eagleusb/eagleusb/utils/eagleconnect/Makefile,v <-- Makefile
new revision: 1.7; previous revision: 1.6
done



Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]