Dernières entrées de forum(s) RSS [Toutes] :


Gpascompris

Posté le 20 mars 2008
0
Vous avez un ou deux vieux sharewares qui ne se vendent pas ?
Emballez les avec quelques CD de logiciel libre repackagés avec votre marque; proposez le lot à un tarif cassé; vous n'avez plus qu'à inonder le marcher:

http://www.cdearth.com/

Le jeu de la journée: retrouver les logiciels libres dont le nom n'est pas donné.

> Lire le journal (9 commentaires, moyenne: 4,2).

De la qualité des lecteurs de DVD Vidéo économiques

Posté le 31 décembre 2007
0
Attention: Ce journal n'a aucun rapport avec Linux, il est long et présente un intérêt discutable.

Introduction
Partisan des choses qui fonctionnent simplement, j'ai décidé de me simplifier la lecture de DVD par l'achat d'un lecteur dédié à cela (à l'inverse de http://www.copinedegeek.com/article.php3?id_article=184 ).

J'ai donc acheté pour moins de 30€ un lecteur de DVD de Salon de fabrication économique sur un grand site de commerce en ligne.

Après quelques DVD, le constat est mitigé. Oui le lecteur est de fabrication économique, visiblement la conception aussi a été économique.

Ouverture
Quelques coups de tournevis et de multimètre plus tard on peut constater que:


  • L'alimentation est une belle alimentation dans la plus pure tradition chinoise. Chose courante: il manque sur la carte une vingtaine de composants (des options ?). Chose plus rare, trois ou quatre composants ont été découpés à la pince, il ne reste plus que les pattes (peut-être pour respecter la norme PFC ?). Aucun cable de retour ne permet de couper une partie de l'alimentation, donc elle fonctionne tout le temps.


  • Le processeur principal est chaud ; pas énormément, mais vu que le lecteur DVD était "éteint", il fonctionne en permanence, cela va dans le sens de mes constatations sur l'alimentation. Visiblement le bouton "power" sur la télécommande se contente de désactiver les sorties.


  • Aucun affichage, aucune DEL pour indiquer que la machine fonctionne, d'ailleurs il n'y a pas de bouton d'allumage ou d'extinction en facade, j'ai trouvé un emplacement sur la carte de la facade prévue pour implanter une DEL, mais c'est juste à l'endroit où la carte est retenue par un ergot en plastique, donc impossible d'installer la DEL, joli défaut de conception.


  • La télécommande ne fonctionnait que dans un cône très étroit bien en face de l'appareil. On doit cela à deux caractéristiques intéressantes; la facade n'est pas transparente aux infra-rouges (cela se controle facilement avec un APN ou un GSM qui prends des photos); donc une petite fenêtre transparente de 5x5mm a été ouverte en face du capteur; le capteur lui, est reculé à un bon centimètre derrière la facade à cause d'un condensateur proéminent, ce qui explique parfaitement le problème.



Fer à souder et perceuse
Première opération: corriger la position du récepteur IR:

Avec mon fer à souder et 1cm de fil, je déplace le condensateur radial pour l'installer couché. Ensuite je scie avec un petit disque monté sur la perceuse les ergots de fixation. En moins de 30 minutes, mon capteur IR s'est retrouvé collé à sa fenêtre et ma télécommande fonctionne bien mieux.

Seconde opération: Ajout d'une DEL de fonctionnement (kikou Ned<).

Impossible de récupérer les pastilles prévues pour la DEL d'origine vu que ça m'empêcherait de refixer la carte de facade, je pique donc le 5v un peu plus haut dans la carte, je perce la facade pour faire passer ma DEL, je colle au pistolet à colle une DEL basse consommation (2mA) et sa résistance correspondante, trois points de soudure.

Dernier contrôle que tout fonctionne avant de refermer la bête; et hop, je revisse tout.

Contrairement à ce que la loi de Murphy pouvait laisser penser, il ne reste pas de vis sur mon bureau à la fin de l'opération (en fait maintenant je fais très attention).

Conclusion
La télécommande fonctionne depuis un angle beaucoup plus large; et j'ai maintenant une belle petite lumière pour m'indiquer si j'ai oublié de débrancher le lecteur.

