Présentation effectuée à PHP Quebec (Septembre 2014) "MariaDB à l'assaut des developpeurs... PHP, Python,, Ruby, Java..." par Christophe Villeneuve.
Après une présentation générale, nous verrons quelques fonctionnalités de la base de données MariaDB et les principaux Moteurs de Stockages utiles pour les développeurs
Introduction et démo de l'orchestrateur docker Rancher.
La partie démo est dispo en vidéo (talk DevoxxFrance 2016) : https://www.youtube.com/watch?v=QFqt8xMTChY
Introduction et démo de l'orchestrateur docker Rancher.
La partie démo est dispo en vidéo (talk DevoxxFrance 2016) : https://www.youtube.com/watch?v=QFqt8xMTChY
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements.
Docker nous permet de déployer nos applications dans des conteneurs. Du coup notre infrastructure se retrouve divisée dans différents conteneurs, un pour la base de données, un pour le front, un pour le backend. Voir même une division en services lorsque l’on est dans une approche micro-services.
Mais comment faire communiquer ces différents conteneurs? Comment orchestrer un cluster de conteneurs? Kubernetes est une réponse à ces questions.
Chiffrer et sécuriser MariaDB - Présentation effectuée à "Ubuntu Paris 1610" par Christophe Villeneuve
MariaDB est la base de données NewSQL (NoSQL + SQL) et libre à utiliser au quotidien
Déploiement et gestion d'un site web avec RancherAnthony Sigogne
Nous verrons comment déployer en quelques minutes un site web sur un serveur privé grâce à une infrastructure sous forme de containers Docker : du serveur HTTP (Nginx) à la certification SSL (LetsEncrypt) en passant par l'installation d'un outil analytics (Piwik). Pour créer et gérer notre stack de containers, nous utiliserons Rancher, un service d'orchestration basé sur une interface utilisateur ergonomique.
Présentation faite lors du Docker Meetup Nouméa du 24/11/2016 :
http://www.meetup.com/fr-FR/Docker-Noumea/events/234912937/?eventId=234912937
Cette présentation était en partenariat avec WeScale (Cédric Hauber).
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements. Entre démonstrations et retours de terrain, vous repartirez avec tous les outils pour conteneuriser la planète.
Nouvelles librairies, nouveau frameworks, nouveau langages... le front de nos applications n'a cessé de se complexifier au cours des 10 dernières années. Ce Tool-in-Action va vous montrer comment GruntJs et ses nombreux plugins permettent de simplifier et d'automatiser le build de la partie front de vos applications Web Java.
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Alexis Ducastel
Slides de la présentation "Docker avec Rancher, du dev à la prod" par Alexis Ducastel et Ivan Beauté de makazi.com lors du Devops DDay au stade Orange Vélodrome de Marseille le 7 Octobre 2016
Retrouvez également la présentation sur Youtube : https://www.youtube.com/watch?v=E1LDR2pX2w4&index=18&list=PLNBeWtNgozici8YOrke1gQ-xGuRra6JUr
Rancher, l'orchestrateur qui vous veut du bien -- BreizhCamp2016Christophe Furmaniak
L’introduction de docker en production se fait souvent petit à petit, en mode “nouveau format de packaging” plutôt qu’avec un orchestrateur docker.
Les orchestrateurs comme Kubernetes ou Mesos peuvent faire peur de part leur potentielle complexité à être mis en oeuvre et intégrés dans une infrastructure existante.
Nous découvrirons ensemble Rancher, un autre orchestrateur, plus facile à intégrer, mais tout aussi puissant.
Nous verrons comment l'utiliser sans révolutionner son infrastructure et comment bénéficier de son utilisation dans des cas d'usage comme le “rolling upgrade” d'un service.
Déployer des applications à n'importe quelle échelle, facilement. C'est la promesse faite par Nomad, le dernier né de la famille HashiCorp, déjà auteur à succès de Vagrant, Consul ou bien Terraform. Lors de ce tour d'horizon de l'outil, ponctué de nombreuses démos, nous parlerons déploiement, mise à jour, contraintes et passage à l'échelle. Nous verrons en quoi Nomad apporte une réponse à la délicate question de l'optimisation des ressources d'un SI, d'un point de vue capacitif, mais aussi temporel.
Présentation effectuée aux JDLL (Journées du Logiciel Libre) 2017 par Christophe Villeneuve sur "Sécuriser et chiffrer MariaDB"/.
La conférence a pour but de montrer comment utiliser le SQL, NoSQL, NewSQL, d'une part et de l'autre le BigData avec ColumnStore dans un environnement sécuriser et chiffrer
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Christophe Furmaniak
Que vous ayez choisi de développer votre application en tant qu'ensemble de petits services ou sur un modèle plus classique, vous avez certainement à gérer des dépendances à des services HTTP.
A moins de faire le choix de ne pas vous soucier de la disponibilité de vos dépendances (dans ce cas vous n’avez rien à faire ici), vous aurez à faire face à des problématiques telles que loadbalancing et gestion des erreurs.
En s’appuyant sur l’exemple d’une application distribuée très simple, nous parcourrons ensemble les différentes implémentations de solutions, les contraintes et bénéfices associés.
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements.
Docker nous permet de déployer nos applications dans des conteneurs. Du coup notre infrastructure se retrouve divisée dans différents conteneurs, un pour la base de données, un pour le front, un pour le backend. Voir même une division en services lorsque l’on est dans une approche micro-services.
Mais comment faire communiquer ces différents conteneurs? Comment orchestrer un cluster de conteneurs? Kubernetes est une réponse à ces questions.
Chiffrer et sécuriser MariaDB - Présentation effectuée à "Ubuntu Paris 1610" par Christophe Villeneuve
MariaDB est la base de données NewSQL (NoSQL + SQL) et libre à utiliser au quotidien
Déploiement et gestion d'un site web avec RancherAnthony Sigogne
Nous verrons comment déployer en quelques minutes un site web sur un serveur privé grâce à une infrastructure sous forme de containers Docker : du serveur HTTP (Nginx) à la certification SSL (LetsEncrypt) en passant par l'installation d'un outil analytics (Piwik). Pour créer et gérer notre stack de containers, nous utiliserons Rancher, un service d'orchestration basé sur une interface utilisateur ergonomique.
Présentation faite lors du Docker Meetup Nouméa du 24/11/2016 :
http://www.meetup.com/fr-FR/Docker-Noumea/events/234912937/?eventId=234912937
Cette présentation était en partenariat avec WeScale (Cédric Hauber).
De nos jours, de plus en plus d’entreprises adoptent Docker. Mais comment faire avec des dizaines, des centaines voire des milliers de conteneurs à gérer ? Google s’est posé ces questions et de ses forges une réponse est sortie : le projet Kubernetes. Venez marcher dans les pas du géant en découvrant Kubernetes dans son intimité. Vous apprendrez à déployer une application, la scaler, la mettre à jour en rolling update et l'isoler des environnements. Entre démonstrations et retours de terrain, vous repartirez avec tous les outils pour conteneuriser la planète.
Nouvelles librairies, nouveau frameworks, nouveau langages... le front de nos applications n'a cessé de se complexifier au cours des 10 dernières années. Ce Tool-in-Action va vous montrer comment GruntJs et ses nombreux plugins permettent de simplifier et d'automatiser le build de la partie front de vos applications Web Java.
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016Alexis Ducastel
Slides de la présentation "Docker avec Rancher, du dev à la prod" par Alexis Ducastel et Ivan Beauté de makazi.com lors du Devops DDay au stade Orange Vélodrome de Marseille le 7 Octobre 2016
Retrouvez également la présentation sur Youtube : https://www.youtube.com/watch?v=E1LDR2pX2w4&index=18&list=PLNBeWtNgozici8YOrke1gQ-xGuRra6JUr
Rancher, l'orchestrateur qui vous veut du bien -- BreizhCamp2016Christophe Furmaniak
L’introduction de docker en production se fait souvent petit à petit, en mode “nouveau format de packaging” plutôt qu’avec un orchestrateur docker.
Les orchestrateurs comme Kubernetes ou Mesos peuvent faire peur de part leur potentielle complexité à être mis en oeuvre et intégrés dans une infrastructure existante.
Nous découvrirons ensemble Rancher, un autre orchestrateur, plus facile à intégrer, mais tout aussi puissant.
Nous verrons comment l'utiliser sans révolutionner son infrastructure et comment bénéficier de son utilisation dans des cas d'usage comme le “rolling upgrade” d'un service.
Déployer des applications à n'importe quelle échelle, facilement. C'est la promesse faite par Nomad, le dernier né de la famille HashiCorp, déjà auteur à succès de Vagrant, Consul ou bien Terraform. Lors de ce tour d'horizon de l'outil, ponctué de nombreuses démos, nous parlerons déploiement, mise à jour, contraintes et passage à l'échelle. Nous verrons en quoi Nomad apporte une réponse à la délicate question de l'optimisation des ressources d'un SI, d'un point de vue capacitif, mais aussi temporel.
Présentation effectuée aux JDLL (Journées du Logiciel Libre) 2017 par Christophe Villeneuve sur "Sécuriser et chiffrer MariaDB"/.
La conférence a pour but de montrer comment utiliser le SQL, NoSQL, NewSQL, d'une part et de l'autre le BigData avec ColumnStore dans un environnement sécuriser et chiffrer
Prez -chtijug-29032016-(micro)services, loadbalancing et gestion des erreurs ...Christophe Furmaniak
Que vous ayez choisi de développer votre application en tant qu'ensemble de petits services ou sur un modèle plus classique, vous avez certainement à gérer des dépendances à des services HTTP.
A moins de faire le choix de ne pas vous soucier de la disponibilité de vos dépendances (dans ce cas vous n’avez rien à faire ici), vous aurez à faire face à des problématiques telles que loadbalancing et gestion des erreurs.
En s’appuyant sur l’exemple d’une application distribuée très simple, nous parcourrons ensemble les différentes implémentations de solutions, les contraintes et bénéfices associés.
La Semaine Ecole-‐Entreprise est devenue un moment
phare de l’année scolaire et le point de départ d’une longue
série d’opérations d’information et de découverte des métiers et des entreprises pour les collégiens et lycéens. Cet événement permet de mettre en valeur les échanges entre les entreprises et le monde éducatif et de les promouvoir. Au-‐delà de cette semaine, des actions de sensibilisation ont lieu tout au long de l'année.
La quinzième SEE aura lieu cette année du 17 au 23 novembre 2014. La thématique qui a été retenue, conjointement avec le ministère de l’éducation nationale,
de l’enseignement supérieur et de la recherche, est « Innovation, numérique, ouverture internationale : quelle entreprise en 2020 ? ».
El Tribunal Supremo confirma las competencias autonómicas en materia de autorizaciones iniciales de trabajo. El documento analiza dos sentencias del Tribunal Supremo que confirman las competencias de las comunidades autónomas de Murcia y Madrid en materia de autorizaciones iniciales de trabajo para extranjeros, de acuerdo con el Real Decreto 1162/2009. Asimismo, resume el contenido y alcance de dicho real decreto y el dictamen del Consejo de Estado al respecto.
El documento describe los cambios necesarios en las organizaciones para adaptarse a un entorno dinámico. Se enfatiza la importancia de desarrollar una cultura corporativa clara basada en la calidad, la orientación al cliente, el diseño participativo de tareas, y el desarrollo de habilidades del personal. También se destaca la necesidad de estructuras más planas y el uso de la tecnología para distribuir conocimiento en toda la organización.
Este documento presenta las experiencias pedagógicas del Aula Hospitalaria de Albacete con estudiantes que tienen cáncer. Describe la importancia de proporcionar apoyo, seguimiento, normalización, dinamización, coordinación, personalización, motivación e interrelación para los estudiantes. También destaca el uso de las TIC para eliminar barreras, flexibilizar el aprendizaje, fomentar el aprendizaje cooperativo y reducir el aislamiento de los estudiantes en el hospital. Finalmente, proporciona detalles sobre el territorio
Este documento describe la evolución de la alta definición (HD) desde sus inicios analógicos hasta la actualidad digital. Explica los formatos HD analógicos D2 Mac y HD Mac que fracasaron, y cómo la tecnología digital permitió la transmisión HD a través de satélite, cable y televisión digital terrestre. También describe los formatos de video HD Blu-ray y HD DVD, ganando el Blu-ray la "batalla de formatos". Finalmente, explica conceptos como Full-HD, contraste y tecnologías LED y OLED en pantall
Le MMA Forum Paris a eu lieu le 4 décembre 2014. Cette deuxième édition, placée sous le thème du « Mobile Only », a accueilli 270 participants et donné la parole à une trentaine d’intervenants.
Cet événement n’aurait pas pu avoir lieu sans la confiance de nos partenaires : Bnp Paribas, Critéo, Google, RadiumOne, Sfr Régie, Solocal et Teads.
Retrouver la présentation de la Keynote et de la table ronde avec Jean-Marie Dragon, Bnp Paribas, Pauline Roche, Paypal, Pierrick Rodot, Powa Technologies, Jean Kehlaoui, Orange.
Journée contributive - Conseil National NumériqueVincent Barberot
Mon approche personnelle et professionnelle des thématiques de la journée contributive du Conseil National Numérique pour la concertation sur la croissance, l'innovation et la disruption
Présentation effectuée au Rencontres Mondiales du Logiciel Libre (RMLL) 2017 par Christophe Villeneuve sur "PHP ete MAriaDB dans le Cloud"
Vous allez voir comment utilisé PHP et MariaDB en NoSQL, SQL, BigData
Présentation effectuée pendant la piscine du POC Innovation de Epitech (15 février 2022) par Christophe Villeneuve avec Sébastien "MariaDB : une base de données NewSQL".
Après un tour d'horizon de l'évolution des bases de données, nous nous intéresserons sur la base de données MariaDB qui propose le NewSQL (NoSQL + SQL) et ces différents storages engines disponibles. Ainsi chaque problématique projet peut être couverte par celle-ci.
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
"Node.JS, MariaDb, MongoDb, Python, Ruby on Rails, PHP... toutes ces technologies et beaucoup d'autres ont deux points commun : elles sont Open Source et fonctionnent sur Microsoft Azure.
Faisons un point rapide sur la stratégie de Microsoft sur le sujet et démontrons les atouts d'Azure à travers l'exemple d'un projet web professionnel.
Celui-ci s’appuiera sur des technologies ouvertes : Drupal pour le CMS, PHP pour le langage, Linux pour le système d'exploitation, MariaDB pour la base de données ou encore Redis pour le cache distribué.
En plus d’aborder des nouveautés de l’offre Azure, cette session sera également l’occasion d’aborder les différents types de services disponibles dans Azure (infrastructure, plateforme, applicatif) et les questions à se poser pour choisir entre ceux-ci."
Présentation effectuée aux Expériences 2016 de Microsoft France par Christophe Villeneuve et Benjamin Talmard : "Open source et microsoft azure reve ou realite ?"
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
La base de données MariaDB (fork de MySQL) connaît une croissance annuelle supérieure à 400% depuis son lancement. Elle s'impose comme une puissante alternative couvrant aussi bien le SQL, le NoSQL, le Cloud (SaaS, PaaS...) et les contraintes quotidiennes. Cette session PHP/MariaDB abordera 4 axes : - Comprendre les fondamentaux du déploiement d'un site PHP (Application Drupal) dans Azure Websites ainsi que ses bénéfices (Elasticité dynamique, environnement de prod/pré-prod et couplage Git...). - Les notions premières à connaître pour réussir l'installation de MariaDB dans des Cloud Services Azure, ainsi que son utilisation avec le langage dynamique PHP. - Les différentes possibilités de communiquer, d'échanger des données entre les différents outils Microsoft (Office, ODBC, SQL...) et les 'storages engines overview' disponibles dans MariaDB - Enfin, le dernier point s'attardera sur quelques possibilités d'automatisation de déploiement dans Azure, et d'optimisation de la performance / la scalabilité, en voyant la multi-réplication dans un ou plusieurs Cloud Services (MariaDB Galera cluster)
Conférence 'Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure' présentée au TechDays 2015 à Paris par Christophe Villeneuve et Serge Frezefond
SQLSaturday Paris 2014 - Et hop, ma base migre dans AzureGUSS
Vous ne voulez plus gérer vos problèmes Hardware ? Vous ne voulez plus gérer vos mises à jour de sécurité ? Vous voulez de la haute disponibilité à moindre coût et en gagnant du temps ? Vous êtes dans un environnement sécurisé ? Alors n’hésitez pas à migrer vos bases dans Azure. Accompagné de Nicolas Soukoff (Senior Premier Field Engineer – SQL Server ), nous vous guiderons sur les choix de solution et les étapes de migration : – VM dans Azure / SQL Azure Database – Solution de HA (AlwaysOn) – Comment migrer simplement – Gérer son Disaster Recovery dans Azure. Session présentée lors du SQLSaturday Paris 2014
- Implémentation automatique du CRUD pour les entitées
- Repository plus élaborés avec MybatisRepository
- Plus besoin de mapper pour les opérations simples de CRUD
- Les mappers ne serviront que pour les requêtes complexes
- Les Repository sont désormais épurés
Présentation effectuée au Rencontres Mondiales du Logiciel Libre (RMLL) 2017 par Christophe Villeneuve sur "Les tests de sécurité".
Vous allez voir comment mettre en place des tests de sécurité de façon automatique à partir de logiciels libres
Présentation effectuée au Rencontres Mondiales du Logiciel Libre (RMLL) 2017 par Christophe Villeneuve sur "Automatisation des gestionnaires de contenus (CMS)".
Vous allez voir comment industrialiser et automatiser les CMS avec comme exemple le CMS Drupal
Frontend development requires a lot a different tools. This presentation is about these technos like AngularJS, Javascript, Jquery, Sass, Grunt, Zurb foundation, Karma, Protractor, ...
This presentation was shown during a TechnoByte (session of internal formation) on 2014/06/10
Hubert Stefani de la société Infotel nous parlera de clusterisation dans le domaine de la propriété intellectuelle. Partant d’un existant sous MongoDB, Infotel a mis en place un mécanisme de classification au travers d’un MapReduce très spécifique exploitant les méta-informations des documents, un google-like de la littérature scientifique en quelques sorte. Hubert présentera également des initiatives autour de Hadoop et ElasticSearch.
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Smile I.T is open
Retrouvez les slides du webinar Smile co-organisé le 5 février avec RedHat et Ansible.
Ansible est une plate-forme logicielle libre pour la configuration et la gestion des ordinateurs. Elle combine le déploiement de logiciels multi-nœuds, l'exécution des tâches ad-hoc, et la gestion de configuration.
Lors du webinar, vous avez pu découvrir comment la solution Ansible déployée par Smile pour la troisième enseigne spécialisée dans la commercialisation de biens et loisirs culturels et créatifs en France, permet d'industrialiser leur SI.
Présentation effectuée au Meetup 24 Programmez (5 Avril 2022) par Christophe Villeneuve sur "Infrastructure as code Drupal".
Cette présentation aborde les rappels de l'IaC (infrastructure as code), comment l'utilisé avec le CMS Drupal et déployé automatiquement le contenu et les évolutions dans l'IaC.
Similaire à MariaDB à l'assaut des developpeurs (20)
Présentation effectuée à Open Source Expérience 2022 par Christophe Villeneuve et Sébastien de MariaDB sur "MariaDB : une base de données NewSQL".
Cette présentation a pour but de montrer que la base de données Mariadb propose des nouvelles fonctionnalités et avancés importantes pour devenir un coeur
Présentation effectuée à Paris Web par Christophe Villeneuve sur "La boîte à outils de développements dans Firefox".
Cette présentation a pour but d'aider les développeurs à améliorer leur projet en respectant les normes et standard de W3C
Présentation effectuée au à l'Owasp mensuel (18 Mai 2022) par Christophe Villeneuve sur "Pister les pisteurs".
Cette présentation aborde la visualisation des cookies tiers et la nouvelle extension qui propose de voir si votre projet est "Green IT"
Présentation effectuée à l'événement CyberGames de EGE (17 mai 2022) par Christophe Villeneuve sur "Contrôlez vos données éthiques dans le web".
Cette présentation aborde l'importance des données et des risques que vous pouvez rencontrer sur le web
Présentation effectuée pendant la piscine du POC Innovation de Epitech (14 février 2022) par Christophe Villeneuve sur "Open Source et Contribution : une association gagnante".
La présentation permet de voir que la contribution est importante au même titre que l'open source
Présentation effectuée à la DevCon 12 (16 décembre 2021) par Christophe Villeneuve sur "Pentest Bus Pirate".
Une occasion de voir comment effectuer des pentests sur de l'IoT
Présentation effectuée à l'Open Source Expérience (9 novembre 2021) par Christophe Villeneuve sur "Peur de la migration vers l’open source ?".
Sujet : 2020 fut marqué par de nombreux anniversaires. Ainsi PHP, MySQL, Drupal… ont proposé de nombreuses évolutions et améliorations dans les technologies ouvertes permettant de garder le Web ouvert.
La session abordera les freins à la migration vers des environnements modernes. Christophe s’intéressera aux problématiques d’aujourd’hui dans un serveur AMP (Apache MariaDB PHP) avec comme solution un portail de type Drupal. La souplesse de ces technologies répond aux problématiques modernes.
Présentation effectuée à GS Days (4 novembre 2021) par Christophe Villeneuve sur "La sécurité applicative par le design ".
Sujet : La sécurité doit commencer dès la conception d’un projet ou d’une application Web. Cette étape est nécessaire pour atténuer l’impact des cybermenaces lors de la mise en production. Cette session identifiera ce que l’on peut attendre d’une application Web sécurisée qui garantit une certaine qualité pour les données et vous protège contre les malveillances, les erreurs et la malchance, et leur impact.
Présentation effectuée au Meetup Firefox User Group fr (28 avril 2021)par Christophe Villeneuve sur "Foxfooding Semaine 3 : Aidez à produire le meilleur firefox".
Vous allez voir les fonctionnalités disponible dans firefox 89
Présentation effectuée à la AOSC (28 janvier 2020) par Christophe Villeneuve sur "L'accessibilité web avec WCAG et RGAA".
Vous verrez les notions générales de l'accessibilité, le moyen de le mettre en place dans son code et valider avec des outils si l'ensemble du référentiels est respecté.
This document discusses the weekly activities of the French-speaking Mozilla community. It includes a to-do list that covers hot topics, article planning, events, social media calendars and statistics, answering questions, and updates to sites and blogs. The community communicates using Telegram, Matrix, and weekly Zoom meetings. Activities include localization, forums support, documentation, and discussions. Events follow a standard procedure from announcement to post-event coverage. The to-do list has been used since 2014 and provides details for each discussion point. The community is led by several people and more information is available by contacting them.
Présentation effectuée à la DevCon (19 novembre 2020) par Christophe Villeneuve sur "Monitoring dynamique : Grafana & Microsoft".
Sous la forme de cas pratique, la présentation montre une manière de monitorer dynmaiquement les produits Microsoft tel que Azure, office 365, SQL Server...
Présentation effectuée au Meetup Programmez (08 septembre 2020)par Christophe Villeneuve sur "Etes-vous prêt pour PHP 8 ?".
Vous allez voir l'avancement du langage PHP, les nouveautés, les améliorations
Présentation effectuée au Meetup Lizard Secu (27 aout 2020)par Christophe Villeneuve sur "Le futur de l'authentification WebAuthn".
Vous allez voir comment se passer du mot de passe en utilisant WebAuthn
Talk at the Virtu-All-Hands (June 18, 2020) by Christophe Villeneuve on "Send large files with addons".
3 extensions to communicate easily with Firefox send
Présentation effectuée au Virtu-All-Hands (18 juin 2020) par Christophe Villeneuve sur "Send large files with addons".
3 extensions pour communiquer facilement avec Firefox send
Présentation effectuée au meetup Devops Tahiti (3 juin 2020) par Christophe Villeneuve sur "Tests d'accessibilité par la pratique".
Deux outils complémentaires d'accessibilités, sont présentés pour vous aider à valider votre code
Présentation effectuée à Confoo 2020 (27 février 2020) par Christophe Villeneuve sur "Donnez la voix aux machines".
Vous allez voir l'avancé de ces appareils, des projets libres comme Common Voice et DeepSpeech, la qualité des participations et contributions
Consulter le site officiel https://voice.mozilla.org
Présentation effectuée à Confoo 2020 (26 février 2020) par Christophe Villeneuve sur "la réalité mélangée dans vos applications".
Nous voyons comment embarquer une page web dans la réalité virtuelle, réalité augmentée, réalité virtuelle associé à la réalité mélangée pour les utiliser dans les applications webs
Présentation effectuée au Capitole du Libre (17 novembre 2019) par Christophe Villeneuve sur "la boite à outils de développements dans firefox (devtools)".
Un atelier pour apprendre et voir les possibilités de la barre Devtools dans Firefox
3. Sommaire
● Histoire & ses forks
● MySQL 5.x → MariaDB 5.x
● MariaDB 10.x
● Les bases
● MariaDB pour vos développements
4. L'origine Dates importantes
Le 4 sept. 2014
✔ Fondé par
✔ Monty Widenius
✔ David Axmark
✔ 1983 – 1ère idée
✔ Fondé en 1995
✔ 2007 Préparation pour
Nasdaq
✔ 2008 Rachat par Sun
✔ 2009 Sun racheté par
Oracle
✔ Promesse de Oracle sur
5 ans (fin 2014)
Histoire de début
5. Le 4 sept. 2014
✔ De nos jours... MySQL Forks
✔ N° 1 dans le monde
✔ 50k Download (depuis
2003)
✔ + 13M installation active
✔ MySQL Oracle
✔ Drizzle
✔ Percona
✔ MariaDB
Et maintenant
8. Le 4 sept. 2014
Les grandes dates de MySQL
✔ 1983
✔ 1995 Création de MySQL
✔ 1999 MySQL 3.23
✔ 2000 InnoDB
✔ 2003 MySQL 3.23 GA
✔ 2004 MySQL 4.1 GA
✔ 2005 Oracle avec InnoDB
✔ 2005 MySQL 5.0 GA
✔ 2008 MySQL 5.1GA(Sun)
✔ 2010 MySQL 5.5 GA
(Oracle)
✔ 2011 Modules de codes
source fermé
✔ 2013 MySQL 5.6 GA
✔ 2013 (dec) MySQL 5.7
9.
10. Le 4 sept. 2014
✔ Mi 2008 début
✔ Mars 2011 1er GA
✔ Version redessinée de
MySQL 6.0
✔ Basé sur Micro-kernel
+ simple & + léger
✔ En ligne de commande
✔ BDD du coté serveur
✔ GPL v2
Drizzle les points forts
11.
12. Le 4 sept. 2014
Les étapes de Percona Server
✔ Dec 2008 : 1ère released
✔ 2010 Percona 5.5
✔ Juin 2013 Percona 5.6
✔ XtraDB au lieu de InnoDB
✔ Plus d'instrumentation
✔ Nombreux outils
✔ Amélioration Restart
✔ Performance
✔ Statistiques
13.
14. Le 4 sept. 2014
MariaDB : un jeune projet... MATURE
✔ Communauté d'amis
✔ 100 % Open source et
compatible MySQL
✔ Plateforme d'innovation
✔ Des commiteurs
✔ Dec 2008 Création de
Monty Program
→ Monty Widenius
✔ MariaDB 5.1 (Fev 2010)
✔ MariaDB 5.2 (Nov 2010)
✔ MariaDB 5.3 (Avril 2012)
✔ MariaDB 5.5 (Avril 2012)
✔ MariaDB 10.0a (Nov 2012)
1er semestre 2013
✔ 2013 Fondation
Compression Multimaster
Replication
Galera people ✔ 2013 MariaDB 10.0.1
19. Le 4 sept. 2014
En un mot... MariaDB vs MySQL
✔ Plus de storages
✔ Vitesse
✔ Innodb, replication, stockage...
✔ Nombreuses extensions et fonctionnalités
✔ Colonnes virtuelles, colonne dynamique, multi...
✔ Plus de tests
✔ Tests correctifs, réactivités...
✔ Code source ouvert
✔ Développé par la communauté
21. Le 4 sept. 2014
Connecteurs
✔ PHP (driver natif) → BSD licence
✔ Python
✔ Perl
✔ Ruby
✔ .NET avec MyODBC
✔ JDBC (basé sur drizzle driver)
✔ C
✔ Oracle connector (licence GPL)
Tous sont LGPL → Aucune licence commerciale
22. Outils de dev : Environnement embarqué
Le 4 sept. 2014
✔ EasyPHP
✔ Xampp
✔ WampServer
✔ PHPserver
✔ WampMSS
✔ Neard
23. Le 4 sept. 2014
Exemple 1 : wampserver
✔ DL MariaDB (http://mariadb.org)
✔ Installer dans 1 dossier MySQL
✔ Déplacer les BDD sauvegardées data
✔ Lancer Wampserver
24. Exemple 2 : PHPServer
✔ DL PHPServer
http://www.treshaut.net/viewtopic.php?t=28&p=71
Le 4 sept. 2014
✔ Installation
25. Exemple 2 : PHPServer avec phpMyAdmin
Le 4 sept. 2014
26. Exemple 3 : Linux
✔ sudo apt-get install mariadb-server mariadb-client
Le 4 sept. 2014
✔ Vous retrouvez :
✔ /etc/mysql/my.cnf
✔ > mysql
✔ Au final
27. Backup Pour vos requêtes
Le 4 sept. 2014
✔ MySQLdump
✔ XtraBackup
✔ mysqlhotcopy (MyISAM)
✔ XtraBackup manager
(PHP)
✔ ...
✔ MySQL Workbench
✔ SkySQL visual Editor
(SQLYog)
✔ HeidiSQL
✔ PhpMyAdmin
✔ Toad For MySQL
✔ ...
Outils
28. Le 4 sept. 2014
Dispo dans MariaDB 10.0
✔ Moteur de stockage (storages engines) natif
✔ Réplication multisource
✔ NOW() à la place de DATETIME
✔ Amélioration des informations erreurs
✔ Amélioration schéma de performance
✔ InnoDB
✔ Replication
✔ Statistics & Monitoring
✔ Optimizer
✔ Performance
30. ✔ Précision date-heure
Le 4 sept. 2014
✔ Avant
✔ TIME
✔ DATETIME
✔ TIMESTAMP
✔ Dispo MariaDB 5.3+
✔ temporal functions
✔ CAST
✔ dynamic columns
Les fonctions (1/5)
Microseconds
31. Avant MariaDB 5.3+
Le 4 sept. 2014
✔ Create table t1 (d
DATETIME) ;
✔ Insert INTO t1 values....
✔ Select * from t1 ;
✔ Create table t2 (d
DATETIME (6) ) ;
✔ Insert Into t2 values
('2011-03-11'),
('2012-04-19 13:08:22'),
('2013-07-18 13:44:22.123456');
✔ Select * from t2 ;
Exemple (Microseconds)
32. ✔ Dispo MariaDB 5.2+
✔ Colonne dans une table
qui sa valeur calculée
automatiquement
Le 4 sept. 2014
✔ 2 types :
✔ VIRTUAL : sur le
principe d'une vue
✔ PERSISTENT : Calculé
lorsque les données sont
insérées et stockées dans
une table
Les fonctions (2/5)
Microseconds
Colonnes virtuelles
Source : https://mariadb.com/kb/en/virtual-columns/
33. Le 4 sept. 2014
Exemple (Colonnes Virtuelles) (1/2)
✔ CREATE TABLE table1 (
a INT NOT NULL,
b VARCHAR(32),
c INT AS (a mod 10) VIRTUAL,
d VARCHAR(5) AS (left(b,5)) PERSISTENT
);
✔ DESCRIBE table1;
34. Le 4 sept. 2014
Exemple (Colonnes Virtuelles) (2/2)
✔ INSERT INTO table1 VALUES
✔ (1, 'some text',default,default),
✔ (2, 'more text',5,default),
✔ (123, 'even more text',default,'something');
✔ Select * from table1;
36. Le 4 sept. 2014
Exemple (PCRE) (1/2)
✔ Fonction de remplace
✔ SELECT REGEXP_REPLACE('ab12cd','[0-9]','') AS r;
→ abcd
✔ Retourne 1ère position
✔ SELECT REGEXP_INSTR('abc','b') ;
→ 2
✔ SELECT REGEXP_INSTR('hello','o') ;
→ 5
37. Exemple (PCRE) (2/2)
✔ Retourne la partie correspondante d'une chaine
Le 4 sept. 2014
✔ SELECT REGEXP_SUBSTR(
'http://www.phpquebec.org/content/contact',
'https?://[^/]*')
FROM...
→ http://www.phpquebec.org
38. ✔ Dispo MariaDB 10+
✔ Inspiré de PostgreSQL
✔ Supprimer les opérations
qui renvoient un ensemble
de ligne supprimées
Le 4 sept. 2014
Les fonctions (4/5)
Microseconds
Colonnes virtuelles
PCRE
Delete... Returning
40. ✔ Dispo MariaDB 5.3+
✔ Pont entre les BDD
relationnelles et non
relationnelles
✔ Toutes les colonnes
stockées dans un 'blob'
✔ Possibilité de manipuler
✔ Possibilité de créer des
index virtuels
Le 4 sept. 2014
Les fonctions (5/5)
Microseconds
Colonnes virtuelles
REG EXP
Delete... Returning
Colonnes Dynamiques
41. Le 4 sept. 2014
Exemple (colonne dynamique) 1/2
CREATE TABLE t1 (
ID int
auto_increment
primary key,
Type_id int,
Prix decimal(7,2),
extra blob
);
COLUMN_CREATE(
column_nr,
value [as type],
[
column_nr,
value [as type]
],
...)
ID type_id Prix blob
42. INSERT into t1 values (NULL, 1 , 10, COLUMN_CREATE(1, 'bleu', 2 , 'M'));
INSERT into t1 values (NULL, 2 , 400, COLUMN_CREATE(3, 'RAM', 5 , 800));
UPDATE t1 SET extra = COLUMN_ADD(extra, 6 , 2048) WHERE id=2;
C1oloris Taille Materiel Mhz option
Le 4 sept. 2014
Exemple (colonne dynamique) 2/2
ID type_id Prix 1 2 3 4 5 6
1 1 10 bleu M
2 2 400 Ram 800 2048
45. Le 4 sept. 2014
Moteur de stockage : SphinxSE
● Dispo MariaDB 5.2+
● Recherche Full-text
● Ne stocke pas les données
● Client haut pour permettre à MariaDB de parler à
Sphinx searchd
● Installation dans My.cnf
[mysqld]
plugin-load= 'ha_sphinx.so';
46. Entier
Poids
Votre
requete
Group
Indexation
Requete
Le 4 sept. 2014
Exemple SphinxSE
● CREATE TABLE t1 (
id INTEGER UNSIGNED NOT NULL,
weight INTEGER NOT NULL,
query VARCHAR(3072) NOT NULL,
group_id INTEGER,
INDEX(query)
) ENGINE=SPHINX
CONNECTION="sphinx://localhost:9312/test";
● SELECT * FROM t1 WHERE query='test it;mode=any';
47. Le 4 sept. 2014
Moteur de stockage : CassandraSE
● Dispo MariaDB 10.0+
● Brique de Apache Cassandra
● Données non relationnelles (NoSQL)
● Assurer l'intégration des données SQL / NoSQL
● Mapping possible
● Manipulations :
static columns, dynamic columns, rowkey
● Installation dans My.cnf
[mysqld]
plugin-load=ha_cassandra.so
49. Le 4 sept. 2014
CassandraSE : Utilisation (2/2)
> insert into t1 values
('rowkey10', 'data1-value', 123456),
('rowkey11', 'data1-value2', 34543);
> select * from t1 where rowkey='rowkey11';
50. Le 4 sept. 2014
Moteur de stockage : Connect
● Dispo MariaDB 10.0+
● ETL : Extract, transform et Load
● Lecture / Ecriture / MAJ
– TXT, DBF, INI, XML
– MS Access, MS Excel, TBL (similaire à MERGE)
– ODBC, MySQL,SQLite, Oracle, DB2, WMI...
● Locale ou distant
● Custom possible
● Accès en parallèle sur multitables
● Installation dans My.cnf
[mysqld]
plugin-load=ha_connect.so
51. Le 4 sept. 2014
Connect : exemple CSV
● Fichier
– first,last,birthday
– "Christophe","Villeneuve","Jan 1"
– "PHP","Quebec","Sep 4"
> CREATE TABLE users_csv (
first varchar(32) NOT NULL,
last varchar(32) NOT NULL,
birthday varchar(50) NOT NULL
) ENGINE=CONNECT TABLE_TYPE =CSV FILE_NAME ='/var/lib/mysql/users.csv'
HEADER=1 SEP_CHAR=',' QUOTED=1;
> SELECT * FROM users_csv;
| first | last | birthday |
+---------------+---------------+-------------+
| Christophe | Villeneuve | Jan 1 |
| PHP | Quebec | Sep 4 |
+---------------+---------------+-------------+
52. Le 4 sept. 2014
Connect : exemple ODBC
> create Table table2
ENGINE=CONNECT TABLE_TYPE=ODBC
SRCDEF='select key, sum(l_quantity) qt from dbt3.table1 group by
key'
CONNECTION='DSN=oracle;UID=login;PWD=password';
> MariaDB [dbt3]> select sum(qt) from (select qt from table2)
as result;
→ 31444
Valeur de sum(qt)
53. Le 4 sept. 2014
Moteur de stockage : TokuDB
● Natif dans MariaDB 5.5 & MariaDB 10.0+
● (R)Tokutek & MariaDB
● Technique utilise l'arbre fractal
– Amélioration indexation
– Amélioration des requêtes
● Schéma de vitesse
● Compression
● Réplication
● Souple
55. Le 4 sept. 2014
Moteur de stockage : Spider (v3)
● Dispo MariaDB 10.0+
● Moteur de stockage fédérés comme
– Sharding / partitionnement *
– Transactions *, XA
– Intégré dans le pool de connexion
– Haute disponibilité Cluster SharedNothing
● Load balancing :
– Accès par Spider cluster avec plusieurs serveurs
MariaDB
57. Le 4 sept. 2014
Moteur de stockage : Les autres
● XtraDB (MariaDB 10.0.9)
– Fork de InnoDB (Full compatible)
● Aria appelé Maria (MariaDB 5.1)
– Anciennement MyISAM
● Mroonga (MariaDB 10.0)
– fulltext searches with Chinese, Japanese and Korean languages
● Oqgraph (MariaDB 10.0)
– Utilisé pour mettre en oeuvre des structures d'arbres
● Sequence (MariaDB 10.0)
– Retourne une séquence de nombres comme un jeu de résultats
● FederatedX (MariaDB 10.0)
– Fork de Federated
https://mariadb.com/kb/en/mariadb/documentation/storage-engines/
58. Le 4 sept. 2014
✔ Distributions
✔ OpenSUSE 12.3
✔ Gentoo
✔ FreeBSD
✔ Homebrew
✔ Slackware
✔ ArchLinux
✔ Debian / Ubuntu
✔ Fédora 7.0
✔ Redhat
✔ ...
✔ Dec 2012 Wikipedia
✔ 2013
✔ Blog de Mozilla
✔ Google Developer
Ceux qui ont déjà sauté...