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
Support de cours EJB :
- Architecture JEE
- Séparer le code métier et le code technique
- Inversion de contrôle
- EJB session
- EJB Entity
- Mise en oeuvre des projets EJB
- EJB et Web services
- JMS
- MDB
- Gestion de transactions avec EJB
- Application
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
Support de cours EJB :
- Architecture JEE
- Séparer le code métier et le code technique
- Inversion de contrôle
- EJB session
- EJB Entity
- Mise en oeuvre des projets EJB
- EJB et Web services
- JMS
- MDB
- Gestion de transactions avec EJB
- Application
This document introduces Apache TomEE, which is Apache Tomcat combined with Java EE functionality. It discusses TomEE's core values of being small, being based on Tomcat, and being Java EE certified. It also summarizes the minimal changes required to standard Tomcat to create TomEE and notes that TomEE works with common Tomcat tools.
Este documento describe cómo sería el mundo si la población mundial se redujera a una aldea de 100 personas, manteniendo las proporciones actuales. Habría 57 asiáticos, 21 europeos y 8 africanos. 6 personas poseerían el 59% de la riqueza mundial y 6 serían estadounidenses. 80 personas vivirían en condiciones subhumanas, 70 no sabrían leer y solo 1 tendría educación universitaria. El documento concluye reflexionando sobre lo afortunados que somos al tener salud, comida y educación en compar
Presentación corporativa CVTeam Chile 2012Diego Dal Cero
CVTeam Chile es un proveedor de servicios de ingeniería multinacional que ofrece soluciones de valor agregado y proyectos de TIC a empresas líderes. Forma parte del Grupo SII, presente en 12 países con más de 4,100 ingenieros. CVTeam Chile cuenta con más de 100 ingenieros trabajando para más de 15 clientes líderes en Chile. Ofrece servicios de consultoría, desarrollo de software, infraestructura y seguridad informática.
Láminas de Weber (Teoría de la Organización) carlucho98
La Unión Europea ha acordado un paquete de sanciones contra Rusia por su invasión de Ucrania. Las sanciones incluyen restricciones a los bancos rusos, la prohibición de exportaciones de alta tecnología a Rusia y la congelación de activos de oligarcas rusos. Los líderes de la UE esperan que estas medidas disuadan a Rusia de continuar su agresión militar contra Ucrania.
como crear una base de datos (tarea de compu.Htmlmay_campos
El documento describe los 13 pasos para crear una base de datos en Access. Estos incluyen crear una nueva base de datos y tablas, asignar campos clave, crear formularios para mostrar los datos, crear consultas para buscar datos, y crear informes para presentar los datos de manera organizada.
El jefe de guardia de un hospital necesitaba médicos de reemplazo cuando varios se enfermaron. Jesús se ofreció como voluntario para cubrir el turno. Un hombre fue atropellado brutalmente por un autobús frente al hospital y Jesús lo curó milagrosamente poniendo sus manos sobre él y diciéndole que se levantara. Sin embargo, el hombre se quejó de que en el hospital no le habían hecho nada para ayudarlo.
El documento describe el Archivo Digital de El Nuevo Día (ADENDI), una base de datos que contiene artículos del periódico desde 1990 hasta el presente. Los usuarios pueden suscribirse por $10.95 mensuales para acceder de forma ilimitada a los artículos. También ofrece la opción de realizar búsquedas gratuitas antes de suscribirse. La base de datos no incluye fotos u otros contenidos además de los artículos escritos por periodistas de El Nuevo Día.
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27Horacio Gonzalez
Polymer par-ci, Polymer par-là, c'est bien beau de voir tout ce qu'on peut faire avec cette bibliothèque…
Mais à la base le discours qu'on nous vend depuis des années est celui des Web Components, des briques modulaires et interopérables, suivant un standard et pouvant être mélangés comme on le souhaite pour construire des webapp comme si on faisait du LEGO.
Alors, il n'est pas contradictoire de militer pour les Web Components et d'utiliser Polymer ?
Ben, pas du tout ! Polymer, surtout depuis la sortie de Polymer 2, n'est qu'une surcouche de sucre syntactique au dessus du standard Web Components, et les éléments créés avec Polymer sont bel et bien des Web Components standard.
De la même façon, il y a plein d'autres bibliothèques de Web Components qui ont un rôle semblable : SkateJS, SlimJS, BramJS... Chacune orientée vers une sensibilité et une façon de coder. Et bien entendu, les éléments créés avec eux se mélangent sans soucis, car ils suivent tous le même standard.
Dans ce talk nous allons voir comment ces éléments Polymer sont construits à partir du standard web components, voir ce côté sucre syntactique et comprendre ce qu'ils apportent. Ensuite on verra rapidement les bases de SkateJS et de SlimJS pour finir par prouver l'intéropérabilité avec une petite application qui mélange du Web Component standard, du Polymer, du SkateJS et du SlimJS.
But there is no web component for that - Web Components Remote Conference - 2...Horacio Gonzalez
This document discusses componentalizing JavaScript libraries to create web components. It provides examples of componentalizing QR code generation and scanning libraries. To componentalize a library, the author defines inputs, outputs, a template, and wires the library to these. Issues may arise that require debugging and even patching the library. The goal is to encapsulate third party code into reusable custom elements.
This document introduces Apache TomEE, which is Apache Tomcat combined with Java EE functionality. It discusses TomEE's core values of being small, being based on Tomcat, and being Java EE certified. It also summarizes the minimal changes required to standard Tomcat to create TomEE and notes that TomEE works with common Tomcat tools.
Este documento describe cómo sería el mundo si la población mundial se redujera a una aldea de 100 personas, manteniendo las proporciones actuales. Habría 57 asiáticos, 21 europeos y 8 africanos. 6 personas poseerían el 59% de la riqueza mundial y 6 serían estadounidenses. 80 personas vivirían en condiciones subhumanas, 70 no sabrían leer y solo 1 tendría educación universitaria. El documento concluye reflexionando sobre lo afortunados que somos al tener salud, comida y educación en compar
Presentación corporativa CVTeam Chile 2012Diego Dal Cero
CVTeam Chile es un proveedor de servicios de ingeniería multinacional que ofrece soluciones de valor agregado y proyectos de TIC a empresas líderes. Forma parte del Grupo SII, presente en 12 países con más de 4,100 ingenieros. CVTeam Chile cuenta con más de 100 ingenieros trabajando para más de 15 clientes líderes en Chile. Ofrece servicios de consultoría, desarrollo de software, infraestructura y seguridad informática.
Láminas de Weber (Teoría de la Organización) carlucho98
La Unión Europea ha acordado un paquete de sanciones contra Rusia por su invasión de Ucrania. Las sanciones incluyen restricciones a los bancos rusos, la prohibición de exportaciones de alta tecnología a Rusia y la congelación de activos de oligarcas rusos. Los líderes de la UE esperan que estas medidas disuadan a Rusia de continuar su agresión militar contra Ucrania.
como crear una base de datos (tarea de compu.Htmlmay_campos
El documento describe los 13 pasos para crear una base de datos en Access. Estos incluyen crear una nueva base de datos y tablas, asignar campos clave, crear formularios para mostrar los datos, crear consultas para buscar datos, y crear informes para presentar los datos de manera organizada.
El jefe de guardia de un hospital necesitaba médicos de reemplazo cuando varios se enfermaron. Jesús se ofreció como voluntario para cubrir el turno. Un hombre fue atropellado brutalmente por un autobús frente al hospital y Jesús lo curó milagrosamente poniendo sus manos sobre él y diciéndole que se levantara. Sin embargo, el hombre se quejó de que en el hospital no le habían hecho nada para ayudarlo.
El documento describe el Archivo Digital de El Nuevo Día (ADENDI), una base de datos que contiene artículos del periódico desde 1990 hasta el presente. Los usuarios pueden suscribirse por $10.95 mensuales para acceder de forma ilimitada a los artículos. También ofrece la opción de realizar búsquedas gratuitas antes de suscribirse. La base de datos no incluye fotos u otros contenidos además de los artículos escritos por periodistas de El Nuevo Día.
Il n'y a pas que Polymer dans la vie… - RennesJS - 2017-06-27Horacio Gonzalez
Polymer par-ci, Polymer par-là, c'est bien beau de voir tout ce qu'on peut faire avec cette bibliothèque…
Mais à la base le discours qu'on nous vend depuis des années est celui des Web Components, des briques modulaires et interopérables, suivant un standard et pouvant être mélangés comme on le souhaite pour construire des webapp comme si on faisait du LEGO.
Alors, il n'est pas contradictoire de militer pour les Web Components et d'utiliser Polymer ?
Ben, pas du tout ! Polymer, surtout depuis la sortie de Polymer 2, n'est qu'une surcouche de sucre syntactique au dessus du standard Web Components, et les éléments créés avec Polymer sont bel et bien des Web Components standard.
De la même façon, il y a plein d'autres bibliothèques de Web Components qui ont un rôle semblable : SkateJS, SlimJS, BramJS... Chacune orientée vers une sensibilité et une façon de coder. Et bien entendu, les éléments créés avec eux se mélangent sans soucis, car ils suivent tous le même standard.
Dans ce talk nous allons voir comment ces éléments Polymer sont construits à partir du standard web components, voir ce côté sucre syntactique et comprendre ce qu'ils apportent. Ensuite on verra rapidement les bases de SkateJS et de SlimJS pour finir par prouver l'intéropérabilité avec une petite application qui mélange du Web Component standard, du Polymer, du SkateJS et du SlimJS.
But there is no web component for that - Web Components Remote Conference - 2...Horacio Gonzalez
This document discusses componentalizing JavaScript libraries to create web components. It provides examples of componentalizing QR code generation and scanning libraries. To componentalize a library, the author defines inputs, outputs, a template, and wires the library to these. Issues may arise that require debugging and even patching the library. The goal is to encapsulate third party code into reusable custom elements.
Mixité dans le monde des WebComponents - DevFest Toulouse - 2017-09-27Horacio Gonzalez
The document is a transcript of a talk given by Horacio Gonzalez and Cyril Balit on using web components across different frameworks. They discuss how they have previously talked about Polymer and web components individually. For this talk, they wanted to demonstrate using web components from different libraries (like Polymer) in various web application frameworks. They give a demo mixing web components from different libraries in applications built with different frameworks. They conclude that with web components standards, elements can be freely mixed and matched across frameworks.
Battle of Frameworks: Polymer - Meetup Paris Web Components - 2016-09Horacio Gonzalez
The Paris Web Components Meetup proposed a session to compare several component-oriented frameworks, where each speaker made the case of his or her favorite framework and showed the implementation of the same webapp done with the chosen framework. I did the Polymer presentation.
Mixing Web Components - Best of Web Paris - 2016 06-09Horacio Gonzalez
Ah, les web components, quelle belle idée ! Du développement web basé enfin sur une vraie architecture en composants, de la réutilisation, de la modularisation, de l'encapsulation… Mais en attendant que le W3C décide de sortir le standard, ce qu'on a dans les mains c'est une panoplie de bibliothèques de polyfills : Polymer, X-Tag, Bosomic…
Dans ce talk nous allos répondre à la question : "OK, le futur sera beau, mais aujourd'hui, si je fais des composants avec une bibliothèque X et mon pote en fait avec une bibliothèque Y, je peux les utiliser dans la même application ? Et ils marcheront dans mon framework favori ?".
Polymer in the real life - Devoxx France - 2016 04-20Horacio Gonzalez
In the last two years I've been speaking a lot about web components and Polymer in conferences and user-groups, sharing a vision of the upcoming web-component revolution. But after these introductory talks I often got the same question: "that seems great... but does it works in Real Life?" Ah, the pesky real life question...
In this talk I'm going to tackle that question in the best way I know: I'm going to tell you my experience of almost two full years web applications with Polymer in the real life, for real projects in a real enterprise with real costumers, and all the lessons I've learnt from it.
You will heard why did I choose Polymer, how I dealt with the 0.x versions lifecycle, the good points and the bad ones too, how I did integrate lots of 3rd part libs into a component architecture and how now I'm able to create full fledge Progressive Web Apps using Polymer in a simple way without having to deal with the complexity of Angular/React/Whatever JS, but also how to integrate your components into those frameworks if needed.
Warp10: collect, store and manipulate sensor data - BreizhCamp - 2016 03-24 Horacio Gonzalez
This document discusses Warp 10, a software platform for collecting, storing, and analyzing sensor and IoT data. Warp 10 can ingest large amounts of time series and geo-time series data from sensors and other sources. It provides tools for storing, manipulating, and analyzing the data using the WarpScript language. Examples demonstrate how to calculate averages and find the closest fuel station using geo-time series data on fuel prices in France.
ENIB 2015 2016 - CAI Web S02E03- Forge JS 1/4 - La forge JavaScriptHoracio Gonzalez
The document discusses JavaScript forge tools like npm, Bower, Grunt and Yeoman that allow developers to manage dependencies, build processes, and more for front-end development. It explains that npm is used to install front-end build tools and serves as the base for building a JavaScript forge. Bower is introduced as a package manager for installing web libraries and their dependencies. The benefits of using Bower and other tools via a bower.json file to define project dependencies are also covered.
ENIB 2015 2016 - CAI Web S02E01- Côté Navigateur 3/3 - Web Components avec Po...Horacio Gonzalez
This document provides an overview of a module on interactive web application development. It covers the following topics:
- Front-end technologies: HTML5, CSS, JavaScript, and the Polymer library for implementing web components.
- Back-end concepts: Introduction to Java EE including servlets, JSP, and frameworks like SparkJava.
- JavaScript tooling: Grunt, Gulp, Bower, and Yeoman for building JavaScript applications.
- Node.js and backend frameworks like ExpressJS for building APIs.
- Introduction to NoSQL databases like MongoDB, Redis, and Cassandra.
- Software tooling in Java.
- Test-driven development.
ENIB 2015 2016 - CAI Web S02E03 - Forge JS 2/4 - MongoDB and NoSQLHoracio Gonzalez
This document provides an introduction and overview of MongoDB and how to use it. Some key points:
- MongoDB is an open-source document database that provides high performance, high availability, and automatic scaling. It uses documents (similar to JSON objects) rather than tables and rows.
- Documents are stored in collections without a predefined schema. Fields can be added, modified or deleted at any time.
- Common operations include inserting, querying, updating, and removing documents from collections. Queries can use filters, projections, sorting, skips, limits, and regular expressions.
- MongoDB is flexible compared to relational databases as schemas are not rigidly defined. It is suitable for high performance applications that need
ENIB 2015-2016 - CAI Web - S01E01- MongoDB and NoSQLHoracio Gonzalez
This document provides an introduction and overview of MongoDB and NoSQL databases. It discusses key MongoDB concepts like document databases, collections and documents. It also covers how to install and run MongoDB, insert and query data, and use common operations. Some examples show how to create indexes, use JavaScript and regex queries. Exercises at the end propose practicing installing MongoDB, creating a collection and querying data.
ENIB 2015-2016 - CAI Web - S01E01- La forge JavaScriptHoracio Gonzalez
The document discusses various JavaScript development tools including npm, Bower, Grunt, and Yeoman. It begins by explaining that npm is used to install other development tools like Bower, Grunt, and Yeoman. It then provides more details on Bower for managing front-end package dependencies, Grunt for automating tasks, and how they can be used together with a Gruntfile and package.json to set up a build system for a JavaScript project.
ENIB 2015-2016 - CAI Web - S01E01- Côté navigateur 3/3 - Web components avec ...Horacio Gonzalez
This document provides an overview and description of a module on interactive web application development. It covers front-end topics like HTML5, CSS, JavaScript, and the Polymer library, as well as back-end concepts using Java EE frameworks and Node.js. The module will include sections on:
- Front-end with HTML5, CSS, JS, and the Polymer library
- Back-end concepts using Java EE for servlets, JSP, and frameworks
- Back-end using Node.js, ExpressJS, and APIs
- JavaScript build tools like Grunt, Gulp, Bower, and Yeoman
- Software development practices like test-driven development
- An examination of student
The W3C has been working on a Web Components standard for almost three years, but it is still a work in progress. But polyfills like allows current developers to use Web Components today, and incorporate to their apps widgets from any library of web components.
The best known of these libraries is Polymer, but it isn't the only one. In this talk we are going to compare Polymer, the '800 lb gorilla' in the Web Component field, with several of its lesser known competitors: Mozilla's X-Tags and Briks, and Bosonic, and even homemade ReactJS webcomponents
We will build an Angular JS application where, instead of directives, we will use webcomponents done with Polymer, X-Tag and ReactJS. And we will take a look to the performances in both Chrome and Firefox.
2. Import du projet
Sous Eclipse
● Importer le projet - servlet-alone
○ context root : servlet-alone
○ content directory : web
○ ne pas générer le deployement descriptor web.xml
● Lancer le tomcat sous Eclipse
○ project
○ run/as - run on server
○ configurer le server Tomcat 6 avec le port 8080
○ vérifier que le serveur est lancé http://127.0.0.1:8080/servlet-alone/beer
3. Les Pojos
● Pojo Beer avec les attributs suivants :
○ String name;
○ String brewery;
○ String country;
○ double alcohol;
● Pojo Bar avec les attributs suivants :
○ Beer beer
○ int stock
4. Business
La classe BarBusiness permet d'effectuer les actions sur le bar :
● ajouter une bière (newBeer)
● supprimer une bière (removeBeer)
● obtenir la liste des bières (getBeers)
● obtenir le stocke du bar (getBar)
● mettre des bière en stocke (checkinBeer)
● sortir une bière du stocke (checkoutBeer)
5. Servlet BeerServlet
● Mapping {web app context}/beer voir web.xml
<servlet>...
<servlet-name>BeerServlet</servlet-name>
<servlet-class>fr.enib.cai.servlet.BeerServlet</servlet-class>
</servlet> ...
<servlet-mapping>
<servlet-name>BeerServlet</servlet-name>
<url-pattern>/beer/*</url-pattern>
</servlet-mapping>
● GET
Renvoie la liste de bières dans la page /WEB-INF/views/beer.jsp
● POST
○ sur l'url {web app context}/beer/add ajoute une bière et retourne le flux
JSON de la bière ajoutée. {"name":"1664","brewery":"Kronenbourg","country":"
France","alcohol":5.5,"id":3}
○ sur l'url {web app context}/beer/delete supprime une bière et retourne
le flux JSON de la bière supprimée
○ sinon affiche la page /WEB-INF/views/404.jsp
6. Servlet BarServlet
● Mapping {web app context}/beer voir web.xml
<servlet>...
<servlet-name>BarServlet</servlet-name>
<servlet-class>fr.enib.cai.servlet.BarServlet</servlet-class>
</servlet> ...
<servlet-mapping>
<servlet-name>BarServlet</servlet-name>
<url-pattern>/bar/*</url-pattern>
</servlet-mapping>
● GET et POST qui renvoient Hello Enib
7. Servlet BarServlet
Methode Get
● Méthode idempotent
1. Récupérer le bar avec la méthode getBar (liste de BeerStock)
2. Ajouter l'attribut "bar" à la request avec comme object la collection de
BeerStock
3. Forwarder la requête à la jsp privée /WEB-INF/views/bar.jsp
Le résultat peut être consulté à l'URL suivante :
http://127.0.0.1:8080/{context}/bar
8. Servlet BarServlet
Methode Post checkInBeer
● Méthode non-idempotent
Le bouton + dans la page web) génére l'url suivante (utilisation de la methode
POST):
http://127.0.0.1:8080/{context}/bar/checkInBeer
avec le paramètre id=2
le paramètre ID corresponds à l'identifiant de la bière.
L'execution de cette méthode POST doit
● ajouter une bière dans le stock
● ajouter l'attribut beerStock à la requête
● forwarder à la jsp bar-json.jsp
Cette jsp produit le json suivante {id=3,stock=12}
Actionner le bouton + doit ajouter une bière dans le stock et mettre à jour la
page Web
9. Servlet BarServlet
Methode Post checkOutBeer
● Méthode non-idempotent
Le bouton + dans la page web) génére l'url suivante (utilisation de la methode
POST):
http://127.0.0.1:8080/{context}/bar/checkOutBeer
avec le paramètre id=2
le paramètre ID corresponds à l'identifiant de la bière.
L'execution de cette méthode POST doit
● retirer une bière dans le stock
● ajouter l'attribut beerStock à la requête
● forwarder à la jsp bar-json.jsp
Cette jsp produit le json suivante {id=3,stock=12}
Actionner le bouton - doit retirer une bière dans le stock et mettre à jour la page
Web
10. Servlet BarServlet
Extra (pour ceux qui s'ennuient)
Le bouton + et - ouvre un lightwindow permettant de choisir le nombre de
bières à ajouter ou retirer du stock.
La jsp beer.jsp a un formulaire caché addbeer
La lightbox est gérer avec Bootstrap
Le formulaire est envoyé en Ajax avec la methode de JQuery ajaxForm
Bonne chance ;)
11. Tomcat Beer
● Produire le war (sous Eclipse)
○ File->export->web->War
■ nom du war servlet-alone.war
Option (pour ceux qui s'ennuient...)
● Deployer le war dans le Tomcat
○ copier le war dans /opt/apache-tomcat-6.X.X/webapps/
● Démarrer le Tomcat
○ /opt/apache-tomcat-6.X.X/bin/startup.sh
■ port d'écoute définit dans le server.xml (connector)
■ les logs (catalina.out) sont riches d'information
● Arrêter le Tomcat
○ /opt/apache-tomcat-6.X.XX/bin/shutdown.sh