> Lire le journal (14 commentaires, moyenne: 1,5).

SMART: Self-Monitoring, Analysis, and Reporting Technology

Posté le 03 septembre 2007
0
SMART est une norme maintenant implantée dans pratiquement tous les disques durs qui lui permet de faire une analyse de sa bonne santé. La page de Wikipedia en anglais: http://en.wikipedia.org/wiki/S.M.A.R.T. vous donnera pas mal d'informations, ce journal a pour simple but de présenter les bases de façon succincte.

Sommaire:
1. Lire les attributs SMART d'un disque
2. Signification de différents champs remontés par attribut
3. Interpréter la santé d'un disque avec les attributs

1. Lire les attributs SMART d'un disque
La commande smartctl est classiquement utilisé sous OPALPAG GNU/Linux et sous d'autres OS (*BSD) pour lire les attributs SMART d'un disque dur. Il doit être lancé sous l'utilisateur root. Pour un disque PATA, on utilise smartctl -A /dev/hd[a-t], pour un disque SATA il faut ajouter une option smartctl -A -d ata /dev/sd[a-z] pour ne pas confondre avec du SCSI.

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 105 097 006 Pre-fail Always - 47916578
3 Spin_Up_Time 0x0003 093 093 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 3
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 1
9 Power_On_Hours 0x0032 062 062 000 Old_age Always - 33613
190 Unknown_Attribute 0x0022 063 058 045 Old_age Always - 673447973
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0


2. Signification de différents champs remontés par attribut
Chaque attribut est identifié par un numéro, colonne ID#. Pour rendre les choses lisible, smartctl donne le nom correspondant dans la colonne ATTRIBUTE_NAME. Certains attributs sont propre au constructeur et n'ont pas de nom définis (#190 dans l'exemple).

Le disque dispose de valeurs bruts qui enregistrent une situation ou une évolution; par exemple le nombre de démarrage du disque, le nombre d'erreur d'un certain type, la température, le temps de positionnement de la tête. C'est la colonne RAW_VALUE.

Cette valeur brute n'est normalement pas utilisable directement parce que parfois c'est une valeur basse qui est inquiétante, parfois c'est une valeur haute, parfois c'est simplement une valeur qui va être combiner avec d'autres pour interpréter la situation. Le disque fait donc une normalisation appelée VALUE qui varie entre 0 et 255. Détail cocasse source de confusions inépuisables, ce sont les valeurs basses qui indiquent un problème. Plus la valeur est basse, plus il faut s'inquiéter.

A partir de quand faut-il s'inquiéter ? Le fabriquant a choisi une limite à la construction du disque que l'on trouve dans la colonne THRESH. Ceci est une constante qui indique le seuil limite en dessous duquel le disque donne des signes de faiblesse et à partir de laquelle il faut remplacer le disque.

