Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

Un colorateur syntaxique : Pygments

Passons de Geshi à Pygments

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Page Précédente  1  2  3  4  5  Suivante
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page Précédente  1  2  3  4  5  Suivante
Hors ligne ornithorynx # Posté le 07/04/2008 à 20:35:21
Groupe : Bannis

Reprise du dernier message de la page précédente :
Il en existe pas 10000... Celui là est performant, il y a beaucoup de bons codeurs Python sur le site en cas de problème ou de feature à rajouter, il est facilement interfacable avec PHP via PIP (Python in PHP, voir un des liens au dessus), donc que demande le peuple ? :D .

Pour les colorations syntaxiques, tu peux tout simplement aller les tester dans la démo sur le site de Pygments pour voir laquelle tu préfère ;) .
Publicité # Posté le 07/04/2008 à 20:35:21

Hors ligne Nelty # Posté le 07/04/2008 à 21:13:56
Garfield in the US
Avatar
Groupe : Anciens
Flux RSS

Ville : Owatonna
Pays : États-Unis

Citation : ornithorynx
Il en existe pas 10000... Celui là est performant, il y a beaucoup de bons codeurs Python sur le site en cas de problème ou de feature à rajouter, il est facilement interfacable avec PHP via PIP (Python in PHP, voir un des liens au dessus), donc que demande le peuple ? :D .

Pour les colorations syntaxiques, tu peux tout simplement aller les tester dans la démo sur le site de Pygments pour voir laquelle tu préfère ;) .


Il y a toujours des gens à dire que quelque chose ne va pas alors que tout va pour le mieux, laisse couler ces remarques. ^^
Connecté karamilo # Posté le 13/04/2008 à 15:26:17
Knowledge is power.
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

J'ai testé via un shell_exec(), c'est franchement pas performant du tout.
Il faudrait tester avec Python in PHP pour voir si c'est mieux. Si quelqu'un a la motivation pour le faire, je dis pas non :)

C'est quand même pas trop l'idéal.
 
Hors ligne delroth_ # Posté le 13/04/2008 à 16:18:25
Groupe : Bannis

Coucou tout le monde, c’est moi :) .

J’avais pas l’intention de re-répondre directement au topic cette fois-ci, mais vu qu’il y a personne sur IRC pour poster ce message à ma place, faut bien le faire, pour une fois que j’ai quelque chose d’utile et de constructif à dire. Et puis bon, au pire, ce message sera supprimé et ira dans l’enfer du site du zéro où brûlent des milliers de comptes et messages supprimés, niark niark.

Donc donc, je viens ici pour dire que tout d’abord shellexec n’est pas la solution : c’est lent, ça nécessite des accès au shell à chaque appel, et ça fait donc un truc pas utilisable en production sur un gros site comme celui-là. PiP (Python in PHP) n’en est pas une non plus, sachant que ce module PHP n’est plus développé depuis 2002 (et de toute façon, comme l’a dit mt9, un interpréteur python dans chaque processus, c’est vraiment atroce niveau consommation de RAM).

Je me suis penché sur une autre solution, que je met souvent en oeuvre pour lier deux langages : celle de l’utilisation de XML-RPC. L’architecture est simple : un serveur python réponds aux requêtes de l’interpréteur PHP, et colore le code demandé dans le langage voulu. J’ai choisi le protocole XML-RPC pour cela car il existe des libs très pratiques d’utilisation dans les deux langages utilisés : Python et PHP.

Après dix minutes de programmation (et de lecture de la doc de la lib xmlrpc de PHP, surtout), j’en arrive à un très bon résultat, potentiellement utilisable en production sur ce site par exemple. Tout d’abord, avant de regarder le code, voyons les résultats du benchmark que j’ai effectué (le même que Skazz a effectué dans son message d’origine en rajoutant le Pygments+XMLRPC) :

Code : Autre - Afficher / masquer les numéros de ligne
  1. 400 colorations with GeSHi took : 9.9258408546448 seconds. (PHP pur)
  2. 400 colorations with Pygments took 0.971227884293 seconds (Python pur)
  3. 400 colorations with Pygments+XMLRPC took : 2.1656370162964 seconds. (mix Python/PHP)


On a donc une multiplication par deux du temps pris pour 400 colorations, restant néanmoins 5 fois plus petit que celui pris par GeSHi pour le même nombre de colorations. Les résultats sont donc tout à fait corrects et rendent cette architecture tout à fait réaliste et réalisable.

