Téléchargement
illégal
Posez votre question Signaler

[PHP] Calcul du temps écoulé entre 2 dates [Résolu]

freeman034 - Dernière réponse le 22 mai 2012 à 06:51
Bonjour à tous,
Je voudrais savoir si quelqu'un peut m'aider à calculer le temps écoulé entre 2 dates, par exemple une date $date et le jour présent.

Je sais qu'il faut faire un timestamp pour les 2 dates après les convertir en secondes, les soustraires et les reconvertir en mois et années mais j'y arrive pas... quelqu'un peut me donner un exemple concrêt svp ? Merci !
Lire la suite 

[PHP] Calcul du temps écoulé entre 2 dates »

32 réponses
Réponse
+46
moins plus
Franchement je crois qu'il vaut mieux passer un peu de temps sur la doc PHP plutôt que se taper des lignes de code comme ça !

Il existe une méthode diff (de la classe DateTime) qui permet de calculer directement un intervalle. Après avec l'intervalle on peut récupérer ce qu'on veut : le nombre de jours, de secondes, etc.

Voilà un exemple d'utilisation avec des chaines du genre : '2009-06-08 20:30:00'


$d1 = new DateTime('2009-06-08 20:30:00');
$d2 = new DateTime('2009-06-10 20:30:00');
$diff = $d1->diff($d2);

$nb_jours = $diff->d;

Voilà j'espère que ça aura servit à quelqu'un ;)
NouNi - 22 mai 2012 à 01:06
bonsoir ,
comment récupérer la diff des mois et années
merci d'avance
Ajouter un commentaire
Réponse
+11
moins plus
différence entre 2 date en une seule ligne
$nbjours = round((strtotime($date1) - strtotime($date2))/(60*60*24)-1);
voila !! pourquoi comliqué les chauses
jim - 18 sept. 2010 à 23:23
'->' n'est pas compliqué, c'est juste une appel de méthode ou d'argument de classe et pour tout dire je trouve la méthode de BludWarf plus claire, plus adaptable et donc par conséquent meilleure !
dash - 15 mars 2011 à 15:18
JCV: je débute également en php, lorsque j'ai vu cette fonction, je n'ai pas tout compris, mais un peu de documentation, et le mystère c'est éclairci. Ce n'est pas pour se la raconter que l'on code comme ca !!
Coyote_fou - 4 juin 2011 à 17:10
La "méthode" proposée par daldas date d'il y a 10 ans (pph4) et ne marche pas: Elle ne tiens pas compte des fuseaux horaires, ni des années bissextiles, ni des changements d'heures, etc... ça fait belle lurette qu'il ne faut plus travailler sur les timestamp (m'enfin il a voulu faire son intéressant avec une méthode en une ligne, sans la comprendre, dommage).

Par contre celle de Bludwarf est LA méthode à utiliser, qui marche dans toutes les conditions.
Ajouter un commentaire
Réponse
+1
moins plus
vas sur ce site il marche bien:

http://www.ephemeride.com/calendrier/deux_dates/81/
Ajouter un commentaire
Réponse
+1
moins plus
Pour convertir une date du style : 26/01/2011 ou 26-01-2011 ou encore 2011-01-26 au format timestamps il suffit de faire : $date1 = strtotime("26-01-2011");
voir : http://www.php.net/manual/fr/function.strtotime.php

Voici maintenant une fonction de calcul entre 2 timestamps
// calcul temps entre 2 timestamps (date la + proche, date la + ancienne)
function diff_date($date1, $date2) {  
	$second = floor($date1 - $date2);
	if ($second == 0) return "0";

	return array("an"         => date('Y', $second)-1970, 
			  "mois"      => date('m', $second)-1,
			  "semaine" => floor((date('d', $second)-1)/7),
			  "jour"	 => (date('d', $second)-1)%7,
			  "heure"     => date('H', $second)-1, 
			  "minute"   => date('i', $second)-0, 
			  "seconde" => date('s', $second)-0
			 );
}


