SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Acceleo Code Generation
                              Let's start with an Android example


          Jonathan Musset - jonathan.musset@obeo.fr
          Obeo




                                                                    1
Acceleo Code Generation
                                                          Let's start with an Android example




  Acceleo : what's that new code generation engine?

        Meta-model and templates based technology

        Implementation of the Model To Text OMG standard (MTL)

        Eclipse Modelling / M2T project

        Pragmatic approach – How to start from example?




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                              Let's start with an Android example




  This is a Quick Tutorial – My goals

        Beginners will see a simple but concrete case-study

        Acceleo addicts will discover some new killing features

        Android experts will learn enough of the basics to be able to create advanced
        code generator in a few days. As you will see, I'm not an Android expert...




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                                  Let's start with an Android example




  Prototype based approach – Starting from an example

        A classic example of Android application : « MyContacts »

        « We would like to be able to fully generate the same kind of application »


                                                         MyContacts




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                                   Let's start with an Android example




  The prototype sources and the model

        Different kinds of sources to be generated!
                Java UI, Java DB, XML, properties...



        The model must contain all the specific settings of the application
                Android Activity, Entity Fields...



        One model element → « N » generated text parts




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                           Let's start with an Android example




  Initialize the Android code generation project

        An MTL file for each kind of generated file




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                             Let's start with an Android example




  Initialize the workflow – The main entry point

        An MTL file that calls the other ones... (Mentioned in the OMG specification)

        Java / MWE / ANT? Call the Java Standalone API to run the code generation!




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                Let's start with an Android example




  Editing the code generator – Quick replacement




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                Let's start with an Android example




  Editing the code generator – Quick hierarchy tree




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                Let's start with an Android example




  Run and test the generated version of the prototype

                                            MyContacts




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                Let's start with an Android example




  Run on other models to create new applications...




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                               Let's start with an Android example




  A little bit about incremental generation

        « My web service is conserved when I generate the application again »

        → Defining specific coding zones with user tags [protected]

        → Using JMerge with the @generated annotation




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                            Let's start with an Android example




  Workbench Acceleo views – Edit and maintain!

        The « Result View » to show how the text and the model are synchronized

        The « Overrides View » to override an existing template behavior

        The « Patterns View » to define your own completion proposal




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                                               Let's start with an Android example




  Conclusion

        Now you can make a complete Android code generator (more widgets...)

        We plan to have Acceleo graduate along with the Helios release

        Version 3.0 – The last stable release out of Eclipse was 2.x




© Copyright Obeo | 22 March, 2010
Acceleo Code Generation
                                 Let's start with an Android example


          Jonathan Musset - jonathan.musset@obeo.fr
          Obeo




                                                                       15

Contenu connexe

Similaire à Acceleo - Let's start with an Android example

Telerik Kendo UI vs. AngularJS
Telerik Kendo UI vs. AngularJSTelerik Kendo UI vs. AngularJS
Telerik Kendo UI vs. AngularJSRainer Stropek
 
Acing architecture
Acing architectureAcing architecture
Acing architectureColin Lee
 
Cloud Computing: IC4 Cloud On-Boarding Clinic, DCU
Cloud Computing: IC4 Cloud On-Boarding Clinic, DCUCloud Computing: IC4 Cloud On-Boarding Clinic, DCU
Cloud Computing: IC4 Cloud On-Boarding Clinic, DCUkantanmt
 
Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Luis Beltran
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidConAmir Zuker
 
Conference DotJS 2015 Paris review
Conference DotJS 2015 Paris reviewConference DotJS 2015 Paris review
Conference DotJS 2015 Paris reviewOleksii Prohonnyi
 
The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...Frederico Maia Arantes
 
Owasp Code Crawler Presentation
Owasp Code Crawler PresentationOwasp Code Crawler Presentation
Owasp Code Crawler Presentationalessiomarziali
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015Jollen Chen
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdfTasnim Jahan
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdfTasnim Jahan
 
MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010fmadiot
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaPedro J. Molina
 
How to Solve Singleton Error in the Odoo 17
How to Solve Singleton Error in the  Odoo 17How to Solve Singleton Error in the  Odoo 17
How to Solve Singleton Error in the Odoo 17Celine George
 
VIPER Architecture
VIPER ArchitectureVIPER Architecture
VIPER ArchitectureAhmed Lotfy
 
Tutorial introduction to OSGi
Tutorial introduction to OSGiTutorial introduction to OSGi
Tutorial introduction to OSGiPaul Bakker
 

Similaire à Acceleo - Let's start with an Android example (20)

Telerik Kendo UI vs. AngularJS
Telerik Kendo UI vs. AngularJSTelerik Kendo UI vs. AngularJS
Telerik Kendo UI vs. AngularJS
 
Acing architecture
Acing architectureAcing architecture
Acing architecture
 
Cloud Computing: IC4 Cloud On-Boarding Clinic, DCU
Cloud Computing: IC4 Cloud On-Boarding Clinic, DCUCloud Computing: IC4 Cloud On-Boarding Clinic, DCU
Cloud Computing: IC4 Cloud On-Boarding Clinic, DCU
 