Les sources utilisées pour ce benchmark sont accessibles à l’URL suivante : http://delroth.alwaysdata.net/sdz/gesh [...] suite.tar.gz .

Les fichiers contenus dans l’archive sont les suivants :

  • test.php : PHP pur, 400 colorations avec GeSHi
  • test.py : Python pur, 400 colorations avec Pygments
  • server.py : serveur XML-RPC de coloration de code, en Python.
  • test3.php : PHP accèdant au serveur Python de coloration par XML-RPC.


Voilà, have fun avec tout ça, je soutiens cette suggestion de tout mon coeur, et surtout, make love, not war ;) .
Connecté karamilo # Posté le 13/04/2008 à 16:25:31
Knowledge is power.
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

Salut,

Merci pour ta contribution, si seulement tu passais 100% de ton énergie à faire ce genre de choses, on n'en serait pas là ;)
Malheureusement, tu le sais bien, tu es définitivement pas le bienvenu ici, c'est pourquoi tu es bien sûr rebanni.
Malgré tout, je te remercie pour ton petit bench, en effet, un XML-RPC me semble le plus adapté ici.
 
Hors ligne Diti # Posté le 13/04/2008 à 23:12:28
Manchot empereur toon
Avatar
Validateurs

Ville : Sucy-en-brie
Pays : France métropolitaine
Études : EFREI

karamilo, je n'ai pas l'intention de remettre en doute tes pensées, mais pourquoi persister à bannir delroth ? On réélit bien un président de la République qui a fait quelque chose de « mal », justement parce qu'il a fait des trucs biens durant son mandat.
 
Hors ligne Luigi_home # Posté le 14/04/2008 à 00:31:42
Carrie Underwood <3
Avatar
Flux RSS

Ville : Ste-adèle, québec
Pays : Canada

Citation : Diti
karamilo, je n'ai pas l'intention de remettre en doute tes pensées, mais pourquoi persister à bannir delroth ? On réélit bien un président de la République qui a fait quelque chose de « mal », justement parce qu'il a fait des trucs biens durant son mandat.


OK, mais on n'est pas en République et chacun a ses règles. Certe, ça peu paraître bête au premier abords, mais en même temps on peut très vite comprendre le pourquoi de cette pensée :
  • Une bonne action d'un membre banni ne veut pas nécessairement dire qu'il est apte a réintégré le site. S'il a été banni parce que ses propos n'étaient pas conforme avec les règles, ça ne changera pas parce qu'il a fait une bonne action.
  • Si le membre qui a apporté une bonne action est débanni, alors ceux qui veulent réintégré le site en feront de même et ça poussera quelques membres non-bannis à s'interroger sur les règles. Un certain "je-m'en-foutisme" s'installera au niveau des membres vis-à-vis les règles du site et ça pourra mener à des conséquences de plus en plus grâve.
C'est principalement ce que j'en ressort après m'être interroger sur les propos de Karamilo. Je ne parle pas au nom de personne, c'est simplement ce que j'ai eu comme conclusion après une réflexion sur la question.

Souriez, Luigi_home vous aime :) .
"[...] choisis ton public :P, si tu veux toucher tous les publics, tu finiras par n'en plus toucher aucun. :/" - kaonate
"Windows ou Linux ... c'est la personne qui utilise l'OS qui est le maître, pas l'OS." - Kurapix
"[..] s'inscrire sur un site, c'est une contrainte, [..], tes visiteurs ne le feront que si ça leur apporte réellement quelque chose." - LoupSolitaire
"Si une idée est bonne, elle s'imposera d'elle-même [...]" - Kyle Katarn
 
Hors ligne delphiki # Posté le 14/04/2008 à 00:45:30
Time to rest.
Avatar
Groupe : Anciens
Flux RSS

SI vous voulez parler de ça, parlez-en en MP, merci. ;)

embed2object : codes valides XHTML pour Dailymotion, YouTube, Deezer, RadioBlog etc.
Image utilisateur Mon Twitter Image utilisateur Celui de U-Sub.net
Lack of Inspiration - Get A Life - U-Sub
"The only thing necessary for the triumph of evil is for good men to do nothing." Edmund Burke
"L'ennui dans ce monde, c'est que les idiots sont sûrs d'eux et les gens sensés plein de doutes." Bertrand Russel
 
Hors ligne Natim # Posté le 14/04/2008 à 12:16:39
Apprendre à coder c'est coder
Avatar
Groupe : Anciens
Flux RSS

Ville : Belfort
Pays : France métropolitaine

