Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels
- Stocker des données à l’aide des variables
- Traiter des données à l’aide des opérateurs.
- Communiquer avec l’internaute à l’aide des E/S de base
- Contrôler le flux d’exécution des instructions.
- Réutiliser et organiser le code en créant des fonctions
- Créer l’interactivité grâce à la gestion des évènements
- Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
- Gérer les propriétés de la fenêtre avec l’objet window
- Manipuler le contenu de la page Web grâce à l’objet document
- Contrôler la saisie d’un formulaire avec l’objet form
Objectif général :
Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants
Passer des informations (données ou instructions) d’un composant à son composant fils avec « props »
Gérer l’état local d’un composant avec « state »
Afficher une listes de composants avec map()
Afficher un composant en fonction de l’état de l’application
Interagir avec un utilisateur grâce à la gestion des événements
Interagir avec un utilisateur par le biais des formulaires
Communiquer avec un serveur HTTP avec AJAX
Afficher des vues en fonction de l’URL avec le routage
Mettre en forme un composant
Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels :
Stocker des données à l’aide des variables
Traiter des données à l’aide des opérateurs.
Communiquer avec l’internaute à l’aide des E/S de base
Contrôler le flux d’exécution des instructions.
Réutiliser et organiser le code en créant des fonctions
Créer l’interactivité grâce à la gestion des évènements
Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
Traiter des chaînes de caractères avec l’objet String
Gérer les propriétés de la fenêtre avec l’objet Window
Manipuler le contenu de la page Web grâce à l’objet Document
Contrôler la saisie d’un formulaire avec l’objet Form
Objectif général :
Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants
Passer des informations (données ou instructions) d’un composant à son composant fils avec « props »
Gérer l’état local d’un composant avec « state »
Afficher une listes de composants avec map()
Afficher un composant en fonction de l’état de l’application
Interagir avec un utilisateur grâce à la gestion des événements
Interagir avec un utilisateur par le biais des formulaires
Communiquer avec un serveur HTTP avec AJAX
Afficher des vues en fonction de l’URL avec le routage
Mettre en forme un composant
Objectif général : Savoir créer des pages Web interactives sans trop solliciter le serveur et le réseau pour offrir une meilleure expérience utilisateur
Objectifs opérationnels :
Stocker des données à l’aide des variables
Traiter des données à l’aide des opérateurs.
Communiquer avec l’internaute à l’aide des E/S de base
Contrôler le flux d’exécution des instructions.
Réutiliser et organiser le code en créant des fonctions
Créer l’interactivité grâce à la gestion des évènements
Traiter plus facilement plusieurs données connexes grâce aux tableaux et aux objets
Traiter des chaînes de caractères avec l’objet String
Gérer les propriétés de la fenêtre avec l’objet Window
Manipuler le contenu de la page Web grâce à l’objet Document
Contrôler la saisie d’un formulaire avec l’objet Form
Objectif général : Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants;
Configurer les composants avec « props »;
Gérer l’état local d’un composant avec « state »;
Afficher une listes de composants avec map();
Afficher un composant en fonction de l’état de l’application;
Interagir avec un utilisateur grâce à la gestion des événements;
Interagir avec un utilisateur par le biais des formulaires;
Communiquer avec un serveur HTTP avec AJAX;
Afficher des vues en fonction de l’URL avec le routage;
Mettre en forme un composant;
Les bases de javascript. Introduction au langage javascript. Les boucles, les fonctions, scope local et global. Accès et modification des éléments du Dom (Document object model)
Objectif général
Prendre en main l’un des framework PHP les plus utilisés
Objectifs opérationnels
Structurer les fonctionnalités grâce aux bundles
Faire correspondre une URL donnée à un traitement précis grâce au routage
Traiter les requêtes grâce aux contrôleurs
Intégrer des données dans des templates grâce à TWIG
Faciliter la communication avec une base de données grâce à Doctrine
Permettre à un utilisateur d’initialiser ou de modifier les attributs d'un objet métier grâce aux formulaires
Cette présentation explique quelques concepts fondamentaux de Hazelcast dans l'écosystème du Big Data, et montre comment :
- Créer un cache mémoire distribué basé sur un cluster Hazelcast
- Faire du traitement distribué avec Hazelcast
- Créer une application de messagerie asynchrone utilisant les Topic d'un cluster Hazelcast
- Autres ...
Bon apprentissage
Les primitives java, conditions, boucles..
Object, classes, Carcatéristiques...
Héritage et accessibilité (package, visibilité)
polymorphisme
Tableau et collections
Connexion base de données via JDBC
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Objectif général : Développer en orienté objet avec Python
Objectifs opérationnels :
- Organiser le code grâce aux classes
- Sécuriser une classe avec l’encapsulation
- Réutiliser et factoriser du code avec l’héritage
- Invoquer des méthodes de même nom, quel que soit le type d'objet sur lequel elles opèrent, sans avoir à effectuer au préalable une vérification de type grâce au polymorphisme
Objectif général : Savoir créer une réelle interactivité entre le contenu d'une page HTML et l'internaute
Objectifs opérationnels:
• Stocker et utiliser des données à l’aide des variables et des opérateurs
• Communiquer avec le programme à travers le clavier et l’écran
• Contrôler le flux d’exécution des instructions
• Définir et utiliser des fonctions
• Manipuler des tableaux et des chaînes de caractères
• Sélectionner du contenu dans une page Web
• Manipuler du contenu dans une page Web
• Interagir avec l’internaute
Objectif général : Prendre en main l’une des bibliothèques JavaScript les plus utilisés pour créer des interfaces utilisateurs
Objectifs spécifiques :
Découper l’interface utilisateur avec les composants;
Configurer les composants avec « props »;
Gérer l’état local d’un composant avec « state »;
Afficher une listes de composants avec map();
Afficher un composant en fonction de l’état de l’application;
Interagir avec un utilisateur grâce à la gestion des événements;
Interagir avec un utilisateur par le biais des formulaires;
Communiquer avec un serveur HTTP avec AJAX;
Afficher des vues en fonction de l’URL avec le routage;
Mettre en forme un composant;
Les bases de javascript. Introduction au langage javascript. Les boucles, les fonctions, scope local et global. Accès et modification des éléments du Dom (Document object model)
Objectif général
Prendre en main l’un des framework PHP les plus utilisés
Objectifs opérationnels
Structurer les fonctionnalités grâce aux bundles
Faire correspondre une URL donnée à un traitement précis grâce au routage
Traiter les requêtes grâce aux contrôleurs
Intégrer des données dans des templates grâce à TWIG
Faciliter la communication avec une base de données grâce à Doctrine
Permettre à un utilisateur d’initialiser ou de modifier les attributs d'un objet métier grâce aux formulaires
Cette présentation explique quelques concepts fondamentaux de Hazelcast dans l'écosystème du Big Data, et montre comment :
- Créer un cache mémoire distribué basé sur un cluster Hazelcast
- Faire du traitement distribué avec Hazelcast
- Créer une application de messagerie asynchrone utilisant les Topic d'un cluster Hazelcast
- Autres ...
Bon apprentissage
Les primitives java, conditions, boucles..
Object, classes, Carcatéristiques...
Héritage et accessibilité (package, visibilité)
polymorphisme
Tableau et collections
Connexion base de données via JDBC
Chaque jour, de nombreux développeurs utilisent le framework Spring pour l’injection de dépendances et la gestion des transactions. Majeures, ces 2 fonctionnalités ne nécessitent pas un gros effort d’apprentissage. Pour autant, leurs mises en œuvre par le framework est complexe. Par curiosité intellectuelle, mais également afin d’éviter certains pièges et de profiter pleinement des capacités de Spring, il est intéressant de comprendre les mécanismes internes du framework qu’on utilise au quotidien : cycle de vie d’un bean, proxy, intercepteur, post-processeur, fabrique de beans, hiérarchie de contextes, portée …
Les slides de cette présentation ont pour objectif de vous les faire les introduire.
Support Dot Net avec C#. Ce cours traite les points suivants :
- Architecture .Net
- Les bases de C#
- Objet et Classe
- Héritage
- Encapsulation
- Polymorphisme
- Les exceptions
- Les entrées sorties
- Les interfaces graphiques
- Le multi Threading
- Programmation réseaux (Sockets et DataGram)
- Accès aux bases de données
Objectif général : Développer en orienté objet avec Python
Objectifs opérationnels :
- Organiser le code grâce aux classes
- Sécuriser une classe avec l’encapsulation
- Réutiliser et factoriser du code avec l’héritage
- Invoquer des méthodes de même nom, quel que soit le type d'objet sur lequel elles opèrent, sans avoir à effectuer au préalable une vérification de type grâce au polymorphisme
Objectif général : Savoir créer une réelle interactivité entre le contenu d'une page HTML et l'internaute
Objectifs opérationnels:
• Stocker et utiliser des données à l’aide des variables et des opérateurs
• Communiquer avec le programme à travers le clavier et l’écran
• Contrôler le flux d’exécution des instructions
• Définir et utiliser des fonctions
• Manipuler des tableaux et des chaînes de caractères
• Sélectionner du contenu dans une page Web
• Manipuler du contenu dans une page Web
• Interagir avec l’internaute
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.
Developpement web dynamique_Base de donnees.pdfrachidimstapha
MySQL has stand-alone clients that allow users to interact directly with a MySQL database using SQL, but more often, MySQL is used with other programs to implement applications that need relational database capability. MySQL is a component of the LAMP web application software stack (and others)
https://uii.io/3rFjIWMA0d
https://uii.io/3rFjIWMA0d
PARTIE 1 : Développez une application web dynamique et interactive : Comprendre le concept Web2.0. Dégager les différences entre le modèle statique et le modèle dynamique. Comprendre les balises HTML et CSS. Apprendre le langage PHP : Les Variables, les types, les structures de contrôle, les structure itérative et les fonctions. Tout ceci accompagné par des exemples et exercices.
Objectif général :
Améliorer le positionnement des pages d’un site Web dans les SERP (Search Engine Result Pages)
Objectifs opérationnels :
Sélectionner, dans un site Web, les pages à optimiser
Trouver des mots clés pour une page à optimiser
Optimiser le référencement naturel du contenu d’une page
Faciliter l’exploration, l’indexation et la consultation de l’ensemble des pages
Obtenir du trafic à partir de backlinks
Objectif général
Prendre en main l’un des frameworks PHP les plus utilisés
Objectifs opérationnels :
Faire correspondre une URL donnée à un traitement précis grâce au routage
Traiter les requêtes grâce aux contrôleurs
Intégrer des données dans des templates grâce à TWIG
Faciliter la communication avec une base de données grâce à Doctrine
Permettre à un utilisateur d’initialiser ou de modifier les attributs d'un objet métier grâce aux formulaires
Objectifs
Connaître les principales technologies utilisées pour développer des applications mobiles
Savoir quelle technologie est la mieux adaptée pour un projet
Objectif général : Prendre en main le framework CSS le plus utilisé
Objectifs opérationnels
Positionner du contenu avec le système de grille
Créer des barres de navigation
Mettre en forme des tableaux
Créer des formulaires
Créer des boutons
Mettre en forme des images
Objectif général : Prendre en main l’un des frameworks PHP les plus utilisés
Objectifs spécifiques
Faire correspondre une URL donnée à un traitement précis grâce au routage
Regrouper des traitements connexes grâce aux contrôleurs
Récupérer les données d’une requête http grâce à Request
Retourner des contenus aux formats texte, HTML, JSON, etc. grâce à Response
Intégrer des données dans des templates grâce à Blade
Interagir avec l’utilisateur grâce aux formulaires
Créer, mettre à jour et suivre les évolutions d’un schéma de base de données grâce aux migrations
Faciliter la communication avec une base de données grâce à Eloquent
Objectif général : Connaître les fondamentaux d’une API REST
Objectifs spécifiques :
Savoir définir une API
Connaître l’architecture REST
Connaître les contraintes du REST
Connaître la structure d’une requêtes HTTP
Connaître les caractéristiques d’une ressources
Se servir des méthodes HTTP
Connaître la structure d’une réponses HTTP
Connaître les codes HTTP
Objectif général : Prendre en main l’un des Frameworks JavaScript les plus utilisés pour développer efficacement des applications Web
Objectifs spécifiques
Structurer l’application avec les composants
Gérer les données dynamiques avec le Data binding
Enrichir le HTML avec des directives prédéfinies
Interagir avec un utilisateur par le biais des formulaires
Organiser et partager le code métier avec les services
Communiquer avec un serveur via le service HttpClient
Afficher des vues en fonction de l’URL avec le routage
Objectif général : Acquérir les connaissances nécessaires à la programmation avec le langage Python
Objectifs opérationnels :
- Mémoriser des données primitives
- Traiter des données
- Communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Mémoriser des données composites
- Découper et réutiliser du code
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs opérationnels :
- Connaître les étapes de résolution d’un problème
- Stocker et traiter des données simples
- Permettre à un programme de communiquer avec l’extérieur
- Contrôler le flux d’exécution des instructions
- Traiter des données composites
- Définir et utiliser des procédures et des fonctions
Objectif général
Prendre en main le framework CSS le plus utilisé
Objectifs opérationnels
Positionner du contenu avec le système de grille
Créer des barres de navigation
Créer un fil d’Ariane
Mettre en forme des listes
Mettre en forme des tableaux
Créer des formulaires
Créer des boutons
Mettre en forme des images
Créer une page d’atterrissage
Objectifs généraux :
Savoir effectuer une requête HTTP synchrone ou asynchrone
Savoir effectuer des requêtes RESTful avec les méthodes GET, POST, PUT, PATCH et DELETE
Objectifs opérationnels :
Comprendre une requête synchrone
Effectuer une requête synchrone
Lire, d’une manière synchrone, le contenu d’un fichier local
Comprendre une requête asynchrone
Effectuer une requête asynchrone
Récupérer des données à partir d’un serveur avec une requête asynchrone
Comprendre les méthodes de requête RESTful
Effectuer des requêtes RESTful avec les méthodes GET, POST, PUT, PATCH et DELETE
Objectif général : Prendre en main la bibliothèque JavaScript la plus utilisée
Objectifs spécifiques :
Inclure la bibliothèque
Sélectionner du contenu
Manipuler des éléments
Mettre en forme du contenu
Gérer des évènements
Utiliser des effets
Effectuer des requêtes AJAX
Objectif général : Acquérir les bases méthodologiques de la résolution d'un problème conduisant à la réalisation d'un programme informatique
Objectifs spécifiques :
Connaître les étapes de résolution d’un problème
Stocker et traiter des données simples
Permettre à un programme de communiquer avec l’extérieur
Contrôler le flux d’exécution des instructions
Traiter des données composites
Définir et utiliser des procédures et des fonctions
Objectif général : Découvrir quelques nouveautés du HTML5
Objectifs opérationnels :
Connaître les avantages du HTML5
Utiliser les nouveaux éléments de structuration
Utiliser les nouveaux éléments conteneurs
Utiliser les nouveaux éléments de contenu incorporé
Utiliser les nouveaux éléments et attributs de formulaire
Objectif général : Prendre en main Express js, le mini-framework de Node js le plus utilisé
objectifs spécifiques :
Installer Node js et Express js
Créer une application Express js
Router les requêtes
Recevoir des données à partir de l’URL d’une requête
Recevoir des données à partir du corps d’une requête
Traiter des fichiers uploadés
Utiliser un moteur de template
Utiliser une base de données
Utiliser des middlewares
Objectif général : Découvrir l'un des SGBDs noSQL les plus utilisés
Objectifs spécifiques :
Installer et démarrer un serveur et un client mongo
Créer une base de données dans un serveur mongo
Créer une collection dans une base de données mongo
Connaître les principaux types de données
Insérer des données
Consulter des données
Modifier des données
Supprimer des données
Cours référencement naturel supdeco techonologie avril-15Abdoulaye Dieng
Objectif général : Savoir positionner un site Web sur les premiers résultats des moteurs de recherche
Objectifs opérationnels :
• Connaître le fonctionnement basique d’un moteur de recherche
• Trouver des mots clés pertinents
• Savoir rédiger les parties qui optimisent le positionnement d’une page Web
• Choisir un hébergement et un nom de domaine qui optimisent le positionnement du site
• Partager judicieusement le « link juice » ou popularité des pages du site
Bien écrire l’URL (ou adresses) d’une page Web et de toute ressource (image, video, …)
• Editer les fichiers robots.txt et sitemap.xml utiles aux robots des moteurs
• Inscrire un site Web au niveau des moteurs et annuaires
• Trouver des backlinks (liens vers une page Web provenant d’un site extérieur)
• Enregistrer l’entreprise propriétaire du site Web sur Google Map
• Optimiser la visibilité d’un site Web sur les réseaux sociaux (Facebook, Twitter, Google+, …)
Cours CSS feuilles de style en cascade- mars 2015Abdoulaye Dieng
Objectif général : Mettre en forme le contenu d’un site web
Objectifs spécifiques :
Insérer du style dans une page HTML
Sélectionner du contenu dans une page Web
Donner du style aux caractères et au texte
Choisir une image ou une couleur de fond
Gérer l’espacement externe et interne des différents composants d’une page Web
Dimensionner les éléments d’une page HTML
Positionner les éléments d’une page Web
2. Objectif général
Savoir créer des pages Web interactives sans trop
solliciter le serveur et le réseau pour offrir une
meilleure expérience utilisateur
2
3. Objectifs opérationnels
Stocker des données à l’aide des variables
Traiter des données à l’aide des opérateurs.
Communiquer avec l’internaute à l’aide des E/S de base
Contrôler le flux d’exécution des instructions.
Réutiliser et organiser le code en créant des fonctions
Créer l’interactivité grâce à la gestion des évènements
Traiter plus facilement plusieurs données connexes grâce
aux tableaux et aux objets
Gérer les propriétés de la fenêtre avec l’objet window
Manipuler le contenu de la page Web grâce à l’objet
document
Contrôler la saisie d’un formulaire avec l’objet form
3
4. Sommaire
1. Présentation de JavaScript
2. Inclusion du JavaScript
3. Variable et types primitifs
4. Opérateurs
5. Entrée/Sortie de base
6. Structures de contrôle
7. Fonctions
8. Objets
8. Evénements
9. Objet Array
10. Objet Window
11. Objet Document
12. Objet Form
4
5. Qu’est ce JavaScript?
Pb : comment interagir efficacement avec l’internaute ?
Sol : recueillir et traiter des données côté client
JavaScript = langage de script à incorporer dans une page Web
pour créer de l’interactivité sans trop solliciter le serveur.
Créé en 1995 par Brendan Eich de Netscape à cette époque
JS permet au navigateur, entre autres, de :
• traiter les saisies et frappes faites au clavier ;
• traiter les mouvements et clics de la souris ;
• réagir aux actions précitées avec des sorties
à l'écran ou des modifications dans la page ;
• effectuer des traitements en mode asynchrone .
Last version : ECMAScript 7
en juin 2016 5
6. Inclusion du JavaScript
Inclusion interne : n’importe où dans la page html en
délimitant le code avec l’élément html script comme suit :
<script type="text/javascript">
//code JS
</script>
Inclusion externe : écrire le code JS dans un fichier .js à inclure
dans une page html comme suit :
<script type="text/javascript" src="chemin/du/fichier_inclus.js">
</script>
Toute dépendance doit être incluse avant le code.
6
7. Variable
Variable : emplacement mémoire pour le stockage
d’une donnée
Syntaxe de déclaration :
var nomVariable;
Avec ES6 :
let nomVar
const NOM_CONSTANTE=valeur
Exemples
let i;
var taille, age = 26;
const PI = 3.14;
JavaScript est un langage dont le typage est :
– faible : pas nécessaire de déclarer le type d'une variable avant
de l'utiliser
– dynamique : la même variable peut avoir différents types au
cours de son existence 7
v
a
l
e
u
r
identificateur
8. Types primitifs
undefined et number
undefined : variable non initialisée
8
number
• entier (32 bits)
Ex : 47
• réels (64 bits) :
forme décimal ou
avec exposant (e ou E).
Ex : 3.14159, 123e5, 123e-5
• +Infinity (+infini), -Infinity
et NaN (Not a Number)
9. Types primitifs
string et boolean
string
• string = suite de caractères
(unicode 16 bits).
• une littérale string est délimitée
par des quotes (' ou " ).
Ex : 'Bonjour', "Bonsoir"
boolean
– Deux valeurs uniquement :
true ou false.
– Seules les valeurs 0 et ses
variations, "" (la chaîne vide),
null, undefined donnent false
par conversion. 9
• l’anti-slash () : caractère d’échappement
', ", , n, r, t, b, …
Ex : 'Il s'appelle Toto. n Elle, Titi '
10. Types primitifs
conversion chaînes de caractère en nombre
parseFloat(chaine)
• Analyse une chaîne et retourne un nombre à virgule
flottante ou retourne NaN.
• Exemples :
parseFloat("0.0314E+2"); // 3.14
parseFloat("3.14=pi"); // 3.14
parseFloat("FF2"); // NaN
parseInt(chaine[, base=10])
• Analyse une chaîne et retourne un entier dans la base base
ou retourne NaN.
• Exemples :
parseInt("F", 16); parseInt("15.99"); // 15
parseInt("116", 2); // 3
parseInt("611", 2); // NaN
Tout caractère de la chaîne analysée est retourné jusqu'à ce
qu’un caractère non conforme soit rencontré. 10
11. Opérateurs
Opérateur : outil primitif de traitement de données
Opérateurs arithmétiques
+, -, *, /, % (modulo), ++(incrément), --(décrément)
NB : + permet aussi de concaténer (ou fusionner) deux string
Opérateurs d’assignation
= (affectation), += (ajouter à), *=, /=, -=, %=
NB : += permet aussi de concaténer deux string
Opérateurs logiques
&& (et), || (ou), ! (non)
Opérateurs de comparaison
== (égalité après une éventuelle conversion de type),
=== (égalité incluant le type), <, <=, >, >=,
!= (différent), !== (inégalité incluant le type)
NB : permettent aussi de comparer deux string
en ordre lexicographique. 11
12. Entrée/Sortie de base
affichage d’une fenêtre d’invite de saisie
prompt("question" [, "texteParDéfaut"])
• Ecrit une question dans une boîte de dialogue munie d’une zone de
saisie et de deux boutons OK et Annuler;
• Le texte par défaut, s’il est mis, s’affiche dans la zone de saisie pour
aider l’internaute à répondre à la question
• Retourne la chaîne de caractères (même si c’est un nombre) saisie
par le visiteur qui appuie aussi sur OK
• Retourne null si le visiteur clique sur Annuler
• Remplacer les caractères accentués par leur code latin-1 en octal
précédé de l’anti-slash.
Ex : é (351), è (350), ê (352), à (340), â (342)
Table complète : www.pjb.com.au/comp/diacritics.html
Exemple (à tester avec la console)
prompt("Quel est votre pr351nom SVP ?" , "Saisissez-le ici")
12
13. Entrée/Sortie de base
affichage d’une fenêtre de demande de confirmation
confirm("texte")
• Ecrit une string et/ou la valeur d’une expression dans une boîte de
dialogue munie de deux boutons OK et Annuler,
• Retourne true si le visiteur clique sur Ok
• Retourne false si le visiteur clique sur Annuler ou appuie sur la
touche Echap.
• Une string et une expression sont concaténées par +.
• Pour écrire sur plusieurs lignes, utiliser le caractère n.
• Remplacer tout caractère non-ASCII par son code latin-1 en octal
précédé de l’anti-slash.
Exemple (à tester avec la console)
confirm("Confirmez-vous le pr351nom Toto ?")
13
14. Entrée/Sortie de base
affichage d’une fenêtre d’alerte
alert("texte")
• Ecrit une string et/ou la valeur d’une expression dans une boîte de
dialogue munie d’un bouton OK.
• Retourne toujours undefined
• Une string et une expression sont concaténées par +.
• Pour écrire sur plusieurs lignes, utiliser le caractère spécial de
retour à la ligne n.
• Remplacer tout caractère non-ASCII par son code latin-1 en octal
précédé de l’anti-slash.
Exemple (à tester avec la console)
alert("Nous allons valider votre pr351nom comme 351tant Toto
!")
14
15. Entrée/Sortie de base
affichage dans la page Web
document.write("texte")
• Ecrit une string et/ou la valeur d’une expression dans le corps
(body) du document, à la position de l'appel du script
• Une string et une expression sont concaténées par , ou par +
• Pour écrire sur plusieurs lignes, utiliser la balise <br>.
• Remplacer tout caractère non-ASCII par son code html ou par
son code latin-1 en octal précédé de l’anti-slash.
Exemple (à tester avec la console)
document.write("Votre pr351nom est vraiment <b>Toto</b>")
15
x
16. Structures de contrôle
présentation
Par défaut, les instructions d’un programme sont exécutées d’une
manière séquentielle.
Exemple :
let prenom = prompt("Quel est votre pr351nom SVP ?")
confirm("Confirmez-vous le pr351nom "+prenom)
document.write("Votre pr351nom est vraiment "+prenom)
• Parfois, il est nécessaire qu’un traitement (une ou +sieurs
instructions) ne soit pas systématiquement exécuté ou soit
exécuté plusieurs fois :
d’où l’intérêt des structures de contrôle.
• Deux grands types de structures de contrôle :
– structures conditionnelles ou tests ;
– structures répétitives (ou itératives) ou boucles.
16
17. Structures de contrôle
conditionnelles - Syntaxe
if (condition) {
traitement_1
}
[else {
traitement_2
}]
17
if (condition_1){
traitement_1
}else if
(condition_2){
traitement_2
}
… // suite de else if
}else {
traitement_n
}
switch (expression){
case valeur_1 : traitement 1;
break;
case valeur_2 : traitement 2;
break;
… // suite de case
[default : traitement par défaut]
}
21. Fonctions
présentation
• Fonction = ensemble d’instructions portant un nom
• Utilité :
– implémenter la décomposition d’un problème en sous-problèmes
– faciliter la lisibilité, le débogage et la réutilisabilité/factorisation
• Une fonction est définie avec un nom, un corps et d’éventuels
arguments (ou paramètres formel) lui permettant de communiquer
• Une fonction n’est exécutée que lorsqu’elle est appelée
• Lors de l’appel, tout paramètre formel est associé à une variable ou une
constante nommée « paramètre effectif » du code appelant
• Après son exécution une fonction peut retourner explicitement une
valeur
21
22. Fonctions
syntaxe
Syntaxe de la définition d’une fonction
• Avec une instruction :
function nomDeLaFonction([arg_1 [, arg_2, …] ] ) {
séquence d'instructions;
[return expression]
}
• Dans une expression : le nom de la fonction est optionnel.
Exemples :
let myVar = function(){ … }
elt.onclick = function(){ alert("Pourquoi m'avez-vous cliqué
?")}
En JS, une fonction retourne toujours une valeur
L'appel d'une fonction qui :
• retourne undefined constitue une instruction en lui-même ;
• retourne une valeur différente de undefined est remplacé à
l'exécution par cette valeur retournée ; cet appel doit
forcément se trouver dans un calcul, une affectation, un
22
25. Fonction
Arrow function
Une expression de fonction fléchée permet d'avoir une syntaxe
plus courte
Syntaxe
– ([param] [, param]) => { instructions }
– 1 seul argument ne nécessite pas de parenthèses
– 1 seule expression ne nécessite pas d'accolades et sa valeur
est la valeur de retour implicite pour cette fonction.
exemple-arrow-fonction.html (fonctions à définir et à appeler)
– let sayHello = nbr => {
for(let i=1; i<=nbr; i++){
console.log('Hello World');
}
}
– let multiplier = (a,b) => a*b;
26. Fonction
callback
Callback (fonction de rappel) = fonction passée en paramètre à
une autre pour être exécutée plus tard
Pas d’exécution immédiate => Pas de parenthèses « () » en
suffixe dans la syntaxe du paramètre
Quelques usages
setTimeout() et setInterval()
Gestion d’évènements
Traitement asynchrone
exemple-callback.html
26
x
27. Objet
présentation
La programmation orientée objet consiste à modéliser un
concept du monde réel en entités informatiques
Chaque entité informatique est appelée objet et est caractérisé
par :
son identifiant : nom qui le distingue
ses attributs : données qui le caractérisent
ses méthodes : fonctions qui caractérisent son
comportement et les actions qu’il peut subir
Exemple : personne
Attributs : nom, âge, taille, poids, …
Opérations possibles : saluer, grandir, grossir, …
27
28. Objet
création avec une notation littérale
28
Notation littérale : ensemble de couples (propriété,valeur)
Type de valeur : primitif, tableau, objet et fonction
Si valeur est de type fonction alors propriété = méthode
Syntaxe
let nomObjet = { clé1:valeur1, clé2:valeur2, … }
exemple-objet.html
this fait référence à l’objet courant (ici, personne)
29. Objet
accès aux membres
Syntaxes
nomObjet.nomPropriété
nomObjet.nomMéthode()
exemple-objet.html (suite)
29
Ces deux instructions sont à rajouter après l’accolade
fermante de la création de l’objet personne
30. Evénements
présentation
Événement = changement d'état de l'environnement
qui peut être intercepté par le code JavaScript
Un événement peut être provoqué par l'utilisateur (pression
d'une touche, ...), par le document (chargement d'une image,
...), ou même par le développeur (soumission d’un form. valide)
Quelques évènements relatif à un document Web
– mouseover : le pointeur de la souris survole l’élément
– click : l’élément associé est cliqué
– mouseout : le pointeur de la souris quitte l’élément
– focus : l’élément associé est ciblé
– blur : l’élément associé n’est plus ciblé
– change : le contenu du champ associé est modifié
– load : la page est chargée dans le navigateur
– submit : le formulaire associé est soumis
30
31. Evénements
gestionnaire d’évènement DOM 2
Gérer un événement = associer une action à un événement.
« Lorsque tel événement se produit, faire telle action »
Principe
1) Référencer ou modéliser en objet JavaScript, le contenu
HTML sur lequel l’événement est écouté
2) invoquer addEventListener() sur le modèle objet
Quelques syntaxes de modélisation d’un contenu HTML
• let nomObjet =
document.getElementById("id_element_html")
• let nomObjet = document.querySelector("selecteurCSS")
Syntaxe du gestionnaire d’évènement
nomObjet.addEventListener('nomEvent', function(){
// action à faire lorsque l’événement écouté se produit
});
31
x
33. Objet Array
présentation
Objet Array : créer et manipuler des tableaux
Définition d’un tableau : var nomTab = new Array();
Initialisation : nomTab[ i ]= element;
Définition et initialisation :
– avec Array() :
var nomTab=new Array( element_1 , element_2[, …] );
– littéral : var nomTab=[ element_1 [, element_2, …] ];
– Ex : var j_tab = new Array("j", "a", "v", "a");
var s_tab=["s", "c", "r", "i", "p", "t"];
length : propriété de l’objet Array, renvoi le nombre de valeurs
contenues dans un tableau
Parcourt d’un tableau
for(let i in nomTab){
traitement
}
i est un indice du tableau
NB : qd for … in parcourt un autre objet (i est une propriété)
for(let val of nomTab){
traitement
}
ES6
val est une valeur du tableau33
34. Objet Array
quelques méthodes
.push(newElt1 [,newElt2, …]) ajoute 1 ou +sieurs élément(s) à
la fin et retourne la nouvelle taille
.shift()/.pop() supprime et retourne le premier/dernier élément
.splice(deb, n[, elem1[, élem2, ...]]) supprime n (≥0) élément(s)
à partir de l’indice deb et/ou insère tout élément spécifié. Elle
retourne un tab contenant l’(ou les) élément(s) supprimé(s).
.slice(deb [,fin]) retourne le tableau des éléments de
l'indice deb à l'indice fin-1
.reverse() retourne un tab en inversant l'ordre de ses éléments.
.sort() retourne un tab en triant ses éléments par ordre
alphabétique croissant.
.join(['sep']) joint les éléments d’un tableau avec sep (virgule,
par défaut) pour former et retourner une chaîne de caractères
tab1.concat(tab2 [, tab3, …]) fusionne tab1 à d’autres tableaux
et retourne le tableau obtenu
34
35. Objet Array
quelques méthodes utilisant des fonctions de rappel
.reduce( function(acc, val, indice, tab), val_init ) applique une
fonction qui est un « accumulateur » et qui traite chaque valeur
d'un tableau afin de le (tableau) réduire à une seule valeur. acc
est la valeur précédemment retournée par le dernier appel du
callback, ou val_init.
.map(function(val, indice, tab) ) retourne un nouveau tableau
composé des images des éléments d'un tableau par une
fonction donnée en argument
.filter(function(val, indice, tab) ) retourne un nouveau tableau
composé des éléments du tableau d'origine pour lesquels la
fonction de rappel retourne true.
.forEach(function(val, indice, tab) ) exécute une fonction de
rappel sur chaque élément du tableau
+ d’infos :
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array
35
x
36. Objet window
Objet window : gestion de la fenêtre
Objet propriétaire, par défaut, de toute variable ou méthode
.name : retourne ou défini le nom de la fenêtre
.alert(), .confirm() et .prompt() : boîtes de dialogue (déjà vues)
.setTimeout(fct, delai) : appelle la fonction fct après delai ms
et retourne un identificateur numérique
NB : définition de fct en paramètre
.clearTimeout(id) : efface un délai défini par setTimeout()
.setInterval(fct, delai) : appelle la fonction fct chaque delai ms
et retourne un identificateur numérique
.clearInterval(id) : efface un délai défini par setInterval()
exemple-window.html
(à tester puis à modifier pour ne permettre que 3 affichages)
function sayHello(){
document.write('<br>Hello World');
}
setInterval(sayHello,3000);
36
x
38. Objet document
présentation
Objet document : gestion du contenu d’une page Web
.write() : écrire dans un document
.createElement("typeEltHTML") crée un élément du type
spécifié
element.cloneNode(profond) renvoie une copie du nœud
element avec profond, une valeur booléenne obligatoire,
indiquant si la copie doit se faire en profondeur ou non
.getElementById("nomId") retourne un élément à partir de son
id
.getElementsByTagName("nomElement") retourne un tableau
d‘éléments HTML à partir de leur nom
.querySelector("selecteur") retourne le 1er élément satisfaisant
au sélecteur CSS.
.querySelectorAll("selecteur") retourne un tableau de tous les38
39. Objet document
quelques sélecteurs CSS
Expression Retour
Y Tout contenu désigné par l’élément HTML Y.
#nomId Tout contenu identifié par nomId
.nomClasse Tout contenu faisant partie de la classe nomClasse
[attr] Tout contenu dont l'attribut attr est spécifié.
[attr="val"] Tout contenu dont l'attribut attr vaut val.
[attr^="val"] Tout contenu dont l'attribut attr commence par val.
[attr$="val"] Tout contenu dont l'attribut attr se termine par val.
X Y Tout contenu sélectionné par Y et inclus dans un contenu sélectionné par X
X > Y
Tout contenu sélectionné par Y et inclus directement dans un contenu
sélectionné par X
X + Y
Tout contenu sélectionné par Y et suivant immédiatement un contenu
sélectionné par X
39
40. Objet document
méthodes d’accès (R/W) au contenu
parentElt.appendChild(enfant) ajoute un nœud à la fin de la
liste des enfants d'un nœud parent spécifié
parentElt.insertBefore(newElt, refElt) insère newElt juste avant
refElt parmi les enfants de parentElt.
.innerHTML R/W tout le contenu d'un élément
.nomAttribut R/W la valeur d’un attribut d'un élément
.style.propriétéCSS R/W une propriété de style d'un élément
– propriétéCSS a presque le même nom qu’en CSS
– Remplacer les "-" par une majuscule sur le mot suivant
Ex : background-color → style.backgroundColor
.classList retourne la liste des classes CSS d'un élément
.classList.add("nom")/.remove(…)/.toggle(…) ajoute /
supprime / change l’existence d’une classe à la liste des classes
40
42. Objet form
présentation
Objet form : gestion d’un formulaire
.name : nom d’accès à tout élément et au formulaire
.length : nombre d'éléments à l'intérieur du formulaire ou
nombre d’éléments dans un groupe (radio, checkbox, option, …)
.submit() : soumet le formulaire
.reset() : réinitialise le formulaire
.value : valeur en cours d’un élément
.placeholder : indication dans un champ (text, textarea, …)
.required : caractère obligatoire d’un champ
.autofocus : donne le focus automatiquement
.disabled : état d’activation d’un élément
.checked : état (coché ou non) d’un bouton ou d’une case
.selectedIndex : rang de l’option sélectionnée d’un menu
.options : tableau donnant les options d’un objet select
.text / .value : libellé / valeur d’une option 42