Aller au contenu

jcaron

Membre+
  • Compteur de contenus

    998
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par jcaron

  1. Tu peux nous donner l'adresse de ta page de test? Ca nous permettra de voir exactement ce que contient ta page, et ce qu'il peut y avoir à corriger. Jacques.
  2. Si tu nous disais ce que tu cherches à faire exactement, on pourrait probablement te proposer une solution, parce que là c'est quand même bizarre, le code que tu donnes ne récupère rien du tout, mais force l'existence de la variable compteur1, mais qui ne contient rien. Il manque des bouts, et le but n'est pas trop clair... Jacques.
  3. Ah effectivement j'avais lu un peu vite. Je ne savais pas qu'il y avait encore ce genre de limites dans mysql, moi j'utilise postgresql qui n'a pas ce genre de problème... Mais dans ce cas je ne sais pas trop comment tu peux faire en SQL pur :-( Jacques.
  4. Il doit pas être tout jeune ton mysql, les subqueries sont supportées depuis la 4.1... Il serait peut-être temps de faire un petit upgrade :-) Jacques.
  5. Ajoute un alert(exe) dans lancerstart pour voir à quoi il ressemble à ce moment-là. Et fais un alert(ce que tu passes comme argument à w.run). Jacques.
  6. Déjà dans le premier document.write je pense que ton quoting est complètement off. Ensuite si $adresse contient des \ il va falloir les escaper (les doubler). Si avec ça ça ne fonctionne pas: - regarder le source de la page générée pour vérifier que ça correspond à ce que tu attends une fois que php est passé par là - ajoute une trace (alert par exemple) pour voir le contenu de exe dans lancerstart, tu verras déjà quelle tête il a vu par JS (là je pense que le "c:\program files\machin.." est devenu "c:program filesmachin..." A part ça, ça m'a l'air horriblement dangereux cette histoire de WScript.Shell. J'espère que c'est sur un site à usage interne (genre Intranet)! Evidemment le fait que tu utilises un ActiveX fait que tu ne peux utiliser que IE, ce qui limite pas mal les possibilités de debug, mais alert est ton ami :-) Jacques.
  7. Moi j'utilise vi :-) Mais il me semble que Notepad++ supporte l'UTF-8 et tout un tas d'autres encodages, non? Pas besoin de séparer quoi que ce soit, c'est justement le but d'UTF-8 (et d'Unicode de façon plus générale), tu peux coder tout ce que tu veux sans souci (par opposition aux autres encodages qui ne permettent de traiter qu'une seule familles de langues par fichier). Par contre je ne sais pas si d'un point de vue ergonomie pour l'utilisateur ni référencement c'est vraiment une très bonne chose que de mettre les deux sur la même page. Jacques.
  8. Si ton site est en HTML pur, il te faut juste un éditeur capable de sauvegarder en UTF-8, et te mettre un <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> au début de ta page, juste après le <head>. Si ton site est en PHP/mysql il va aussi falloir configurer ta bdd, il y a plusieurs approches possibles suivant les cas (pur UTF-8 de bout en bout, conversion...). Jacques.
  9. Ca pourrait probablement aider d'avoir un peu plus de contexte (on suppose que cette ligne de code est dans du JS à l'intérieur d'un document HTML), et plus de détails sur "ça ne fonctionne pas", genre le message d'erreur et tout ça (si si, tous les browsers modernes sont capables de te donner des messages d'erreur). Dans le contexte supposé, il n'y a pas de raison que ça ne marche pas (si $addresse ne contient ni " ni ' évidemment). On suppose que tu n'es pas en fait dans un onxxx d'un tag html mais bien dans du JS, et dans du HTML directement et pas dans du HTML généré par du PHP... Jacques.
  10. Oui mais si ta page est déjà en UTF-8, pourquoi est-ce-que tu as besoin de coder ce caractère de la sorte? Copie, colle, hop, fini. Si ton éditeur supporte l'UTF-8 bien sûr, mais si ta page est en UTF-8, ça devrait être le cas. Sinon de façon générale, tu peux trouver tous les caractères Unicode ici: />http://unicode.org/charts/ Par liste (si tu connais le "nom" du caractère, "a with breve" ici) />http://unicode.org/charts/charindex.html Le caractère en question se trouve dans Latin Extended-A. Les tables te donnent le code hexa, pour l'utiliser en HTML tu le mets dans une entité au format &xcode; donc ici g (f pour la version en majuscules). Jacques.
  11. Mets ça sur ton image: position: relative; z-index: 1000; Jacques.
  12. Un truc de ce genre peut-être? SELECT a.var, d.nom FROM objets a LEFT JOIN attributs d ON a.id = d.idobjet WHERE d.id IN (SELECT id FROM attributs WHERE idobjet=a.id ORDER BY whatever LIMIT 5) Jacques.
  13. Je pense que ça dépend beaucoup de versions de Windows et peut-être d'IE: même si le navigateur le gère, il faut quand même que les fontes contenant ces symboles existent quelque part sur la machine, ce qui requiert dans au moins certaines versions de Windows des extensions qui ne sont pas installées en standard. Avec les vieilles versions d'IE, se pose aussi le problème de la fonte utilisée (il ne trouve pas forcément tout seul la bonne fonte). Quelques pistes: />http://en.wikipedia.org/wiki/Help:Multilingual_support_(East_Asian)#Windows_95.2C_98.2C_ME_and_NT />http://meta.wikimedia.org/wiki/Help:Special_characters#Displaying_special_characters />http://en.wikipedia.org/wiki/Unicode#Operating_systems />http://en.wikipedia.org/wiki/Unicode_and_HTML#Web_browser_support />http://en.wikipedia.org/wiki/Unicode_typefaces Evidemment un utilisateur "cible" devrait avoir tout ce qu'il faut installé sur sa machine, logiquement. Jacques.
  14. La plupart des gens ignorent totalement l'existence de ces options :-( Pour faire juste ce que tu veux, tu peux tenter de rajouter un id à ton <link> original, puis dans ton JS faire un document.getElementById(iddetonlink).href='nouvelleurl' mais je ne suis pas vraiment convaincu que ça marche dans tous les browsers. Une autre option consiste à avoir une seule taille "de base" (par exemple dans le style du "BODY"), et faire en sorte que dans ton CSS toutes les autres tailles soient calculées à partir de cette taille de base (avec des unités en % ou en "em"). Ensuite tu n'as plus que cette taille-là à changer, pas besoin de recalculer ou recharger tout le CSS pour ça. Et ça a l'avantage que ça marcherait aussi avec les options des navigateurs pour ça. Jacques.
  15. Oui, où est la "complexité d'Unicode"? Passe tout en UTF-8, ça va t'embêter un peu pendant la transition, mais une fois que ce sera fait, tu peux mettre toutes les langues que tu veux sans réfléchir. Jacques.
  16. jcaron

    RegEx et url

    Si tu as [^<]* uniquement entre le <a...> et le </a> dans ta regex, il ne peut y avoir aucun tag HTML (puisqu'il ne peut pas y avoir de <) et donc pas d'images. Non. Comme indiqué, [^()] veut dire "n'importe quel caractère sauf ( ou ). Donc [^()]* ou [^()]+ est n'importe quelle suite de caractères qui ne comporte pas de parenthèses, ce qui est bien ce qu'ils disent. Ca n'a rien à voir avec "n'importe quel suite de caractères qui ne comporte pas de séquence (), i.e. parenthèse ouvrante et fermante à la suite", ce qui est ce que tu voudrais. Encore une fois, mon bon conseil (et Jeanluc te donne le même) consiste à rechercher d'abord tes <a...>qqchose</a>, et ensuite vérifier qu'il n'y a pas de <img...> dedans. Tu peux le faire directement avec une regex, mais ça va te coûter cher en aspirine. Jacques.
  17. jcaron

    RegEx et url

    Ben visiblement, tu n'as lu que la moitié de mes commentaires (et encore, la seule modif que tu as faite c'est éviter les minuscules/majuscules), et tu n'as toujours pas lu la doc (comme tu as l'air d'avoir du mal à la trouver, elle est ici: http://www.php.net/manual/en/reference.pcre.pattern.syntax.php ). Je ne sais pas vraiment à quoi ça sert qu'on réponde à tes questions si tu ne lis pas ce qu'on te répond. [^img] ça ne veut pas dire "n'importe quoi qui ne contienne pas img", ça veut dire "n'importe quel caractère sauf i, m, ou g". Moi je te conseille de faire ton test en deux temps: tu matches sur <a href...>qqchose</a>, puis tu vérifies si qqchose est (ou contient) un <img...>. Sinon tu peux regarder du côté de http://www.php.net/manual/en/regexp.reference.assertions.php mais déjà que moi ça me donne mal à la tête alors... Jacques.
  18. Oops, en effet. Ceci dit, ça n'enlève rien au fait que le CPU est saturé aussi. Et puis 1 Go / 269 process c'est plus de l'ordre de 4 Mo par processus que 4 Ko, heureusement! Maintenant avec du php dans les parages, ça reste clairement insuffisant. Jacques.
  19. jcaron

    RegEx et url

    Y'a pas un vrai parser HTML en php? Ce serait quand même plus simple et plus propre... Sinon la question est: est-ce-que le "qqchose" doit être uniquement du texte, ou il peut contenir des tags HTML à condition que ce ne soit pas une image? Dans le premier cas il suffit de chercher ([^<]*). D'ailleurs là tu as "*" tout court, ça ne le fait pas trop, puisqu'en fait c'est >* qui va correspondre. Et tu n'as pas besoin de la plupart des () que tu as dans ta regex. De même, comme tu est en "case-insensitive" avec le flag "i", pas besoin de mettre des majuscules et minucules. Aussi, à l'intérieur de [] on ne met pas de | pour distinguer les alternatives, on ne liste que des caractères individuellement (ou des séquences genre a-z). Le | est utilisé entre parenthèses par contre (avec ?: si tu veux que les parenthèses ne soient pas capturantes). Le .*? c'est aussi assez particulier... Et puis tu pourrais avoir d'autre attributs entre le a et le href (class, target, style...). '#<a\s+(?:[^>]*\s+)href\s*=\s*(?:\'([^']*)\'|"([^"]*)"|([^ >]*)[^>]*>([^<]*)</a>#is' est probablement plus proche de la réalité (pas testé), mais un vrai parser HTML serait quand même mieux. Si tu veux pouvoir capturer du texte y compris des tags HTML à l'exception de <img...> ça va être plus cotton je pense, il faut probablement utiliser des look-ahead expressions, ça requiert de l'aspirine :-) NB: tu devrais aller (re)lire la doc sur la syntaxe des regex plutôt que d'y aller à tâtons... Jacques.
  20. Ton top montre que c'est mysql qui consomme le plus de CPU. Regarde les requêtes en cours, et active le log des "slow queries". Ensuite regarde (avec explain) comment ces requêtes sont exécutées, il te manque probablement des index. Jacques.
  21. Non, ils expliquent bien que si tu veux maintenir l'ordre de tri de chacun des bouts (en fait le reconstituer, puisque l'ordre est "perdu" par le UNION, et en fait complètement ignoré s'il n'y a pas de LIMIT dans les composantes), il faut que tu ajoutes (au moins) une autre colonne qui permet de mettre les bouts dans l'ordre dans le résultat final. Donc (ce qui est presque exactement le dernier exemple qu'ils donnent): (select 1 as tri_1,critere_de_tri_1 as tri_2,... from ... where ...) union (select 1 as tri_1,critere_de_tri_1 as tri_2,... from ... where ...) union (select select 2,critere_de_tri_2,... from ... where ....) order by tri_1,tri_2 limit 100 le tri_1 définit de quel "groupe" ça vient, le tri_2 l'ordre dans chaque groupe. Evidemment il est tout à fait possible suivant les colonnes disponibles et le tri exact que tu veux faire que tu n'aies pas besoin d'ajouter les deux colonnes en plus. En particulier, tu peux probablement écrire: (select 1 as tri_1,... from ... where ...) union (select 1 as tri_1,... from ... where ...) union (select select 2... from ... where ....) order by tri_1,case when tri_1=1 then critere_de_tri_1 else critere_de_tri_2 end limit 100 Jacques.
  22. Si si, c'est dans la doc, vers la fin, à partir de "To cause rows in a UNION result to consist of the sets of rows retrieved by each SELECT one after the other"... Jacques.
  23. C'est quoi la question? Comment ça s'écrit en SQL? />http://dev.mysql.com/doc/refman/5.1/en/union.html, la partie qui commence par "To use an ORDER BY or LIMIT clause to sort or limit the entire UNION result". Jacques.
  24. Tu veux dire l'intégrer directement dans le site? D'habitude c'est plutôt fait côté client. Opera par exemple intègre un fonction de lecture (et de commande vocale), mais j'avoue que je n'ai jamais essayé, et je ne sais même pas s'il supporte autre chose que l'anglais. De façon plus générale il y a des softs qui s'installent côté client pour ça, tu en as une longue liste ici: />http://en.wikipedia.org/wiki/List_of_screen_readers Je ne sais pas lesquels gèrent le français. Sinon tu peux regarder du côté de http://www.browsealoud.com/ qui fonctionnerait côté serveur, mais je n'en suis pas très sûr. Quoi qu'il arrive, il faut que ton site soit "propre" pour que ça marche le mieux possible, i.e. qu'il respecte au minimum les normes HTML, et les normes d'accessibilités (WAI WCAG). Plus de détails ici: http://fr.wikipedia.org/wiki/Web_Accessibility_Initiative et là: http://fr.wikipedia.org/wiki/WCAG En dehors de la synthèse vocale, il y a d'autres solutions plus simples pour les personnes qui ont juste une "mauvaise" vue (par opposition à pas de vue du tout): utiliser une taille de texte plus grosse (éventuellement beaucoup plus grosse), avec des options pour passer de normal à gros par exemple, et faire bien attention à avoir de bons contrastes (noir sur blanc plutôt que bleu sur gris par exemple...). Jacques.
  25. Commence par passer ta page au validateur W3C et corrige toutes les erreurs qu'il trouve. La plupart sont bénignes, mais d'autres peuvent clairement donner des résultats bizarres, comme le fait d'avoir deux <body>! Jacques.
×
×
  • Créer...