RaphAstronome

mercredi, 20 juillet 2011

Bas ou haut débit ?

Pour les fournisseurs d'accès à Internet le critère déterminant pour différencier le haut et le bas débit est la technologie employée :

  • Bas débit : RTC (56k et précédant)
  • Haut débit : ADSL
  • Très haut débit : fibre optique

Cette séparation entre bas et haut était parfaitement pertinente au début de l'ADSL où les sites était principalement conçus pour le 56k et où le débit 512k rendait le surf particulièrement rapide.

On peut ce demander si cela à bien correspond bien aux usages actuels d'Internet. Pour cela j'ai été sur 20 des sites les plus consultés en France et noté pour chaque la quantité de données téléchargés pour afficher une page. J'ai été moi même surpris par la lourdeur des sites puisqu'une page d'accueil avec touts ces éléments pèse en moyenne 903,9 ko ! Pour information, une telle page met plus de 2 minutes à ce charger en 56k, le bas débit doit donc être considéré comme étant totalement incompatible avec le surf sur Internet.

Pour départager les différents débits, j'ai choisi de me baser sur le temps de chargement moyen. En effet 15 secondes est considéré comme un maximum après lequel l'utilisateur commence à être vraiment s'impatienter. Pour un surf à peu près confortable un délai moyen de 5s est un maximum. Finalement le haut débit charge la page sans problème en 1s, après la latence réseau (parfois appelé ping) va ralentir les échanges de telle façon qu'augmenter le début n'est plus utile pour le surf.

Nous avons donc :

  • Très bas débit : la moyenne temps de chargement des sites sont supérieurs à 15s, le surf est vraiment inconfortable.
  • Bas débit : la moyenne temps de chargement des sites est entre 5s et 15s, un peu pénible mais on surfe.
  • Moyen débit : entre 1s et 5s, le surf devient assez fluide sans être excellant.
  • Haut débit : moins de 1s, le surf est vraiment fluide et aisé. Il est plus limité par la latence et les puissances des ordinateurs que le débit.
  • Très haut débit : réduction de la latence et voie montante importante (utile notamment pour le cloud computing). La limite au niveau du débit sur la voie descendante à été fixé à 30 Mbps ce qui est la limite entre l'ADSL et la fibre. Dans la pratique c'est vraiment la voie montante et la latence qu'il faut regarder dans ce cas.

Voici donc les différentes catégories de connexions ainsi formés :

debits.png

On remarque que les connexions 512 kbps et 1 Mbps sont insuffisantes pour surfer correctement actuellement et qu'il faudrait peut être renoncer à les appeler "haut débit".

jeudi, 20 août 2009

Lien entre PHP et MySQL en UTF8

Super mon dernier site est en UTF-8 ! Donc :

  • J'ai mes pages en UTF-8
  • J'ai déclaré le charset en UTF-8 dans les entêtes HTTP
  • Ma base de données est aussi en UTF-8

Je vais sur la page : super le site s'affiche bien par contre les données provenant de MySQL sont encore en ISO et forcement "ça fait tache".

En fait ce problème est assez bête : PHP et MySQL sont tout deux en UTF-8 mais par défaut le lien entre les deux est encore en latin1 et la chaine de caractères est donc traduit de l'UTF-8 en latin1 par MySQL.

Le problème est très facile à régler il suffit d'utiliser mysql_set_charset peu après s'être connecté à MySQL :

mysql_connect('host', 'user', 'pass');
mysql_select_db('database');
mysql_set_charset('utf8');

Cette instruction demande à MySQL d'utiliser UTF-8 et pas autre chose.

Bien sûr il est possible de l'adapter à un autre codage dont vous pouvez voir la liste avec "SHOW CHARACTER SET;".

samedi, 23 février 2008

Redessiner la page, en JavaScript

Lors le développement d'un gros projet de site j'ai eu besoin de modifier la propriété innerHTML, de multiples div, td et autre.

Le problème est que dans certains cas, avec Opera, seule une partie de l'écran est redessinée ce qui peut poser des problèmes à l'affichage, qui disparaissent des que l'on fait défiler la page.

Pour forcer a redessiner tout l'écran il suffit de faire défiler la page une fois les modifications effectués.

function cleanPage() {
	// Force le réaffichage de tout l'ensemble (évite bugs d'affichage)
	window.scrollBy(0,1);
	window.scrollBy(0,-1);
}

Bien sur ça fait vibrer la page pour les animations c'est pas terrible mais pour l'affichage d'un panneau de sélection c'est tolérable. De plus la page doit être assez grande pour pourvoir la faire défiler.

vendredi, 13 juillet 2007

Mise a jour

Étant donné que la version 2.0 bêta 7 est sortie j'ai patché Dotclear.

Il suffit pour ça de renommer le répertoire du blog présent sur le site et de transférer le nouveau à la place. Il ne faut pas oublier de reprendre les fichiers :

  • .htaccess du répertoire de base
  • les thèmes persos
  • inc/config.php.in pour la config

D'ailleurs si vous avez un blog Dotclear 2 je vous conseille de lire ce flux http://www.dotclear2.com/feed/rss2 pour être au courant des mises à jour.

dimanche, 24 juin 2007

Désactivez les cookies des sites externes !

Les cookies sont de petits paramètres utilisables par les sites internet, ils permettent de reconnaître l'internaute entre deux pages sans utiliser l'IP, ce qui serait très peu pratique en cas d'utilisation de proxy et de toute façon très déconseillé pour des raisons de sécurité.

Pour plus d'infos : Wikipedia

Cette possibilité est très souvent mal vue par les utilisateurs et sont souvent considérés comme des spywares. En général, c'est sans danger car un site n'a accès qu'à ces propres cookies. Par exemple un cookie déposé sur groupemshareware.com ne peut pas être lu sur astro5000.com . Il existe toutefois une possibilité offerte par les cookies qui peut être dangereuse : un site (astro5000.com par exemple) peut envoyer un cookie qui sera lu par un autre site (groupemshareware.com par exemple)

Cette possibilité est d'ailleurs utilisé par certains sites où un s'inscrit sur un domaine et les autres domaines du réseau vous reconnaissent sans entrer vos login / mot de passe. Toutefois c'est possibilité peut être mal utilisée (espionnage) et surtout échappe souvent au contrôle de l'utilisateur, mieux vaut désactiver cette possibilité.

Sous Firefox :

  • Il faut l'extension "Web developer toolbar"
  • Menu "Cookies" => "Disable Cookies" => "External Site Cookies"
  • Vous pouvez déplacer la barre si elle vous gêne mais je ne suis pas sur que la désactiver ne désactive pas aussi l'option.

Note: voir le commentaire de guiguilinux pour une autre solution (non testé)

Sous Opera :

  • Menu "Outils" => "Préférences"
  • Onglet "Avancé"
  • Dans la liste "Cookies"
  • choisir "Accepter seulement ceux du site visité"

Sous Internet explorer 7 (et probablement le 6 aussi) :

  • Menu "Options" => "Options internet"
  • Onglet "Confidentialité"
  • Avance :
  • Mettre "Accepter" pour le cookies internes
  • Mettre "Refuser" pour le cookies tierce partie
  • Clic "OK"

- page 1 de 2