Bon j'ai codé le colorateur en Python XMLRPC avec pygments que vous pouvez tester ici : http://www.trunat.fr/colorateurs/pygments/ mais je trouve pas du tout tes benchmarks delroth.
 
Hors ligne mt9 # Posté le 14/04/2008 à 12:33:21
Groupe : Bannis

http://delroth.alwaysdata.net/sdz/gesh [...] suite.tar.gz

Tu vois pas les boucles à 400 itérations ?
Et heu, pourquoi t'as recodé un serveur XMLRPC alors que delroth en a déjà codé un ? o_O
Édité le 14/04/2008 à 12:45:46 par mt9

Ta mère est tellement grosse qu'elle rentre pas dans un malloc()
 
Hors ligne Ssx`z # Posté le 14/04/2008 à 12:43:38
Avatar
Flux RSS

Études : IUT Vannes

Ca m'a l'air tout à fait raisonnable pour un fichier de 180 lignes : Coloré en 0.271363973618 seconds.


Maintenant 600 lignes : Coloré en 0.780597925186 seconds.


Enfin le must : 2500 lignes : Coloré en 2.32222104073 seconds.

Image utilisateur

Follow me on Twitter
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it.” (Edsger W. Dijkstra)
 
Hors ligne Vincent Giersch # Posté le 14/04/2008 à 13:06:54
Avatar

Ville : Nantes
Pays : France métropolitaine
Études : Epitech Nantes

Citation : Ssx3max
Ca m'a l'air tout à fait raisonnable pour un fichier de 180 lignes : Coloré en 0.271363973618 seconds.


Maintenant 600 lignes : Coloré en 0.780597925186 seconds.


Enfin le must : 2500 lignes : Coloré en 2.32222104073 seconds.


M'enfin sur le SdZ les codes de 2500 lignes c'est assez rare :-°

Vincent Giersch, Epitech Nantes Promotion 2014
BSD Associate Certified | Google Analytics Individual Qualified | Google Adwords Individual Qualified
 
Hors ligne Diti # Posté le 14/04/2008 à 17:46:20
Manchot empereur toon
Avatar
Validateurs

Ville : Sucy-en-brie
Pays : France métropolitaine
Études : EFREI

Citation : Vincordi
M'enfin sur le SdZ les codes de 2500 lignes c'est assez rare :-°

Hum, vu ce que certains membres peuvent faire, on sait jamais :D !
Édité le 14/04/2008 à 17:47:51 par Diti
 
Hors ligne Ssx`z # Posté le 14/04/2008 à 18:15:13
Avatar
Flux RSS

Études : IUT Vannes

Citation : Diti
Citation : Vincordi
M'enfin sur le SdZ les codes de 2500 lignes c'est assez rare :-°

Hum, vu ce que certains membres peuvent faire, on sait jamais :D !


En même ce gars il fait fort, car 210 requetes :D

Image utilisateur

Follow me on Twitter
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it.” (Edsger W. Dijkstra)
 
Connecté karamilo # Posté le 14/04/2008 à 18:37:56
Knowledge is power.
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

Code : HTML
200
201
202
203
204
205
206
<html>
<h1>salut</h1>
<p>cool :)</p>
<p>cool :)</p>
<p>cool :)</p>
<p>cool :)</p>
</html>


Code : Autre
200
201
202
203
204
205
206
<html>
<h1>salut</h1>
<p>cool :)</p>
<p>cool :)</p>
<p>cool :)</p>
<p>cool :)</p>
</html>


Code : Console
<html>
<h1>salut</h1>
<p>cool :)</p>
<p>cool :)</p>
<p>cool :)</p>
<p>cool :)</p>
</html>


Done.

Ca va sûrement provoquer pas mal de bugs vu le gros changement critique que c'est. Geshi et Pygments doivent cohabiter à l'unparse ce qui n'est pas évident.
 
Hors ligne .skaz # Posté le 14/04/2008 à 18:45:44
Avatar

Super kara ! :)
Hors ligne Ssx`z # Posté le 14/04/2008 à 18:46:13
Avatar
Flux RSS

Études : IUT Vannes

GG :) Vas donc falloir réactualiser certains tutos nan ?
Édité le 14/04/2008 à 18:46:34 par Ssx`z

Image utilisateur

Follow me on Twitter
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it.” (Edsger W. Dijkstra)
 
Hors ligne Vincent Giersch # Posté le 14/04/2008 à 18:51:10
Avatar