ce qui devrait donner par exemple :
// Les 2 dates
$date1 = strtotime("now"); // maintenant
$date2 = strtotime("26-01-2011");

// La fonction de calcul qui retourne un tableau
$tab = diff_date($date1, $date2);

// on passe en revue le tableau
$compteur = 0;
foreach ($tab as $key => $value) {
	if ($value > 0) {
		echo (($compteur) ? ', ' : '') . $value .' '. $key;
		if ($value > 1 && $key != "mois") echo  's';
		$compteur++;
	}
}
Cedk - 12 nov. 2011 à 11:22
Attention, je crois que strtotime("04-05-2011") ne renvoie pas le timestamp du 4 mai 2011 mais celui du 5 avril 2011 !
A vérifier (pas de PC sous la main)
Ajouter un commentaire
Réponse
+0
moins plus
Je pense que tous voulaient calculer un écart sur leur site, et pas connaître une différence entre deux dates à un moment précis (sinon, pourquoi demander comment on le fait en PHP)

Je me suis posé la même question, et comme je répugne à faire du code de plusieurs kilomètres de long (qu'il faut charger et exécuter), j'ai cherché la solution la plus courte.

$datedepart = mktime (h,min,sec,mois,jour,annee); // chaque élément est rentrée en valeur numérique
$dateactuelle = time(); // on récupère la date du serveur
$difdate = ($dateactuelle-$datedepart)/(60*60*24) // l'écart est donné en secondes, on divise pour l'avoir en jour (en fait, on en fait ce qu'on veut ensuite.)

// 3 lignes seulement pour la clarté du texte, mais on peut tout mettre en une seule ligne, et ça marche correctement. Merci à ceux qui m'ont donné des pistes.
Ajouter un commentaire
Réponse
+0
moins plus
En résumé, on a désormais plusieurs possibilités.

Certaines ont été très commentées, notamment au vu de la longueur du code, et d'autres ont du passer complètement inaperçues (la mienne par exemple en 3 ligne qui donne une solution viable) puisque personne ne s'est permis de la commenter.

C'est là qu'on voit ceux qui programment depuis peu de temps avec des machines qui possèdent de la mémoire en pagaille et ou le temps machine ne représente rien, et des anciens comme moi qui cherchent toujours à utiliser la bonne fonction pour résoudre dans le moins de code possible un petit problème.

C'est vrai qu'il est loin le temps des machines dont la mémoire se chiffrait en Ko (kilo-octets pour ceux, trop jeunes ne connaissent plus cette unité) et dont la vitesse des processeurs se chiffrait en Mhz (Méga Herz) et ou la moindre économie de cycle et de place avait un intérêt crucial sur la vitesse d'un programme.
Ajouter un commentaire
Réponse
-1
moins plus
ATTENTION, la fonction mktime à un ordre de paramètre bien précis :
int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )

donc au lieu de faire:
return mktime(0, 0, 0, $day, $month, $year);

tu dois faire :
return mktime(0, 0, 0, $month, $day, $year);


ensuite (en fait, avant) tu fait :
list($day, $month, $year) = sscanf($date,"%d/%d/%d");

mais les varaibles $day, $month, $year ne font pas défini. Donc elle sont uilisé seulement dans la fonction. Hors, tu veut les uilisé plus tard en faisant :
elapsed($day, $month, $year);

dans un contexte global, donc ces variables n'ont pas de valeur.
Ajouter un commentaire
Réponse
-1
moins plus
Pour, qu'a l'interrieur d'une fonction, tu utilise les variable qui sont a l'exterieur de la fonction il faut uiliser le mot clé "global" :
function maFonction(){
  global $maVariable;

  $maVariable=5
}


$maVariable=2;
maFonction();
echo $maVariable; // Affiche 5
Ajouter un commentaire
Réponse
-1
moins plus
<?php

