Jenkins Workflow plugin lets you write Jenkins jobs as pipelines using the Groovy programming language
Talk given in french at the Lyon JUG - 15/12/2015
Il y a plusieurs centaines de techniques pour accélérer ses pages côté client, mais à travers ce retour d'expérience nous allons voir qu'en ayant simplement appliqué les bases on a pu diviser les temps d'affichage utilisateur par 5.
Présenté à la soirée Webperf de novembre 2013
Intégration Continue PHP avec Jenkins CIHugo Hamon
Comment assurer le suivi qualite du code source d'une application web? Ce n'est pas une tache aisée ! C’est d’autant plus vrai que PHP est encore considéré aujourd'hui comme un langage peu professionnel. PHP est pourtant un langage dont l'outillage n'a rien a envier a l'ensemble de ses concurrents. L'objectif de cette conférence est de présenter les bonnes pratiques à adopter ainsi que les différents outils a mettre en oeuvre afin de contrôler la qualité d'un projet PHP au quotidien. Un focus particulier sera porté sur la plateforme d'intégration continue Jenkins, les tests unitaires ou bien encore la récupération et l'interprétation des métriques collectées.
Jenkins Workflow plugin lets you write Jenkins jobs as pipelines using the Groovy programming language
Talk given in french at the Lyon JUG - 15/12/2015
Il y a plusieurs centaines de techniques pour accélérer ses pages côté client, mais à travers ce retour d'expérience nous allons voir qu'en ayant simplement appliqué les bases on a pu diviser les temps d'affichage utilisateur par 5.
Présenté à la soirée Webperf de novembre 2013
Intégration Continue PHP avec Jenkins CIHugo Hamon
Comment assurer le suivi qualite du code source d'une application web? Ce n'est pas une tache aisée ! C’est d’autant plus vrai que PHP est encore considéré aujourd'hui comme un langage peu professionnel. PHP est pourtant un langage dont l'outillage n'a rien a envier a l'ensemble de ses concurrents. L'objectif de cette conférence est de présenter les bonnes pratiques à adopter ainsi que les différents outils a mettre en oeuvre afin de contrôler la qualité d'un projet PHP au quotidien. Un focus particulier sera porté sur la plateforme d'intégration continue Jenkins, les tests unitaires ou bien encore la récupération et l'interprétation des métriques collectées.
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Lors de ce Hand's on Lab, nous mettrons en oeuvre une infrastructure avec Chef ainsi que les tests associés.
Github: https://github.com/obazoud/devoxx-tdd-for-devops
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Nicolas Silberman
Retour d'experience du Groupe Express Roularta sur l'intégration de Puppet (mais finalement Chef) dans leur système d'information, permettant en quelques cliques et quelques minutes de mettre en place une ou plusieurs machines de développement parfaitement fonctionnelle et à jour, le tout hébergé sur le cloud Amazon.
Paris Web 2015 - Atelier désendettement Javascript legacyFrançois Petitit
par Michael Akbaraly et François Petitit - OCTO Technology
Vous avez récupéré un projet JavaScript de plusieurs milliers de lignes, on vous demande des évolutions et des corrections de bugs, et rien ne va.
Code illisible, régressions en pagaille, structure des répertoires incompréhensibles : vous ne savez pas par où commencer !
Au long des 90 minutes de cet atelier, nous vous proposons de découvrir les techniques et les outils qui vont vous sauver la vie via des travaux pratiques de code JavaScript côté back-end avec NodeJS, et côté front-end avec AngularJS.
Débutants ou ayant déjà une connaissance de ces technologies sont les bienvenus. Les travaux pratiques seront disponibles si vous souhaitez coder vous-mêmes pendant l'atelier.
...par Dimitri Durieux (CETIC) le 23 septembre 2015.
Jenkins est un outil open source d'automatisation de tâches et d'intégration continue, relativement facile à mettre en oeuvre, et qui permet de gagner du temps sur toutes les étapes automatiques de la production de logiciel : build, lancement de tests unitaire, qualité de code...
Un bon outil à connaître et à installer tôt, pour gagner du temps ensuite !
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Slide for my presentation at JugSummerCamp about integration of JavaScript in software factory. First trying to use Java Tools like Maven, then embrassing JavaScript Tools like Grunt and Bower.
Déploiement PHP : de l'âge de pierre à nos jours.Amélie DUVERNET
Aujourd'hui, le terme "déploiement" est un incontournable dans le métier des devOps. Comment en sommes-nous arrivés à intégrer au mieux les mises en prod ? Faisons un bref historique pour ensuite terminer sur les nouvelles techniques de déploiement de nos applications PHP et leur mise en place dans l'intégration continue.
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsOCTO Technology
Depuis deux ans, une nouvelle vague technologique submerge le paysage des applications Web : les architectures MV* côté client.
L’écosystème Web, enfin mature, offre l’opportunité d’avoir des interfaces riches et une meilleure expérience utilisateur grâce à la génération des écrans et la gestion des interactions côté client. En ne gérant plus l’affichage mais uniquement l’envoi des données brutes, le serveur se concentre sur des APIs métier mutualisables avec des applications mobiles notamment.
Venez découvrir au travers d’un retour d’expérience commun entre OCTO et ING Direct, acteur majeur de la banque en ligne en France, la réalisation d’une des toutes premières WebApp mobile multi-plateformes dans le milieu bancaire reposant sur ces nouvelles architectures Web.
Compte-rendu du petit-déjeuner : http://bit.ly/1g2nEnU
Bien que la cigarette électronique ait déjà quelques années de popularité, beaucoup de personnes se confrontent au problème de faire un choix correct lorsqu’ils veulent acheter une cigarette électronique, parce que celles-ci sont de différents types destinés à satisfaire un nombre de plus en plus important de consommateurs, entre les plus divers.
Este documento introduce conceptos básicos de programación en C++ como ficheros fuente, ficheros objeto, compiladores, librerías, ficheros ejecutables y enlazadores. Explica que los ficheros fuente contienen el código escrito por el programador, los compiladores generan ficheros objeto a partir de estos, las librerías contienen código común y los enlazadores crean ficheros ejecutables enlazando los ficheros objeto con las librerías. También describe diferentes tipos de errores como de sintaxis, enlaz
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Lors de ce Hand's on Lab, nous mettrons en oeuvre une infrastructure avec Chef ainsi que les tests associés.
Github: https://github.com/obazoud/devoxx-tdd-for-devops
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Industrialisation des environnements de dev avec Puppet et Amazon (mais en fa...Nicolas Silberman
Retour d'experience du Groupe Express Roularta sur l'intégration de Puppet (mais finalement Chef) dans leur système d'information, permettant en quelques cliques et quelques minutes de mettre en place une ou plusieurs machines de développement parfaitement fonctionnelle et à jour, le tout hébergé sur le cloud Amazon.
Paris Web 2015 - Atelier désendettement Javascript legacyFrançois Petitit
par Michael Akbaraly et François Petitit - OCTO Technology
Vous avez récupéré un projet JavaScript de plusieurs milliers de lignes, on vous demande des évolutions et des corrections de bugs, et rien ne va.
Code illisible, régressions en pagaille, structure des répertoires incompréhensibles : vous ne savez pas par où commencer !
Au long des 90 minutes de cet atelier, nous vous proposons de découvrir les techniques et les outils qui vont vous sauver la vie via des travaux pratiques de code JavaScript côté back-end avec NodeJS, et côté front-end avec AngularJS.
Débutants ou ayant déjà une connaissance de ces technologies sont les bienvenus. Les travaux pratiques seront disponibles si vous souhaitez coder vous-mêmes pendant l'atelier.
...par Dimitri Durieux (CETIC) le 23 septembre 2015.
Jenkins est un outil open source d'automatisation de tâches et d'intégration continue, relativement facile à mettre en oeuvre, et qui permet de gagner du temps sur toutes les étapes automatiques de la production de logiciel : build, lancement de tests unitaire, qualité de code...
Un bon outil à connaître et à installer tôt, pour gagner du temps ensuite !
Plutôt que de parler CI d'entreprise et de rentrer dans les détails de Jenkins et du workflow typique d'un équipe de dév, pourquoi ne pas déjà aborder toutes les bonnes pratiques et méthodologies à employer pour soi-même créer un produit testé et fiable ? Bienvenue dans l'intégration continue pour tous !
Slide for my presentation at JugSummerCamp about integration of JavaScript in software factory. First trying to use Java Tools like Maven, then embrassing JavaScript Tools like Grunt and Bower.
Déploiement PHP : de l'âge de pierre à nos jours.Amélie DUVERNET
Aujourd'hui, le terme "déploiement" est un incontournable dans le métier des devOps. Comment en sommes-nous arrivés à intégrer au mieux les mises en prod ? Faisons un bref historique pour ensuite terminer sur les nouvelles techniques de déploiement de nos applications PHP et leur mise en place dans l'intégration continue.
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsOCTO Technology
Depuis deux ans, une nouvelle vague technologique submerge le paysage des applications Web : les architectures MV* côté client.
L’écosystème Web, enfin mature, offre l’opportunité d’avoir des interfaces riches et une meilleure expérience utilisateur grâce à la génération des écrans et la gestion des interactions côté client. En ne gérant plus l’affichage mais uniquement l’envoi des données brutes, le serveur se concentre sur des APIs métier mutualisables avec des applications mobiles notamment.
Venez découvrir au travers d’un retour d’expérience commun entre OCTO et ING Direct, acteur majeur de la banque en ligne en France, la réalisation d’une des toutes premières WebApp mobile multi-plateformes dans le milieu bancaire reposant sur ces nouvelles architectures Web.
Compte-rendu du petit-déjeuner : http://bit.ly/1g2nEnU
Bien que la cigarette électronique ait déjà quelques années de popularité, beaucoup de personnes se confrontent au problème de faire un choix correct lorsqu’ils veulent acheter une cigarette électronique, parce que celles-ci sont de différents types destinés à satisfaire un nombre de plus en plus important de consommateurs, entre les plus divers.
Este documento introduce conceptos básicos de programación en C++ como ficheros fuente, ficheros objeto, compiladores, librerías, ficheros ejecutables y enlazadores. Explica que los ficheros fuente contienen el código escrito por el programador, los compiladores generan ficheros objeto a partir de estos, las librerías contienen código común y los enlazadores crean ficheros ejecutables enlazando los ficheros objeto con las librerías. También describe diferentes tipos de errores como de sintaxis, enlaz
spécialiste de la collecte et valorisation des déchets.
Installée dans le Rhône (69), sur la commune de Saint-Genis-Laval, nos activités rayonnent sur la région Rhône-Alpes.
Nos services sont à destination des collectivités, des industriels, du BTP et des particuliers.
Este documento introduce el concepto de polimorfismo en C++. Define polimorfismo como la capacidad de escribir programas de manera general manipulando clases existentes y futuras. Explica que polimorfismo requiere herencia, funciones virtuales y objetos dinámicos. Presenta un ejemplo de modelado de una orquesta para ilustrar polimorfismo. Describe los mecanismos de herencia, upcasting y funciones virtuales necesarios para lograr polimorfismo.
Para crear una cuenta en Facebook, debes proveer tus datos personales como nombre, correo electrónico y contraseña, ingresar un código de seguridad, y confirmar amigos sugeridos o ignorar invitaciones. Esto completará el proceso de registro y te llevará a la página principal de Facebook.
Este documento presenta una introducción al pensamiento estratégico y la planificación estratégica. Explica conceptos clave como misión, visión, valores, fortalezas, debilidades, oportunidades y amenazas. También describe los tipos de estrategia, como las estrategias de integración, intensivas, diversificación y defensivas. Resalta la importancia de analizar el ambiente interno y externo de una organización para desarrollar e implementar estrategias efectivas.
La programación orientada a objetos introduce nuevos conceptos como objetos, clases, métodos, atributos y eventos. Un objeto contiene datos y funciones, una clase define el tipo de objetos, los métodos representan las acciones de un objeto, y los atributos son las propiedades. Estos conceptos, junto con encapsulamiento, herencia y polimorfismo, permiten modelar problemas del mundo real de una manera más sencilla.
El documento discute los posibles efectos del uso excesivo de la tecnología en las generaciones futuras, sugiriendo que podría conducir a una comunicación y personalidad más reservadas entre las personas, así como a un aumento de enfermedades relacionadas con la radiación y la obesidad. Plantea preguntas sobre si ese es realmente el futuro que se desea para los hijos.
Identification de compatibilites sémantiques entre descripteurs de lieuxEstelle Delpech
Présentation effectuée lors de la 13e Conférence Francophone sur l'Extraction et la Gestion des Connaissances, le 31/12/2013, Toulouse, France.
Vidéo : http://www.canalc2.tv/video.asp?idVideo=11682
Article associé : http://hal.archives-ouvertes.fr/hal-00912332
El documento discute los efectos de la globalización y los avances tecnológicos en la sociedad y la educación. Señala que la educación, el conocimiento y la identidad cultural son fundamentales para navegar en un mundo globalizado. También analiza cómo las nuevas tecnologías están transformando la difusión de información y la forma de pensar, y los desafíos que esto plantea para la escuela. Resalta la necesidad de formar docentes para que sepan aprovechar las tecnologías de manera pedagógica y no dejen a nadie al
El documento presenta un proyecto TIC para un centro educativo con los siguientes objetivos: 1) integrar las TIC en el currículo escolar para mejorar el aprendizaje, 2) formar al profesorado en el uso educativo de las TIC, y 3) evaluar el impacto del proyecto TIC. El proyecto incluye líneas de actuación como alfabetización digital, uso de materiales, diseño de materiales, y formación del profesorado.
Ou peut ont recyclé notre matériel informatique en tout sécurité au Québec ?
www.RecyclageinformatiqueQuebec.ca: Prenez 2 minutes de votre temps pour remplir un de nos formulaires de recyclage informatique et nous pourrons collecter votre matériel directement à votre domicile ou entreprise.
El documento discute la transición del homo sapiens, un ser caracterizado por la reflexión y la capacidad de generar abstracciones, al homo videns, una criatura que mira pero no piensa. Explica que este cambio comienza desde la infancia debido a la influencia de la televisión, y que los estímulos audiovisuales dominan la mente del adulto. También analiza las ventajas y desventajas de ser digital, como la televisión a la carta pero también la facilidad de falsificar, y concluye que es importante encontrar el equilibrio entre
Este documento discute la resolución de problemas aditivos en niños. Explica que los niños deben aprender el valor posicional de los números y evitar resolver problemas mecánicamente. También sugiere utilizar los procedimientos "espontáneos" de los niños para enseñar sumas y restas. Finalmente, identifica dos tipos de problemas aditivos - de cambio e igualación, y de comparación y combinación - y factores que afectan la complejidad como el contexto y tamaño de los números.
Conférence donnée par Eric Domb (Pairi Daiza) dans le cadre des cycles de conférences ETRE LEADER AUJOURD'HUI de la Leading & Coaching Academy.
Eric Domb est un homme passionné déclencheur de passions !
Este documento presenta los fundamentos teóricos de la integración de las TIC en el currículo desde tres teorías del aprendizaje: conductismo, cognitivismo y constructivismo. Explica las características, roles del docente y estudiante, y autores clave de cada teoría, argumentando que las TIC se alinean mejor con un enfoque constructivista al permitir la construcción colaborativa del conocimiento. Finalmente, identifica herramientas TIC como redes sociales, wikis y blogs que apoyan este enfoque al ampliar los
http://chtijug.org/session-spring-batch-avec-ekino-le-29-novembre/
Nous avons le plaisir de vous annoncer que la prochaine session du Ch’ti JUG est prévue le 29 novembre 2011. Elle aura lieu à l’IUT A de Lille 1, boulevard Paul Langevin, à Villeneuve d’Ascq. Plan d’accès
Le thème de cette session est Spring Batch : un framework pour implémenter des traitements de masse en Java.
Cette présentation sera animée par Olivier Bazoud / @obazoud et Julien Jakubowski / @jak78.
Cette session est rendue possible grâce à Ekino / @3k1no.
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
http://www.parisjug.org/xwiki/bin/view/Meeting/20130514
Quand j'écris une application Web, il y a pléthore de frameworks Web. Quand j'accède à une base de données, il y a des solutions de persistance (Hibernate, etc.). Quand je fais du batch, je suis... à poil ! Les batchs seraient-ils les parents pauvres de Java ? Spring Batch offre pourtant une solution pour vous guider lors de l'écriture de vos batchs en Java en toute décontraction. Le 14 Mai, Olivier et Julien vous présenteront Spring Batch et vous donneront une autre vision des batchs en Java.
Intervenants : Julien Jakubowski et Olivier Bazoud
Avant d'entamer un chantier de performance Web, il convient de mettre en place du monitoring.
En particulier si vous voulez gérer sur le long terme la qualité, si vous avez beaucoup de sites et de pages à gérer.
Cette présentation est tirée d'un retour d'expérience d'installation de monitoring spécialisé en performance Web, avec des logiciels gratuits, et un serveur peu cher.
Pour finir l'année en beauté, le Spring User Groupe FR vous propose de nous retrouver le Mardi 20 Décembre 2011 à 19h00 pour une session sur "Spring Batch Avancé". Lors de la première présentation (http://www.slideshare.net/sugfrance/spring-batch-concepts-de-base), nous avons vu les concepts de base de "Spring Batch".
Lors de cette session nous vous proposons d'aborder les notions avancés de "Spring Batch" en tenant compte de vos suggestions (voir le Google Moderator http://www.google.com/moderator/#16/e=5f36). A la fin de la conférence, nous vous proposerons un quizz afin de gagner quelques exemplaires de "Spring Batch in Action" (A.Cogoluegnes, T. Templier, G. Gregory, O. Bazoud), offerts par la société Ekino (http://www.ekino.com / @3k1n0).
Olivier Bazoud / @obazoud est architecte logiciel chez Ekino (http://www.ekino.com), spécialisé dans les technologies Java/JEE/Spring. Fort de 12 ans d’expérience, Olivier est en charge de l’architecture technique de sites et d'applications web à très fort traffic.
Julien Jakubowski / @jak78 est architecte chez OCTO Technology. Il a 10 ans d'expérience acquise au sein de projets à fort engagement pour des grands comptes, dans des secteurs d'activités variés : banque, assurance, industrie, grande distribution...
Julien accompagne ses clients sur des problématiques d'architecture, d'expertise technique, et de productivité des développements.
Il est également co-fondateur et président du Ch'ti JUG (Java User Group de la région Lilloise), qui rassemble tous les mois plus de 100 passionnés de technologies Java.
Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
NodeJs, GruntJs, Bower, Karma, ... des buzzwords dont nous entendons parler, que nous voyons passer dans les blogs/articles. Mais à quoi servent-ils ?
Comment industrialiser nos développements Javascript ? Mettre en place des tests unitaires dans une application Web ? Générer de la documentation ? Des métriques qualités ? La couverture de code ? Comme avec Maven ? Nous verrons concrètement comment articuler tous ces outils autour d'une application école, pour démystifier tout ça.
30 slides pour apprendre à suivre les développements d'un projet web et le recetter :
Le contexte
L'importance du lotissement
La gestion des relations avec le client
La documentation du projet
Les tests
Les référentiels de test
Fonction, cas d'utilisation & tests
La documentation de la recette
Mantis
Customiser Mantis
Automatisation des tests fonctionnels avec Selenium
Déroulement de la recette
Démarche
Tâches
Revue de tickets
Et ça continu encore et encore…
Redmine
Similaire à Spring Batch - Julien Jakubowski - November 2010 (20)
Introduction aux algorithmes génétiquesJUG Lausanne
The document introduces genetic algorithms (GA), including:
- The history and origins of GA from Darwin's theory of evolution.
- The key concepts of GA, such as encoding, selection, crossover, and mutation operations inspired by biological evolution to arrive at optimal solutions.
- Examples of applying GA to problems like the traveling salesman problem and function approximation are presented.
Développer un moteur d'exécution symbolique en partant de rienJUG Lausanne
Session du 10 Janvier 2018
En chaque développeur a sommeillé un jour ce rêve d'écrire son propre compilateur pour un language de domaine ou voir même pour créer un nouveau language de programmation. Or le développement d'un analyseur de code ressemble étrangement au développement du front-end d'un compilateur. Durant cette session, Freddy présentera les différentes étapes du développement d'un analyseur de code jusqu'à la capacité à exécuter symboliquement tous les chemins d'exécutions. Ce concept avancé d'interprétation abstraite est un pré-requis à la détection des bugs et vulnérabilités les plus profonds dans tous les languages.
Quizz en ligne
20 minutes pour jouer ensemble et mettre à l'épreuve nos connaissances des principales failles de sécurité applicatives et notre capacité les détecter des bugs dans du code Java et JavaScript. Speaker
Freddy est le créateur de la plateforme SonarQube et est co-fondateur de SonarSource. Après de nombreuses années de développement en Java, il joue désormais le role de Product Manager pour les analyseurs de code SonarSource.
Reverse engineering Java et contournement du mécanisme de paiement inapp AndroidJUG Lausanne
Session du 28 Septembre 2017
Android fournit une API Java pour la facturation d'achats in-app, permettant aux développeurs de vendre des fonctionnalités supplémentaires directement depuis l'application. Ce mécanisme est très souvent utilisé dans les jeux pour acheter des crédits donnant accès à du contenu supplémentaire, des bonus, etc ... Mais l'intégration du paiement est souvent mal comprise: on ne peut pas faire confiance au code tournant sur le smartphone. Ainsi, toutes les vérifications et l'obtention du contenu doivent s'effectuer côté serveur. Comme ce n'est pas très clair dans la documentation de Google, beaucoup de jeux continuent de faire la gestion côté client.
Nous allons exploiter une véritable application Android du Playstore pour obtenir des crédits gratuits. Et constater à quel point il est facile d'en faire son reverse engineering et d'identifier les validations effectuées côté client. Puis grâce au framework de hooking Xposed, nous allons écrire un hook tenant en une seule ligne de code Java permettant de contourner le paiement. Enfin, nous verrons comment patcher le bytecode de l'application (afin d'y injecter le hook) pour être ensuite capable de la distribuer très facilement.
Pour conclure, des recommandations pratiques seront données pour se prémunir de ce genre de problème en utilisant Angry Birds comme exemple.
Speaker
Jeremy Matos (@SecuringApps) a travaillé dans le domaine de la sécurité logicielle depuis plus de 10 ans en Suisse Romande. Avec une formation académique de développeur, il a conçu et participé à l'implémentation d'une solution innovante d'authentification forte mobile.
Il a également effectué des revues de code et des audits sécurité pour des sociétés dont l'utilisateur interne était l'ennemi ou craignant pour leur réputation.
Il fournit désormais des services en sécurité applicative au sein de sa propre société. Il a présenté l'année dernière au Crypto Village de la DefCon un nouveau vecteur d'attaque contre les messageries mobiles chiffrées appelé Man In The Contacts.
Il enseigne également la sécurité logicielle et les technologies blockchain pour des formations d'ingénieur en Suisse et en France.
Meetup : https://www.meetup.com/JUGL-the-Java-User-Group-of-Lausanne/events/242895293/
YouTube : https://youtu.be/mSYuM-PrCaw
Exemple d'IOT et ML avec Android, Cassandra et SparkJUG Lausanne
Je vais vous présenter un exemple d'objet connecté et comment analyser ses données. L'objectif est de voir comment collecter les données depuis un capteur du smartphone, stocker ces données dans Cassandra et enfin, analyser ces données pour prédire notre activité avec Spark.
Une démonstration sera faite pour monter la solution en temps réel.
Speaker
Amira LAKHAL est Java Champion et développeur chez Actyx. Elle est passionnée par l’agilité et les langages fonctionnels. Elle s’intéresse aussi aux problématiques de Big Data et diverses solutions de stockage des données volumineuses. Elle a animé des conférences sur la base NoSql Cassandra. Elle aide aussi à la mise en avant des femmes dans l’IT.
Meetup : https://www.meetup.com/JUGL-the-Java-User-Group-of-Lausanne/events/237954272/
YouTube : https://youtu.be/QIhK8OSamKM
Playframework Realtime Web - Guillaume Bort & Sadek Drobi - December 2012JUG Lausanne
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help boost feelings of calmness, happiness and focus.
CloudBees provides a platform as a service (PaaS) that allows developers to build, test, and deploy applications in the cloud. Key features of CloudBees' DEV@cloud offering include Jenkins continuous integration as a service, Git and SVN repositories, and the ability to directly deploy applications to CloudBees' PaaS from the development environment. Developers can leverage PaaS resources like MySQL for testing and CloudBees integrates additional services for tasks like static code analysis.
Apache Camel - Stéphane Kay - April 2011JUG Lausanne
Apache Camel is a powerful open source integration framework based on known enterprise integration patterns. It provides a simple Java domain specific language for defining routing and mediation logic. Camel includes over 70 components, 18 data formats, and support for many languages for expressions and predicates. It also includes tools for testing, transactions, concurrency, and exceptions handling. Camel's architecture uses services like routes, endpoints, components and data formats that are accessible through its container.
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...JUG Lausanne
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - February 2011
Alan Perkins (Coverity), Chris Chedgey (Headway Software), Bogdan Czwartkowski (Parasoft), Freddy Mallet (Sonar), Henri Tremblay (XDepend)
Infinispan - Galder Zamarreno - October 2010JUG Lausanne
Galder Zamarreno gave a presentation on Infinispan, an open source data grid platform designed for cloud computing. He discussed how traditional databases do not work well in cloud environments due to their stateful and failure-prone nature. Data grids are better suited as they are highly scalable, have no single point of failure, and work with ephemeral cloud nodes. Infinispan is a new data grid that improves on an earlier product, JBoss Cache, with a more scalable architecture and features like a simple map API, client/server support, and integration with Hibernate and Lucene. Future plans for Infinispan include enhanced replication, distributed execution capabilities, and support for cloud-based data
Java EE 6 & GlassFish V3 - Alexis Moussine-Pouchkine - May 2010JUG Lausanne
GlassFish v3 is the latest version of the GlassFish application server which implements the full Java EE 6 specification; it includes new features like Java API for RESTful Web Services (JAX-RS 1.1), Contexts and Dependency Injection for Java EE (CDI 1.0), and Bean Validation 1.0. GlassFish v3 provides an open source, modular, and extensible Java EE application server platform that can be used for cloud computing and embedded applications. Going forward, Oracle will continue to develop GlassFish as an open source project while providing commercial support.
Introduction à Scala - Michel Schinz - January 2010JUG Lausanne
Scala is a programming language that combines object-oriented and functional programming. It runs on the JVM and is interoperable with Java. Scala is statically typed and concise.
Scala allows modeling of concepts like rational numbers and mutable cells. Classes can implement traits to mix in functionality like logging. Pattern matching makes deconstructing data structures like lists and optional values easy. The Scala library includes collections, functions, and other functional programming constructs.
Visual Mobile Applications with Netbeans 6.0 - Cédric Tabin - February 2008JUG Lausanne
The document discusses JUGL meeting dates in March, April and May and seeks speakers. It then provides an overview of using Netbeans 6.0 to develop visual mobile applications, including what Netbeans and Java ME are, how the CLDC and MIDP specifications define the Java ME architecture, and a demo of Netbeans' visual tools for developing mobile user interfaces and applications. Resources for learning more about Netbeans mobility support are listed at the end.
Scripting with Java FX - Cédric Tabin - December 2007JUG Lausanne
This document introduces Java FX, a scripting language for creating rich user interfaces in Java. It discusses how Java FX makes GUI development easier and interfaces more visually appealing compared to traditional Java tools. The rest of the document provides an overview of the Java FX syntax and features through a 10-minute tutorial example and demo. It concludes by recommending resources for learning more about and getting started with Java FX.
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.
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.
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 - 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 :
2. Intervenants
➢
Olivier Bazoud, FullSIX, 12 ans d'expérience
●
●
Java EE / Spring, Spring Batch, Groovy, Grails
●
Co auteur de « Spring Batch in Action »
●
➢
Architecte technique de sites web à fort traffic
Spring User Group France
Julien Jakubowski, OCTO Technology
●
Architecte, 10 ans d'expérience
●
Spécialisé Java EE / Spring
●
Productivité et qualité des développements
●
Ch'ti JUG, Agile Tour Lille
2
3. De quoi va-t-on parler ce soir ?
➢
On va parler de batchs en Java ...
Spring Batch
➢
… et aussi de bière
http://www.flickr.com/photos/fromeyetopixel/2559391584/
3
6. Teaser
➢
Quand je fais du batch, je suis ... à poil !
➢
Les batchs seraient-ils les parents pauvres de Java ?
http://www.flickr.com/photos/crystaljingsr/3914729343/sizes/o/in/set-72157622354789320/
6
7. Teaser
➢
Spring Batch offre pourtant une solution pour vous
guider lors de l'écriture de vos batchs
Spring Batch
7
8. Nos objectifs
➢
En sortant de la salle, vous :
●
Savez identifier certains problèmes récurrents avec les
batchs écrits en Java
●
Savez si Spring Batch est utile pour vous (ou pas)
●
Avez intégré les notions principales
●
Pouvez faire un batch « Spring Batch » demain
8
9. Batch : de quoi parle-t-on ?
➢
Batch processing = suite de traitements sur ensemble
de données...
http://www.flickr.com/photos/burnblue/308441464/
9
10. Batch : de quoi parle-t-on ?
➢
… potentiellement grands volumes...
http://www.flickr.com/photos/claudiasofia99/2878579560/
10
11. Batch : de quoi parle-t-on ?
➢
… sans intervention d'un utilisateur humain.
(pas d'interface graphique)
11
12. Batch : de quoi parle-t-on ?
➢
Exemples :
●
Import Flat/XML dans une base de données
●
Mise à jour de données de référentiels
●
Intégration de flux bancaire, financier dans un SI
12
13. Batch : de quoi parle-t-on ?
➢
Un batch n'est pas un scheduler
●
Cron, Quartz, $U...
●
Mais un scheduler peut le lancer
13
14. Ce qui vous attend
➢
Spring Batch en 1 slide
➢
Un batch « à poil »
➢
Le même en Spring Batch
➢
Introduction progressive des notions de Spring Batch
➢
Retours d'expérience
➢
Forces et faiblesses
➢
Questions / réponses
14
15. Spring Batch propose
✔ Un cadre
✔ Un vocabulaire (domain language)
✔ Traitement par lots (grands volumes de données)
✔ Gestion des transactions, commit régulier
✔ Spring dans ses batchs
Parallélisme
Partitionnement
Une infrastructure pour les batchs
Reprise sur erreurs
15
16. Beer batch
➢
Implémentation « naïve »
➢
Caractéristiques :
●
Lire le fichier XML de recettes, au format BeerXML
●
Filtrer certaines recettes et créer un fichier de rejets
●
Ecrire en base de données
16
21. Le nouveau batch
➢
Ecrire la date de début du batch
➢
Lire le fichier XML de recettes de bières
➢
Filtrer et créer un fichier de rejets
➢
Ecrire en base de données
21
34. Chunk
➢
Besoin
●
➢
Lire, transformer et écrire
Chunk
●
Lire et transformer les données successivement
●
Ecrire le lot de données
●
Le commit-interval définit la taille du lot (différent
de la taille du fichier)
●
Gestion de la transaction : Commit/Rollback
34
43. Tasklet
➢
Besoin
●
➢
Effectuer une tâche unitaire
Exemples
●
Suppression de fichiers
●
Unzip d'un fichier
●
Appel d'une procédure stockée
●
Appel d'un web service
43
55. Retours d'expérience FullSIX
➢
Framework de batch
●
●
➢
Moins de code produit, moins d'erreurs possibles
Plus de tests unitaires + intégrations
Mise en place par l'exemple
●
●
➢
J'ai fait le premier batch pour montrer la voie
Un même vocabulaire aide à se comprendre
Répond à nos besoins même si les batchs sont différents au niveau métier
55
56. Retours d'expérience FullSIX
➢
Nos batchs « Spring Batch » sont en SQL plutôt qu'en
Hibernate
➢
Spring Batch s'occupe de la gestion transactionnelle
➢
En moyenne
●
●
➢
15% - 50% de gain sur le temps de développement
15% - 50% de gain au « runtime »
Gains plus impressionnants sur certains cas
●
XML 100Mo + SQL; Gain : de 60 mn à 8mn
●
10 fichiers 4Mo + SQL; Gain : de 10mn à 1mn30s
56
57. Forces et faiblesses
✔ Fiabilité et bons patterns
✔ Tests, TDD
✔ Batchs complexes mieux maintenables
✔ Bénéficie de fonctions avancées à moindre coût
...the Spring way, Spring Intégration
✔ Productivité, à terme...
✗ … après avoir payé le ticket d'entrée
57
58. Notions avancées non-abordées
➢
Partionning, parallélisme, remoting
➢
Flow
➢
Reprise sur erreurs, Skipping
➢
Infrastructure pour les batchs
➢
Spring Batch Admin
A votre disposition...
58
60. Liens
➢
Spring User Group Paris
●
➢
Le code de la présentation
●
➢
http://code.google.com/p/fr-sug-spring-batch
Spring Batch 2.1.x
●
➢
http://groups.google.fr/group/sugfr
http://static.springsource.org/spring-batch
Articles sur le web
●
http://www.theserverside.com/news/1363855/Spring-Batch-Overview
●
http://www.infoq.com/presentations/syer-introducing-spring-batch
●
http://blog.zenika.com/index.php?post/2010/03/05/To-batch-or-not-to-batch
●
http://blog.octo.com/spring-batch-par-quel-bout-le-prendre/
60