Whats New in Visual Studio 2019
Whats New in Visual Studio 2019Whats New in Visual Studio 2019
Whats New in Visual Studio 2019
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidCon
 
Conference DotJS 2015 Paris review
Conference DotJS 2015 Paris reviewConference DotJS 2015 Paris review
Conference DotJS 2015 Paris review
 
2010 06 22 omg - obeo
2010 06 22   omg - obeo2010 06 22   omg - obeo
2010 06 22 omg - obeo
 
The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...The best way to create and deploy web apps with full-stack type safety - Mete...
The best way to create and deploy web apps with full-stack type safety - Mete...
 
Owasp Code Crawler Presentation
Owasp Code Crawler PresentationOwasp Code Crawler Presentation
Owasp Code Crawler Presentation
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
 
Android app development SEO Expert Bangladesh LTD.pdf
Android app development  SEO Expert Bangladesh LTD.pdfAndroid app development  SEO Expert Bangladesh LTD.pdf
Android app development SEO Expert Bangladesh LTD.pdf
 
MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010MoDisco Eclipse-OMG Symp 2010
MoDisco Eclipse-OMG Symp 2010
 
What is MVVM?
What is MVVM?What is MVVM?
What is MVVM?
 
DAY1.pptx
DAY1.pptxDAY1.pptx
DAY1.pptx
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
 
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. MolinaACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
 
How to Solve Singleton Error in the Odoo 17
How to Solve Singleton Error in the  Odoo 17How to Solve Singleton Error in the  Odoo 17
How to Solve Singleton Error in the Odoo 17
 
VIPER Architecture
VIPER ArchitectureVIPER Architecture
VIPER Architecture
 
Tutorial introduction to OSGi
Tutorial introduction to OSGiTutorial introduction to OSGi
Tutorial introduction to OSGi
 

Dernier

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 

Dernier (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 

Acceleo - Let's start with an Android example

  • 1. Acceleo Code Generation Let's start with an Android example Jonathan Musset - jonathan.musset@obeo.fr Obeo 1
  • 2. Acceleo Code Generation Let's start with an Android example Acceleo : what's that new code generation engine? Meta-model and templates based technology Implementation of the Model To Text OMG standard (MTL) Eclipse Modelling / M2T project Pragmatic approach – How to start from example? © Copyright Obeo | 22 March, 2010
  • 3. Acceleo Code Generation Let's start with an Android example This is a Quick Tutorial – My goals Beginners will see a simple but concrete case-study Acceleo addicts will discover some new killing features Android experts will learn enough of the basics to be able to create advanced code generator in a few days. As you will see, I'm not an Android expert... © Copyright Obeo | 22 March, 2010
  • 4. Acceleo Code Generation Let's start with an Android example Prototype based approach – Starting from an example A classic example of Android application : « MyContacts » « We would like to be able to fully generate the same kind of application » MyContacts © Copyright Obeo | 22 March, 2010
  • 5. Acceleo Code Generation Let's start with an Android example The prototype sources and the model Different kinds of sources to be generated! Java UI, Java DB, XML, properties... The model must contain all the specific settings of the application Android Activity, Entity Fields... One model element → « N » generated text parts © Copyright Obeo | 22 March, 2010
  • 6. Acceleo Code Generation Let's start with an Android example Initialize the Android code generation project An MTL file for each kind of generated file © Copyright Obeo | 22 March, 2010
  • 7. Acceleo Code Generation Let's start with an Android example Initialize the workflow – The main entry point An MTL file that calls the other ones... (Mentioned in the OMG specification) Java / MWE / ANT? Call the Java Standalone API to run the code generation! © Copyright Obeo | 22 March, 2010
  • 8. Acceleo Code Generation Let's start with an Android example Editing the code generator – Quick replacement © Copyright Obeo | 22 March, 2010
  • 9. Acceleo Code Generation Let's start with an Android example Editing the code generator – Quick hierarchy tree © Copyright Obeo | 22 March, 2010
  • 10. Acceleo Code Generation Let's start with an Android example Run and test the generated version of the prototype MyContacts © Copyright Obeo | 22 March, 2010
  • 11. Acceleo Code Generation Let's start with an Android example Run on other models to create new applications... © Copyright Obeo | 22 March, 2010
  • 12. Acceleo Code Generation Let's start with an Android example A little bit about incremental generation « My web service is conserved when I generate the application again » → Defining specific coding zones with user tags [protected] → Using JMerge with the @generated annotation © Copyright Obeo | 22 March, 2010
  • 13. Acceleo Code Generation Let's start with an Android example Workbench Acceleo views – Edit and maintain! The « Result View » to show how the text and the model are synchronized The « Overrides View » to override an existing template behavior The « Patterns View » to define your own completion proposal © Copyright Obeo | 22 March, 2010
  • 14. Acceleo Code Generation Let's start with an Android example Conclusion Now you can make a complete Android code generator (more widgets...) We plan to have Acceleo graduate along with the Helios release Version 3.0 – The last stable release out of Eclipse was 2.x © Copyright Obeo | 22 March, 2010
  • 15. Acceleo Code Generation Let's start with an Android example Jonathan Musset - jonathan.musset@obeo.fr Obeo 15