Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Versions logicielles
Envoyé par: Gruik

Le plug-in à droite indiquant les logiciels phares est une très bonne idée.
J'ai cependant repéré une petite erreur:

Mozilla est en version 1.5.
[www.mozilla.org]

Voila, et encore bravo pour le site !

Poste le Thursday 8 January 2004 09:22:44
Répondre     Citer    
Re: Versions logicielles
Envoyé par: Léa (anne)

la récupération des numéros de version est réalisée à partir de Freshmeat. Il peut exister des décalages du fait de freshmeat ou du temps de rafraichissement de l'application


Poste le Thursday 8 January 2004 12:20:46
Répondre     Citer    
Re: Versions logicielles
Envoyé par: Léa (Jice)

Freshmeat n'est pas à jour pour mozilla.
J'ai modifié le plugin pour pouvoir forcer une version à la main dans ce genre de cas.


Poste le Thursday 8 January 2004 13:32:30
Répondre     Citer    
Re: Versions logicielles
Envoyé par: fraazz

les versions ne sont donc pas récupérées sur le site "source" (ex: mozilla.org pour mozilla) comme je l'imaginais ...
cela représente-t-il un gros boulot ou y a-t-il une autre raison ?

Poste le Thursday 8 January 2004 19:04:47
Répondre     Citer    
Re: Versions logicielles
Envoyé par: Léa (Fred)

bin ça change d'un site à l'autre, il faudrait faire un outil de recherche par logiciel, par contre si on utilise freshmeat on peut utiliser un outils systématique qui permet d'ajouter rapidement n'importe que logiciel à la liste en deux temps trois mouvements (même pas)


Poste le Friday 9 January 2004 07:29:09
Répondre     Citer    
Re: Versions logicielles
Envoyé par: Léa (Jiel)

Il y a également un rdf sinon pour les logiciels sur Distrowatch [www.distrowatch.com]

Poste le Friday 9 January 2004 14:13:43
Répondre     Citer    
Re: Versions logicielles
Envoyé par: pierre42

ce serait cool de publier le code php qui fait ca...

Poste le Tuesday 13 January 2004 18:53:33
Répondre     Citer    
Re: Versions logicielles
Envoyé par: Léa (Jice)

ce serait cool de publier le code de Léa, mais cela ferait encore du boulot pour gérer ça. en attendant voici le code du plugin qui fait ça:
------------------------------------------------------------
<? /* versions des logiciels qu'on aime bien */
/* ce code est licencié sous Licence GPL */
$BACKEND = "[freshmeat.net];;
$CACHEFILE = "./cache/cache_versions";
$TIME2CACHE = 3600 * 24 * 2;
$FIRSTPREFIX = "&middot;&nbsp;";
$PREFIX = "<br />$FIRSTPREFIX";
$POSTFIX = "\n";
//pour configurer, rechercher le logiciel sur freshmeat,
//mettre en 1ere position le nom qui va s'afficher,
//en 2eme, le bout d'url qui va bien,
//en 3eme et suivants, le ou les noms des branches dont on veut la version
$LOGICIELS =
array(
array("Apache", "apache/", "Stable", "1.3"),
array("Samba", "samba/", "3.0.x", "2.2.x"),
array("MySQL", "mysql/", "Production (4.0.x)"),
array("PHP", "php/", "Default"),
array("XFree86", "xfree86/", "Default"),
array("KDE", "kde/", "Default"),
array("Gnome", "gnome-core/", "Default"),
array("Mozilla", "mozilla/", "Stable"),
array("OpenOffice", "openoffice/", "Stable"),
array("The Gimp", "thegimp/", "Default")
);
//utiliser le tableau suivant pour forcer la version d'un logiciel (Freshmeat pas à jour)
$FORCEVERSION["Mozilla"]["Stable"] = array("1.5", "15/10/2003");

function getVersions($fargv) {
$BACKEND = $fargv[0] ; $CACHEFILE = $fargv[1] ; $FIRSTPREFIX = $fargv[2] ;
$PREFIX = $fargv[3] ; $POSTFIX = $fargv[4] ; $LOGICIELS = $fargv[5] ;
$FORCEVERSION = $fargv[6] ;
$dest = "<!-- Fichier $CACHEFILE généré, ne pas éditer -->\n";
$nl = $FIRSTPREFIX;
$ligne = "" ;
while(list(,$log) = each($LOGICIELS)) {
$branches = array_slice($log, 2);
$fpsrc = fopen($BACKEND . $log[1], 'r');
if ($fpsrc) {
$cpt = 0;
$section = "";
while(!feof($fpsrc)) {
$ligne = chop(fgets($fpsrc, 8192));
switch ($section) {
case "homepage":
if (preg_match("/\<a\shref\=\".*?\"\>([^<]+)\<\/a\>/", $ligne, $m)) {
$section = "branch";
$homepage = $m[1];
}
break;
case "branch":
if (preg_match("/\<a\shref\=\"\/branches\/\d+\/\"\>([^<]+)\<\/a\>/", $ligne, $m)) {
if (in_array($m[1], $branches)) {
$section = "version";
$branch = $m[1];
}
}
break;
case "version":
if (preg_match("/\<a\shref\=\"\/releases\/\d+\/\"\>([^<]+)\<\/a\>/", $ligne, $m)) {
$lelog = "$nl<a href='$homepage'>$log[0] : $m[1]</a>$POSTFIX";
if (list($vers,) = $FORCEVERSION[$log[0]][$branch])
$dest .= str_replace($m[1], $vers, $lelog); // pour remplacer dans le nom, l'url et la version
else
$dest .= $lelog;
if ($nl == $FIRSTPREFIX) $nl = $PREFIX;
$cpt++;
if ($cpt >= count($branches))
break 2; //logiciel suivant
}
break;
default:
if (preg_match("/Homepage\:/", $ligne))
$section = "homepage";
} //switch
}
fclose($fpsrc);
}
} //while(list(,$log) = each($LOGICIELS))
return $dest ;
}

$fargv = array($BACKEND, $CACHEFILE, $FIRSTPREFIX, $PREFIX, $POSTFIX, $LOGICIELS, $FORCEVERSION) ;

print Cache($CACHEFILE, "getVersions", $TIME2CACHE, $fargv) ;

?>
------------------------------------------------------------
attention c'est assez lourd, nous avons un système de cache pour ne recharger cette page que tous les 2 jours. Sinon freshmeat va vous incendier.

bref, c'est donné sans garanties, ce que vous faites avec ce code est sous votre responsabilité. comme on dit.


Poste le Wednesday 14 January 2004 09:56:03
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Versions logicielles
Ce forum est réservé aux questions ayant pour sujets : les problèmes du site (liens invalides, images manquantes, autres problèmes), les remarques sur le site (félicitations, applaudissements, critiques, réclamations), les propositions (d'aide, de soutien, de modification, de création de documents ou de graphismes).

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons