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 : Comprendre le principe de fonctionnement d'AJAX
objectifs opérationnels :
- Connaître les avantages et inconvénients d’AJAX
- Connaître les attributs et méthodes de l’objet XMLHttpRequest
- Construire une interaction AJAX
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 : 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 : 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 : Comprendre le principe de fonctionnement d'AJAX
objectifs opérationnels :
- Connaître les avantages et inconvénients d’AJAX
- Connaître les attributs et méthodes de l’objet XMLHttpRequest
- Construire une interaction AJAX
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 : 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 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
Ajax (Asynchronous JavaScript and XML) est une technique permettant la communication asynchrone entre application et serveur. c'est une architecture qui permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies.
Ajax combine JavaScript, les CSS, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des Applications Internet Riches
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'approfondir les compétences PHP des élèves : utiliser des bases de données, comprendre PDO et le modèle MVC (basique).
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
L'exercice principal était de construire une plateforme similaire à twitter selon un modèle MVC.
Voici le plan de la présentation :
• Les bases de données : MySQL
- Principe
- phpMyAdmin
- Interagir avec une BDD
• Les fonctions
- La machine à carottes
- Exemple avec MySQL
- Les fonctions PHP
• Modèle Vue Contrôleur - MVC
- Principe
- Mise en pratique
• Quelques trucs à savoir a.$_FILES et $_POST
- $_SESSION
- L’indentation
- PHP + HTML = ?
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
PHP : (Hypertext Preprocessor") est un langage de scripts:
Coté serveur,
Open Source,
et spécialement conçu pour le développement d'applications web.
Il peut être intégré facilement au HTML.
The document discusses the WOver, a small mobile robot built using a Raspberry Pi single board computer connected via serial interface to control an Asuro driving module. It provides instructions to connect to its WiFi network and control interface webpage to drive the robot. Details are given on the hardware components used, including the Raspberry Pi, Asuro driving module, and custom operating system on the module to receive motor control commands from the Raspberry Pi. Potential next steps discussed include adding database, games, sensors, power management, camera, and benchmarks.
Chaining the Beast - Testing Wonder Applications in the Real WorldWO Community
This document discusses the importance of testing applications in the real world. It covers various types of testing including catching regressions, checking new features, and addressing issues like incorrect data or slow page responses. Specific testing methodologies are mentioned, like verifying models and business logic. The importance of usability testing is also covered, such as checking the appearance and interactivity of applications. Automated testing tools like Selenium are recommended for testing functionality across different browsers. Building invariant test pages can help find faults and browser-specific problems.
The document discusses the steps for migrating an existing project to Wonder, including:
1) Moving the codebase to Git version control for branching during the migration process.
2) Preparing the codebase by adding packages, creating custom subclasses for components like the editing context and direct actions, and renaming any enum collisions.
3) Starting the actual wonderization by importing Wonder frameworks and removing duplicate jars.
This document discusses deploying WebObjects applications on Windows. It covers setting up the Windows and WebObjects prerequisites, configuring the basic WOStart application launcher and WOSetup, demoing the setup process, and using JavaMonitor and WOTaskD to manage multiple applications across hosts. It also discusses potential issues like debugging WOStart and the WOAdaptor, using IIS or Apache as the web server, and common pitfalls in a Windows deployment. URLs are provided for downloading needed tools and components.
The document discusses stateful controllers in Direct To Web (D2W) applications built with WebObjects. It provides background on D2W and how controllers were traditionally implemented using ERDBranchDelegate and NextPageDelegate. Stateful controllers improve upon this by allowing controller classes to be reused across multiple pages while maintaining state between pages. This is done by overriding branchChoicesForContext to programmatically define branch choices and storing necessary objects like the editing context. The document provides examples of how stateful controllers can implement common page flows and interactions through utility methods while keeping code DRY and reusable.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
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
Ajax (Asynchronous JavaScript and XML) est une technique permettant la communication asynchrone entre application et serveur. c'est une architecture qui permet de construire des applications Web et des sites web dynamiques interactifs sur le poste client en se servant de différentes technologies.
Ajax combine JavaScript, les CSS, XML, le DOM et le XMLHttpRequest afin d'améliorer maniabilité et confort d'utilisation des Applications Internet Riches
Php 2 - Approfondissement MySQL, PDO et MVCPierre Faure
Introduction au langage de programmation PHP.
Présentation réalisée la première fois le lundi 10 mars 2014 à l'IIM : Institut de l'Internet et du Multimédia pour les années préparatoires.
Cette présentation a pour but d'approfondir les compétences PHP des élèves : utiliser des bases de données, comprendre PDO et le modèle MVC (basique).
Après présentation orale de ces slides, des exercices de mise en pratique ont été réalisés en Atelier avec les élèves.
L'exercice principal était de construire une plateforme similaire à twitter selon un modèle MVC.
Voici le plan de la présentation :
• Les bases de données : MySQL
- Principe
- phpMyAdmin
- Interagir avec une BDD
• Les fonctions
- La machine à carottes
- Exemple avec MySQL
- Les fonctions PHP
• Modèle Vue Contrôleur - MVC
- Principe
- Mise en pratique
• Quelques trucs à savoir a.$_FILES et $_POST
- $_SESSION
- L’indentation
- PHP + HTML = ?
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
PHP : (Hypertext Preprocessor") est un langage de scripts:
Coté serveur,
Open Source,
et spécialement conçu pour le développement d'applications web.
Il peut être intégré facilement au HTML.
The document discusses the WOver, a small mobile robot built using a Raspberry Pi single board computer connected via serial interface to control an Asuro driving module. It provides instructions to connect to its WiFi network and control interface webpage to drive the robot. Details are given on the hardware components used, including the Raspberry Pi, Asuro driving module, and custom operating system on the module to receive motor control commands from the Raspberry Pi. Potential next steps discussed include adding database, games, sensors, power management, camera, and benchmarks.
Chaining the Beast - Testing Wonder Applications in the Real WorldWO Community
This document discusses the importance of testing applications in the real world. It covers various types of testing including catching regressions, checking new features, and addressing issues like incorrect data or slow page responses. Specific testing methodologies are mentioned, like verifying models and business logic. The importance of usability testing is also covered, such as checking the appearance and interactivity of applications. Automated testing tools like Selenium are recommended for testing functionality across different browsers. Building invariant test pages can help find faults and browser-specific problems.
The document discusses the steps for migrating an existing project to Wonder, including:
1) Moving the codebase to Git version control for branching during the migration process.
2) Preparing the codebase by adding packages, creating custom subclasses for components like the editing context and direct actions, and renaming any enum collisions.
3) Starting the actual wonderization by importing Wonder frameworks and removing duplicate jars.
This document discusses deploying WebObjects applications on Windows. It covers setting up the Windows and WebObjects prerequisites, configuring the basic WOStart application launcher and WOSetup, demoing the setup process, and using JavaMonitor and WOTaskD to manage multiple applications across hosts. It also discusses potential issues like debugging WOStart and the WOAdaptor, using IIS or Apache as the web server, and common pitfalls in a Windows deployment. URLs are provided for downloading needed tools and components.
The document discusses stateful controllers in Direct To Web (D2W) applications built with WebObjects. It provides background on D2W and how controllers were traditionally implemented using ERDBranchDelegate and NextPageDelegate. Stateful controllers improve upon this by allowing controller classes to be reused across multiple pages while maintaining state between pages. This is done by overriding branchChoicesForContext to programmatically define branch choices and storing necessary objects like the editing context. The document provides examples of how stateful controllers can implement common page flows and interactions through utility methods while keeping code DRY and reusable.
This document discusses alternatives to using WebObjects for developing web applications. It summarizes the key aspects of a stack that could satisfy former WebObjects developers, including:
- Dependency injection frameworks like Spring and Google Guice that allow loose coupling between classes.
- HTML frameworks like Tapestry that are similar to WebObjects in allowing infinitely nestable page components.
- JAX-RS as a REST framework specification implemented by libraries like Jersey that maps HTTP requests to Java methods.
- Migrating from WebObjects by keeping its philosophies but rewriting code from scratch using these new frameworks, with tools to import existing data models and port components like DirectToWeb and DirectToJavaClient.
Learn what's new in Project Wonder's ERRest framework. Also, see some tips about security and versioning for your REST services, and learn how you can use HTML routing to build Web apps with ERRest.
This document describes KAAccessControl, a framework for managing user access control and permissions. It provides concise summaries in 3 sentences or less that provide the high level and essential information from the document.
The framework allows defining roles, profiles, lists and managing user permissions through annotations and configuration files. It handles authentication but does not provide the authentication mechanism. The framework manages the current user's profile and permissions and allows impersonating other users through its user service class. Components check permissions by annotating allowed roles and querying the framework's access control services.
Cette présentation aborde plusieurs points :
* Qu'est-ce qu'un moteur de règles ?
* Drools, les alternatives et son historique.
* Résumé d'un comparatif de moteur de règles.
* Première règle, une règle simple !
* Règles lisibles pour un humain (DSL et Table de décision).
* Drools Guvnor (BRMS/BPMS, système de gestion de régles métiers).
* Drools Flow (Flow/WorkFlow).
* Drools Fusion (Event Processing).
* Performance :
o Algorithme de Rete
La présentation fut dense. En effet, le focus a été mis sur la dernière version de Drools, la version 5, qui propose énormément de fonctionnalités.
Les concepts de la programmation fonctionnelle illustrés avec Java 8Yannick Chartois
Support du lighting talk donné au JUG Bordeaux qui est basé sur le talk de Bodil Stokke: What Every Hipster Should Know About Functional Programming. C'est un petit exercice basé sur la question suivante: peut-on transposer tous les exemples JS de son talk en Java 8 avec des lambdas?
Quelle place pour le framework Rails dans le développement d'application web5pidou
Cette présentation a été réalisée dans le cadre des Rencontres Mondiales décentralisées du Logiciel Libre (RMLLd) qui se sont déroulées du 1er au 3 Juillet 2011 à Saint-Joseph (Ile de la Réunion).
A short introduction on Apache Solr :
- what is the project
- base features (document indexing, querying)
- advanced features (faceting, highlighting...)
(french presentation)
Clairement dans cette version, nous assistons à une volonté de simplification. Plus de lisibilité du code, plus d’outils pour ne plus avoir à perdre de temps sur des opérations simples et courantes, pour au final un code de meilleur qualité et plus accessible. La plupart de ces améliorations se trouvent dans cette présentation.
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
L’arrivée de PHP 5.3 en milieu d’année 2009 a bouleversé la manière de développer des applications web. En effet, cette nouvelle version a apporté de nouveaux outils au langage tels que les espaces de nommage qui favorisent la réutilisabilité du code lorsqu’ils sont employés à bon escient. Les nouveaux frameworks de développement rapide ont aussi suivi le mouvement et reposent sur la base de PHP 5.3. C’est le cas de Symfony2 dont la version stable est prévue prochainement.
Cette présentation offre un tour d’horizon de la nouvelle architecture du framework qui s’articule autour de “bundles”, de librairies externes et de nombreux composants indépendants tels que le conteneur d’injection de dépendances. Nous dresserons un panorama des principales fonctionnalités offertes par le framework telles que la couche d’ORM Doctrine 2, le moteur de templating Twig et la gestion des formulaires. Nous nous intéresserons également à la gestion du cache HTTP, à la couche de sécurité ainsi qu’aux outils de débogage destinés à améliorer la productivité du développeur et la maintenance de l’application.
Presentation de l'article universitaire :
REST How-to
Un guide pour une architecture REST.
Les questions qu'il est nécessaire de se poser pour établir un cahier des charges efficace et éviter les pièges de SOAP.
10 Décembre 2012 UQAC ISEN
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
The document describes an in-memory OLAP engine created by Samuel Pelletier to enable fast querying of multidimensional data with millions of facts. It loads data into memory as plain old Java objects (POJOs) for faster access compared to entity objects or SQL queries. Dimensions are modeled as classes to index the facts and compute summarized results. The engine is multithreaded and designed for simplicity and minimal dependencies.
Using Nagios to monitor your WO systemsWO Community
Nagios is an open source monitoring tool that has been available since 1999. It is commonly used to monitor servers, services, and applications. The document discusses how to install and configure Nagios on various platforms like CentOS, Ubuntu, and Mac OS X. It also provides examples of how to monitor common services like HTTP, MySQL, disk space, and custom applications using Nagios plugins. Graphing and alerting capabilities are discussed as well. The presentation concludes with a demonstration and Q&A section.
This document discusses various tools and techniques for building and deploying software, including Git, Git hooks, Puppet, native packages, and Maven. It provides examples of using post-receive Git hooks to deploy code to servers, configuring Puppet modules to install packages and configure services, creating native packages with tools like fpm and Ant, and bundling deployment scripts within packages.
The document discusses various strategies for achieving high availability of web applications and databases. It covers evaluating business requirements, DNS configuration, using cloud infrastructure or owning hardware, basic setups with application and database servers, database replication and clustering options, load balancing tools for Linux and cloud environments, auto scaling features, and monitoring. The key strategies presented include replicating databases, load balancing web traffic, auto-scaling cloud resources, and configuring failover between redundant application and database servers.
This document discusses enabling SOAP web services using ERJaxWS in WebObjects. It provides examples of how to create a SOAP service from Java classes or a WSDL, call an external SOAP service, handle data mapping and custom types, define web faults, create stateful services, add security, and troubleshoot SOAP services. Resources for further information on JAX-WS, JAXB, and SOAP are also included.
The document discusses WOUnit, a unit testing framework for Wonder. It provides features like mocking the editing context, creating dummy objects to bypass validations, and spying on objects. Sample tests are shown to test validation rules and relationships. WOUnit aims to make testing simple, fast and support Wonder features like editing contexts through assertions and annotations like @Rule, @Dummy and @Spy.
Apache Cayenne is an open source object-relational mapping framework for Java. It has been an Apache project since 2006 and has over 17 committers and 9 project management committee members. Cayenne provides tools for mapping database schemas to Java objects and vice versa, as well as tools for querying, caching query results, and handling object lifecycles. It aims to simplify working with relational databases for Java developers in a similar way to how Enterprise Objects Framework simplified it for Objective-C developers.
This document provides an overview and demonstrations of advanced Apache Cayenne concepts including:
1. Reusing Cayenne and service code between admin apps and discussing object context management.
2. Lifecycle events can be received via callbacks or listeners, with callbacks used for simple initialization and listeners for more complex workflows.
3. Caching in Cayenne includes object caching of entities by ID and query caching of result lists by generated keys, with local caching at the context level and shared caching at the domain level.
4. Demonstrations of object caching, query caching, and turning off cross-context synchronization, using query caching with expiration policies, and considering optimistic locking for performance.
This document discusses iOS application architecture and REST client implementation. It covers common iOS concepts like MVC, UIKit, table views and their data sources. It also describes a Comet architecture using a REST API and database to retrieve and display product data in a table. The controller implements the table view data source and delegate methods to display the data and handle user interactions like tapping rows.
This document discusses using iOS apps as clients for ERREST servers. It provides an example architecture of an iOS app connecting to an ERREST backend using REST calls. It also includes code snippets showing how to make REST requests using classes like PLRestful and CometAPI that handle the network requests and JSON parsing. The document is intended to explain how to build iOS clients for existing ERREST backends rather than how to code the iOS apps themselves.
This document discusses the "Framework Principal" pattern which allows optimizing resource usage across multiple applications by initializing shared services and configurations in a single starter class. The Framework Principal runs very early and can be used to launch services independently of any application based on configuration properties. It provides examples of how to configure different applications to use the same Framework Principal by specifying different property files and user names for production vs sandbox environments. This allows launching shared services only once across multiple applications rather than separately in each one.
This document discusses filtering data in Direct to Web (D2W) by limiting the visibility of data based on the current user or company. It presents two solutions:
1. Modifying fetch specifications at the editing context level to add relationship qualifiers restricting results to the current company. This works but is low-level.
2. Using query and relationship components in D2W that call business logic to generate the appropriate qualifiers and restricted data sources. This provides a cleaner, more reusable approach compared to the first solution.
The document also discusses enhancing relationship components to support restricting fetch specifications to simplify generating qualifiers across different entities and relationships. In summary, it focuses on programmatically filtering data in D2
Localizing your apps for multibyte languagesWO Community
This document discusses considerations for localizing apps to support multibyte languages. It covers setting the encoding in Eclipse, Ant builds, and database connections to UTF-8. It also discusses features of Japanese like reading direction from right to left, lack of word spacing, and the different character sets of kanji, hiragana, katakana and their encodings. The document recommends converting all characters to single byte widths before storing in databases for ease of use and searching.
WOdka is a WebObjects framework that was originally developed in Japan. It includes several frameworks like AuditTrail, JQueryMobileD2W, and ModernistD2W. WOdka has a unified dashboard for developers and administrators. It provides features like logical delete, roles and permissions, and integration with NotificationCenter. WOdka supports modern techniques like CSS3, multi-language, and REST. It is actively developed and maintained by developers in Japan and internationally.
The document discusses jQuery ThemeRoller templates for DirectToWeb (D2W) applications. D2W uses rules and templates to generate user interfaces from data models with minimal code. The jQuery ThemeRoller templates provide a complete renovation of D2W templates using jQuery UI components and themes. This allows user interfaces to be easily branded by generating new themes with jQuery ThemeRoller. The templates utilize reusable jQuery components in a component model to build custom components. Setting up an application to use the themes involves including jQuery resources and assigning a theme class.
The document outlines an agenda for a workshop on understanding and using Git held on July 2, 2012 in Montreal. The workshop objectives are to gain a better understanding of Git and get hands-on experience using it. The topics to be covered include an introduction to Git, its history and concepts, environment setup, and demos of hands-on Git scenarios.
The document proposes forming a new association to address problems facing a minority organization competing against a larger competitor. It identifies issues like membership, workforce, and lack of awareness. The association would have a president, committees, and work to improve academic value, identity, direction, and execution. It would seek non-profit status and tax benefits while defining goals to legitimize the organization and increase publication and recruitment.
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".
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!
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
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.
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 :
3. REST?
• REST veut dire : Representational State Transfer (hein?)
• C'est un style d'architecture, ce n'est pas un protocole
• Utilisation à fond la caisse du protocole HTTP
• Le format peut être n'importe quoi (XML, JSON, Plist)
• Comme une Direct Action, mais mieux structuré
• Sans état (« stateless »)!
4. Méthodes
Méthode HTTP Action
GET Obtenir (« fetch »)
POST Créer (« create »)
PUT Mettre à jour (« update »)
DELETE Effacer
TRACE/OPTIONS/HEAD Méta-données
5. Exemples d'URL
• GET /ra/membres.json
• GET /ra/membres/2.json
• POST /ra/membres.json
• PUT /ra/membres/2.json
• DELETE /ra/membres/2.json
6. Exemples de MAUVAIS URLs
• GET /ra/membres/2/delete.json
• POST /ra/membres/2.json
7. Actions supplémentaires
• On ajoute le nom de l'action à la fin.
• Normalement, ce sont que des méthodes GET
• Exemples:
• GET /ra/membres/2/autreListe.json
• PUT /ra/membres/2/sousObjet.json
8. Méta-données
• On utilise les entêtes HTTP (y compris les cookies)
• Exemple:
Content-Language: fr-fr
X-Batch: 0-99
9. Paramètres
• Utilisation de paramètres pour filtrer une méthode GET? On
peut utiliser les paramètres de requêtes (« query arguments »).
• Exemple:
GET /ra/membres.json?batch=2&batchSize=20
11. ERREST
• Canevas ajouté à Project Wonder en 2009.
• Basé sur le style de RoR.
• Formats disponibles sont Plist, Plist binaire, JSON et XML.
• Fait beaucoup de travail à notre place.
12. Architecture de ERREST
• Offre un « request handler » unique.
• ERREST fonctionne avec des routes et des controlleurs.
• Basé sur les entités EO.
13. REST Request Handler
• Est un nouveau « request handler » (/ra)
• Gère les requêtes pour /ra/* et enregistre les routes.
• Exemple tout simple:
ERXRouteRequestHandler restRequestHandler = new ERXRouteRequestHandler();
restRequestHandler.addDefaultRoutes(Member.ENTITY_NAME);
ERXRouteRequestHandler.register(restRequestHandler);
14. Route
• Une « route » est l'URI de la représentation de l'objet.
• Elle indique aussi quel controlleur utilisé
• ... et la méthode à appeler.
new ERXRoute(Presentation.ENTITY_NAME,"/call-for-papers/{presentation:Presentation}/edit",
PresentationsController.class, "updatePaper")
15. Controlleurs
• Comme dans le modèle MVC.
• Est le lien entre les routes, l'entité et les méthodes.
• Doivent hériter de ERXRouteController ou ses dérivés.
16. Controlleur de base
• ERXDefaultRouteController offre les méthodes de base pour les
opérations courantes (GET, POST, PUT, DELETE)
• L’enregistrement des routes se fait avec un seul appel:
ERXRouteRequestHandler.addDefaultRoutes(NomEntite)
17. Formats
• Format par défaut est XML
• Autres formats supportés: JSON, HTML, Plist, SproutCore, Rails
• Peut être modifié par controlleur
@Override
protected ERXRestFormat defaultFormat() {
return ERXRestFormat.json();
}
18. Key Filters
• Les « filtres par clés » sont la liste des attributs entrée/sortie.
• Utilisation de ERXKey et ERXKeyFilter.
• Clés en sortie peuvent être différentes que celles en sortie.
19. Relations 1:N
• Ne sont pas ajoutés par défaut par
ERXKeyFilter.filterWithAttributesAndToOneRelationships()
• Il faut utiliser withAllRecursive ou faire:
ERXKeyFilter filtreDeRelation = ERXKeyFilter.filterWithAttributes();
ERXKeyFilter filtreDeSource = ERXKeyFilter.filterWithAttributes();
filtreDeSource.include(Source.RELATION, filtreDeRelation);
20. Paramètres de requêtes
• Pour une requête GET, permet de filtrer la réponse
/ra/membres.json?batch=2&batchSize=20
• ERXFetchSpecification supporte les paramètres suivants:
• batchSize
• batch
• sort
• qualifier
21. POJO
• Support POJO (bref, non-EO) est disponible dans ERRest.
• Vous devez créer un délégué qui hérite de
ERXAbstractRestDelegate.
• Convention: si nom du délégué est
<NomClass>RestDelegate.java, sera automatiquement
enregistré.
22. Alias
• On peut renommer des noms d'entités ou d'attributs.
• On utilise ERXRestNameRegistry.setExternalNameForInternalName:
• ERXRestNameRegistry.registry().setExternalNameForInternalName("Pet", "Animal");
23. Authentification
• Plusieurs solutions:
• Session (mais disponible que pour une seule instance)
• Token
• OpenID
• Basic ou Digest
• Cookies (pour clients HTML)
24. Routage HTML
• Permet d'utiliser des composantes WO si format demandé est
HTML.
• Utilise pour créer des petites applications « stateless ».
• Plus nécessaire de créer un paquet de DirectActions.
• Mêmes routes pour routage HTML que pour requêtes JSON/
XML/etc.
25. Routage HTML
• Les composantes doivent implémenter IERXRouteComponent.
• Doit nommer les composantes « NomEntiteActionPage ».
• Exemples:
• MonEntiteIndexPage
• MonEntiteCreatePage
• MonEntiteDestroyPage
• Vous pouvez aussi retourner des pages avec pageWithName.