Pense-bête

Petit pense-bête :

Une petite doc sur comment réinstaller Windows XP, ce que j'ai dû faire pas mal de fois pour de la famille, des amis et collègues.


Comment faire un formulaire courriel avec Free ?

C'est très simple, commencer son formulaire comme ceci :

<form name="un_nom" action="http://perso0.free.fr/cgi-bin/form2mail.pl" method="post">

Et cela suit à se faire envoyer son formulaire à son adresse Free (et oui, pas une autre). De son côté, l'internaute va être redirigé vers la page result.html. Si cette page ne convient pas (parce que le site du site est en PHP, par exemple), il suffit de n'y mettre qu'une redirection :

<html>
<head>
</head>
<body>
<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=autre_page.php">
</body>
</html>

Ce qui est important c'est le 0, pour zéro seconde et la page de redirection.


Diapo en PHP/HTML en trois coups de cuillères à pot

Quelques variables :
// Repertoire ou se trouvent les images a afficher (le / final est necessaire) :
$rep = "images/";
// Fichier de legendes dans le repertoire $rep une ligne par fichier de type :
// nom_du_fichier|Legende
$f_leg = "comment.txt";
// Taille max a afficher en largeur et hauteur, 0 sans limite :
$larg_max = 0;
$haut_max = 0;
// Repertoire des vignettes (dans le repertoire $rep, le / final est necessaire) :
$r_vign = "vign/";
// Repertoire des images reduites (dans le repertoire $rep, le / final est necessaire) :
$r_redu = "redu/";
Parcours du répertoire images et affichage avec ou sans diaporama (exemple ici) :
<?php
// Style applique aux images :
$style "style='padding: 3px; background-color: white; margin: 3px;'";
// Traduction des trois lignes de la page :
$traduction["start"] = "Lancer";
$traduction["stop"] = "Arr&ecirc;ter";
$traduction["diapo"] = "le diaporama";
$traduction["prev"] = "Pr&eacute;c&eacute;dent";
$traduction["next"] = "Suivant";
$traduction["first"] = "D&eacute;but";
$traduction["last"] = "Fin";

$tab = array ();
$tab_nc_img = array ();
$tab_info = array ();

$page $_SERVER['PHP_SELF'];

$en_plus_url "";
if (isset(
$_GET["rep"])) { 
 
$rep $_GET["rep"]; 
 
$en_plus_url .= "&amp;rep="$rep;
}
$f_leg $rep $f_leg;
$r_vign $rep $r_vign;

if (
is_dir($rep)) {
 
// Lecture du repertoire d'images, recuperation du nom des fichiers
 
$nb_img 0;
 
$dir opendir($rep);
 while (
$f readdir($dir)) {
  
$fichier $rep $f;
  
//if (is_file($fichier) && (! ereg($f, $page))) {
  
if (is_file($fichier) && ($fichier != $f_leg) && getimagesize($fichier)) {
   
$tab[$nb_img] = $f;
   
$nb_img++;
  }
 }
 
closedir($dir);
 
sort($tab);
 foreach (
$tab as $clef => $valeur) {
  
// Si il y a des images reduites, on les preferera aux originales
  
$fichier $rep $valeur;
  if (
is_file($rep $r_redu $valeur)) { $fichier $rep $r_redu $valeur; }
  if (
$t getimagesize($fichier)) {
   
$tab_nc_img[$clef] = $fichier;
   
$tab_info[$clef] = $t;
  }
 }
}

// Est-ce qu'on affiche un index plutôt que le diapo ?
if (isset($_GET["index"]) && $_GET["index"] == 1) {
 
// L'index !
 
echo("<a href='?diapo=1"$en_plus_url ."'>"$traduction["start"] ."</a> "$traduction["diapo"] ."<br />");

 if (
is_dir($r_vign)) {
  
// Lecture du fichier de legendes s'il existe
  
$legende = array();
  if (
is_file($f_leg) && ($t file($f_leg))) {
   foreach (
$t as $ligne) {
    list(
$fic$leg) = explode("|"$ligne);
    
$legende[$fic] = $leg;
   }
  }

  
// Lecture du repertoire d'images, recuperation du nom des fichiers
  
$dir opendir($r_vign);
  
$tab_temp = array();
  while (
$f readdir($dir)) {
   if (
is_file($r_vign $f) && ($t getimagesize($r_vign $f))) {
     
$tab_temp[] = $f;
   }
  }
  
closedir($dir);
  
sort($tab_temp);
  foreach (
$tab_temp as $f) {
   
$i array_search($f$tab);
    if (
is_numeric($i)) {
     
// Si c'est une image du tableau d'images, on l'affiche
     
echo("<a href='?img=$i&amp;diapo=0"$en_plus_url ."'><img src='"$r_vign $f ."' alt='"$legende[$f] ."' title='"$legende[$f] ."' $style /></a> ");
    }
  }
 }
}
else { 
 
// Recuperation des parametres (initialisation et verification)
 
$diapo 1;
 if (isset(
$_GET["diapo"]) && $_GET["diapo"] == 0) { $diapo 0; }
 
$nb_sec 5;
 if (isset(
$_GET["nb_sec"]) && is_numeric($_GET["nb_sec"])) { 
  
$nb_sec $_GET["nb_sec"]; 
  
$en_plus_url .= "&amp;nb_sec="$nb_sec;
 }
 
$img 0;
 if (isset(
$_GET["img"]) && is_numeric($_GET["img"])) { $img $_GET["img"]; }
 if (
$img 0) { $img_prec $img 1; }
 else { 
$img_prec $nb_img 1; }
 if (
$img < ($nb_img 1)) { $img_suiv $img 1; }
 else { 
$img_suiv 0; }

 echo(
"<a href='?index=1"$en_plus_url ."'>Index</a> - ");
 echo(
"<a href='?img=$img"$en_plus_url ."&amp;diapo=");
 if (
$diapo == 1) { echo("0'>"$traduction["stop"]); }
 if (
$diapo == 0) { echo("1'>"$traduction["start"]); }
 echo(
"</a> "$traduction["diapo"] ."<br />");
 
 
// Lecture du fichier de legendes s'il existe
 
$legende $tab[$img];
 if (
is_file($f_leg) && ($t file($f_leg))) {
  
$ok 0;
  
$i count($t) - 1;
  while ((! 
$ok ) && ($i >= 0)) {
   list(
$nom$leg) = explode("|"$t[$i]);
   if (
$nom == $tab[$img]) { $legende $leg; }
   
$i--;
  }
 }
 
 
// Controle de la taille de l'image :
 
$largeur $tab_info[$img][0];
 
$hauteur $tab_info[$img][1];
 if (
$larg_max && ($largeur $larg_max)) {
   
// Image trop large, il faut l'afficher plus petit
   
$rapport $larg_max $largeur;
   
$largeur $larg_max;
   
$hauteur round($rapport $hauteur);
 }
 if (
$haut_max && ($hauteur $haut_max)) {
   
// Image trop longue, il faut l'afficher plus petit
   
$rapport $haut_max $hauteur;
   
$hauteur $haut_max;
   
$largeur round($rapport $largeur);
 }
 
$attr "width='$largeur' height='$hauteur'";
 
 
// Affichage
 
echo("<div style='text-align: center;'>");
 
$param "diapo=$diapo"$en_plus_url;
 
$navigation "<p><a href='?img=0&amp;$param' title='"$traduction["first"] ."'>&lt;&lt;</a>&nbsp;&nbsp;<a href='?$param&amp;img="
               
$img_prec ."' title='"$traduction["prev"] ."'><b>&lt;</b></a>&nbsp;&nbsp;"$legende .
               
" (". ($img 1) ."/$nb_img)&nbsp;&nbsp;<a href='?$param&amp;img="$img_suiv .
               
"' title='"$traduction["next"] ."'><b>&gt;</b></a>&nbsp;&nbsp;<a href='?img=". ($nb_img 1) ."&amp;$param' title='"$traduction["last"] ."'>&gt;&gt;</a></p>";
 
 echo(
$navigation);
 echo(
"<p><a href='"$rep $tab[$img] ."'><img src='"$tab_nc_img[$img] ."' alt='$legende' title='$legende' $attr $style /></a></p>");
 echo(
$navigation ."</div>");
 if (
$diapo) {
  echo(
'<meta http-equiv="REFRESH" content="'$nb_sec .'; url='$page .'?'$param .'&amp;img='$img_suiv .'" />');
 }
}
?>

Screen pour les nuls

  • Ouvrir un screen : screen
  • Ouvrir un screen existant : screen -r
  • Commandes dans le screen :
      Tout se passe avec la combinaison contrôle + a
    • Ouvrir une fenêtre supplémentaire dans le screen : C-a c
    • Passer à la fenêtre suivante : C-a ESP
    • Passer à la dernière fenêtre visitée : C-a C-a
    • Tuer une fenêtre : C-a k ou exit
    • Détacher le screen : C-a d
    • Faire un C-a : C-a a
  • Détacher un screen or du screen : screen -d
 
Dernière modif' le 07/06/2008