En effet ça limite la quantité de données envoyées, mais pas assez. Surtout que les données envoyées ne sont de toute façon pas volumineuses (un flux XML avec une centaine de caractères, balises comprises).
Avec cette solution, le client continue quand-même à initier une requête toutes les 5 secondes, et reçoit à chaque fois une réponse (même si effectivement elle n'est pas grosse, avec ce que tu proposes).
Or, en pratique, les données ne changent en moyenne qu'une fois toutes les heures (mais ce délai est complètement aléatoire). Donc ça fait 719 requêtes inutiles par heures, ça fait plus de 500 000 requêtes inutiles par mois. Sur une connexion GPRS facturée au ko, c'est sensible.
Actuellement, je fais un refresh volontaire toutes les 5 secondes, oui. Sauf qu'à chaque fois, ça fait télécharger un certain volume de données.
Or, bien que je souhaite afficher les données avec un délai maximum de 5 secondes environ, en pratique les données changent occasionnellement, et surtout aléatoirement (en moyenne toutes les heures). Du coup, avec ma méthode, outre lors de l'initialisation de la requête, aucune donnée n'est transférée ni dans un sens ni dans l'autre tant que les données ne changent pas dans la base.
En gros, c'est comme attendre que le facteur sonne à ma porte, plutôt que de guetter à intervalles réguliers, voir s'il n'est pas en train d'arriver.
A moins que je me trompe, tant que mon script côté serveur n'est pas entièrement exécuté, la requête du client est en statut readyState = 3. Durant tout ce temps, qui dans mon cas, peut durer plusieurs heures (enfin si j'enlève la restriction de 30 secondes de PHP), aucune donnée n'est transférée, ni dans un sens ni dans l'autre.
lol^^
sauf que là ce n'est pas pour faire plaisir à une grosse société ;P
C'est plutôt comparable au cas où tu installes un logiciel qui inclut plein de bibliothèques. Tu fais pas ton malin, tu installes le logiciel dans son ensemble, tu t'amuses pas à supprimer les libs ton tu n'as jamais vu le nom, en te disant "celle là je connais pas, elle sert à rien".
Rares sont les gens suffisamment compétents pour pouvoir juger l'importance de tel ou tel point de la foi.
Alors ça ne veut pas dire "ferme ta gueule et crois" ! Bien sûr il faut du débat, de la critique, de l'analyse. Mais toujours avec pour objectif de chercher à comprendre pourquoi tel ou tel point est important (parce que des gens plus compétents que nous ont déterminé qu'il était compétent), et non pas chercher à démontrer que "c'est des conneries, ça sert à rien".
Tiens oui. Tu saurais pourquoi?
Pourquoi non. Mais bon, ils ont un peu mis tous les fondamentaux à la trappe. Et à leur place, c'est probablement la première chose aussi que j'aurais mis à la trappe.
Non, mais on peut déjà expliquer ce dont il parle, pour éviter les gros contresens faciles.
Justement, depuis Jean-Paul II, on commence à en parler. Mais ce n'est pas un sujet facile.
Je suis animateur en aumônerie, ça fait partie des sujets qu'on aborde et qu'on tente d'expliquer, mais ce n'est pas facile et ça a du mal à passer.
Et moi le premier, c'est bien un des principaux sujets avec lesquels je ne suis pas très à l'aise.
Un prêtre qui compte beaucoup pour moi m'a cependant dit la chose suivante (suite au fait que je lui aie parlé de mes réticences sur ce sujet) : même si on ne comprend pas tous les aspects de la foi, il faut s'efforcer de recevoir la foi dans son ensemble, et de la transmettre également dans son ensemble. Et non se trouver quelques points qui nous plaisent, et en mettre d'autres aux oubliettes. Sinon effectivement c'est l'unité de l'Eglise qui en prend un coup.
En général seulement. Parce que nos deux derniers papes étaient probablement très pieux, grandement dévoués à la Vierge, et on aurait du mal à leur reprocher leur manque d'instruction (surtout en la matière) ;)
Bien sûr !!
Je voulais plutôt faire référence au fait que bien souvent, notamment dans les milieux "simples" ou des contrées lointaines, on prie énormément la Vierge Marie, en toute simplicité et humilité.
L'évangile selon Saint Jean attire particulièrement l'attention des spécialistes, en effet.
Il s'écarte effectivement des évangiles synoptiques, d'où surtout l'appellation "synoptique" des trois autres.
Il n'est pas écrit par le même type d'auteur, pas dans le même but, et ne s'adresse pas au même public.
tout les historiens s'accordent à dire que c'est la source la moins fiable sur le personnage historique.
Tu as des sources à ce sujet ? Pour avoir écouté de grands exégètes en conférences, je n'avais pas spécialement retenu ça.
Mais je doute que les Églises admettent s'être trompé pendant deux millénaires
Ajoute une entrée dans le tracker, d'ici le prochain concile.
Ensuite "les Églises", y'a une erreur de syntaxe. On dit "l'Église", ou bien "les églises". (c'est comme "Dieu" et "les dieux").
Enfin, les spécialistes de ce genre de questions, au sein de l'Eglise, ne sont pas là pour vendre ni du rêve, ni de la pitié, ni des bouquins à grandes sensations. Quand ils ont des doutes, ils ne se gènent pas pour mettre la question sur la table.
Beaucoup de gens en ont une vision confuse certes.
Cependant le courant progressiste des années 68 ont tellement mis la Vierge à la trappe (et pas seulement eux ni ça) qu'il y a toute une génération qui est imprégnée de cette vision confuse.
De plus c'est quand même un dogme particulièrement complexe, qui ne s'aborde et ne s'explique pas en 5mn. Et tout le monde n'a pas suivi des cours de théologie.
Enfin les plus pieux et dévoués à la Sainte Vierge sont loin d'être les gens les plus instruits.
Y'a déjà un journal qui est passé il y a quelques semaines sur le sujet.
Historiquement, une distribution linux, c'est un noyau linux + une collection de logiciels GNU.
15 ans après, c'est clair que la distribution linux grand public pour l'utilisateur moyen avec son bureau 3D et tous ses gadgets, n'a en proportion plus grand chose de GNU.
Cependant même s'ils sont rarement utilisés directement par l'utilisateur final, les outils GNU sont toujours là, et constituent le coeur du système. Sans eux il n'y aurait pas grand chose.
La dénomination "GNU/linux" est donc discutable à l'heure actuelle (sur quel critère juger la prépondérance de telle ou telle catégories de logiciels ?), son respect est au moins l'occasion d'expliquer ou de rappeler aux gens, en particulier ceux qui "débarquent", ce qu'est une distribution linux (un noyau + plein de logiciels, judicieusement assemblés et configurés).
playlist en pls : mplayer se fige, obliger de le killer (réessayé 5 fois)
playlist en asx : firefox se fige puis se plante 30s après, j'ai perdu un téléchargement d'ubuntu server en plein milieu (en plus j'ai un faible débit, ça faisait déjà 30mn que ça téléchargeait, et j'étais pressé (boulot).
Pour ceux que ça intéresse, voilà le code des mes méthodes Utils::checkType() et Utils.getParameterType().
<?php
/**
* Provides a lot of commun functions.
*
* @package Utils
* @author François NAUTRE<f.nautre@cotep.fr>
* @date 07/11/2008
* @version 1.0.0
* @since 1.0.0
*
*/
class Utils
{
/**
* Verifies if some variable is really typed as expected.
*
* @param string $type The expected type.
* @param Object $value The variable to be checked.
* @return boolean true if the specified variable is quite typed.
* @since 1.0.0
*/
public static function checkType($type, $value, $required=true)
{
if (!is_string($type))
{
die ("Utils::checkType : Required type unspecified.");
}
if ($required AND empty($value))
{
die ("Utils::checkType : Missing required parameter.");
}
try
{
switch($type)
{
case "string":
if (is_string($value))
{
return true;
}
break;
case "float":
if (is_float($value))
{
return true;
}
break;
case "integer":
if (is_int($value))
{
return true;
}
break;
case "boolean":
if (is_bool($value))
{
return true;
}
break;
case "array":
if (is_array($value))
{
return true;
}
break;
case "resource":
if (is_resource($value))
{
return true;
}
break;
case "object":
if (is_object($value))
{
return true;
}
break;
case "any":
if (!empty($value))
{
return true;
}
break;
default:
if ($value instanceof $type)
{
return true;
}
break;
}
trigger_error("Unexpected variable type : expected ".$type." , found ".getType($value));
}
catch (Exception $e)
{
die($e);
}
return false;
}
/**
* Retrieves type of the specified parameter.
*
* @param ReflectionParameter $parameter The parameter to retrieve his type.
* @return string Name of the required class parameter if the parameter must be an object, NULL otherwise.
* @since 1.0.0
*/
public static function getParameterType(ReflectionParameter $parameter)
{
try
{
$class = $parameter->getClass();
$type = empty($class)? null : $class->getName();
}
catch (Exception $e)
{
$type = null;
}
return $type;
}
...
}
?>
c'est une ligne de commande, à taper dans une console.
rm c'est pour supprimer quelque chose ;
l'option -r c'est pour effacer récursivement le contenu des répertoires (si un répertoire B est dans un répertoire A, la suppression du contenu de A entraînera également la suppression du contenu de B) ;
l'option -f c'est pour forcer la suppression des fichiers, sans demander "êtes-vous sûr" pour chaque fichier ; ~ ça désigne ton répertoire personnel (équivalent à /home/tonUtilisateur/ ; /home/tonUtilisateur/.thunderbird/ c'est le répertoire dans lequel sont stockés les paramètres de thunderbird pour ta session. Le nom du répertoire "thunderbird" commence par un point, ce qui signifie que le répertoire est caché (comme tous les fichiers de configuration) ; * ça désigne tous les fichiers qui se trouvent dans le répertoire mentionné.
En résumé, rm -rf ~/.thunderbird est une commande qui supprime tous tes fichiers de configuration de thunderbird.
A mon avis, il faut rester super généraliste, parler le moins possible technique...
Le but (mon but) est de donner aux jeunes concernées une aperçue de ce qui existe, un peu dans l'optique "de quoi est donc fait le monde dans lequel nous vivons ?"
Dans l'assemblée (des ados boutonneux, des gamers fous, des pouffiasses surmaquillées, des racailles, des comiques, des paumés, des intellos, des geeks,...) il y a au moins 85% qui n'en a strictement rien à faire, et qui de toute façon n'y comprend pas un mot (comme d'autres avec les métabolismes sexuels ou photo-synthétiques des fleurs en cours de SVT). Les 15% restants, c'est à dire 5 ados par classe, ce sont des jeunes geeks passionnés, beaucoup plus calés et à jour que le prof.
Sans compter que les profs, il faut les trouver. Et des vrais profs. Qu'on aille pas nous mettre des profs d'une autre matière, qui font ça en rab, 3h par semaine, comme l'éducation civique...
[^] # Re: Not modified
Posté par santos . En réponse au message Faire tourner un script PHP en boucle indéfiniment : bien ou pas bien ?. Évalué à 2.
Avec cette solution, le client continue quand-même à initier une requête toutes les 5 secondes, et reçoit à chaque fois une réponse (même si effectivement elle n'est pas grosse, avec ce que tu proposes).
Or, en pratique, les données ne changent en moyenne qu'une fois toutes les heures (mais ce délai est complètement aléatoire). Donc ça fait 719 requêtes inutiles par heures, ça fait plus de 500 000 requêtes inutiles par mois. Sur une connexion GPRS facturée au ko, c'est sensible.
[^] # Re: lapin compris
Posté par santos . En réponse au message Faire tourner un script PHP en boucle indéfiniment : bien ou pas bien ?. Évalué à 3.
Or, bien que je souhaite afficher les données avec un délai maximum de 5 secondes environ, en pratique les données changent occasionnellement, et surtout aléatoirement (en moyenne toutes les heures). Du coup, avec ma méthode, outre lors de l'initialisation de la requête, aucune donnée n'est transférée ni dans un sens ni dans l'autre tant que les données ne changent pas dans la base.
En gros, c'est comme attendre que le facteur sonne à ma porte, plutôt que de guetter à intervalles réguliers, voir s'il n'est pas en train d'arriver.
A moins que je me trompe, tant que mon script côté serveur n'est pas entièrement exécuté, la requête du client est en statut readyState = 3. Durant tout ce temps, qui dans mon cas, peut durer plusieurs heures (enfin si j'enlève la restriction de 30 secondes de PHP), aucune donnée n'est transférée, ni dans un sens ni dans l'autre.
[^] # Re: je suis sur un autre compte
Posté par santos . En réponse au journal Rions jaune avec voyages-sncf.com. Évalué à 6.
---------> [~]
[^] # Re: Bien vu ;-)
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 2.
sauf que là ce n'est pas pour faire plaisir à une grosse société ;P
C'est plutôt comparable au cas où tu installes un logiciel qui inclut plein de bibliothèques. Tu fais pas ton malin, tu installes le logiciel dans son ensemble, tu t'amuses pas à supprimer les libs ton tu n'as jamais vu le nom, en te disant "celle là je connais pas, elle sert à rien".
Rares sont les gens suffisamment compétents pour pouvoir juger l'importance de tel ou tel point de la foi.
Alors ça ne veut pas dire "ferme ta gueule et crois" ! Bien sûr il faut du débat, de la critique, de l'analyse. Mais toujours avec pour objectif de chercher à comprendre pourquoi tel ou tel point est important (parce que des gens plus compétents que nous ont déterminé qu'il était compétent), et non pas chercher à démontrer que "c'est des conneries, ça sert à rien".
[^] # Re: Bien vu ;-)
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 2.
Pourquoi non. Mais bon, ils ont un peu mis tous les fondamentaux à la trappe. Et à leur place, c'est probablement la première chose aussi que j'aurais mis à la trappe.
Non, mais on peut déjà expliquer ce dont il parle, pour éviter les gros contresens faciles.
Justement, depuis Jean-Paul II, on commence à en parler. Mais ce n'est pas un sujet facile.
Je suis animateur en aumônerie, ça fait partie des sujets qu'on aborde et qu'on tente d'expliquer, mais ce n'est pas facile et ça a du mal à passer.
Et moi le premier, c'est bien un des principaux sujets avec lesquels je ne suis pas très à l'aise.
Un prêtre qui compte beaucoup pour moi m'a cependant dit la chose suivante (suite au fait que je lui aie parlé de mes réticences sur ce sujet) : même si on ne comprend pas tous les aspects de la foi, il faut s'efforcer de recevoir la foi dans son ensemble, et de la transmettre également dans son ensemble. Et non se trouver quelques points qui nous plaisent, et en mettre d'autres aux oubliettes. Sinon effectivement c'est l'unité de l'Eglise qui en prend un coup.
En général seulement. Parce que nos deux derniers papes étaient probablement très pieux, grandement dévoués à la Vierge, et on aurait du mal à leur reprocher leur manque d'instruction (surtout en la matière) ;)
Bien sûr !!
Je voulais plutôt faire référence au fait que bien souvent, notamment dans les milieux "simples" ou des contrées lointaines, on prie énormément la Vierge Marie, en toute simplicité et humilité.
[^] # Re: Blasphème ?
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 3.
Il s'écarte effectivement des évangiles synoptiques, d'où surtout l'appellation "synoptique" des trois autres.
Il n'est pas écrit par le même type d'auteur, pas dans le même but, et ne s'adresse pas au même public.
tout les historiens s'accordent à dire que c'est la source la moins fiable sur le personnage historique.
Tu as des sources à ce sujet ? Pour avoir écouté de grands exégètes en conférences, je n'avais pas spécialement retenu ça.
Mais je doute que les Églises admettent s'être trompé pendant deux millénaires
Ajoute une entrée dans le tracker, d'ici le prochain concile.
Ensuite "les Églises", y'a une erreur de syntaxe. On dit "l'Église", ou bien "les églises". (c'est comme "Dieu" et "les dieux").
Enfin, les spécialistes de ce genre de questions, au sein de l'Eglise, ne sont pas là pour vendre ni du rêve, ni de la pitié, ni des bouquins à grandes sensations. Quand ils ont des doutes, ils ne se gènent pas pour mettre la question sur la table.
[^] # Re: Bien vu ;-)
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 2.
Cependant le courant progressiste des années 68 ont tellement mis la Vierge à la trappe (et pas seulement eux ni ça) qu'il y a toute une génération qui est imprégnée de cette vision confuse.
De plus c'est quand même un dogme particulièrement complexe, qui ne s'aborde et ne s'explique pas en 5mn. Et tout le monde n'a pas suivi des cours de théologie.
Enfin les plus pieux et dévoués à la Sainte Vierge sont loin d'être les gens les plus instruits.
[^] # Re: Et pour les traductions?
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 3.
[^] # Re: Et pour les traductions?
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 2.
Ça fait un paquet d’avocats. On arrive donc rapidement à une situation… infernale !
Pas grave, on va faire une autorité administrative :)
[^] # Re: En tout cas ça m'a bien fait marrer
Posté par santos . En réponse au journal [Hors-sujet] [Blasphème] L'apocalypse de Jean n'est pas open-source. Évalué à 2.
[^] # Re: pareil mais à auchan
Posté par santos . En réponse au journal Cadeau de Noël Tux.... Évalué à 4.
Historiquement, une distribution linux, c'est un noyau linux + une collection de logiciels GNU.
15 ans après, c'est clair que la distribution linux grand public pour l'utilisateur moyen avec son bureau 3D et tous ses gadgets, n'a en proportion plus grand chose de GNU.
Cependant même s'ils sont rarement utilisés directement par l'utilisateur final, les outils GNU sont toujours là, et constituent le coeur du système. Sans eux il n'y aurait pas grand chose.
La dénomination "GNU/linux" est donc discutable à l'heure actuelle (sur quel critère juger la prépondérance de telle ou telle catégories de logiciels ?), son respect est au moins l'occasion d'expliquer ou de rappeler aux gens, en particulier ceux qui "débarquent", ce qu'est une distribution linux (un noyau + plein de logiciels, judicieusement assemblés et configurés).
# Proposé en libre téléchargement...
Posté par santos . En réponse à la dépêche Projection de « Steal this film » et débat avec la Quadrature du Net à Toulouse. Évalué à 10.
http://www.stealthisfilm.com/Part2/download.php
[^] # Re: marteau pour ecraser la mouche
Posté par santos . En réponse au message Agenda partagé. Évalué à 2.
[^] # md5sums
Posté par santos . En réponse à la dépêche Oxyradio passe son studio sous 100 % de Logiciels Libres. Évalué à 2.
# Ecouter en ligne...
Posté par santos . En réponse à la dépêche Oxyradio passe son studio sous 100 % de Logiciels Libres. Évalué à 1.
playlist en pls : mplayer se fige, obliger de le killer (réessayé 5 fois)
playlist en asx : firefox se fige puis se plante 30s après, j'ai perdu un téléchargement d'ubuntu server en plein milieu (en plus j'ai un faible débit, ça faisait déjà 30mn que ça téléchargeait, et j'étais pressé (boulot).
ça donne envie de l'écouter.
# Celeonet
Posté par santos . En réponse au message Un blog ?. Évalué à 2.
Divers plateformes de blogs installables en deux clics.
http://www.celeonet.fr
# Discwrapper
Posté par santos . En réponse au message LL de création d'étiquettes de CD/DVD. Évalué à 4.
http://sourceforge.net/projects/discwrapper/
[^] # code de Utils::checkType() et Utils::getParameterType()
Posté par santos . En réponse au message Typage des paramètres d'une fonction. Évalué à 2.
# Ma solution
Posté par santos . En réponse au message Typage des paramètres d'une fonction. Évalué à 2.
Si un paramètre de méthode est de type simple, je ne spécifie pas son type dans le prototype de la méthode :
public function plop($str)
Par contre en début de méthode je vérifie le type du paramètre :
Utils::checkType('string', $str);
Compatible avec n'importe quel type simple ou classe utilisateur ; déclenche une exception si le type de la variable fournie n'est pas celui attendu.
Inversement, si un paramètre de méthode est une instance de classe (système ou utilisateur), je spécifie la classe attendue dans le prototype :
public function plop(MonType $object)
Par ailleurs, je peux récupérer le type d'un paramètre :
Utils::getParameterType(ReflectionParameter $param);
Si $param est de type simple, la méthode retourne null ; sinon, elle retourne le nom de la classe correspondante.
[^] # Re: supprimer les fichiers de configuration
Posté par santos . En réponse au message Problème dans les messages envoyés Thunderbird. Évalué à 2.
c'est une ligne de commande, à taper dans une console.
rm c'est pour supprimer quelque chose ;
l'option -r c'est pour effacer récursivement le contenu des répertoires (si un répertoire B est dans un répertoire A, la suppression du contenu de A entraînera également la suppression du contenu de B) ;
l'option -f c'est pour forcer la suppression des fichiers, sans demander "êtes-vous sûr" pour chaque fichier ;
~ ça désigne ton répertoire personnel (équivalent à /home/tonUtilisateur/ ;
/home/tonUtilisateur/.thunderbird/ c'est le répertoire dans lequel sont stockés les paramètres de thunderbird pour ta session. Le nom du répertoire "thunderbird" commence par un point, ce qui signifie que le répertoire est caché (comme tous les fichiers de configuration) ;
* ça désigne tous les fichiers qui se trouvent dans le répertoire mentionné.
En résumé, rm -rf ~/.thunderbird est une commande qui supprime tous tes fichiers de configuration de thunderbird.
[^] # Re: Typage
Posté par santos . En réponse au message Typage des paramètres d'une fonction. Évalué à 2.
Merci pour l'info en tous cas.
[^] # Re: Typage
Posté par santos . En réponse au message Typage des paramètres d'une fonction. Évalué à 2.
j'ai lu les pages en question (que je connaissais déjà^^)
Justement, ce que je cherche, c'est une solution pour spécifier des types simples (int, string)...
ça serait quand-même dingue que ça ne soit pas possible !
# supprimer les fichiers de configuration
Posté par santos . En réponse au message Problème dans les messages envoyés Thunderbird. Évalué à 2.
lors d'une désinstallation, les fichiers de configuration ne sont pas supprimés.
Avant de réinstaller, supprime-les à la main :
rm -rf ~/.thunderbird/*
[^] # Re: Idem avec l'API de réflexion
Posté par santos . En réponse au message user_call_method_array() : appeler un constructeur de classe. Évalué à 2.
C'est exactement ce que je cherchais, et ça fonctionne comme je veux.
[^] # Re: Passionnant mais beaucoup trop gros
Posté par santos . En réponse au journal Votre avis sur le nouveau module de Seconde "Informatique et société numérique". Évalué à 10.
Le but (mon but) est de donner aux jeunes concernées une aperçue de ce qui existe, un peu dans l'optique "de quoi est donc fait le monde dans lequel nous vivons ?"
Dans l'assemblée (des ados boutonneux, des gamers fous, des pouffiasses surmaquillées, des racailles, des comiques, des paumés, des intellos, des geeks,...) il y a au moins 85% qui n'en a strictement rien à faire, et qui de toute façon n'y comprend pas un mot (comme d'autres avec les métabolismes sexuels ou photo-synthétiques des fleurs en cours de SVT). Les 15% restants, c'est à dire 5 ados par classe, ce sont des jeunes geeks passionnés, beaucoup plus calés et à jour que le prof.
Sans compter que les profs, il faut les trouver. Et des vrais profs. Qu'on aille pas nous mettre des profs d'une autre matière, qui font ça en rab, 3h par semaine, comme l'éducation civique...