Qu'est ce que PHP ? Dans ce diaporama, vous allez découvrir les principes de base de PHP dans une courte introduction et apprendre à créer vous aussi des sites web dynamiques.
Pour plus de tuto: https://www.funinformatique.com/comment-pirater-un-compte-facebook/
PHP : (Hypertext Preprocessor") est un langage de scripts:
Coté serveur,
Open Source,
et spécialement conçu pour le développement d'applications web.
Il peut être intégré facilement au HTML.
Résumé Complet : Les Fondamentaux du PHP et Intégration avec MySQL.pdfPointer @Info
Un résumé pour réviser les bases de PHP et son intégration avec MySQL. Idéal pour les informaticien qui cherche une révision des notion, ce document couvre les fondamentaux du langage, la gestion des bases de données, et la création d'applications web dynamiques.
Ce premier cours avancé sur Python concerne les deux structures de données avancées que sont les ensembles et les dictionnaires. Ces derniers sont notamment utilisés pour construire des bases de données orientées document.
Cours de PHP/MySQL pour l'IEF (Institut Européen de Formation)
Première partie des cours de développement PHP :
- Environnement de développement
- Hello world !
- Syntaxe PHP
- PHP et HTML
- Instructions PHP
- Les variables
- Déclaration des variables
- Variables locales
- Variables globales
- Tester l'existence d'une variable
- Détruire une variable
- Variables dynamiques
- Constantes
- Types de données
- Trouver le type d'une variable
- Booléens (Boolean)
- Entiers (Integer)
- Nombres flottants (Float)
- Chaînes de caractères (String)
- Les Cast
- Conversion de valeurs
- Opérateurs
- Opérateurs d'affectation
- Opérateurs d'arithmétiques
- Incrémentation/Décrémentation
- Opérateurs combinés
- Concaténation
- Opérateurs de comparaison
- Opérateurs logiques
- Priorités des opérateurs
- Conditions (if et switch)
objectif général : Acquérir les compétences nécessaires pour développer des sites Web dynamiques.
objectifs opérationnels :
Stocker et utiliser des données à l’aide des variables et des opérateurs.
Manipuler des tableaux et des chaînes de caractères.
Contrôler le flux d’exécution des instructions.
Définir et utiliser des fonctions.
Transférer des données.
Interfacer PHP avec MySQL.
Présentation d'Incanter et initiation à Clojure. Les exemples de code sont sur GitHub https://github.com/cfalguiere/Demo-Incanter-Devoxx-France
ArrayList et LinkedList sont dans un bateauJosé Paumard
Slides de mon université à Devoxx France 2016. Le sujet est la performance des algorithmes d'implémentation de List et leur adéquation avec la structure des CPU actuels.
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
Une introduction / ébauche au langage PHP (intro, xampp, premier pas, les structures, les variables, les types, les fonctions ...) faite dans le cadre des formations inter-membres du club Junior ENSI (http://www.junior-ensi.org/) de l'école nationale des sciences de l'informatique (http://www.ensi.rnu.tn/).
Utiliser Hadoop en perl avec HadoopStreamingDavid Morel
How to use the HadoopStreaming class to work in Hadoop using perl (or any language, actually)
Presentation made for the French Perl Workshop 2012 in Strastbourg.
Ce premier cours avancé sur Python concerne les deux structures de données avancées que sont les ensembles et les dictionnaires. Ces derniers sont notamment utilisés pour construire des bases de données orientées document.
Cours de PHP/MySQL pour l'IEF (Institut Européen de Formation)
Première partie des cours de développement PHP :
- Environnement de développement
- Hello world !
- Syntaxe PHP
- PHP et HTML
- Instructions PHP
- Les variables
- Déclaration des variables
- Variables locales
- Variables globales
- Tester l'existence d'une variable
- Détruire une variable
- Variables dynamiques
- Constantes
- Types de données
- Trouver le type d'une variable
- Booléens (Boolean)
- Entiers (Integer)
- Nombres flottants (Float)
- Chaînes de caractères (String)
- Les Cast
- Conversion de valeurs
- Opérateurs
- Opérateurs d'affectation
- Opérateurs d'arithmétiques
- Incrémentation/Décrémentation
- Opérateurs combinés
- Concaténation
- Opérateurs de comparaison
- Opérateurs logiques
- Priorités des opérateurs
- Conditions (if et switch)
objectif général : Acquérir les compétences nécessaires pour développer des sites Web dynamiques.
objectifs opérationnels :
Stocker et utiliser des données à l’aide des variables et des opérateurs.
Manipuler des tableaux et des chaînes de caractères.
Contrôler le flux d’exécution des instructions.
Définir et utiliser des fonctions.
Transférer des données.
Interfacer PHP avec MySQL.
Présentation d'Incanter et initiation à Clojure. Les exemples de code sont sur GitHub https://github.com/cfalguiere/Demo-Incanter-Devoxx-France
ArrayList et LinkedList sont dans un bateauJosé Paumard
Slides de mon université à Devoxx France 2016. Le sujet est la performance des algorithmes d'implémentation de List et leur adéquation avec la structure des CPU actuels.
Introduction au langage PHP (1ere partie) élaborée par Marouan OMEZZINEMarouan OMEZZINE
Une introduction / ébauche au langage PHP (intro, xampp, premier pas, les structures, les variables, les types, les fonctions ...) faite dans le cadre des formations inter-membres du club Junior ENSI (http://www.junior-ensi.org/) de l'école nationale des sciences de l'informatique (http://www.ensi.rnu.tn/).
Utiliser Hadoop en perl avec HadoopStreamingDavid Morel
How to use the HadoopStreaming class to work in Hadoop using perl (or any language, actually)
Presentation made for the French Perl Workshop 2012 in Strastbourg.
installation et configuration du matériel_cours_tech.pdfn allali
Un ordinateur est constitué d'une tour (unité centrale) et de différents périphériques. Dans le cas d'un PC portable, différents périphériques sont directement intégrés.
2. Inf7212 - Introduction aux systèmes informatiques
• Introduction au langage Perl
• Structure d’un programme Perl
• Les variables
• Les tableaux
• Les tableaux associatifs
• Les structures de contrôles
• Les boucles
• Les entrées / sorties
• Exercices pour chacun des concepts vus
3
Plan
3. 4
Introduction au langage PERL
P.E.R.L. signifie Practical Extraction and Report Language
( langage pratique d'extraction et d'édition )
• Créé en 1986 par Larry Wall, pour gérer un système de « News » entre deux
réseaux.
• C’est un langage interprété :
• pas de compilation
• moins rapide qu'un programme compilé
• Portable : existe sous Unix, Linux, Windows, Mac (Amiga, Atari ...)
• Gratuit : disponible sur Internet
• Simple : quelques commandes permettent de faire ce que fait un programme
de 500 lignes en C.
• Robuste : pas d'allocation de la mémoire à manipuler, chaînes, piles, pas de
limite pour la taille des variables et des tableaux...
4. 5
Exemples d’un programme Perl
1 #!/bin/perl
2
3 print "Bonjour le monden";
Commentaire obligatoire :
indique l’interpréteur Perl
Commande print :
afficher à l’écran
1 #!/bin/perl
2
3 open(FL,'< monFichier') || die "Problème d'ouverture : $! n";
4
5 my $i = 0;
6
7 while (my $ligne = <FL>) {
8 $i++;
9 }
10
11 close FL;
12
13 print "Nombre de lignes : $in";
Ouverture d’un fichier en lecture
Déclaration et initialisation du compteur
Détection d’erreur
Pour chaque ligne lue….
Incrémentation du compteur
Fermeture du fichier
Affichage du contenu du compteur
5. 6
Exécution d’un programme Perl
Les programmes en Perl ne sont pas compilés, ils sont simplement interprétés par
l’interpréteur Perl.
L’usage veut que l’on nomme un programme Perl en utilisant l’extension .pl
Exemple :
Soit le fichier : bonjour.pl
Il est exécuté en faisant :
>perl bonjour.pl
6. Inf7212 - Introduction aux systèmes informatiques
7
Programme « Hello, world! »
Exemple 1
#!/usr/bin/perl
print "Hello, world!n"; # affiche Hello, world!
Exemple 2
#!/usr/bin/perl
print # C’est un commentaire
"Hello, world!n"
; # N’écrivez pas votre code Perl de cette façon
Exécution du programme
$ perl my_program.pl
#Sous Unix et Linux, on ajoute:
$ chmod a+x my_program.pl
ou
$ chmod 755 my_program.pl
7. 8
Les types de données en Perl
1. Les constantes
5, -12345, 0.1415, 1.6E16, ‘cerise’, ‘a’, ‘les fruits du palmier sont les dattes’
1. Les variables scalaires
Les variables sont précédées du caractère $.
$i = 0; $c = ‘a’; $mon_fruit_prefere = ‘kiwi’;
$racine_carree_de_2 = 1.41421;
$chaine = ‘100 grammes de $mon_fruit_prefere’; # 100 grammes de $mon_fruit_prefere
$chaine = "100 grammes de $mon_fruit_prefere"; # 100 grammes de kiwi
Attention: Ne mettez pas d’espaces dans les noms des variables.
Un nom peut être aussi long qu’on le veut. Dans les dernières versions de Perl,
les noms de variables peuvent être accentués.
8. Inf7212 - Introduction aux systèmes informatiques
9
Constantes numériques
Exemples
1.25
255.000
255.0
7.25e45 # 7.25 fois 10 puissance 45 (un grand nombre)
-6.5e24 # -6.5 fois 10 puissance 24 (un grand nombre négatif)
-12e-24 # -12 fois 10 puissance -24 (un très petit nombre négatif)
-1.2E-23 # une autre façon de représenter E (lettre majuscule)
61298040283768
61_298_040_283_768
0377 # 377 octal, la même chose que 255 décimal
0xff # FF hex, la même chose que 255 décimal
0b11111111 # aussi, la même chose que 255 décimal
9. Inf7212 - Introduction aux systèmes informatiques
10
Chaînes de caractères et opérations associées
Exemples
'barney‘ # le mot barney
' ' # la chaîne nulle (pas de caractères)
"barney" # la même chose que 'barney'
"hello worldn" # hello world, et une nouvelle ligne
''' # guillemet simple suivi du backslash
Exemples d’opérations associées à des chaîne de caractères
"hello" . ' ' . "world" # la même chose que 'hello world'
"fred" x 3 # c’est "fredfredfred"
"barney" x (4+1) # "barney" x 5 ou "barneybarneybarneybarneybarney"
5 x 4 # est en réalité "5" x 4, ce qui est "5555"
"Z" . 5 * 7 # la même chose que "Z" . 35 ou "Z35"
10. 11
Les types de données en Perl : exemple d’execution
Exemple de programme illustrant l’utilisation des variables. Le type de données est
défini par l’interpréteur Perl lors de l’affectation (à l’exécution du programme).
Programme:
Donne à l’exécution:
11. 12
Les tableaux
3. Les tableaux
Les tableaux peuvent être utilisés comme des ensembles ou des listes. Il sont
précédés du caractère @ :
@chiffres = (1,2,3,4,5,6,7,8,9,0);
@fruits = (‘amande’,’fraise’,’cerise’);
@alphabet = (‘a’..’z’);
On fait référence à un élément du tableau par son indice :
print $chiffre[1]; => ‘2’
print $fruits[0]; => ‘amande’
On peut affecter un tableau à un autre tableau :
@alphanum = (@alphabet,@chiffre); => (‘a’,’b’,….,’z’,’1’,’2’,…..,’0’);
Remarque : on dispose d’une variable spéciale : $#tableau qui indique le dernier
indice du tableau (égale à sa taille - 1) : $fruits[$#fruits] => ‘cerise’
On peut référencer une partie d’un tableau :
@fruits[0..1] => (‘amande’,’fraise’);
12. 13
Les tableaux (2)
3. Les tableaux (suite)
Accès au dernier indice et élément d’un tableau :
$rocks[0] = 'bedrock'; # le 1-er élément du tableau ...
$rocks[99] = 'schist'; # le dernier élément du tableau ...
$end = $#rocks; # 99, accès au dernier indice du tableau
$number_of_rocks = $end + 1; # nombre d’éléments du tableau
$rocks[ $#rocks ] = 'hard rock'; # le dernier élément du tableau
$rocks[ -1 ] = 'hard rock'; # accès au dernier élément avec -1
$dead_rock = $rocks[ -3 ]; # on obtient 'bedrock' – le 1-er élément du tableau
$rocks[ -200 ] = 'crystal'; # erreur fatale!
13. 14
Les tableaux (3)
3. Les tableaux (suite)
Quelques exemples :
$fred[0] = "yabba";
$fred[1] = "dabba";
$fred[2] = "doo";
$number = 2.71828;
print $fred[$number - 1]; # la même chose que $fred[1]
$blank = $fred[ 142_857 ]; # un élément non-utilisé du tableau contient undef
$blanc = $mel; # la variable $mel non-utilisée donne aussi undef
$rocks[0] = 'bedrock'; # un élément du tableau ...
$rocks[1] = 'slate';# un autre élément du tableau ...
$rocks[2] = 'lava'; # et un autre ...
$rocks[99] = 'schist'; # maintenant il y a 96 éléments undef
14. 15
Les tableaux (4)
3. Les tableaux (suite)
Exemples des tableaux :
("fred", 4.5) # deux valeurs "fred" et 4.5
(1..5) # la même chose que (1, 2, 3, 4, 5)
(1.7..5.7) # la même chose, mais les deux nombres seront tronqués
(5..1) # tableau vide : " .. " on compte seulement en avant
(0, 2..6, 10, 12) # la même chose que (0, 2, 3, 4, 5, 6, 10, 12)
($m..$n) # l’intervalle déterminé par les valeurs courantes de $m et $n
(0..$#rocks) # les indices du tableau rock du diapo précédent
($m, 17) # deux valeurs: la valeur courante de $m et 17
($m+$o, $p+$q) # les sommes de 2 variables
("fred", "barney", "betty", "wilma", "dino") # tableau des chaînes de caractères
qw( fred barney betty wilma dino ) # la même chose que la ligne précédente
15. 16
Les tableaux (5)
3. Les tableaux (suite)
Assignations des valeurs aux tableaux :
($fred, $barney, $dino) = ("flintstone", "rubble", undef);
@rocks = qw/ bedrock slate lava /;
@tiny = ( ); # le tableau vide
@giant = 1..1e5; # un tableau avec 100,000 éléments
Les fonctions pop, push, shift et unshift :
@array = 5..9;
$fred = pop(@array); # $fred sera égal à 9, @array est comme suit: (5, 6, 7, 8)
push(@array, 0); # @array @array est maintenant comme suit: (5, 6, 7, 8, 0)
push @array, 8; # @array @array est maintenant comme suit: (5, 6, 7, 8, 0, 8)
@array = qw# dino fred barney #;
$m = shift(@array); # $m sera égale à "dino", @array est comme suit: ("fred", "barney")
unshift(@array, "claude"); # @array est comme suit: ("claude", "fred", "barney")
16. 17
Opérations sur les tableaux
Structure de contrôle foreach :
foreach $rock (qw/ bedrock slate lava /) {
print "One rock is $rock.n"; # Affiche les noms de 3 éléments du tableau @rock
}
Variable par défaut $_ :
foreach (1..10) { # utilise $_ par défaut
print "I can count to $_!n";
}
$_ = "ABCD abcdn";
print; # affiche $_ par défaut
17. 18
Opérations sur les tableaux (2)
Opérateur reverse :
@fred = 6..10;
@barney = reverse(@fred); # donne 10, 9, 8, 7, 6
@wilma = reverse 6..10; # donne la même chose, mais sans un autre tableau
@fred = reverse @fred; # ajoute le résultat dans le même tableau
reverse @fred; # Erreur ! – ne change pas @fred
Opérateur sort :
@rocks = qw/ bedrock slate rubble granite /;
@sorted = sort(@rocks); # donne bedrock, granite, rubble, slate
@back = reverse sort @rocks; # les valeurs varieront de slate à bedrock
@rocks = sort @rocks; # ajoute le résultat ordonné dans le même tableau
@numbers = sort 97..102; # donne 100, 101, 102, 97, 98, 99
18. 19
Les tableaux : un exemple d’exécution
L’exemple ci-dessous illustre l’utilisation d’un tableau. Dans ce tableau on insère les
différents éléments d’un jeu de carte.
Donne à l’exécution:
19. 20
Les tableaux associatifs
4. Les tableaux associatifs (indicés)
Ils sont toujours précédés du caractère % :
%prix = (‘amande’=>30, ‘fraise’=>9, ‘cerise’=>25);
ou
%prix = (amande=>30, fraise=>9, cerise=>25);
On référence ensuite un élément du tableau par :
$prix{‘cerise’} # =25
ou
$prix{cerise} # =25
On peut ajouter des éléments à un tableau associatif :
%chiffre = ();
$chiffre{un} = 1;
$chiffre{deux} = 2;
print $chiffre{un}; # affiche 1
$var = ‘deux’;
print $chiffre{$var}; # affiche 2
20. 21
Les tableaux associatifs (2)
Remarques :
On peut avoir un tableau de tableaux :
%saison = (
‘abricot’ => [‘été’],
‘fraise’ => [‘printemps’,’été’],
‘pomme’=> [‘automne’,’hiver’]);
Et accéder à un champs en faisant :
print $saison{‘fraise’}[0] ; # affiche printemps
Le nombre d’éléments du tableau associé à fraise est : $#{ ${‘fraise’} } + 1
21. 22
Les tableaux associatifs (3)
Dans quels cas on utilise les tableaux associatifs (key => value):
1. Association (Prénom, Nom de famille).
Exemple: (Pierre, Bouchard).
2. Association (Nom de l’hôte, Adresse IP).
Exemple: (arabica.info.uqam.ca, 123.45.67.89).
3. Association opposée (Adresse IP, Nom de l’hôte).
Exemple: (123.45.67.89, arabica.info.uqam.ca).
4. Association (Mot, Nombre d’occurrences de ce mot).
Exemple: (« fois », 5).
5. Association (Nom d’usager, Nombre de disques utilisés par cet usager).
Exemple: (User_Makarenkov, 5).
6. Association (Numéro de permis de conduire, Nom de la personne).
Exemple: (ABCD123456, Tremblay).
22. 23
Utilisation des tableaux associatifs
Exemples:
$family_name{"fred"} = "astaire"; # affecte une nouvelle valeur à un élément
$bedrock = $family_name{"fred"}; # donne "astaire"; ancienne valeur est perdue
$family_name{"wilma"} = "flintstone"; # ajoute une nouvelle clef et un nouveau contenu
$family_name{"betty"} .= $family_name{"barney"}; # créé un élément si nécessaire
$granite = $family_name{"larry"}; # Si « larry » n’existe pas, donne undef
%new_hash = %old_hash; # une façon de copier des tableaux associatifs
%some_hash = ("foo", 35, "bar", 12.4, 2.5, "hello", "wilma", 1.72e30, "betty", "byen");
# une autre façon de définir un tableau associatif
23. 24
Les fonction pour traiter des tableaux associatifs
Fonctions keys et values:
my %hash = ("a" => 1, "b" => 2, "c" => 3);
my @k = keys %hash; # donne le tableau de clefs
my @v = values %hash; # donne le tableau de contenus (valeurs)
my $count = keys %hash; # donne 3, voulant dire 3 paires clef/contenu
Fonction each:
while ( ($key, $value) = each %hash ) {
print "$key => $valuen";
}
foreach $key (sort keys %hash) {
$value = $hash{$key};
print "$key => $valuen";
# On pourrait éviter la variable supplémentaire $value:
# print "$key => $hash{$key}n";
}
24. 25
Utilisation typique des tableaux associatifs
Exemple:
$books{"fred"} = 3;
$books{"wilma"} = 1;
if ($books{$someone}) {
print "$someone a au moins un livre emprunté.n";
}
foreach $person (sort keys %books) { # chaque personne, dans l’ordre
if ($books{$person}) {
print "$person a $books{$person} livre(s) emprunté(s).n"; # fred a 3 livres
}
}
Fonctions exists et delete:
if (exists $books{"dino"}) {
print "Hey, il y a une carte de bibliothèque pour dino!n";
}
my $person = "betty";
delete $books{$person}; # Enlève la carte de bibliothèque de la $person
25. 26
Les tableaux associatifs : exemple
Exemples de programmes montrant la manipulation des tableaux associatifs.
26. 27
Les expressions (les nombres)
Opérateur Nom Exemple
+ addition 2 + 3
- soustraction 5 - 6
* multiplication 2 * 5
/ division 6 / 4
% modulo 7 % 2
** exponentiation 2 ** 3
Opérateur Nom Exemple
++ Pré-incrémentation $res = ++ $val
++ Post-incrémentation $res = $val ++
-- Pré-décrémentation $res = -- $val
-- Post-décrémentation $res = $val --
Voici un aperçu des opérateurs binaires et unaires sur les nombres.
29. 30
Les expressions (les chaînes de caractères)
Opérateur Nom Exemple
. concaténation "Je " . "suis"
x duplication "a" x 4
gt Plus grand que "abc" gt "def"
ge Plus grand ou égal "abc" ge "def"
lt Plus petit que "abc" lt "def"
le Plus petit ou égal "abc" le "def"
ne Non-égalité "Suis" ne "suis"
eq Égalité "Suis" eq "suis"
Opérateur Exemple Instruction équivalente
= $res = "Salut"; -
.= $res .= " toi "; "Salut toi "
x= $res x= 3; "Salut toi Salut toi Salut toi "
Voici un aperçu des différents opérateurs permettant de combiner des chaînes de
caractères.
Valeur de l’expression
"Je suis"
"aaaa"
faux
faux
vrai
vrai
vrai
faux
30. 31
Les expressions logiques
Les valeurs de vérité des expressions s’évaluent selon la table suivante :
Valeur de vérité Expressions ayant cette valeur de vérité
faux
Toutes les valeurs numériques nulles :
0 0.0 0.0e3 …
Les 2 chaînes de caractères suivantes :
"" "0"
vrai
Toutes les autres expressions, comme par exemple
4 "allo" "0.0" …
31. 32
Les expressions logiques (2)
Voici la liste des opérateurs logiques :
Opérateur Nom Exemples Valeurs des expressions
&& (and) Et logique "abc" eq "abc" && 5 > 2 Vrai
|| (or) Ou logique "abc" ne "abc" || 5 < 2 Vrai
! (not) Non logique ! ("abc" ne "abc" ) Vrai
32. 33
La saisie au clavier
Perl offre des moyens relativement simples à utiliser pour communiquer avec la
console. Nous avons déjà vu comment écrire avec la console.
Écriture :
print "mon message s’affiche dans la console";
La lecture s’effectue en appelant les symboles suivants : <>
Lecture :
$monNom = <>;
Pour être plus précis, on lit dans le STDIN (l’entrée standard) et on écrit dans le
STDOUT (la sortie standard).
Écriture : print STDOUT "mon message s’affiche à la console";
Lecture : $monNom = <STDIN> ;
33. 34
La saisie au clavier (2)
$madonna = <STDIN>; # on lit la ligne courante sur l’entrée standard
@madonna = <STDIN>; # on lit toutes les lignes restantes sur l’entrée standard
La lecture peut se faire depuis un fichier, par exemple.
La commande Ctrl-Z indique la fin du texte saisi au clavier sous DOS et
Windows.
Chaque ligne est retournée comme un élément distinct du tableau.
Exemple:
@lines = <STDIN>; # lire toutes les lignes sur STDIN
chomp(@lines); # éliminer les sauts de lignes
ou tout simplement:
chomp(@lines = <STDIN>); # Lire les lignes sans les sauts de lignes
34. 35
Exercices (1)
1. Écrire un programme qui calcule la circonférence d’un cercle avec le rayon
de 12.5. La circonférence est 2π fois le rayon de la circonférence (la valeur
de π est approximativement 3.141592654).
2. Modifiez le programme précédent pour permettre à l’utilisateur du
programme de saisir la valeur du rayon.
3. Modifiez le programme précédent en sorte que si l’utilisateur saisit le
nombre inférieur à 0, la valeur reportée sera 0 (plutôt que négative).
4. Écrire un programme qui lit les valeurs de 2 nombres et affiche à l’écran
leur produit.
5. Écrire un programme qui lit une chaîne de caractères et un nombre et
affiche, sur les lignes séparées, la chaine en question le nombre de fois
indiqué par le nombre saisi. Si l’utilisateur saisit "Fred" and "3", la sortie sera
donc:
Fred
Fred
Fred
Coder ces programmes à la démo !!