Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
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
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
Ce support de cours contient les concepts fondamentaux de la sécurité des applications Web Statless avec Json Web Token. Des applications de mise en oeuvre de JWT et Spring Security pour les applications basées sur les Micro-services sont publiées ma chaîne vidéo Youtube :
https://www.youtube.com/user/mohamedYoussfi
Le code source des applications est publié sur mon compte GitHUB:
https://github.com/mohamedYoussfi/
Bon apprentissage
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
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
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
Ce cours concerne le polymorphisme, c'est-à-dire la capacité pour une variable de prendre plusieurs types de donnée durant le temps de sa vie. Le cours présente aussi la notion de classe abstraite et d'interface qui est une classe abstraite pure.
Un cours d'initiation en Visual Basic.
Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email:
pr.azizdarouichi@gmail.com
Présentation d'un cours en JAVA/J2EE
Création et manipulations des objets en Java
** Connexion JDBC à la base de données
** Modèle en couches
** FrameworkHibernate
** Framewoek Spring MVC
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
Ce cours concerne le polymorphisme, c'est-à-dire la capacité pour une variable de prendre plusieurs types de donnée durant le temps de sa vie. Le cours présente aussi la notion de classe abstraite et d'interface qui est une classe abstraite pure.
Un cours d'initiation en Visual Basic.
Merci de me faire part de vos remarques et suggestions pour le parfaire et le perfectionner via mon email:
pr.azizdarouichi@gmail.com
Présentation d'un cours en JAVA/J2EE
Création et manipulations des objets en Java
** Connexion JDBC à la base de données
** Modèle en couches
** FrameworkHibernate
** Framewoek Spring MVC
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
Dans le cadre de notre projet de fin d’étude, nous nous intéressons à
développer une application qui sert à l’achat en ligne des produits de beauté,
reconnu dans le domaine informatique par le nom ” E-commerce ”, cette application
peut être développer sur plusieurs plate-forme notamment : An-
droïd , Mac OS et BlackBerry etc. Les supports de notre application Ecommerce
sont les téléphones portable mené, d’un système d’exploitation
Androïd.
--------------------------
http://nazihhenie.wordpress.com/
Lien du Blog:
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
C'est mon rapport du mon projet de fin d’études qu'il s’agit du développement d'une application de gestion du parc informatique
autant qu'un étudiant 5 eme année du l’école nationale des sciences appliquées de tetouan (ENSAT) au maroc
Quelques étapes clés pour vous guider dans le démarrage de votre iCV et donc de votre gestion de carrière sur le Web. Car votre identité professionnelle iCV en ligne booste votre carrière.
Les procédures pour fluidifier mon travail sur InternetBeer Bergman
Comment je peux rendre mon travail sur Internet plus fluide ? Comment me réperer, ne plus jamais oublier mes mots de passe, savoir quoi faire et pourquoi ?
Voici une petite présentation de quelques bases de travail.
Asp.net Tutorials de L'application "Organizer"Nazih Heni
Dans le but d’apprendre le Framework ASP.NET MVC 2.0 j'ai réaliser une petite application sur « Visual Studio » d'un bout à l'autre, ce qui donne l'occasion d'illustrer différents concepts à la base d’ASP.NET MVC 2.0.
L’application que j'ai réaliser s’appellera «Organisez». Il s’agit d’un site web pour faciliter la recherche et l’organisation d’un événement.
------------------------------------
lien du Blog : http://nazihhenie.wordpress.com/
Manuel de 80 pages détaillant Wordpress et l'utilisation de Wordpress. Ce guide vous aidera à comprendre et à manier les fonctionnalités de base de la plateforme
Conception d’une application pour Windows 8 avec Blend 5Microsoft
Blend est l'outil indispensable lorsque l'on souhaite créer des interfaces utilisateurs riches. Avec l'arrivée de Windows 8, Blend permet de concevoir des applications METRO au format HTML 5 et XAML de grande qualité. Dans cette session, nous aborderons les nouvelles fonctionnalités étonnantes de Blend 5 dédiée aux applications Modern UI. Nous verrons également comment ce dernier maximise votre productivité et le développement d'applications Modern UI au format HTML et XAML. La méthodologie et les fonctionnalités seront décrites en mode pas à pas, à partir d’un cas concret d’intégration.
- Graph databases like Neo4j use a graph structure with nodes and relationships to represent data. Nodes can represent entities and relationships can represent connections between nodes.
- The example database models movies, people, and their relationships. Movies and people are represented as nodes with labels. Relationships like "ACTED_IN" connect actors to movies they appeared in.
- Cypher is the query language used to interact with Neo4j. Queries can read and modify data, traverse paths in the graph, and use filters to find specific nodes/relationships.
This document provides an overview of using MongoDB with examples of common operations like inserting documents, querying, updating, and indexing. It demonstrates how to:
- Set up and connect to a MongoDB database using Docker
- Insert, find, update, and remove documents from a collection
- Query documents using equality, greater/less than, AND/OR operators
- Sort and limit output with projections
- Create indexes on fields for improved performance
This document provides instructions for using Cassandra with Docker and examples of Cassandra queries for creating and interacting with keyspaces, tables, rows, columns and different data types including sets, lists, and maps. It demonstrates how to create and query tables with a single primary key or composite primary keys, add and modify columns, insert, update, select and delete data. The document concludes with an activity to design and implement an enrollment example using Cassandra.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...Horgix
This is the slide deck of a talk by Alexis "Horgix" Chotard and Laurentiu Capatina presented at the MongoDB Paris User Group in June 2024 about the feedback on how PayFit move away from a monolithic hell of a self-hosted MongoDB cluster to managed alternatives. Pitch below.
March 15, 2023, 6:59 AM: a MongoDB cluster collapses. Tough luck, this cluster contains 95% of user data and is absolutely vital for even minimal operation of our application. To worsen matters, this cluster is 7 years behind on versions, is not scalable, and barely observable. Furthermore, even the data model would quickly raise eyebrows: applications communicating with each other by reading/writing in the same MongoDB documents, documents reaching the maximum limit of 16MiB with hundreds of levels of nesting, and so forth. The incident will last several days and result in the loss of many users. We've seen better scenarios.
Let's explore how PayFit found itself in this hellish situation and, more importantly, how we managed to overcome it!
On the agenda: technical stabilization, untangling data models, breaking apart a Single Point of Failure (SPOF) into several elements with a more restricted blast radius, transitioning to managed services, improving internal accesses, regaining control over risky operations, and ultimately, approaching a technical migration when it impacts all development teams.
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
1. Module : Atelier de Génie Logiciel
Institut Supérieur d'Informatique
Niveau : L2-SIL-ARS
Année Universitaire : 2010-2011
WINDEV
IN EV
I
Présentation de Windev
WINDEV est un atelier de génie logiciel, il contient donc l'ensemble des éléments
permettant la réalisation d'applications :
-
Création d'interfaces de façon visuelle (fenêtres, états, ...)
-
Gestion des données (définition des bases de données manipulées,accès par
programmation, génération de requêtes)
-
Aide à la conception (modélisation merise, modélisation UML, etc...)
-
Un langage de haut niveau (le WLangage) permettant une programmation
procédurale ou objet
-
Une base de données propriétaire redistribuable sans royalties (Hyper File)
-
Un générateur d'installation
-
Le support (création et intégration) de services Web ou d'assemblage .Net
-
Un interfaçage avec d'autres langages (tel que le C++)
-
....
Le principe de WinDev est simple :
-
Les outils "classiques" sont livrés en standard et intégrés dans l'environnement de
développement (jusqu'à l'installation en clientèle)
-
Le langage est utilisable en français ou en anglais (pratique quand on vient d'un autre
langage) et ressemble beaucoup à de l'algorithmique
-
La base de données Hyper File est livrée avec WinDev et permet de déployer
facilement (et librement) des applications (il est cependant possible d'accéder aux
autres bases de données avec la même programmation)
Mme. Lilia SFAXI
Page 1/6
2. Module : Atelier de Génie Logiciel
Institut Supérieur d'Informatique
Niveau : L2-SIL-ARS
Année Universitaire : 2010-2011
II Exemple de Fenêtre : Compteur
Nous allons réaliser la fenêtre suivante :
La valeur dans la zone de texte sera incrémentée et décrémentée par les flèches à droite.
1. Lancer Windev
2. Créez un nouveau projet, que vous appellerez « Projet_Compteur ». Pour cela,
cliquez sur la flèche à côté de
et choisissez Projet.
3. Une fenêtre « What do you want to do ? » apparaît. Cliquez sur « create a window ».
Si elle n’apparaît pas, ciquer sur l’icône
Une fenêtre sous forme de roue va
apparaître. Aller vers la catégorie « Window->Window ». L’assistant va s’ouvrir.
4. Choisir « Blank » dans la liste des fenêtres donnée. Choisissez le thème que vous
voulez dans la partie « Skins » à droite.
5. Votre fenêtre est maintenant créée. Pour modifier ses informations, clic-droit dessus,
et
choisir
« Description ».
Modifier
le
nom
de
la
fenêtre
en
mettant
« Win_Compteur ». Valider.
6. Pour ajouter un compteur numérique, on crée d’abord un contrôle qui contient la
valeur numérique.
Mme. Lilia SFAXI
Page 2/6
3. Module : Atelier de Génie Logiciel
Niveau : L2-SIL-ARS
Institut Supérieur d'Informatique
Année Universitaire : 2010-2011
Cliquer sur la flèche à côté du bouton
et choisissez « Integer + Spin ».
Placez-le sur votre fenêtre là où vous le désirez.
Double-cliquez sur le champ de texte que vous venez de créer. La fenêtre de
description va s’ouvrir. Modifier son nom : « EDT_Counter », son type :
« Numeric » ainsi que son masque : 999,999.
Pour l’initialiser, cliquez sur l’onglet « Content » sur votre gauche, et entrez
une valeur initiale dans le champ de texte (100 par exemple). Valider.
Cliquer avec le clic droit sur les flèches à côté du champ de texte (appelé aussi
le Spin). Et choisir « Code ». Vous trouverez les deux champs suivants :
- Increment code : code exécuté quand on appuie sur la flèche
supérieure. Dans notre cas, nous allons mettre : EDT_Counter++
- Decrement code : code exécuté quand on appuie sur la flèche
inférieure. Dans notre cas, nous allons mettre : EDT_Counter - -
Valider.
Vous pouvez ajouter un bouton qui permet de fermer votre fenêtre. Pour cela,
cliquer sur la flèche à côté du bouton
Et choisissez le bouton
« Close ». Ajoutez-le dans votre fenêtre.
Sauvegarder ces modifications, puis lancez votre application en cliquant sur le
bouton
Exercice : Ajouter un menu à votre fenêtre qui s’appelle « Bonjour ». Au clic sur ce
menu, une fenêtre s’ouvre pour afficher « Bonjour ! »
Astuce : Aidez-vous du tutoriel fournis avec l’application
III Etude de Cas : Rally
Pour cette étude de cas, vous allez créer un nouveau projet. Pour cela :
1. Cliquer sur le bouton « New » et choisir le cercle central : « Project »
Mme. Lilia SFAXI
Page 3/6
4. Module : Atelier de Génie Logiciel
Institut Supérieur d'Informatique
Niveau : L2-SIL-ARS
Année Universitaire : 2010-2011
2. Nommez votre projet « Rally ». Un tableau de bord pour le projet va apparaître.
III.1. Modélisation
Soit le diagramme de classes suivant :
Dessinez ce diagramme de classes sur Windev et générez le code en WLangage
correspondant. Modifier ensuite le code et observez le changement dans le diagramme des
classes.
Pour réaliser un diagramme de classes UML, suivez les étapes suivantes :
1. Cliquer sur « New » et choisissez sur la roue : Architecture -> UML
2. Choisissez « Class Diagram »
3. Pour créer une nouvelle classe, cliquez sur le bouton
et suivez l’assistant
4. Pour ajouter un attribut ou une méthode à la classe, clic-droit dessus, et choisissez ce
que vous désirez dans le pop-up menu
5. Pour créer une association, cliquez sur
, cliquez successivement sur les deux
classes à associer, et suivez l’assistant.
6. Pour créer une relation d’héritage, cliquez sur le bouton
7. Une fois le diagramme de classes terminé, générez le code WLanguage, et observezMme. Lilia SFAXI
Page 4/6
5. Module : Atelier de Génie Logiciel
Institut Supérieur d'Informatique
Niveau : L2-SIL-ARS
Année Universitaire : 2010-2011
le. Essayez de le changer, et observez le résultat.
III.2. Création de la base de données
Créer la base de données nommée « Rally » relative au schéma de la figure précédente,
en utilisant Windev .
Pour créer la base de données, suivez les étapes suivantes :
1. Cliquez sur la flèche à côté de l’icône
et choisissez « Analysis »
2. Spécifiez le nom (« Rally ») de votre base de données. Laissez le chemin donné par
défaut.
3. Choisissez le type « HyperFileSQL Classic » pour votre base. C’est le type par défaut
qu’utilise Windev.
4. Une fenêtre vide apparaît. Nous allons maintenant créer nos tables à partir de
l’éditeur. Pour cela, Cliquer sur le bouton
pour la création d’une table.
L’assistant apparaît.
5. Choisissez « Create a new file description »
6. Définissez le nom de votre table.
7. Pour le type de la base, choisissez le type par défaut « HyperFileSQL Classic »
8. Laissez le reste des paramètres comme indiqué par défaut, et validez.
9. Un assitant pour la création des différents champs de la table apparaît. Remplissez
votre table avec les valeurs adéquates.
Pour définir une clef primaire, ou un index, choisissez dans la fenêtre de
droite l’une des options données :
- Not Key : pour les champs ordinaires
- Unique Key : pour les clefs primaires
- Key with duplicates : pour les index
Mme. Lilia SFAXI
Pour modifier plus de paramètres de votre champ, cliquez sur la double flèche
Page 5/6
6. Module : Atelier de Génie Logiciel
Niveau : L2-SIL-ARS
Institut Supérieur d'Informatique
Année Universitaire : 2010-2011
en bas de votre écran. Une fenêtre de propriétés sera affichée.
10. Pour créer une relation entre deux tables, revenez à la page principale, et cliquez sur
. Un assistant apparaîtra. Vous devez répondre à quatre questions pour spécifier
les cardinalités de la relation. Les clefs étrangères vont migrer automatiquement.
11. Il est maintenant nécessaire de générer cette base, pour la rendre accessible aux autres
modules du projet. Pour cela, allez vers : « Analysis -> Generate ». Validez les
différentes fenêtres qui apparaissent jusqu’à la génération de la base.
III.3. Utilisation de RAD : Rapid Application Development
C’est un concept utilisé pour construire automatiquement une application. Il utilise la
base que nous avons créé au préalable pour réaliser très facilement l’application qui permet de
l’utiliser.
Sélectionnez « Workshop -> RAD Generation ». Suivez l’assistant. L’application qui
utilisera votre base sera générée automatiquement. Testez-la.
Mme. Lilia SFAXI
Page 6/6