Parce que vous ne surveillez pas toutes les 3 minutes les attributs du disque, et que certains indicateurs ne sont pas strictement décroissants (la température ou les taux d'erreur augmentent et diminuent régulièrement), le disque enregistre la pire valeur jamais atteinte, c'est à dire la valeur la plus faible. C'est la colonne WORST.

3. Interpréter la santé d'un disque avec les attributs
Dans la pratique, j'ai toujours perdu mes disques avant que SMART ne s'inquiète. Les valeurs de THRESH sont parfois très largement optimistes. Les deux indicateurs que je surveille pour juger de la bonne santé d'un disque sont #5 (Reallocated_Sector_Ct) et #197 (Current_Pending_Sector).

La valeur brute de Current_Pending_Sector indique le nombre de secteurs qui vont probablement être ré-alloués. Cela signifie que le disque n'a pas réussi à lire le secteur en question, et que si vous écrivez dessus, il utilisera très probablement un secteur de réserve à la place. Au passage, félicitation, vous avez perdu 512 octets de donnée, vous aviez du RAID j'espère ? Une fois le secteur remappé sur un secteur de réserve, cette valeur est décrémenté. Je ne l'ai jamais vu dépasser la valeur 2, c'est un état transitoire.

La valeur brute de Reallocated_Sector_Ct indique le nombre de secteurs qui sont déclarés inutilisables sur le disque et qui ont été remappés sur un secteur de réserve. Cette valeur est strictement croissante, elle augmente au fur et à mesure que les secteurs sont perdus. Certains disques tournent sans problème avec quelques secteurs défectueux, le compteur reste à une valeur constante (valeur 1 depuis des années dans l'exemple ci-dessus pour un disque qui tourne depuis #9 (Power_On_Hours) 33613h soit 3.8 ans). La grosse inquiétude est à avoir lorsque cette valeur est croissante; tous les disques que j'ai perdu depuis que je contrôle les attributs SMART avaient un compteur brut qui augmentait de une ou plusieurs unités par jour. Même avec plus d'une centaine de secteurs remappés, la valeur normalisée VALUE restait largement au dessus du THRESH, le disque était donc considéré comme sain, malgré les dizaines de Ko de données perdues (merci le RAID).

> Lire le journal (15 commentaires, moyenne: 3,9).

Ioméga bascule son disque réseau de Windows à Linux

Posté le 19 mai 2006
0
Les news du front:

Iomega a basculé son disque réseau Wifi (NAS) de Windows Storage Server 2003 vers Linux.

Les gains ne se sont pas fait attendre: le prix est passé de 1.300$ à 900$, la RAM a été réduite de 256 Mo à 64 Mo; le disque est maintenant capable de faire point d'accès et si on lui connecte une caméra USB compatible, il peut sauver automatiquement les images dans un répertoire.

http://www.linuxdevices.com/news/NS2571986410.html

> Lire le journal (6 commentaires, moyenne: 2,7).

PostgreSQL: mais que reste-t'il aux grandes ?

Posté le 17 mars 2006
0
Un petit article publié aujourd'hui sur PostgreSQL fait état de la migration de huit bases de données allant jusqu'à 180 Go, avec réplication.

http://www.postgresqlfr.org/?q=node/625

Je suis étonné lorsque je discute avec mes collègues du peu de connaissances que les gens ont de cette fantastique base de donnée libre.

Lorsque les gens cherchent une base de donnée libre, ils se tournent généralement vers MySQL, non pas pour des raisons techniques mais essentiellement pour des raisons marketing. La réputation de MySQL classe ce SGBD dans la tranche faible volumétrie et applications non critiques ou annexe. Oracle s'accapare une énorme partie du reste.

Les gens ont rarement étudié une solution basée sur PostgreSQL, ce qui est à mon avis un tord. La base offre un support ACID (Atomicity, Consistency, Isolation, Durability) de première qualité qui permet d'implémenter ses transactions sans soucis. Elle supporte également toutes les fonctionalités que l'on peut attendre d'une base relationnelle complète: triggers, vues, héritage, séquences, procédures stockés, curseurs, type de données définis par l'utilisateur (adresse email...), requêtes sur des requêtes, authentification externe, journalisation des écritures, sauvegarde à chaud, interface avec de nombreux langages. On trouve plusieurs avantages par rapport à Oracle: possibilité d'écrire les procédures dans plusieurs langages: PL/pgSQL qui ressemble beaucoup au PL/SQL d'Oracle, Perl, Python, C, TCL ce qui permet aux personnes qui ont l'habitude d'Oracle de ne pas être trop perdus.

Je l'utilise depuis plus de 8 ans et je suis toujours surpris par le support qu'elle offre. Certains projets qui utilisaient initialement une seule table simple ont pu évolué par l'ajout de triggers et de procédures stockés tout naturellement en fonction de l'évolution des besoins.

Je pense que cette base gagnerait à être plus connue. Et si vous tentiez un essai ?

> Lire le journal (23 commentaires, moyenne: 2,7).

CUPS et Copieur

Posté le 26 janvier 2006
0
Depuis quelques années maintenant, des marques comme Canon ou Xerox (ou d'autres) produisent de gros copieurs perfectionnés. Ces machines autonomes se branchent sur un réseau et sont capable de faire: Photocopieur, Imprimante et Scanner (Fax en plus pour certains).

Ils ont tout un tas de fonctions perfectionnés selon les modèles: recto-verso, agrafeuse, plieuse/brocheuse, perforeuse, couleur, multiples bacs de papiers, N pages par feuille...
Comme imprimante, ils sont très pratiques... sous Windows.

Je cherche des gens qui ont une expérience de ces machines sous Linux (J'ai installé les postes d'une association humanitaire sous Linux, et aujourd'hui ils impriment sur une LaserJet avec CUPS).

Ces imprimantes ont généralement un module Postscript (en option pour les entrée de gamme) et PCL, donc j'imagine donc qu'il est possible de faire une impression simple sur du A4. http://www.linuxprinting.org/ ne connait pratiquement aucun modèle; je suis incapable de trouver des informations sur le support que l'on peut avoir sous Linux/CUPS de ces machines; recto-verso ? Agrafage ? Choix du bac ?

Deux modèles sont étudiés pour l'instant:

Xerox Workcentre C226
http://www.office.xerox.com/perl-bin/product.pl?product=WCC2(...)

Canon IR2570C
http://www.canon.fr/for_work/products/office_print_copy_solu(...)

mais je suis bien incapable de savoir s'il est possible d'imprimer dessus et/ou d'utiliser certaines ou toutes les fonctions un peu évolués (agrafage, impression A3...)

Avez vous des retours d'expérience sur ce genre d'appareil ou sur ces modèles ?

> Lire le journal (8 commentaires, moyenne: 3,8).

Logiciels de télétransmission pour médecin

Posté le 27 juillet 2005
0
Hello

Trop, c'est trop. Le logiciel de télétransmission des feuilles de soin que mon père utilise, AxiAM vient une fois de plus de disparaitre en chaleur et lumière suite à une mise à jour. Le logiciel propriétaire a semé des répertoires un peu partout dans le filesystem, installé tout un tas de programmes résidents sans demander le moindre avis (programmes annexes dont mon père n'a rien à faire), refuse de tourner sous autre chose qu'administrateur, et quand il est effectivement lancé sous administrateur, il refuse encore de fonctionner. La hot-line, incompétente mais à 0,39 ¤/min, n'a pas réussi à lancer le programme (première étape) au bout de 90 minutes.

Je cherche donc un logiciel qui fonctionne sous Linux, ou d'une société un peu plus ouverte qui envisage éventuellement de migrer sous linux s'ils ont des demandes. Je cherche un logiciel un peu plus respectueux de l'utilisateur, un peu moins envahissant, et un peu moins verrouillé.

Je sais que les APIs ont été portés sous Unix, je ne sais pas où est-ce que l'on en est.

J'accepte également des URLs de site destinés aux médecins, aux informatiens, ou aux deux qui sont concernés par le problème.

Je vais maintenant passer parmi vous; à votre bon coeur m'sieurs dames et bonne journée.

...

> Lire le journal (35 commentaires, moyenne: 2,6).

Cherche un outil de gestion de bibliothèque

Posté le 16 avril 2004
0
J'ai récement installé VideoDB ( http://videodb.sourceforge.net/(...) ) pour enregistrer ma modeste collection de DVD. Ce programme est très pratique :

* C'est une application Web
* Il stoque toutes les données dans une base MySQL
* Il récupère pleins d'informations sur IMDB évitant une fastitieuse saisie
* Il permet de gérer les prêts de DVD (a qui ai-je prété ce film il y a 3 mois ?)

Je cherche le même genre d'outil pour ma bibliothèque de livres. Les points importants étant :

* Une application Web qui tourne avec des composants Open Source
* Un logiciel qui stocke les informations dans une base de donnée, PostgreSQL ou sinon MySQL
* Un logiciel capable de récupérer sur le net les informations d'un livre à partir de son ISBN ou de son titre et auteur.
* Un mécanisme de recherche des livres sur plusieurs critères
* Pas forcément de gestion des prêts.

Vous connaissez quelque chose ?

> Lire le journal (12 commentaires, moyenne: 0,8).

security.debian.org est dans les choux

Posté le 03 février 2004
0
On trouve un simple mail : http://lists.debian.org/debian-news/debian-news-2004/msg00005.html(...) qui annonce que la machine a planté, et que plus de 24h après ils n'arrivent pas à la redémarrer à distance.

Il est possible d'utiliser http://ftp.rfc822.org/debian-security/(...) en attendant.

Pour l'instant, la cause du crash est inconnue, problème matériel ? piratage raté ? C'est un coup un peu dur pour debian qui se voit privé pour la seconde fois en peu de temps de serveurs essentiels.

Les paquets étant signés, il faudrait peut-être envisager une solution de mise à jour sur un protocole P2P non centralisé, la sécurité a un gros point faible dans la situation actuelle, elle est complètement centré sur cette machine.

> Lire le journal (7 commentaires, moyenne: 1,3).

Distributions utilisant la µlibc

Posté le 15 janvier 2004
0
Linux est fabuleux pour transformer un vieux Pentium 75 en firewall/passerelle internet.

Pour plein de bonnes raisons, on a souvent envie de ne pas mettre de disque dur dans une telle machine, c'est fragile, ça coûte cher, on a du mal à trouver des petits modèles, c'est bruyant...

Une solution économique et simple est d'y mettre une carte Compact Flash [1] et un adaptateur IDE/CompactFlash que l'on trouve par correspondance pour environ 20$ [2].

Le problème est que l'espace disque est très très limité sur ces machines, je cherche donc une distribution (autre que LFS) qui permette d'avoir un serveur fonctionnel sur des petits disques, par exemple 8 ou 16 Mo, une des solutions est de ne pas utiliser la glibc qui dispose de beaucoup de choses qui ne servent pas à grand chose sur ce genre de plateforme mais de passer à la µlibc (ou autre).

Les grosses distributions classiques ne permettent pas d'installer un système de cette taille, ils y a beaucoup trop de choses comme la localisation, la documentation et tout un tas de modules.

Les micro-distributions qui tournent sur une disquette n'offrent pas la souplesse nécessaire, il est difficile de définir ses propres règles de filtrage, de monter des interfaces virtuelles, de faire du forward de ports etc... Et ces distributions permettent rarement d'installer des composants supplémentaires comme un serveur DHCP, un serveur SSH, un cache DNS...

Vous avez des idées ? Vous connaissez des distributions adaptés ?
Ou des distributions qui permettent de recompiler les paquets en utilisant un environnement léger ?

[1] On trouve des cartes Compact Flash de 128 Mo pour environ 30 EUR, par exemple: http://www.ldlc.fr/cat/140151.html?sscat=140151&tri=4&ordre(...)
mais beaucoup de vieux appareils photos numériques étaient fournis avec des cartes de 8 ou 16 Mo qui sont récupérable pour une bouchée de pain.

[2] On en trouve par correspondance pour environ 20$, sur pleins de sites américains: http://mach5products.com/merchant2/merchant.mvc?Screen=CTGY&Cat(...) ou http://www.acscontrol.com/Index_ACS.asp?Page=/Pages/Products/Compac(...)
ou encore http://www.acscontrol.com/Merchant2/merchant.mv?Screen=CTGY&Sto(...)
, je ne connais pas d'adresse françaises mais il est possible que l'on en trouve également

> Lire le journal (10 commentaires, moyenne: 1,5).

PostgreSQL: écrire une fonction plpgsql

Posté le 30 décembre 2003
0
Je me suis bien amusé à écrire une fonction récursive pour récupérer un chemin sous PostgrSQL, je vous en fais profiter.

On a :
skc=# SELECT id,name,parent FROM dir;
.id.|.name.|.parent
---+--------+---------
..0.|./.........|......0...
..1.|.home.|......0...
..2.|.etc.....|......0...
..3.|.skc.....|......1...
(4 rows)

Et ça donne :

skc=# select get_path(1); -> /home/
skc=# select get_path(3); -> /home/skc/
skc=# select get_path(4); -> ERROR: dir.id 4 not found

Installer plpgsql

Sur ma Debian woody, plpgsql n'était pas déclaré dans la base de donnée, il suffit de lancer
/usr/lib/postgresql/bin/createlang [--echo] plpgsql skc
pour créer le handler du langage dans la base skc, --echo permet de voir les commandes qui sont effectivement exécutées.

La fonction

CREATE OR REPLACE FUNCTION get_path(INTEGER) RETURNS VARCHAR AS '
DECLARE
dir_id ALIAS FOR $1;
dir_name VARCHAR;
dir_pid INTEGER;
BEGIN
SELECT INTO dir_name name FROM dir WHERE id=dir_id;
IF NOT FOUND THEN
RAISE EXCEPTION ''dir.id=% not found'', dir_id;
END IF;
IF dir_id = 0
THEN
RETURN dir_name;
ELSE
SELECT INTO dir_pid parent FROM dir WHERE id=dir_id;
RETURN get_path(dir_pid) || dir_name || ''/'';
END IF;
END;
' LANGUAGE 'plpgsql';

Voila, si vous voyez comment améliorer la fonction ou si vous avez une fonction équivalente pour une autre base de données, n'hésitez pas à poster un commentaire.

> Lire le journal (4 commentaires, moyenne: 2).

Firewall et RPC

Posté le 15 octobre 2003
0
Le noyau Linux offre depuis la nuit des temps des fonctions de filtrage IP de plus en plus évoluées à chaque nouvelle version majeur [1]. On peut facilement demander que toutes les requêtes TCP vers le port 5432 qui arrivent depuis ppp0 soient purement et simplement envoyé à la trappe [2].

Sun a développé sur IP un mécanisme normalisé de RPC qui se base sur portmap [3], les services s'installent sur un port UDP ou TCP quelconque et s'inscrivent auprès du portmap.

Le port du démon portmap est fixe, on peut le filtrer, mais les services qui s'enregistrent peuvent tourner sur n'importe quel port. Comment faire pour les filtrer [4] ?

Les versions modernes viennent avec les tcp_wrapper, mais :
1- ils agissent à un niveau très élevé, on ne bloque pas au niveau IP
2- je ne sais pas si cette protection s'applique à tous les services, ou simplement au démon portmap
3- la granularité du tcp_wrapper est très grosse, pour une machine donnée, soit on autorise les RPC, soit on les interdit.

La question est donc: comment fait-on pour sécuriser tout ça ?


---


[1] Au passage, on peut même modifier le port au vol et rediriger par exemple les requêtes destinées au port 53 (DNS) vers un port non privilégié (comme le 1053), ça permet de faire tourner un serveur sans avoir à le lancer sous root, réduisant parfois les risques en cas d'intrusion.

[2] Cela évite, si on est connecté à internet via cette interface, que n'importe qui puisse venir tenter des connexions sur sa base PostgreSQL. C'est très pratique lorsque les logiciels sont un peu sensibles au buffer overflow ou s'ils ne sont pas paramétrables pour filtrer l'origine des connexions.

[3] Le portmapper est en quelque sorte un annuaire des RPCs qui sont disponibles sur une machine.

[4] En faisant un rpcinfo -p on peut voir par exemple:
programme : 100005
version : 3
protocole : tcp
port : 2049
serveur: mountd
ce qui signifit que sur le port 2049 en TCP, il y a un serveur qui réponds (mountd version 3), et rien n'interdit quelqu'un de se connecter dessus pour tenter de lui faire faire quelque-chose.

> Lire le journal (4 commentaires, moyenne: 1).

Radio france semble avoir rebooté le serveur Ogg

Posté le 22 juin 2003
0
Quelques jours après l'annonce de la diffusion au format Ogg des stations de radio-france http://linuxfr.org/2003/04/01/11914.html , certains flux ont disparu dans les méandres du 404. Pendant deux mois, lorsqu'on réclamait FIP ou Radio classique (je n'ai pas essayé les autres), le serveur répondait inlassablement par un 404. Aujourd'hui, il semble que la situation soit rétablie, puisqu'il est a nouveau possible d'écouter ces deux radios. Si vous cherchez les adresses des flux, elles sont bien cachées, il faut regarder en bas de la page http://www.radiofrance.fr/services/aide/difflive.php#ogg

> Lire le journal (9 commentaires, moyenne: 1).

Vol de matériel informatique a Annecy

Posté le 12 juin 2003
0
Le quotidien du médecin n°7350 (mercredi 11 juin 2003) « Le directeur de la clinique générale d'Annecy, le Dr Claude Novel, a lancé le 6 juin un appel aux voleurs qui ont dérobé du matériel informatique pour leur demander de "rendre au moins les cinq disques durs", essentiels au fonctionnement du nouvel accélérateur de particules traitant les cancers. (...) L'inauguration de l'unité de radiologie dotée du nouvel accélérateur de particules, un équipement ultramoderne fabriqué aux Etats-Unis, qui coûte plus de 1 million d'euros, devait avoir lieu le 20 juin. »

> Lire le journal (12 commentaires, moyenne: 3).

Mozilla et JavaScript

Posté le 25 février 2003
0
Voici un petit retour d'expérience sur Mozilla et JavaScript que j'utilise tous les jours au boulot. Résumé : Certaines pages contiennent du JavaScript qui ne fonctionne qu'avec MSIE, si on n'a pas accès aux sources des pages en question, on se retrouve plus ou moins bloqué, impossible d'aller plus loin. Heureusement, Mozilla vient avec un débugger JavaScript qui permet d'exécuter n'importe quel code dans le contexte de n'importe quelle page affichée dans le navigateur. Ceci permet de valider des formulaires en contournant du code de validation mal écrit, de saisir des valeurs non prévues dans les champs, bref de contourner à peu près tous les problèmes du JavaScript. Procédure : Il faut commencer par lancer le débugger JavaScript: Outils/Développement Web/Débogeur JavaScript La fenêtre du débugger JavaScript s'ouvre. La première fois, Mozilla doit probablement compiler tout un tas de trucs parce que le CPU grimpe à 100% pendant plus d'une minute sur ma machine. Les lancements suivants sont quasiment imédiats. Si vous n'avez pas de sous-fenêtre "Fenêtres ouvertes" il faut l'activer via : Vue/Voir & Masquer/Fenêtres ouvertes Sélectionnez dans l'arbre de "Fenêtres ouvertes" la fenêtre, l'onglet ou la frame qui vous intéresse, l'activer en faisant dessus : [Clic-droit]/Défini un objet d'évaluation (c'est le second choix, en anglais cela donne quelque chose comme "set as active context") En cliquouillant sur l'élément de l'arbre, le source de la page sélectionnée apparait dans la sous-fenêtre "Code Source". Ensuite, dans la sous-fenêtre "Session interactive" il est possible de saisir le JavaScript que vous voulez. Le titre de la sous-fenêtre indique le contexte à utiliser. Exemple : Ouvrir http://www.google.fr/ et définir la page ouverte comme contexte courant dans le débugger JavaScript. Saisir : document.f.q.value='linuxfr'; Le champs de recherche contient maintenant la valeur 'linuxfr' Saisir : document.f.submit(); La requête est lancée, la fenêtre contient maintenant les réponses à la recherche. Automatisation : La "Preference toolbar" qu'il est possible d'installer à partir de http://www.xulplanet.com/downloads/prefbar/ permet de créer un bouton et d'y associer le code javascript que l'on veut. Avec le code adéquat, il est possible de pré-remplir un certain nombre de champs, et/ou de valider le formulaire en contournant tout un tas de code de validation mal écrit qui empèche de soumettre le formulaire. Lorsque vous utilisez régulièrement le site en question (comptes en banque, réservation, horaires...), le fait de définir un bouton vous évitera une fastidueuse saisie : Dans les préférences : Avancées/Preferences Toolbar/New Item Type: Button Id: valideFormBanque Label: ValideBanque onclick: document.commandDispatcher.focusedWindow.content.w_contenu.document.theForm.submit(); Le chemin est bien plus long, parce que l'on ne se trouve pas dans le bon contexte, il faut retrouver celui de la page courante. Si vous avez des frames, il faut en plus spécifier celle ci. Si vous voulez exécuter plusieurs commandes, cela fonctionne sans problème, mais il faut tout coller sur une unique ligne.

> Lire le journal (4 commentaires, moyenne: 2).