Programmation Perl/Types de base
Les types.
En Perl il n'y a que 3 types de base.
Ils sont reconnaissables à leur "sigil", qui est un caractère avant le nom de la variable ($, @, %).
Nous parlerons également de "références" qui est un moyen, comme son nom l'indique, de faire référence à une autre variable (proche de la notion de pointeurs en C).
Scalaire.
Sigil : $ .
Le type scalaire est un type qui peut garder en mémoire diverses informations. Exemple :
my $a = 42 ; # ceci est un entier
my $b = 2.5 ; # ceci est un décimal
my $c = "Une chaîne de caractères";
my $d = 'Une autre chaîne'; 
Référence sur scalaire.
my $refa = \$a; # on référence la variable $a 
Déférencement sur scalaire.
my $a = $$refa; # $a vaut la valeur de la variable référencée par $refa
Référence.
Une référence est un scalaire qui permet d'accéder à l'adresse mémoire où est stockée un autre scalaire, un tableau, un tableau associatif ou même une fonction.
C'est très utilisé pour passer des tableaux en paramètre d'une fonction, ou tout autre élément que nous souhaiterions modifier sans passer par des copies de leurs valeurs.
Nous allons voir par la suite comment les manipuler.
Tableau.
Sigil : @ .
Un tableau permet de stocker une liste. 
Une liste permet de stocker plusieurs éléments (des scalaires, des références).
Une liste peut également être stockée dans un tableau associatif.
Voyons d'abord les tableaux :
my @tableau1 = ( "chaine1", "chaine2", "chaine3" ); # tableau de mots
my @tableau2 = ( @tableau1, "chaine4" ); # tableau de mots composé des mots de tableau1 + "chaine4"
accéder à une valeur d'un tableau.
Il suffit d'utiliser les crochets "[]" et d'indiquer l'indice de l'élément recherché.
À retenir : la numérotation commence à 0.
my $chaine = $tableau[2]; # accès au troisième élément du tableau @tableau
Référence sur tableau.
my $ref = [ "chaine1", "chaine2", "chaine3" ]; # référence à une liste nouvellement créée (sans passer par un tableau)
my $ref2 = \@liste; # référence d'un tableau précédemment créé
Déférencement de tableau.
my @tableau = @$ref; # déférencement d'un tableau
Tableau associatif.
Sigil : % .
Un tableau associatif (ou "table de hashage") est un type qui permet d'associer un scalaire à un autre.
my %tableau = ( cle1 => "valeur1", cle2 => "valeur2" );
accéder à une valeur du tableau.
my $chaine = $tableau{"clé_chaine"};
Référence sur tableau associatif.
my $ref = \%tableau; # référencement
Déférencement de tableau associatif.
my %tableau = %$ref; # déférencement d'un tableau associatif
Contexte.
En Perl, la notion de contexte est importante et très utile.
Suivant comment vous faites appel à la une variable, suivant l'opérateur que vous utilisez ou l'expression utilisée, vous faites appel à un contexte particulier.
Petite présentation des contextes les plus utilisés.
Contexte numérique.
L'expression évaluée est considérée comme un nombre.
Les opérateurs utilisés traiteront les scalaires comme des nombres, ainsi la chaîne de caractères "01.50" sera interprétée comme le nombre 1.5.
Dans ce contexte, les listes et les tableaux renvoient leur nombre d'éléments.
Dans ce contexte, la valeur renvoyée par un élément de type "undef" est 0.
Contexte (scalaire) de chaîne.
Un nombre est considéré comme une chaîne, et nous pouvons par exemple l'afficher, l'insérer dans une autre chaîne, etc. 
Dans ce contexte, la valeur "undef" renvoie la chaîne vide : "".
Contexte de liste.
Comme son nom l'indique, il permet de manipuler des listes et également les tableaux.
Dans ce contexte, une liste renvoie ses éléments. 
Si une liste est "undef" alors elle renvoie une liste d'un élément "undef".
Exemples.
Un certain nombre d'opérateurs forcent le contexte.
contexte (scalaire) numérique.
my $a = "10.0" + 5; # L'opérateur + force le contexte numérique et l'expression renvoie la valeur 15
my $b = @tableau ; # $b est de type scalaire (sigil $) donc le tableau renvoie son nombre d'éléments
Une manière de forcer le contexte scalaire est d'utiliser la fonction codice_1.
my @tab2 = scalar(@tab); # @tab2 contient comme premier élément le nombre d'éléments de @tab
contexte de liste.
my @tableau2 = @tableau; # @tableau2 est de type liste (sigil @) donc @tableau renvoie sa liste d'éléments
À noter qu'il est possible de forcer le contexte de liste avec un scalaire comme variable à gauche de l'affectation.
my $a = @tableau; # contexte numérique, renvoie le nombre d'éléments de @tableau
my ($b) = @tableau; # contexte de liste, $b contient donc le premier élément de @tableau. 
Précision : my ($a, $b, $c) = (1, 2, 3) est une façon correcte de faire des déclarations multiples et simultanées de variables.
my ($a, $b, $c) = @tableau; # contexte de liste, $a, $b, $c contiennent donc respectivement les trois premiers éléments de @tableau.

Montage d'un feux AR à Led avec clignotants intégrés

Mécanique automobile/Contrôle de l'éclairage et de la signalisation

L'éclairage et la signalisation d'une automobile sont primordiale pour la sécurité aussi bien de nuit que de jour, il est donc important de vérifier régulièrement ces équipements. 
Éclairage.
La procédure pour vérifier le système d'éclairage est on ne peu plus simple :
Signalisation.
Pour cette vérification, il est préférable : soit de vous faire assister par une autre personne, soit de placer votre automobile dos à une surface réfléchissante : un mur blanc la nuit peut suffire, une vitrine, etc.
Vérifiez ainsi :
Retour au sommaire

GuppY
Présentation.
GuppY est un portail web, gratuit et facile d'utilisation. Il ne nécessite pas de base de données, on peut l'installer sur tous les hébergeurs (ou presque). Nul besoin de s'y connaître en langage HTML, en configuration de base de données MySQL, en PHP, GuppY offre une interface d'administration complète et sécurisée pour gérer l'apparence de votre site et le contenu des différentes rubriques de votre site.
Installation.
Ce paragraphe sur la première installation explique comment préparer un site GuppY avec du contenu de démonstration, de façon à ce que vous puissiez jouer avec.

Photographie/Personnalités/N/William Notman