echo '<pre>';
$date1 = strtotime('20100301 01:37:01');
$date2 = strtotime('20100301 01:36:00');

echo 'Nombre de jours : '. (date('d',$date1 - $date2)-1)."\n";
echo 'Nombre de mois : '. (date('m',$date1 - $date2)-1)."\n";
echo 'Nombre de minutes : '. (date('i',$date1 - $date2)+0)."\n";


?>

et voilou.
s.spark- 1 mars 2010 à 15:19
Salut CedK,

Je ne pense pas que ton code fonctionne.

Sans essayer je dirais :

date() retourne une date, donc date('d',$date1 - $date2) retourne le jour de cette date auquel correspond le timestamp calculé, pas le nombre de jour en les deux.

Si on prend le timestamp actuel 1267452829 qu'on rajoute un jour 1267452829 + 86400

On fait la différence :

1267539229 - 1267452829 = 86400

Le timestamp 86400 correspond au 2 janvier 1970, 00:00:00

date('d', '86400') = 2
date('m', '86400') = 1 (janvier)
date('i', '86400') = 00
cedk- 21 mars 2010 à 09:27
oui, tu as raison, dsl :-(
par contre, j'aime bien la fonction strotime qui reconnaît de nombreux formats de dates
speedygonzales- 13 sept. 2011 à 05:51
Amélioration de la fonction à CedK:

<?php
function temps_ecoule($date,$type) {
	if($type == "timestamp") {
		$date2 = $date; // depuis cette date
	} elseif($type == "date") {
		$date2 = strtotime($date); // depuis cette date
	} else {
		return "Non reconnu";
		exit();
	}
	$date1 = date("U"); // à la date actuelle
	$return = "";
	// ########  ANNEE ########
	if((date('Y',$date1 - $date2)-1970) > 0) {
		if((date('Y',$date1 - $date2)-1970) > 1) {
			$echo_annee = (date('Y',$date1 - $date2)-1970)." Anneés";
			$return = $echo_annee.", ";
		} else {
			$echo_annee = (date('Y',$date1 - $date2)-1970)." Année";
			$return = $echo_annee.", ";
		}
	} else {
		$echo_annee = "";
		$return = $return;
	}
	// ########  MOIS ########
	if((date('m',$date1 - $date2)-1) > 0) {
		$echo_mois = (date('m',$date1 - $date2)-1)." Mois ";
		if(!empty($echo_annee)) {
			$return = $echo_annee." et ".$echo_mois;
		} else {
			$return = $echo_mois;
		}
	} else {
		$echo_mois = "";
		$return = $return;
	}
	// ########  JOUR ########
	if((date('d',$date1 - $date2)-1) > 0) {
		if((date('d',$date1 - $date2)-1) > 1) {
			$echo_jour = (date('d',$date1 - $date2)-1)." Jours";
			if(!empty($echo_annee) OR !empty($echo_mois)) {
				$return = $return.$echo_mois." et ".$echo_jour;
			} else {
				$return = $return.$echo_mois.$echo_jour;
			}
		} else {
			$echo_jour = (date('d',$date1 - $date2)-1)." Jour";
			if(!empty($echo_annee) OR !empty($echo_mois)) {
				$return = $return.$echo_mois." et ".$echo_jour;
			} else {
				$return = $return.$echo_mois.$echo_jour;
			}
		}
	} else {
		$echo_jour = "";
		$return = $return;
	}
	// ########  HEURE ########
	if((date('H',$date1 - $date2)-1) > 0) {
		if((date('H',$date1 - $date2)-1) > 1) {
			$echo_heure = (date('H',$date1 - $date2)-1)." Heures";
			if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour)) {
				$return = $echo_annee.$echo_mois.$echo_jour." et ".$echo_heure;
			} else {
				$return = $echo_annee.$echo_mois.$echo_jour.$echo_heure;
			}
		} else {
			$echo_heure = (date('H',$date1 - $date2)-1)." Heure";
			if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour)) {
				$return = $echo_annee.$echo_mois.$echo_jour." et ".$echo_heure;
			} else {
				$return = $echo_annee.$echo_mois.$echo_jour.$echo_heure;
			}
		}
	} else {
		$echo_heure = "";
		$return = $return;
	}
	// ########  MINUTE ET SECONDE ########
	$virgule_annee = "";
	$virgule_mois = "";
	$virgule_jour = "";
	if(date('i',$date1 - $date2) > 0) {
		if(date('i',$date1 - $date2) > 1) {
			$echo_minute = round(date('i',$date1 - $date2))." Minutes";
			if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
				if(!empty($echo_annee)) {
					if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_annee = ", ";
					}
				}
				if(!empty($echo_mois)) {
					if(!empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_mois = ", ";
					}
				}
				if(!empty($echo_jour)) {
					if(!empty($echo_heure)) {
						$virgule_jour = ", ";
					}
				}
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
			} else {
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
			}
		} else {
			$echo_minute = round(date('i',$date1 - $date2))." Minute";
			if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
				if(!empty($echo_annee)) {
					if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_annee = ", ";
					}
				}
				if(!empty($echo_mois)) {
					if(!empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_mois = ", ";
					}
				}
				if(!empty($echo_jour)) {
					if(!empty($echo_heure)) {
						$virgule_jour = ", ";
					}
				}
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
			} else {
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
			}
		}
	} else {
		if(date('s',$date1 - $date2) > 1) {
			$echo_minute = round(date('s',$date1 - $date2))." Secondes";
			if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
				if(!empty($echo_annee)) {
					if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_annee = ", ";
					}
				}
				if(!empty($echo_mois)) {
					if(!empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_mois = ", ";
					}
				}
				if(!empty($echo_jour)) {
					if(!empty($echo_heure)) {
						$virgule_jour = ", ";
					}
				}
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
			} else {
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
			}
		} else {
			if(!empty($echo_annee) OR !empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
				if(!empty($echo_annee)) {
					if(!empty($echo_mois) OR !empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_annee = ", ";
					}
				}
				if(!empty($echo_mois)) {
					if(!empty($echo_jour) OR !empty($echo_heure)) {
						$virgule_mois = ", ";
					}
				}
				if(!empty($echo_jour)) {
					if(!empty($echo_heure)) {
						$virgule_jour = ", ";
					}
				}
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure." et ".$echo_minute;
			} else {
				$return = $echo_annee.$virgule_annee.$echo_mois.$virgule_mois.$echo_jour.$virgule_jour.$echo_heure.$echo_minute;
			}
		}
	}
	return "Il y a ".$return;
}
echo '<pre>';