Ville : Nantes
Pays : France métropolitaine
Études : Epitech Nantes

Mais euh... il n'y a aucun code à jour o_O
parce qu'aucun ne ressemblent à celui-ci dessus...

Code : PHP
1
2
3
<?php
echo "Hello World";
?>
Édité le 14/04/2008 à 18:51:55 par Vincent Giersch

Vincent Giersch, Epitech Nantes Promotion 2014
BSD Associate Certified | Google Analytics Individual Qualified | Google Adwords Individual Qualified
 
Hors ligne Linktim # Posté le 14/04/2008 à 18:51:52
Ex-Newser
Avatar
Groupe : Anciens

C'est qu'une histoire de CSS.
Hors ligne Vincent Giersch # Posté le 14/04/2008 à 18:52:35
Avatar

Ville : Nantes
Pays : France métropolitaine
Études : Epitech Nantes

Ah oue, en effet, car certains tutos étaient encore en GeSHI :) .

Vincent Giersch, Epitech Nantes Promotion 2014
BSD Associate Certified | Google Analytics Individual Qualified | Google Adwords Individual Qualified
 
Connecté karamilo # Posté le 14/04/2008 à 18:54:32
Knowledge is power.
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

Ouais pour les tutos, je vais essayer de reparser tout pour uniformiser.
Pour le reste, ça reste comme ça ;)
 
Hors ligne aurek # Posté le 14/04/2008 à 19:03:18
Avatar

Études : ISIMA

Bravo pour ce passe aussi rapide !

Par contre, sur le site on pouvait voir un choix de coloration assez grand et, je trouve que celle qui est mise en place sur le sdz pour les codes C n'est vraiment pas assez marquée. Il faut vraiment prêter l'oeil pour voir ce qui est coloré dans le code. Donc, ma question est n'est-il pas possible de changer la coloration pour ces codes au moins ?

Cette question n'engage que moi bien sûr.
Édité le 14/04/2008 à 19:04:07 par aurek
Hors ligne mt9 # Posté le 14/04/2008 à 19:13:03
Groupe : Bannis

Par contre, c'est ultra moche sous Bluezaz :-'

Ta mère est tellement grosse qu'elle rentre pas dans un malloc()
 
Hors ligne Tristou # Posté le 14/04/2008 à 19:15:24
"En mode"
Avatar

Du moment que ça colore correctement, l'aspect c'est pas si grave si :-° ?

Lovely old and expected me - Une pomme par jour éloigne le médecin. Oui, mais faut bien viser !
 
Hors ligne Bougie # Posté le 14/04/2008 à 19:19:15
Solaris beginner
Avatar
Flux RSS

Ville : Combourg
Pays : France métropolitaine

La couleur du code console sous bluzaz ne passe pas :)
Donc va falloir arranger un peu tout ça =)

Sur methys en tout cas, c'est très joli.
 
Connecté karamilo # Posté le 14/04/2008 à 19:33:34
Knowledge is power.
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

Citation : Bougie
La couleur du code console sous bluzaz ne passe pas :)
Donc va falloir arranger un peu tout ça =)

Sur methys en tout cas, c'est très joli.


Le CSS de Bluzaz était mal passé. Voilà.
 
Hors ligne Tristou # Posté le 14/04/2008 à 20:58:37
"En mode"
Avatar

Serait-ce possible d'agrandir la taille de la police qui est assez petite (sauf si c'est déjà fait bien sûr ;) )

Lovely old and expected me - Une pomme par jour éloigne le médecin. Oui, mais faut bien viser !
 
Hors ligne Natim # Posté le 14/04/2008 à 21:59:01
Apprendre à coder c'est coder
Avatar
Groupe : Anciens
Flux RSS

Ville : Belfort
Pays : France métropolitaine

Connecté karamilo # Posté le 14/04/2008 à 22:02:34
Knowledge is power.
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : INSA Lyon

ctrl+F5. Si c'est pas un design officiel, il faut le réactualiser car y'a eu des changements xhtml/css ;)
 
Hors ligne aurek # Posté le 14/04/2008 à 22:09:50
Avatar

Études : ISIMA

En effet, c'est parfait maintenant !

Merci d'avoir grossi la taille du texte des codes.
Hors ligne Natim # Posté le 14/04/2008 à 22:11:21
Apprendre à coder c'est coder
Avatar
Groupe : Anciens
Flux RSS

Ville : Belfort
Pays : France métropolitaine

Retour au forum "Suggestions et rapports de bugs" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx