benoitbalon  [ Profile ]

Sort by: Date / Title /

  1. 2 weeks ago
    1. mencoder -vf pp=ci -oac mp3lame -lameopts cbr:br=128 -ovc xvid -xvidencopts bitrate=1200 video_en_entree.avi -o video_en_sortie.avi
  2. 2 weeks ago
    Ce petit script permet de renommer des photos avec leurs date et heure de prise. Dans le cas de photos prises par différents appareils, cela permet de toutes les réordonner par heure de prise de vue (si toutefois les appareils photos sont tous configurés à la bonne date et à la bonne heure).
    1. #!/bin/bash
    2.  
    3. repertoire=$1
    4. nomsortie=$2
    5.  
    6. # Lancement de l'outil d'ImageMagick
    7. traite_exif ()
    8. {
    9.         exif=`identify -verbose -quiet "$i" 2>> /dev/null | grep 'xif:DateTime:' | tr -d ' '`
    10.         if test "$exif" = "";then continue;fi
    11.         annee=`echo $exif | cut -d ':' -f3`
    12.         mois=`echo $exif | cut -d ':' -f4`
    13.         jour=`echo $exif | cut -d ':' -f5 | cut -c1-2`
    14.         heure=`echo $exif | cut -d ':' -f5 | cut -c3-4`
    15.         minute=`echo $exif | cut -d ':' -f6`
    16.         seconde=`echo $exif | cut -d ':' -f7`
    17.         date_complete=`printf '%s_%s_%s_%sh%sm%s_%s.jpg' $annee $mois $jour $heure $minute $seconde "$nomsortie"`
    18.         echo "${date_complete}"
    19.         cp $i $repertoire/$nomsortie/$date_complete
    20. }
    21.  
    22. # On verifie qu'un repertoire a ete entre
    23. if test "$repertoire" = ""
    24. then
    25.         echo "Veuillez preciser le repertoire de photos a traiter !"
    26.         exit 1
    27. fi
    28.  
    29. # On verifie qu'un nom a ete entre
    30. if test "$nomsortie" = ""
    31. then
    32.         echo "Veuillez preciser un nom de fichier generique a donner a vos photos !"
    33.         exit 2
    34. fi
    35.  
    36. # On verifie que le programme identify existe
    37. which identify >> /dev/null 2>> /dev/null
    38. identify_exists=`echo $?`
    39. if test $identify_exists -ne 0
    40. then
    41.         echo "Veuillez installer ImageMagick !"
    42.         exit 1
    43. fi
    44.  
    45. mkdir $repertoire/$nomsortie
    46.  
    47. ls -b1 $repertoire/* | while read i
    48. do
    49.         nb_char=`echo -n "$i" | wc -c`
    50.         prem_char=`expr $nb_char - 3`
    51.         extension=`echo "$i" | cut -c${prem_char}-${nb_char} | tr a-z A-Z`
    52.         if test "JPEG" = "$extension" || test ".JPG" = "$extension"
    53.         then
    54.                 traite_exif "$i"
    55.         fi
    56. done
  3. 1 month ago
    Ce petit script permet d'émuler une barre de progression et le pourcentage associé. La barre s'adapte automatiquement à la largeur du terminal. Pour l'exemple, le script boucle sur le nombre d'arguments qui lui sont passés en entrée. Le script fonctionne avec GNU-Linux et Solaris (cf. commande stty), pour d'autres OS il faudra les ajouter dans le script.
    1. #!/bin/sh
    2.  
    3. # ex :
    4. # ~$ test.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    5. # [||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||] 100.00%
    6.  
    7. barre_progression ()
    8. {
    9.         nb_iterations=$1
    10.         liste_length=$2
    11.         pourcent=`echo "scale=2;($nb_iterations * 100) / $liste_length" | bc`
    12.         pourcent=`printf "% 3.2f" "$pourcent"`
    13.        
    14.         chaine="$pourcent"
    15.         nb_etoiles=`echo "scale=0;$chaine / $diviseur_barre" | bc`
    16.         etoiles=""
    17.         while test $nb_etoiles -gt 0
    18.         do
    19.                 etoiles="${caractere_barre}${etoiles}"
    20.                 nb_etoiles=`echo "$nb_etoiles - 1" | bc`
    21.         done
    22.         etoiles=`printf "[%-${largeur_barre}s]" "$etoiles"`
    23.         pourcentage=`printf "%7s" "$chaine"`
    24.         #echo "\r${etoiles}${pourcentage}%\r\c"
    25.         printf "%b%b%b" "\r${etoiles}" "${pourcentage}" "%\r\c"
    26. }
    27.  
    28. # INITIALISATION DE LA BARRE DE PROGRESSION
    29. init_progress_bar ()
    30. {
    31.         # caractere qui sera affiche dans la barre de progression
    32.         caractere_barre="|"
    33.        
    34.         # detection de l'OS
    35.         os=`uname -s | tr [a-z] [A-Z]`
    36.        
    37.         # recuperation de la largeur en caracteres du terminal
    38.         if test "$os" = "LINUX"
    39.         then
    40.                 largeur_ecran=`stty -a | grep columns | cut -d ' ' -f7 | tr -d ';'`
    41.         elif test "$os" = "SUNOS"
    42.         then
    43.                 largeur_ecran=`stty | grep columns | cut -d ' ' -f6 | tr -d ';'`
    44.         else
    45.                 echo "Systeme d'exploitation incompatible, programme stoppe"
    46.                 exit 1
    47.         fi
    48.        
    49.         # calcul de la largeur optimale de la barre de progression
    50.         largeur_barre=`echo "$largeur_ecran - 7 - 2 - 1" | bc`
    51.         diviseur_barre=`echo "scale=2;100 / $largeur_barre" | bc`
    52.        
    53.         # protection des variables
    54.         readonly largeur_ecran largeur_barre diviseur_barre caractere_barre
    55. }
    56.  
    57. # gestion de la langue de l'environnement
    58. LC_NUMERIC=C
    59.  
    60. init_progress_bar
    61.  
    62. liste_length=$#
    63. nb_iterations=0
    64. if test $liste_length -gt 0
    65. then
    66.         for i in $@
    67.         do
    68.                 nb_iterations=`echo "$nb_iterations + 1" | bc`
    69.                 barre_progression "$nb_iterations" "$liste_length"
    70.                 # sleep 1
    71.         done
    72. fi
    73.  
    74. echo " "
  4. 3 months ago
    Je sais, c'est moche, mais c'est en attendant de trouver mieux...
    1. for i in `ls -1`; do cd $i; rename 's/ +/_/g' *; cd ..; done
    2. for i in `ls -1`; do cd $i; rename "s/'/-/g" *; cd ..; done
    3. for i in `ls -1`; do cd $i; rename "s/[?!%]//g" *; cd ..; done
    4. for i in `ls -1`; do cd $i; rename "s/[?]//g" *; cd ..; done
    5. for i in `ls -1`; do cd $i; rename 's/[!%?]//g' *; cd ..; done
    6. for i in `ls -1`; do cd $i; rename 's/[àâ]/a/g' *; cd ..; done
    7. for i in `ls -1`; do cd $i; rename 's/[éèêë]/e/g' *; cd ..; done
    8. for i in `ls -1`; do cd $i; rename 's/[oöô]/o/g' *; cd ..; done
    9. for i in `ls -1`; do cd $i; rename 's/[ûù]/u/g' *; cd ..; done
    10. for i in `ls -1`; do cd $i; rename 's/[ä]/a/g' *; cd ..; done
    11. for i in `ls -1`; do cd $i; rename 's/[ü]/u/g' *; cd ..; done
    12. for i in `ls -1`; do cd $i; rename 's/[,]/-/g' *; cd ..; done
    13. for i in `ls -1`; do cd $i; rename 's/[(){}]/-/g' *; cd ..; done
    14. for i in `ls -1`; do cd $i; rename 's/traeve/treve/g' *; cd ..; done
  5. 4 months ago
    Parfois, on peut avoir besoin de retrouver la date à partir de son quantième, c'est à dire à partir de son numéro de jour dans l'année. Ce script permet de retourner la date comprise entre aujourd'hui et il y a un an si l'année n'est pas précisée, ou bien de retourner la date dans l'année qui a été précisée.
    1. #!/bin/sh
    2.  
    3. usage="Usage : $0 -q `date +'%j'` [-y `date +'%Y'`]"
    4.  
    5. # gestion de la ligne de commande
    6. if test "$#" -eq 2
    7. then
    8.         if test "$1" != "-q"
    9.         then
    10.                 echo $usage
    11.                 exit 1
    12.         fi
    13. elif test "$#" -eq 4
    14. then
    15.         if test "$1" != "-q"
    16.         then
    17.                 echo $usage
    18.                 exit 1
    19.         fi
    20.         if test "$3" != "-y"
    21.         then
    22.                 echo $usage
    23.                 exit 1
    24.         fi
    25. else
    26.         echo $usage
    27.         exit 1
    28. fi
    29.  
    30. qte=$2
    31.  
    32. if test "$4" != ""
    33. then
    34.         annee_act=$4
    35.         val_y=`expr $annee_act + 1 2>> /dev/null`
    36.         if test "$?" != "0"
    37.         then
    38.                 echo $usage
    39.                 exit 1
    40.         fi
    41. fi
    42.  
    43. # verification des nombres
    44. val_q=`expr $qte + 1 2>> /dev/null`
    45. if test "$?" != "0"
    46. then
    47.         echo $usage
    48.         exit 1
    49. fi
    50.  
    51. # depassements de valeurs
    52. if test "$qte" -gt 366
    53. then
    54.         echo $usage
    55.         exit 1
    56. fi
    57.  
    58. if test "$qte" -lt 1
    59. then
    60.         echo $usage
    61.         exit 1
    62. fi
    63.  
    64. # comparaison avec le quantieme actuel
    65. if test "$4" = ""
    66. then
    67.         qte_act=`date +'%j'`
    68.         annee_act=`date +'%Y'`
    69.  
    70.         if test "$qte_act" -gt "$qte"
    71.         then
    72.                 continue
    73.         elif test "$qte_act" -lt "$qte"
    74.         then
    75.                 # la date recherchee est dans l'annee passee
    76.                 annee_act=`expr $annee_act - 1`
    77.         else
    78.                 # la date recherchee est celle d'aujourd'hui
    79.                 echo `date +'%Y-%m-%d'`
    80.                 exit 0
    81.         fi
    82. fi
    83.  
    84.  
    85. bis=`expr $annee_act % 4`
    86. if test "$bis" -gt 0
    87. then
    88.         fin_janvier=31
    89.         fin_fevrier=`expr 31 + 28`
    90.         fin_mars=`expr 31 + 28 + 31`
    91.         fin_avril=`expr 31 + 28 + 31 + 30`
    92.         fin_mai=`expr 31 + 28 + 31 + 30 + 31`
    93.         fin_juin=`expr 31 + 28 + 31 + 30 + 31 + 30`
    94.         fin_juillet=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31`
    95.         fin_aout=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31`
    96.         fin_septembre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30`
    97.         fin_octobre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31`
    98.         fin_novembre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30`
    99.         #fin_decembre=`expr 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31`
    100. else
    101.         fin_janvier=31
    102.         fin_fevrier=`expr 31 + 29`
    103.         fin_mars=`expr 31 + 29 + 31`
    104.         fin_avril=`expr 31 + 29 + 31 + 30`
    105.         fin_mai=`expr 31 + 29 + 31 + 30 + 31`
    106.         fin_juin=`expr 31 + 29 + 31 + 30 + 31 + 30`
    107.         fin_juillet=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31`
    108.         fin_aout=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31`
    109.         fin_septembre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30`
    110.         fin_octobre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31`
    111.         fin_novembre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30`
    112.         #fin_decembre=`expr 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + 31`
    113. fi
    114.  
    115. # annee non bissextile
    116. if test "$qte" -eq 366 && test "$bis" -gt 0
    117. then
    118.         exit 1
    119. fi
    120.  
    121. # detection de l'annee bissextile
    122. if test "$qte" -le "$fin_janvier"
    123. then
    124.         mois="01"
    125.         jour=`expr $qte + 0`
    126. elif test "$qte" -le "$fin_fevrier"
    127. then
    128.         mois="02"
    129.         jour=`expr $qte - 31`
    130. elif test "$qte" -le "$fin_mars"
    131. then
    132.         mois="03"
    133.         if test "$bis" -gt 0
    134.         then
    135.                 jour="`expr $qte - 31 - 28`"
    136.         else
    137.                 jour="`expr $qte - 31 - 29`"
    138.         fi
    139. elif test "$qte" -le "$fin_avril"
    140. then
    141.         mois="04"
    142.         if test "$bis" -gt 0
    143.         then
    144.                 jour="`expr $qte - 31 - 28 - 31`"
    145.         else
    146.                 jour="`expr $qte - 31 - 29 - 31`"
    147.         fi
    148. elif test "$qte" -le "$fin_mai"
    149. then
    150.         mois="05"
    151.         if test "$bis" -gt 0
    152.         then
    153.                 jour="`expr $qte - 31 - 28 - 31 - 30`"
    154.         else
    155.                 jour="`expr $qte - 31 - 29 - 31 - 30`"
    156.         fi
    157. elif test "$qte" -le "$fin_juin"
    158. then
    159.         mois="06"
    160.         if test "$bis" -gt 0
    161.         then
    162.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31`"
    163.         else
    164.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31`"
    165.         fi
    166. elif test "$qte" -le "$fin_juillet"
    167. then
    168.         mois="07"
    169.         if test "$bis" -gt 0
    170.         then
    171.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30`"
    172.         else
    173.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30`"
    174.         fi
    175. elif test "$qte" -le "$fin_aout"
    176. then
    177.         mois="08"
    178.         if test "$bis" -gt 0
    179.         then
    180.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31`"
    181.         else
    182.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31`"
    183.         fi
    184. elif test "$qte" -le "$fin_septembre"
    185. then
    186.         mois="09"
    187.         if test "$bis" -gt 0
    188.         then
    189.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31`"
    190.         else
    191.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31`"
    192.         fi
    193. elif test "$qte" -le "$fin_octobre"
    194. then
    195.         mois="10"
    196.         if test "$bis" -gt 0
    197.         then
    198.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31 - 30`"
    199.         else
    200.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31 - 30`"
    201.         fi
    202. elif test "$qte" -le "$fin_novembre"
    203. then
    204.         mois="11"
    205.         if test "$bis" -gt 0
    206.         then
    207.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31`"
    208.         else
    209.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31`"
    210.         fi
    211. else
    212.         mois="12"
    213.         if test "$bis" -gt 0
    214.         then
    215.                 jour="`expr $qte - 31 - 28 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31 - 30`"
    216.         else
    217.                 jour="`expr $qte - 31 - 29 - 31 - 30 - 31 - 30 - 31 - 31 - 30 - 31 - 30`"
    218.         fi
    219. fi
    220.  
    221. # affichage de la date trouvee
    222. if test "$jour" -lt 10
    223. then
    224.         echo "${annee_act}-${mois}-0${jour}"
    225. else
    226.         echo "${annee_act}-${mois}-${jour}"
    227. fi
  6. 5 months ago
    La fonction Javascript qui fait tout est get_mois(...) . Elle prend 5 paramètres : - l'année par défaut à l'ouverture - le mois par défaut à l'ouverture - si le calendrier doit être bloqué au dernier mois et à la dernière année écoulés, c'est à dire jusqu'à aujourd'hui mais pas au-delà (bloqué = true) - l'attribut id correspondant à la balise (idéalement un div) où le calendrier doit être construit - l'id du bouton qui permet d'afficher et cacher le calendrier
    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3.  
    4. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    5.         <head>
    6.                 <script language="javascript">
    7.                         function get_mois(annee, mois, bloquer_a_date_actuelle, emplacement, bouton)
    8.                         {
    9.                                 var today = new Date();
    10.                                 var date_a_traiter = today;
    11.                                
    12.                                 if (annee != null && mois != null)
    13.                                 {
    14.                                         if (! bloquer_a_date_actuelle)
    15.                                         {
    16.                                                 if (annee != today.getFullYear() || mois != today.getMonth())
    17.                                                 {
    18.                                                         date_a_traiter = new Date(annee, mois, 1);
    19.                                                 }
    20.                                         }
    21.                                         else
    22.                                         {
    23.                                                 if (annee < today.getFullYear() || mois < today.getMonth())
    24.                                                 {
    25.                                                         date_a_traiter = new Date(annee, mois, 1);
    26.                                                 }
    27.                                         }
    28.                                 }
    29.                                
    30.                                 var current_year = date_a_traiter.getFullYear();
    31.                                 var current_month = date_a_traiter.getMonth();
    32.                                
    33.                                 var debut_mois = new Date(current_year, current_month, 1);
    34.                                 var premier_jour_mois = debut_mois.getDay();
    35.                                
    36.                                 var fin_mois = new Date(current_year, current_month + 1, 0);
    37.                                 var derniere_date_mois = fin_mois.getDate();
    38.                                
    39.                                 var mon_code = "";
    40.                                 mon_code = "\<table\>" +
    41.                                                                 "\<tr class=\"deplace\"\>" +
    42.                                                                         "\<td\>\<a id=\"annee_precedente\" href=\"\" class=\"survol\" title=\"Ann&eacute;e pr&eacute;c&eacute;dente\"\>\<\<\</a\>\</td\>" +
    43.                                                                         "\<td\>\<a id=\"mois_precedent\" href=\"\" class=\"survol\" title=\"Mois pr&eacute;c&eacute;dent\"\>\<\</a\>\</td\>" +
    44.                                                                         "\<td\>\<span id=\"mois_annee\"\>\</span\>\</td\>" +
    45.                                                                         "\<td\>\<a id=\"mois_suivant\" href=\"\" class=\"survol\" title=\"Mois suivant\"\>\>\</a\>\</td\>" +
    46.                                                                         "\<td\>\<a id=\"annee_suivante\" href=\"\" class=\"survol\" title=\"Ann&eacute;e suivante\"\>\>\>\</a\>\</td\>" +
    47.                                                                         "\<td\>\<a id=\"fermer_calendrier\" href=\"javascript: cacher_calendrier('" + emplacement + "', '" + bouton + "');\" class=\"survol\" title=\"Fermer le calendrier\"\>x</a\>\</td\>" +
    48.                                                                 "\</tr\>" +
    49.                                                         "\</table\>";
    50.                                 mon_code = mon_code + "\<table\>\<tr class=\"titre\"\>\<td\>Lu\</td\>\<td\>Ma\</td\>\<td\>Me\</td\>\<td\>Je\</td\>\<td\>Ve\</td\>\<td\>Sa\</td\>\<td\>Di\</td\>\</tr\>";
    51.                                
    52.                                 for (var i = 1 ; i <= derniere_date_mois ; i++)
    53.                                 {
    54.                                         var ma_date = new Date(current_year, current_month, i);
    55.                                        
    56.                                         var style_today = " onclick=\"javascript: alert('" + i + "/" + current_month + "/" + current_year + "');\"";
    57.                                         if (i == date_a_traiter.getDate() && (ma_date.getDay() == 0 || ma_date.getDay() == 6) )
    58.                                         {
    59.                                                 if (date_a_traiter == today)
    60.                                                 {
    61.                                                         style_today = style_today + " class=\"today_we\"";
    62.                                                 }
    63.                                                 else
    64.                                                 {
    65.                                                         style_today = style_today + " class=\"not_today_we\"";
    66.                                                 }
    67.                                         }
    68.                                         else if (i == date_a_traiter.getDate() && (ma_date.getDay() != 0 && ma_date.getDay() != 6) )
    69.                                         {
    70.                                                 if (date_a_traiter == today)
    71.                                                 {
    72.                                                         style_today = style_today + " class=\"today_not_we\"";
    73.                                                 }
    74.                                                 else
    75.                                                 {
    76.                                                         style_today = style_today + " class=\"not_today_not_we\"";
    77.                                                 }
    78.                                         }
    79.                                         else if (i != date_a_traiter.getDate() && (ma_date.getDay() != 0 && ma_date.getDay() != 6) )
    80.                                         {
    81.                                                 style_today = style_today + " class=\"not_today_not_we\"";
    82.                                         }
    83.                                         else if (i != date_a_traiter.getDate() && (ma_date.getDay() == 0 || ma_date.getDay() == 6) )
    84.                                         {
    85.                                                 style_today = style_today + " class=\"not_today_we\"";
    86.                                         }
    87.                                        
    88.                                         if (i == 1)
    89.                                         {
    90.                                                 switch (ma_date.getDay())
    91.                                                 {
    92.                                                         case 1:
    93.                                                                         mon_code = mon_code + "\<tr\>\<td" + style_today + "\>1\</td\>";
    94.                                                                         break;
    95.                                                         case 2:
    96.                                                                         mon_code = mon_code + "\<tr\>\<td\> \</td\>\<td" + style_today + "\>1\</td\>";
    97.                                                                         break;
    98.                                                         case 3:
    99.                                                                         mon_code = mon_code + "\<tr\>\<td\> \</td\>\<td\> \</td\>\<td" + style_today + "\>1\</td\>";
    100.                                                                         break;
    101.                                                         case 4:
    102.                                                                         mon_code = mon_code + "\<tr\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td" + style_today + "\>1\</td\>";
    103.                                                                         break;
    104.                                                         case 5:
    105.                                                                         mon_code = mon_code + "\<tr\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td" + style_today + "\>1\</td\>";
    106.                                                                         break;
    107.                                                         case 6:
    108.                                                                         mon_code = mon_code + "\<tr\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td" + style_today + "\>1\</td\>";
    109.                                                                         break;
    110.                                                         case 0:
    111.                                                                         mon_code = mon_code + "\<tr\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td" + style_today + "\>1\</td\>\</tr\>";
    112.                                                                         break;
    113.                                                 }
    114.                                         }
    115.                                         else if (i == derniere_date_mois)
    116.                                         {
    117.                                                 switch (ma_date.getDay())
    118.                                                 {
    119.                                                         case 1:
    120.                                                                         mon_code = mon_code + "\<tr\>\<td" + style_today + "\>" + i + "\</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\</tr\>";
    121.                                                                         break;
    122.                                                         case 2:
    123.                                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\</tr\>";
    124.                                                                         break;
    125.                                                         case 3:
    126.                                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\</tr\>";
    127.                                                                         break;
    128.                                                         case 4:
    129.                                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\<td\> \</td\>\<td\> \</td\>\<td\> \</td\>\</tr\>";
    130.                                                                         break;
    131.                                                         case 5:
    132.                                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\<td\> \</td\>\<td\> \</td\>\</tr\>";
    133.                                                                         break;
    134.                                                         case 6:
    135.                                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\<td\> \</td\>\</tr\>";
    136.                                                                         break;
    137.                                                         case 0:
    138.                                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\</tr\>\</tr\>";
    139.                                                                         break;
    140.                                                 }
    141.                                         }
    142.                                         else
    143.                                         {
    144.                                                 if (ma_date.getDay() == 0)
    145.                                                 {
    146.                                                         mon_code = mon_code + "\<td" + style_today + "\>" + i + "\</td\>\</tr\>";
    147.                                                 }
    148.                                                 else if (ma_date.getDay() == 1)
    149.                                                 {
    150.                                                         mon_code = mon_code + "\<tr\>\<td" + style_today + "\>" + i + "\</td\>";
    151.                                                 }
    152.                                             &