$date = "1284346290";
echo temps_ecoule($date,"timestamp")."\n"; // timestamp ou date

$date = date('U')-9; // temps actuel, moins 9 secondes
echo temps_ecoule($date,"timestamp")."\n"; // affiche: Il y a 9 Secondes

$date = "13-04-2010 4:00";
echo temps_ecoule($date,"date")."\n";

$date = "13-04-2010 4:00";
echo temps_ecoule($date,"dat")."\n"; // Affiche: Non reconnu
echo '</pre>';
?>  



Il fonctionne impeccablement bien ; )
Ajouter un commentaire
Réponse
-2
moins plus
Exacte

par contre, à ma connaissance, il n'y a pas une fonction qui te dit
que XXX secondes correspond à Y jours, Z heures, etc ....

A moins que quelqu'un ait une solution toute faite pour cela :-)

Ajouter un commentaire
Réponse
-2
moins plus
Ca c'est du niveau école primaire
<?php
$XXX=1223456;
$sec=$XXX % 60;
$X=floor($XXX/60) ;
$min = $X %60 ;
$X = floor($X/60);
printf('%d hours, %d minutes, %d seconds\n', $X,$min,$sec);
?>

Tu évalueras de même, le nombre de jours( avec l'opérateur binaire % : reste de la division entière, a.k.a modulo). Pour les mois cela n'a pas beaucoup de sens.
s.spark- 15 juil. 2009 à 15:21
C'est du niveau école primaire mais ton calcule est faux. Tu le dis toi même.
s.spark- 15 juil. 2009 à 16:24
Merde j'ai mélangé les serviettes et les torchons, voilà ce qui arrive quand on veut répondre à plusieurs sujet en même temps. Donc oui le calcule est bon bien sur, mais comme tu le dis il ne faut pas poursuivre ce raisonnement pour les mois.
Ajouter un commentaire
Réponse
-2
moins plus
Comment faire pour que les 3 variables précédemment utilisées dans la premiere fonction soient réutilisables dans la deuxieme ? L'idée était de découper la date en 3 puis des utiliser ensuite...
Ajouter un commentaire
Réponse
-2
moins plus
Le sujet correspond un peu à ma problématique. Les réponses données ne correspondent à pas grand chose...

Ayant deux dates (format yyyymmddhhiiss), la conversion par mktime est assez bancale et me décale le résultat d'un écart significatif...

Exemple : entre 20090710174718 et 20090709120313, on a bien 1 jour, 5h, 44min, 5sec lorsque le calclul est fait "à la main" et on obtient 1 jour, 4h, 44min, 6sec. Et oui, pour 1h06sec, c'est un bien grand écart...

Si par hasard quelqu'un avait une idée plus précise, je veux bien prendre une nouvelle solution !
Ajouter un commentaire
Réponse
-2
moins plus
Après quelques jours de recherche, il suffisait de demander pour que la réponse puisse être trouvée...
Bref, pour ceux qui ont la même question, veuillez disséquer cette page : http://www.phpcs.com/codes/CALCUL-TEMPS-ECOULE-ENTRE-DATES_38828.aspx
Ajouter un commentaire
Réponse
-2
moins plus
Une méthode tres simple est de passer par une conversion du calaendrier gregorien au calednrier julien voici le code :

class nbNuits {
function calc($startDate,$endDate){ // format jj/mm/aaaa
// Parse dates for conversion
$star=explode("/",$startDate);
$end=explode("/",$endDate);

// Convert dates to Julian Days
$start_date = gregoriantojd($star[1], $star[0], $star[2]);
$end_date = gregoriantojd($end[1], $end[0], $end[2]);

// Return difference
return round(($end_date - $start_date), 0);
}
}

pour + d'info :
http://www.php.net/manual/fr/function.date.php
Ajouter un commentaire
Réponse
-4
moins plus
Salut,

Ca se passe avec mktime()
http://fr2.php.net/manual/en/function.mktime.php

Exemple, si tu fais:
mktime(0, 0, 0, 12, 55, 2005);

Ici, le 55 est le nombre pour les jours... Il ne devrait pas être superieur à 31, donc Php te convertira comme il faut, en ajoutant un mois et en faisant le bon calcul.

Ensuite avec date(), tu récupère comme tu veux ta date calculée, sachant que ton timestamp retourné par mktime doit être passé en deuxième argument de date(), ex:
$a=mktime(0, 0, 0, 12, 55, 2005);
echo date("Y",$a);

Ca affichera l'année...
s.spark- 3 juil. 2009 à 14:39
Salut,

Tu calcules une date pas un écart de temps.
Ajouter un commentaire
Réponse
-4
moins plus
Ok ben j'ai essayé avec cette méthode mais bon elle marche pas est-ce que vous pouvez me dire où est l'erreur ?

La premiere fonction est sensée découper la date en jj mm et aaaa et après calculer avec la deuxieme fonction mais ça marche pas... quelqu'un peut m'aider svp ? Merci

<?

$date = '06/06/1994';





function date2timestamp($date)
{
list($day, $month, $year) = sscanf($date,"%d/%d/%d");
return mktime(0, 0, 0, $day, $month, $year);
}
echo date2timestamp($date);

function elapsed($day, $month, $year) {
  
  $todayMonth = date(n);
  $todayDay = date(j);
  $todayHour = date(G);
  $todayMinute = date(i);
  $monthday = date(nj);
  $link = $month.$day;
  $datepoint = $link;

  if ($monthday < $datepoint) $years = date(Y) - $year - 1;
  else $years = date(Y) - $year;
  if ($years < 1) $yearWord = '';
  elseif ($years == 1) $yearWord = 'year,';
  elseif ($years > 1) $yearWord = 'years,';
  if ($todayMonth > $month) {
    if ($todayDay < $day) $months = $todayMonth - $month -1;
    else $months = $todayMonth - $month;
  } else {
    $between = $month - $todayMonth;
    $plus = 12 - $month;
    if ($todayDay < $day) $months = $month + $plus - $between -1;
    else $months = $month + $plus - $between;
  }
  if ($months == 1) $monthWord = 'month,';
  elseif ($months > 1) $monthWord = 'months,';
  if ($todayDay > $day) {
    if ($todayHour < $hour) $days = $todayDay - $day -1;
    else $days = $todayDay - $day;
  } else {
    $between = $day - $todayDay;
    $daysToEndOfMonth = date(t) - $day;
    if (date(t) == 28) $plus = $daysToEndOfMonth;
    if (date(t) == 29) $plus = $daysToEndOfMonth;
    if (date(t) == 30) $plus = $daysToEndOfMonth;
    if (date(t) == 31) $plus = $daysToEndOfMonth;
    if ($todayHour < $hour) $days = $day + $plus - $between - 1;
    else $days = $day + $plus - $between;
  }
  if ($days == 1) $dayWord = 'day';
  else $dayWord = 'days';
  if ($todayHour > $hour) {
    if ($todayMinute < $minute) $hours = $todayHour - $hour - 1;
    else $hours = $todayHour - $hour;
  } else { 
    $between = $hour - $todayHour;
    $plus = 24 - $hour;
    if ($todayMinute < $minute) $hours = $hour + $plus - $between - 1;
    else $hours = $hour + $plus - $between;
  }
  if ($hours == 1) $hourWord = 'hour,';
  if ($hours > 1) $hourWord = 'hours,';
  if ($todayMinute > $minute) {
    $minutes = $todayMinute - $minute;
  } else { 
    $between = $minute - $todayMinute;
    $plus = 60 - $minute;
    $minutes = $minute + $plus - $between;
  }
  if ($minutes == 60) $minutes = 0;
  if ($minutes == 1) $minuteWord = 'minute';
  elseif ($minutes > 1) $minuteWord = 'minutes';
  if ($years == 0) { $years = ''; $yearWord = ''; }
  if ($months == 0) { $months = ''; $monthWord = ''; }
  if ($days == 0) { $days = ''; $dayWord = ''; }
  if ($hours == 0) { $hours = ''; $hourWord = ''; }
  if ($minutes == 0) { $minutes = ''; $minuteWord = ''; }
  echo $years.' '.$yearWord.' '.$months.'  '.$monthWord.' '.$days.' '.$dayWord.'';
}



date2timestamp($date);
elapsed($day, $month, $year);


?>
Ajouter un commentaire
Réponse
-8
moins plus
Pour faire le calcul entre 2 dates, allez sur ce site.

http://www.horlogeparlante.com/calc_time.php
trollcomics.fr - 26 févr. 2012 à 19:37
T'es con ou t'es con, on demande du php pas un site -_-
albertdu93- 3 mars 2012 à 17:16
Laisse il a rien capté -_-
Ajouter un commentaire
Ce document intitulé « [PHP] Calcul du temps écoulé entre 2 dates » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?