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;
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
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
Ce support explique les concepts de bases du principe de l'inversion de contrôle et d'injections des dépendances.
Les concepts les plus importants à comprendre par les futurs ingénieurs du génie Logiciel.
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;
Ce Support explique quelques concepts de base de NodeJS et montre comment mettre en oeuvre la technologie NodeJS pour développer la partie Backend d'une application.
Les vidéos des démonstrations sont publiées sur les adresse suivantes :
- https://www.youtube.com/watch?v=-X_C1tS5-9Y
- https://www.youtube.com/watch?v=rE-xRH28m0s
- https://www.youtube.com/watch?v=tnxjkTvWoKA
Cette série explique les éléments suivants :
- Architecture Web
- Modèles Multi-Threads avec les entrées sorties bloquantes
- Modèles Single Thread avec les entrées sortie non bloquantes
-Technologie Node JS
- Comment créer une simple application Node JS avec java Script
- Architecture du Framwork Express
- Comment créer une application NodeJS avec Type Script
- Comment écrire des tests unitaires avec Jest
- Quelques concepts sur MongoDb
- Comment Créer une API Rest avec NodeJS, Express et MongoDb
- Comment tester l'API Rest
- Comment Créer la partie FrontEnd avec Angular.
Même si la qualité audio n'est pas bonne, ses vidéos peuvent aider ceux qui débutent dans NodeJS en attendant d'autres vidéos avec plus qualité audio et de contenu.
Bonne lecture
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
Ce support explique les concepts de bases du principe de l'inversion de contrôle et d'injections des dépendances.
Les concepts les plus importants à comprendre par les futurs ingénieurs du génie Logiciel.
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
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
Support tutoriel : Créer votre jeu en HTML5SmartnSkilled
Apprenez doucement à créer votre premier jeu en HTML5.
A l'issue de cette formation vous aurez capable de :
- Maîtriser les langages HTML5 et CSS,
- Créer des pages web en HTML5 et CSS,
- Structurer une page web,
- Connaître le fonctionnement du couple HTML5 et CSS3.
Explorez la formation complète par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-creer-votre-jeu-en-html5
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
Ces nouvelles fonctionnalités introduites à partir de Java 7 nous permettent de parallèliser nos traitements simplement, voire gratuitement. Nous allons donc pouvoir utiliser pleinement nos multicoeurs avec un minimum d'efforts. Quels sont ces nouveaux patterns, quels gains en performance pouvons-nous en attendre, à quels nouveaux bugs serons-nous confrontés ? Une heure pour répondront à chacun de ces points, en introduisant les nouveaux problèmes et leurs solutions. Une heure pour comprendre comment nos habitudes de programmation vont devoir évoluer, et à quoi la programmation parallèle en Java ressemblera-t-elle demain.
Support Complet sur la technologie EJB 3.1. Ce cours Traite l'architecture JEE. Les différents types EJB (Session, Entity, MDB). Des exemple complets sont aussi présentés.
Ce Support de cours Spring contient :
- Architecture JEE (Over view)
- Spring Overview
- Spring IOC
- Spring MVC
- Spring Integration (RMI, JaxWS, JaxRS, JMS, JMX,...)
- Spring Security
Bon apprentissage à tous
Séminaire sur Machines, Deep Learning For Web Mobile and Embedded Application with DL4J and TFJS :
Les vidéos de ce séminaire sont publiée sur les adresses suivantes :
- https://www.youtube.com/watch?v=uGSa4NigFKs
- https://www.youtube.com/watch?v=2yRAu78slgc
- https://www.youtube.com/watch?v=1ThjK3xLWII
- https://www.youtube.com/watch?v=N7LCa6aiqFs
Ce séminaire a été animé à l’ENSET de Mohammedia, dans le cadre du Projet Européen H2020 CybSPEED (Cyber Physical Systems for Pedagogical Rehabilitation in Special Education) dans lequel notre laboratoire de recherche SSDIA (Signaux, Systèmes Distribués et Intelligence Artificielle) est partenaire aux cotés des pays partenaires (France, Espagne, Grèce, Bulgarie, Japan et Chillie). Un projet Multi-disciplinaire autour de l'Intelligence Artificielle, visant à créer un robot destiné à assister les personnes à besoins spécifiques, en particulier les personnes atteintes par la maladie de l’autisme. Ce séminaire traite deux thématiques principales Lattice Computing animé par le professeur Vassillis Kaburlasos, EMaTTech, KAVALA, GRECE et Outils de mise en oeuvre de Machines et Deep Learning pour les applications Web Mobiles et embarquées, animé par moi même. Ce séminaire a un caractère de formation, de sensibilisation et de maîtrise des outils de développement des algorithmes de l'IA pour un public hétérogène Multi-disciplinaire (Informatique, Génie Electrique, Génie Mécanique, Ingénierie Pédagogique, Biologie, Chimie, etc..) constitué principalement des doctorants de notre Labo SSDIA, d'autres Labo affiliés au CeDOC de la FST de Mohammedia ainsi que des enseignants chercheurs de l'ENSET, de EMaTTech Kavala, Grèce et d'autres enseignants chercheurs venant de d'autres centres comme CRMF de Marrakech.
Ce séminaire vise particulièrement à expliquer quelques concepts liés à l’intelligence artificielle. Principalement Machines et Deep Learning et comment mettre en œuvre les Frameworks de machines et deep lerning dans des applications Web, Mobile et embarquées en utilisant Principalement Deeplearning4J pour les applications Java coté backend ou coté FrontEnd Desktop, Web ou Mobiles Android, et TensorFlowJS pour les applications Java Scripts coté Browser Web et Coté Applications Mobiles Hybrides ou NodeJS coté Backend.
Cette série de vidéo aborde les éléments suivants :
• Concepes généraux de l’Intelligence Artificielle, L’IA Distribuée et Systèmes Multi Agents
• Concepts fondamentaux de Machines et Deep Learning
• Réseaux de neurones artificiels : MLP, CNN
• Période d’incertitude des réseaux de neurones
• Catalyseur de l’Intelligence Artificielle
o Architectures Parallèles GPU (CUDA, OpenCL)
o Systèmes Distribués
o Application Mobile et IOT
o Algorithmes de MDL
o Framework de MDL
• Machines et Deep Learning avec TensorFlowJS : Architecture
o Architecture et Mise en oeuvre
• Machines et Deep Learning avec le Framework DL4J
o Architecture et Mise en oeuvre
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
Support tutoriel : Créer votre jeu en HTML5SmartnSkilled
Apprenez doucement à créer votre premier jeu en HTML5.
A l'issue de cette formation vous aurez capable de :
- Maîtriser les langages HTML5 et CSS,
- Créer des pages web en HTML5 et CSS,
- Structurer une page web,
- Connaître le fonctionnement du couple HTML5 et CSS3.
Explorez la formation complète par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-creer-votre-jeu-en-html5
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) f...Normandy JUG
Ces nouvelles fonctionnalités introduites à partir de Java 7 nous permettent de parallèliser nos traitements simplement, voire gratuitement. Nous allons donc pouvoir utiliser pleinement nos multicoeurs avec un minimum d'efforts. Quels sont ces nouveaux patterns, quels gains en performance pouvons-nous en attendre, à quels nouveaux bugs serons-nous confrontés ? Une heure pour répondront à chacun de ces points, en introduisant les nouveaux problèmes et leurs solutions. Une heure pour comprendre comment nos habitudes de programmation vont devoir évoluer, et à quoi la programmation parallèle en Java ressemblera-t-elle demain.
Ce cours présente la programmation fonctionnelle et montre comment il est possible de programmer avec ce paradigme en utilisant Python. La première partie présente la notion d'objet de type fonction, les fonctions lambda, le type callable et les closures. La deuxième partie présente les décorateur et montre comment ajouter du comportement à une fonction à l'aide d'un décorateur. La troisième partie présente les itérateurs et les générateurs qui, grâce à l'instruction yield, génère les données à la demande.
L’équipe du projet BeBoP a proposé un webinaire le 30 mai 2024 pour découvrir comment la technologie vidéo, combinée à l’intelligence artificielle, se met au service de l’analyse du comportement des taurillons.
Reconquête de l’engraissement du chevreau à la ferme
Javascript mémo.pdf
1. Javascript
Mémo
Voici un petit mémo contenant
l'essentiel de ce qu'il faut retenir en
javascript. Tout n'y est pas bien
évidemment, le but est de retrouver les
termes et concepts les plus
communément utilisées.
2. Javascript
Les objets JS primitifs
window
propriétés
- window.name : nom de la fenêtre
- window.statut : texte de la barre de statut
méthodes
- window.open() : nouvelle fenêtre (onglet)
- window.alert() : message dans une pop-up
- window.confirm() : nouvelle fenêtre de choix (true/false)
- window.prompt() : nouvelle fenêtre de saisie
- window.setTimeout() : déclencher une minuterie
- window.clearTimeout() : suspendre une minuterie
- window.setInterval() : lancer un traitement a intervalle régulier
- window.clearInterval() : suspendre un traitement a intervalle régulier
sous-objets
- window.document : document actif
- window.location : informations sur la barre d'adresse
- window.history : naviguer dans l'historique
3. Javascript
Les objets JS primitifs
document
propriétés
- document.title : titre de la page
- document.body : corps du document
- document.cookie : gestion des cookies
méthodes
- document.getElementById() : récupérer un élément HTML par son ID
- document.getElementByTagName() : idem mais par son tag (nom de balise)
- document.getElementByClass() : idem mais par sa classe CSS
- document.write() : écrire dans le document
sous-objets
- document.forms : tableau des formulaires de la page
- document.images : tableau des images de la page
4. Javascript
Les objets JS primitifs
location
propriétés
- location.href : URL actuelle complète
- location.host : nom de domaine de l'URL actuelle
- location.pathname : chemin de l'URL actuelle sans le nom de domaine
méthodes
- location.reload() : recharger la page
history
propriétés
- history.length : nombre d'URLs stockées dans l'historique
méthodes
- history.back() : revenir à la page précédente
- history.forward() : aller à la page suivante
5. Javascript
Les objets JS primitifs
Date
méthodes
- Date.getDate() : jour dans le mois (1 à 31)
- Date.getDay() : jour dans la semaine (0 dimanche à 6 samedi)
- Date.getMonth() : mois dans l'année (0 janvier à 11 décembre)
- Date.getFullYear() : année sur 4 caractères
- Date.getYear() : année sur 2 caractères
- Date.getHours() : heure dans la journée (0 à 23)
- Date.getMinutes() : minutes dans l'heure (0 à 59)
- Date.getSecondes() : secondes dans la minute (0 à 59)
- Date.getTime() : nombre de millisecondes écoulées depuis le 1er janvier
1970 (aussi appelé le ''timestamp'')
6. Javascript
Les objets JS primitifs
Math
propriétés
- Math.E : constante exponentielle
- Math.PI : constante PI
- Math.SQRT2 : constante racine carré de 2
Méthodes
- Math.abs() : retroune la valeur absolue d'un nombre réel
- Math.round() : retourne l'arrondi (entier) d'un nombre réel
- Math.floor() : retourne l'entier le plus proche inférieur d'un nombre réel
- Math.ceil() : retourne l'entier le plus proche supérieur d'un nombre réel
- Math.pow() : retourne un nombre à une certaine puissance
- Math.random() : génère un nombre aléatoire entre 0 et 1
- Math.max() : compare 2 nombres et renvoi le plus grand
- Math.min() : compare 2 nombres et renvoi le plus petit
7. Javascript
Les objets JS primitifs
String
propriétés
- String.length : retourne la longueur d'une chaine
Méthodes
- String.charAt() : retroune le caractère à la position précisée
- String.indexOf() : retourne la position d'une sous-chaine
- String.slice() : extrait une sous-chaine
- String.substr() : variante de slice()
- String.split() : fragmente une chaine en éléments d'un tableau
- String.toLowercase() : retourne la chaine en minuscule
- String.toUppercase() : retourne la chaine en majuscule
- String.italics() : retourne la chaine en italique
- String.bold() : retourne la chaine en gras
8. Javascript
Les objets JS primitifs
Array
propriétés
- Array.length : retourne le nombre d'éléments d'un tableau
Méthodes
- Array.join() : converti un tableau en chaine
- Array.pop() : supprime le dernier élément d'un tableau
- Array.push() : ajoute un élément en fin de tableau
- Array.shift() : supprime le premier élément d'un tableau
- Array.unshift() : ajoute un élément en début de tableau
- Array.reverse() : inverse l'ordre des éléments d'un tableau
- Array.sort() : tri les éléments d'un tableau par ordre croissant
9. Javascript
Les objets JS primitifs
Images
propriétés
- images.length : retourne le nombre d'image chargées dans la page
- images.src : retourne l'adresse et le nom de l'image
- images.alt : infobulle de la balise IMG
- images.fileSize : poids de l'image en octets
- images.width : largeur de l'image
- images.height : hauteur de l'image
- images.complete : indicateur de fin de chargement (true/false)
10. Javascript
Les fonctions spéciales
fonctions spéciales
- eval() : évalue et exécute le code contenu dans une chaîne
- isFinite() : teste si le paramètre est un nombre fini (true/false)
- isNaN() : teste si le paramètre n'est pas un nombre (true/false)
- parseFloat() : convertit une chaîne en décimal
- parseInt() : convertit une chaîne en entier
- escape() : encode les caractères spéciaux
- unescape() : décode les caractères spéciaux
NOTE : Lorsque l'on veut convertir une valeur numérique en chaîne il n'y a
pas de fonction particulière aussi en général on ajoute une chaîne de
caractère vide à notre valeur numérique ce qui revient à une concaténation et
renvoi donc en résultat une chaîne de caractères.
11. Javascript
Opérateurs & Structures
opérateurs
- function : déclarer une fonction
- new : permet de construire un objet (Array, Date...)
- this : pointe l'objet en cours de manipulation
- var : déclarer une variable
structures
- for : déclarer une boucle conditionnelle ''pour''
- while : déclarer une boucle conditionnelle ''tant que''
- in : permet de parcourir les propriétés d'un objet
- break : force la sortie d'une boucle conditionnelle
- if else : déclarer un test conditionnel
- switch case : déclarer un test ''multiple''
- return : retourne le résultat d'une fonction
- try catch : gestion des erreurs
12. Javascript
Opérateurs & Structures
opérateurs de calcul
- + : addition
- - : soustraction
- * : multiplication
- / : division
- % : modulo (reste d'une division)
- = : affectation
opérateurs d'affectation avancés
- += : ajoute la partie à droite du signe à l'opérande de gauche
- -= : soustrait la partie à droite du signe à l'opérande de gauche
- *= : multiplie l'opérande de gauche par la valeur à droite
- /= : divise l'opérande de gauche par la valeur à droite
- %= : calcule le reste de la division de l'opérande de gauche par la valeur à
droite
NOTE : Pour ces opérateurs avancés, le résultat est stocké dans l'opérande
de gauche (qui est en quelque sorte mis à jour)
13. Javascript
Opérateurs & Structures
opérateurs d'incrémentation
- ++ : incrémentation de 1 de la variable
- -- : décrémentation de 1 de la variable
opérateurs de comparaison
- == : égalité (ATTENTION, ne pas confondre avec le symbole d'affectation)
- != : différence
- === : identité ou égalité stricte (teste la valeur mais aussi le type)
- !== : non identité ou inégalité stricte
- <= : infériorité
- < : infériorité stricte
- >= : supériorité
- > : supériorité stricte
opérateurs logiques
- && : ET logique
- || : OU logique
- ! : NON logique