SlideShare a Scribd company logo
My web application in 20 minutes
( code generation with Telosys )
https://www.telosys.org/ @telosys
@telosys https://www.telosys.org
By day
Senior architect
at
@ltguerin
Laurent Guérin Open Source supporter
Passionate by software engineering
and development industrialization
By night
Creator of
code generator
Who’s speaking?
@telosys https://www.telosys.org
• Productivity : write the templates once and reuse them many times
• Simplicity : a model brings a high level of abstraction (part of the
complexity is managed by the generator)
• Standardization & Consistency : get always the code you expect (same
principles, patterns, behaviors, conventions, coding rules, etc)
• Quality : Clean Code, Software Craftsmanship, testability, Unit Tests
generation, etc
Why should I use code generation?
But very often code generators are heavy and complicated tools :-(
That's why Telosys has been created…
@telosys https://www.telosys.org
Telosys philosophy
Keep it open, simple and pragmatic!
@telosys https://www.telosys.org
A “project booster”
Light tool designed to be usable by any developers
Not a strategic choice
(you can use it and drop it after use)
Quick start (very short learning curve)
Telosys in short
@telosys https://www.telosys.org
no "black box"
syndrome
everything is
customizable
Customization : generate the code you want
? !
models
templates resulting code
is exactly what
you want
any file, any language, any framework
@telosys https://www.telosys.org
Eclipse Plugin C L I
with extensions
for VSCode, Atom, Notepad++, etc
Telosys offers 2 tools
Mon application web en 20 minutes
Controllers Services
Views
D.A.O.
Entities
DSL
model
Bundle of
templates
Bundle of
templates
Scripts
(SQL)
Bundle of
templates
Plant
UML
Demo - The big picture
Telosys CLI
Project
Generated
code
Generator with
model & templates
1
2
3
VS Code
Tests
Generation
Demo – Step 1 : define a model
Demo – Step 2 : define or reuse templates
Demo – Step 2 : define or reuse templates
Demo – Step 3 : code generation
Part 1 : use bundle “plantuml”
to generate “model.planuml” file
DSL
model
Bundle
“plantuml”
> b plant
> gen * *
Demo – Step 3 : code generation
Part 2 : use bundle
“python-persistence-sqlalchemy”
to generate python files
(entities, DAO, services, unit test, scripts)
DSL
model
Services D.A.O.
Entities
Bundle
“python-persistence-sqlalchemy”
Scripts
Tests
Demo : launch scripts ( database & unit tests )
> create_database.py
> init_database.py
> run_tests.py
Demo – Step 3 : code generation
Part 3 : use bundle
“python-web-mvc-bottle”
to generate python files & .tpl files
(controllers & views)
DSL
model
Bundle
“python-web-mvc-bottle”
Controllers
( xxx.py )
Views
( xxx.tpl )
Services
Entities
D.A.O.
Demo : after code generation… launch the web app
> app.py
Mon application web en 20 minutes
Stay tuned
@telosys tag "telosys" groups/1340197/ channel "Telosys"
www.telosys.org
• Telosys CLI :
https://github.com/telosys-tools-bricks/telosys-cli
• Telosys Eclipse plugin :
https://github.com/telosys-eclipse-v3/TelosysToolsPlugin
• Bundles of templates :
https://github.com/telosys-templates-v3
All stars are welcome ;-)
Telosys items used for the demo
• Model :
• https://telosys.org/download/models-v3/ : Cars-dsl-model-telosys-330.zip
• Bundles of templates :
• PlantUML :
https://github.com/telosys-templates-v3/plantuml-T330
• Python entities, DAO (SQLAlchemy), services & DB init :
https://github.com/telosys-templates-v3/python-persistence-sqlalchemy
• Python MVC controllers and views (Bottle framework) :
https://github.com/telosys-templates-v3/python-web-mvc-bottle
• Python REST API (Bottle framework) :
https://github.com/telosys-templates-v3/python-web-rest-bottle
Python items used for the demo
> python --version
Python 3.9.0
> pip list
Package Version
---------- -------
bottle 0.12.19
greenlet 1.1.2
pip 21.3.1
setuptools 49.2.1
SQLAlchemy 1.4.26
https://bottlepy.org/docs/dev/
https://www.sqlalchemy.org/

More Related Content

What's hot

CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
Daniel Bryant
 
Docker container security
Docker container securityDocker container security
Docker container security
Thoughtworks
 
Platform for a Connected World
Platform for a Connected WorldPlatform for a Connected World
Platform for a Connected World
All Things Open
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and Docker
Fayçal Bziou
 
Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016
Keith Lynch
 
Enabling Cloud Native Buildpacks for Windows Containers
Enabling Cloud Native Buildpacks for Windows ContainersEnabling Cloud Native Buildpacks for Windows Containers
Enabling Cloud Native Buildpacks for Windows Containers
VMware Tanzu
 
Security Patterns for Microservice Architectures - London Java Community 2020
Security Patterns for Microservice Architectures - London Java Community 2020Security Patterns for Microservice Architectures - London Java Community 2020
Security Patterns for Microservice Architectures - London Java Community 2020
Matt Raible
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
All Things Open
 
DevSecCon Lightning 2021- Container defaults are a hackers best friend
DevSecCon Lightning 2021- Container defaults are a hackers best friendDevSecCon Lightning 2021- Container defaults are a hackers best friend
DevSecCon Lightning 2021- Container defaults are a hackers best friend
Eric Smalling
 
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Codemotion
 
DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1
Docker, Inc.
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
Patrick Chanezon
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Moving a Monolith to Kubernetes
Moving a Monolith to KubernetesMoving a Monolith to Kubernetes
Moving a Monolith to Kubernetes
M. Scott Ford
 
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented Development
Ambassador Labs
 
Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!
Eric Smalling
 
Cleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven DevelopmentCleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven Development
All Things Open
 
DockerDay2015: Deploy Apps on IBM Bluemix
DockerDay2015: Deploy Apps on IBM BluemixDockerDay2015: Deploy Apps on IBM Bluemix
DockerDay2015: Deploy Apps on IBM Bluemix
Docker-Hanoi
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
Todd Fritz
 
The Open Sourcing of Infrastructure
The Open Sourcing of InfrastructureThe Open Sourcing of Infrastructure
The Open Sourcing of Infrastructure
All Things Open
 

What's hot (20)

CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
CNCF Webinar Series: "Creating an Effective Developer Experience on Kubernetes"
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Platform for a Connected World
Platform for a Connected WorldPlatform for a Connected World
Platform for a Connected World
 
Introduction to Containers and Docker
Introduction to Containers and DockerIntroduction to Containers and Docker
Introduction to Containers and Docker
 
Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016Containers - Transforming the data centre as we know it 2016
Containers - Transforming the data centre as we know it 2016
 
Enabling Cloud Native Buildpacks for Windows Containers
Enabling Cloud Native Buildpacks for Windows ContainersEnabling Cloud Native Buildpacks for Windows Containers
Enabling Cloud Native Buildpacks for Windows Containers
 
Security Patterns for Microservice Architectures - London Java Community 2020
Security Patterns for Microservice Architectures - London Java Community 2020Security Patterns for Microservice Architectures - London Java Community 2020
Security Patterns for Microservice Architectures - London Java Community 2020
 
Cross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open SourceCross-platform Mobile Development on Open Source
Cross-platform Mobile Development on Open Source
 
DevSecCon Lightning 2021- Container defaults are a hackers best friend
DevSecCon Lightning 2021- Container defaults are a hackers best friendDevSecCon Lightning 2021- Container defaults are a hackers best friend
DevSecCon Lightning 2021- Container defaults are a hackers best friend
 
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
Debug, Analyze and Optimize Games with Intel Tools - Matteo Valoriani - Codem...
 
DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1DockerCon EU 2017 - General Session Day 1
DockerCon EU 2017 - General Session Day 1
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Moving a Monolith to Kubernetes
Moving a Monolith to KubernetesMoving a Monolith to Kubernetes
Moving a Monolith to Kubernetes
 
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented Development
 
Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!Hacking into your containers, and how to stop it!
Hacking into your containers, and how to stop it!
 
Cleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven DevelopmentCleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven Development
 
DockerDay2015: Deploy Apps on IBM Bluemix
DockerDay2015: Deploy Apps on IBM BluemixDockerDay2015: Deploy Apps on IBM Bluemix
DockerDay2015: Deploy Apps on IBM Bluemix
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
 
The Open Sourcing of Infrastructure
The Open Sourcing of InfrastructureThe Open Sourcing of Infrastructure
The Open Sourcing of Infrastructure
 

Similar to Mon application web en 20 minutes

Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
PranavPatil822557
 
Telosys project booster Paris Open Source Summit 2019
Telosys project booster Paris Open Source Summit 2019Telosys project booster Paris Open Source Summit 2019
Telosys project booster Paris Open Source Summit 2019
Laurent Guérin
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
sKaushikNarayanan
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
MvkZ
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical Solutions
Jules Pierre-Louis
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
Greg Sohl
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
Sébastien Le Gall
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
Mohammed Tanveer
 
Telosys tutorial - Code generation for a Python web application based on Bott...
Telosys tutorial - Code generation for a Python web application based on Bott...Telosys tutorial - Code generation for a Python web application based on Bott...
Telosys tutorial - Code generation for a Python web application based on Bott...
Laurent Guérin
 
How to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
RapidValue
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
Anand Ramdeo
 
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A CookbookJavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
Jorge Hidalgo
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build Technology
Philip Johnson
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
 

Similar to Mon application web en 20 minutes (20)

Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
Machine Learning , Analytics & Cyber Security the Next Level Threat Analytics...
 
Telosys project booster Paris Open Source Summit 2019
Telosys project booster Paris Open Source Summit 2019Telosys project booster Paris Open Source Summit 2019
Telosys project booster Paris Open Source Summit 2019
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Big datatraining.in devops-part1
Big datatraining.in devops-part1Big datatraining.in devops-part1
Big datatraining.in devops-part1
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical Solutions
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Telosys tutorial - Code generation for a Python web application based on Bott...
Telosys tutorial - Code generation for a Python web application based on Bott...Telosys tutorial - Code generation for a Python web application based on Bott...
Telosys tutorial - Code generation for a Python web application based on Bott...
 
How to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular FrameworkHow to Implement Micro Frontend Architecture using Angular Framework
How to Implement Micro Frontend Architecture using Angular Framework
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A CookbookJavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
JavaOne 2016 - CON3080 - Testing Java Web Applications with Selenium: A Cookbook
 
Introduction to Software Build Technology
Introduction to Software Build TechnologyIntroduction to Software Build Technology
Introduction to Software Build Technology
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 

More from Open Source Experience

GAFAM or not GAFAM dans les collectivités
GAFAM or not GAFAM dans les collectivitésGAFAM or not GAFAM dans les collectivités
GAFAM or not GAFAM dans les collectivités
Open Source Experience
 
API != REST - procmail à la rescousse
API != REST - procmail à la rescousseAPI != REST - procmail à la rescousse
API != REST - procmail à la rescousse
Open Source Experience
 
Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?
Open Source Experience
 
Évolutions de la gouvernance des projets libres
Évolutions de la gouvernance des projets libresÉvolutions de la gouvernance des projets libres
Évolutions de la gouvernance des projets libres
Open Source Experience
 
Data in Motion : un enjeu pour la modernisation des systèmes d'information
Data in Motion : un enjeu pour la modernisation des systèmes d'informationData in Motion : un enjeu pour la modernisation des systèmes d'information
Data in Motion : un enjeu pour la modernisation des systèmes d'information
Open Source Experience
 
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Open Source Experience
 
La montée en puissance de l’infrastructure ouverte
La montée en puissance de l’infrastructure ouverteLa montée en puissance de l’infrastructure ouverte
La montée en puissance de l’infrastructure ouverte
Open Source Experience
 
L’Open Science au service des personnes atteintes d’épilepsie
L’Open Science au service des personnes atteintes d’épilepsieL’Open Science au service des personnes atteintes d’épilepsie
L’Open Science au service des personnes atteintes d’épilepsie
Open Source Experience
 
Une infrastructure Cloud et une solution IDaaS 100% libres
Une infrastructure Cloud et une solution IDaaS 100% libresUne infrastructure Cloud et une solution IDaaS 100% libres
Une infrastructure Cloud et une solution IDaaS 100% libres
Open Source Experience
 
Impliquer des contributeurs externes dans son projet open source
Impliquer des contributeurs externes dans son projet open sourceImpliquer des contributeurs externes dans son projet open source
Impliquer des contributeurs externes dans son projet open source
Open Source Experience
 
Conseils de survie pour hiérarchiser les cybermenaces
Conseils de survie pour hiérarchiser les cybermenacesConseils de survie pour hiérarchiser les cybermenaces
Conseils de survie pour hiérarchiser les cybermenaces
Open Source Experience
 
AliceVision : pipeline de reconstruction 3D open source
AliceVision : pipeline de reconstruction 3D open sourceAliceVision : pipeline de reconstruction 3D open source
AliceVision : pipeline de reconstruction 3D open source
Open Source Experience
 
E-commerce en 2021 : grandes tendances technologiques dans le développement d...
E-commerce en 2021 : grandes tendances technologiques dans le développement d...E-commerce en 2021 : grandes tendances technologiques dans le développement d...
E-commerce en 2021 : grandes tendances technologiques dans le développement d...
Open Source Experience
 
Démo : comment sécuriser des milliers de serveurs gratuitement
Démo : comment sécuriser des milliers de serveurs gratuitementDémo : comment sécuriser des milliers de serveurs gratuitement
Démo : comment sécuriser des milliers de serveurs gratuitement
Open Source Experience
 
GNU/Linux ou Android comme système d'exploitation embarqué ?
GNU/Linux ou Android comme système d'exploitation embarqué ?GNU/Linux ou Android comme système d'exploitation embarqué ?
GNU/Linux ou Android comme système d'exploitation embarqué ?
Open Source Experience
 
Démystifier les architectures orientées événements avec Apache Kafka
Démystifier les architectures orientées événements avec Apache KafkaDémystifier les architectures orientées événements avec Apache Kafka
Démystifier les architectures orientées événements avec Apache Kafka
Open Source Experience
 
Partagez votre code et non vos secrets
Partagez votre code et non vos secretsPartagez votre code et non vos secrets
Partagez votre code et non vos secrets
Open Source Experience
 
Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...
Open Source Experience
 
Arawa workspace osxp
Arawa workspace osxpArawa workspace osxp
Arawa workspace osxp
Open Source Experience
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...
Open Source Experience
 

More from Open Source Experience (20)

GAFAM or not GAFAM dans les collectivités
GAFAM or not GAFAM dans les collectivitésGAFAM or not GAFAM dans les collectivités
GAFAM or not GAFAM dans les collectivités
 
API != REST - procmail à la rescousse
API != REST - procmail à la rescousseAPI != REST - procmail à la rescousse
API != REST - procmail à la rescousse
 
Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?Vous souhaitez passer votre projet en open source ?
Vous souhaitez passer votre projet en open source ?
 
Évolutions de la gouvernance des projets libres
Évolutions de la gouvernance des projets libresÉvolutions de la gouvernance des projets libres
Évolutions de la gouvernance des projets libres
 
Data in Motion : un enjeu pour la modernisation des systèmes d'information
Data in Motion : un enjeu pour la modernisation des systèmes d'informationData in Motion : un enjeu pour la modernisation des systèmes d'information
Data in Motion : un enjeu pour la modernisation des systèmes d'information
 
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
Quelle est la valeur de l’open source ? Étude de l’UE sur l’impact de l’open ...
 
La montée en puissance de l’infrastructure ouverte
La montée en puissance de l’infrastructure ouverteLa montée en puissance de l’infrastructure ouverte
La montée en puissance de l’infrastructure ouverte
 
L’Open Science au service des personnes atteintes d’épilepsie
L’Open Science au service des personnes atteintes d’épilepsieL’Open Science au service des personnes atteintes d’épilepsie
L’Open Science au service des personnes atteintes d’épilepsie
 
Une infrastructure Cloud et une solution IDaaS 100% libres
Une infrastructure Cloud et une solution IDaaS 100% libresUne infrastructure Cloud et une solution IDaaS 100% libres
Une infrastructure Cloud et une solution IDaaS 100% libres
 
Impliquer des contributeurs externes dans son projet open source
Impliquer des contributeurs externes dans son projet open sourceImpliquer des contributeurs externes dans son projet open source
Impliquer des contributeurs externes dans son projet open source
 
Conseils de survie pour hiérarchiser les cybermenaces
Conseils de survie pour hiérarchiser les cybermenacesConseils de survie pour hiérarchiser les cybermenaces
Conseils de survie pour hiérarchiser les cybermenaces
 
AliceVision : pipeline de reconstruction 3D open source
AliceVision : pipeline de reconstruction 3D open sourceAliceVision : pipeline de reconstruction 3D open source
AliceVision : pipeline de reconstruction 3D open source
 
E-commerce en 2021 : grandes tendances technologiques dans le développement d...
E-commerce en 2021 : grandes tendances technologiques dans le développement d...E-commerce en 2021 : grandes tendances technologiques dans le développement d...
E-commerce en 2021 : grandes tendances technologiques dans le développement d...
 
Démo : comment sécuriser des milliers de serveurs gratuitement
Démo : comment sécuriser des milliers de serveurs gratuitementDémo : comment sécuriser des milliers de serveurs gratuitement
Démo : comment sécuriser des milliers de serveurs gratuitement
 
GNU/Linux ou Android comme système d'exploitation embarqué ?
GNU/Linux ou Android comme système d'exploitation embarqué ?GNU/Linux ou Android comme système d'exploitation embarqué ?
GNU/Linux ou Android comme système d'exploitation embarqué ?
 
Démystifier les architectures orientées événements avec Apache Kafka
Démystifier les architectures orientées événements avec Apache KafkaDémystifier les architectures orientées événements avec Apache Kafka
Démystifier les architectures orientées événements avec Apache Kafka
 
Partagez votre code et non vos secrets
Partagez votre code et non vos secretsPartagez votre code et non vos secrets
Partagez votre code et non vos secrets
 
Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...Ciel ! Mon Kubernetes mine des bitcoins...
Ciel ! Mon Kubernetes mine des bitcoins...
 
Arawa workspace osxp
Arawa workspace osxpArawa workspace osxp
Arawa workspace osxp
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...
 

Recently uploaded

TEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with YouTEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with You
marcofolio
 
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
josephinedrea942
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
Philip Schwarz
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
45unexpected
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
rachitkumar09887
 
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdfIoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
mohitd6
 
11 Top Cross Browser Testing Tools to Know About.pdf
11 Top Cross Browser Testing Tools to Know About.pdf11 Top Cross Browser Testing Tools to Know About.pdf
11 Top Cross Browser Testing Tools to Know About.pdf
kalichargn70th171
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech
 
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
3610stuck
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
shivamt017
 
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in CityGirls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
neshakor5152
 
To Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance SheetsTo Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance Sheets
Task Tracker
 
Odoo E-commerce website development guides
Odoo E-commerce website development guidesOdoo E-commerce website development guides
Odoo E-commerce website development guides
jhkdigitalmarketing
 
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
confluent
 
How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024
TaskSprint | Employee Efficiency Software
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
aslasdfmkhan4750
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
OnePlan Solutions
 
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdfBlockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
Natsoft Corporation
 
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
ashiklo9823
 

Recently uploaded (20)

TEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with YouTEQnation 2024: Sustainable Software: May the Green Code Be with You
TEQnation 2024: Sustainable Software: May the Green Code Be with You
 
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
HIRE A HACKER FOR CHEATING HUSBAND/WIFE)
 
Folding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a seriesFolding Cheat Sheet #7 - seventh in a series
Folding Cheat Sheet #7 - seventh in a series
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Servic...
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
 
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdfIoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
IoT In Manufacturing_ Use Cases, Benefits, and Challenges.pdf
 
11 Top Cross Browser Testing Tools to Know About.pdf
11 Top Cross Browser Testing Tools to Know About.pdf11 Top Cross Browser Testing Tools to Know About.pdf
11 Top Cross Browser Testing Tools to Know About.pdf
 
Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.Mobile App Development Company in Noida - Drona Infotech.
Mobile App Development Company in Noida - Drona Infotech.
 
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
Mumbai Girls Call Mumbai 🎈🔥9930687706 🔥💋🎈 Provide Best And Top Girl Service A...
 
Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.Shivam Pandit working on Php Web Developer.
Shivam Pandit working on Php Web Developer.
 
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in CityGirls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
Girls Call Mysore 000XX00000 Provide Best And Top Girl Service And No1 in City
 
To Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance SheetsTo Avoid Mistakes When Using Online Attendance Sheets
To Avoid Mistakes When Using Online Attendance Sheets
 
Odoo E-commerce website development guides
Odoo E-commerce website development guidesOdoo E-commerce website development guides
Odoo E-commerce website development guides
 
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
Unleashing the Future: Building a Scalable and Up-to-Date GenAI Chatbot with ...
 
How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
 
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdfBlockchain in Agricultural Traceability Use Cases in 2024.pdf
Blockchain in Agricultural Traceability Use Cases in 2024.pdf
 
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
Vip Girls Call ServiCe Hyderabad 0000000000 Pooja Best High Class Hyderabad A...
 

Mon application web en 20 minutes

  • 1. My web application in 20 minutes ( code generation with Telosys ) https://www.telosys.org/ @telosys
  • 2. @telosys https://www.telosys.org By day Senior architect at @ltguerin Laurent Guérin Open Source supporter Passionate by software engineering and development industrialization By night Creator of code generator Who’s speaking?
  • 3. @telosys https://www.telosys.org • Productivity : write the templates once and reuse them many times • Simplicity : a model brings a high level of abstraction (part of the complexity is managed by the generator) • Standardization & Consistency : get always the code you expect (same principles, patterns, behaviors, conventions, coding rules, etc) • Quality : Clean Code, Software Craftsmanship, testability, Unit Tests generation, etc Why should I use code generation? But very often code generators are heavy and complicated tools :-( That's why Telosys has been created…
  • 5. @telosys https://www.telosys.org A “project booster” Light tool designed to be usable by any developers Not a strategic choice (you can use it and drop it after use) Quick start (very short learning curve) Telosys in short
  • 6. @telosys https://www.telosys.org no "black box" syndrome everything is customizable Customization : generate the code you want ? ! models templates resulting code is exactly what you want any file, any language, any framework
  • 7. @telosys https://www.telosys.org Eclipse Plugin C L I with extensions for VSCode, Atom, Notepad++, etc Telosys offers 2 tools
  • 9. Controllers Services Views D.A.O. Entities DSL model Bundle of templates Bundle of templates Scripts (SQL) Bundle of templates Plant UML Demo - The big picture Telosys CLI Project Generated code Generator with model & templates 1 2 3 VS Code Tests Generation
  • 10. Demo – Step 1 : define a model
  • 11. Demo – Step 2 : define or reuse templates
  • 12. Demo – Step 2 : define or reuse templates
  • 13. Demo – Step 3 : code generation Part 1 : use bundle “plantuml” to generate “model.planuml” file DSL model Bundle “plantuml” > b plant > gen * *
  • 14. Demo – Step 3 : code generation Part 2 : use bundle “python-persistence-sqlalchemy” to generate python files (entities, DAO, services, unit test, scripts) DSL model Services D.A.O. Entities Bundle “python-persistence-sqlalchemy” Scripts Tests
  • 15. Demo : launch scripts ( database & unit tests ) > create_database.py > init_database.py > run_tests.py
  • 16. Demo – Step 3 : code generation Part 3 : use bundle “python-web-mvc-bottle” to generate python files & .tpl files (controllers & views) DSL model Bundle “python-web-mvc-bottle” Controllers ( xxx.py ) Views ( xxx.tpl ) Services Entities D.A.O.
  • 17. Demo : after code generation… launch the web app > app.py
  • 19. Stay tuned @telosys tag "telosys" groups/1340197/ channel "Telosys" www.telosys.org • Telosys CLI : https://github.com/telosys-tools-bricks/telosys-cli • Telosys Eclipse plugin : https://github.com/telosys-eclipse-v3/TelosysToolsPlugin • Bundles of templates : https://github.com/telosys-templates-v3 All stars are welcome ;-)
  • 20. Telosys items used for the demo • Model : • https://telosys.org/download/models-v3/ : Cars-dsl-model-telosys-330.zip • Bundles of templates : • PlantUML : https://github.com/telosys-templates-v3/plantuml-T330 • Python entities, DAO (SQLAlchemy), services & DB init : https://github.com/telosys-templates-v3/python-persistence-sqlalchemy • Python MVC controllers and views (Bottle framework) : https://github.com/telosys-templates-v3/python-web-mvc-bottle • Python REST API (Bottle framework) : https://github.com/telosys-templates-v3/python-web-rest-bottle
  • 21. Python items used for the demo > python --version Python 3.9.0 > pip list Package Version ---------- ------- bottle 0.12.19 greenlet 1.1.2 pip 21.3.1 setuptools 49.2.1 SQLAlchemy 1.4.26 https://bottlepy.org/docs/dev/ https://www.sqlalchemy.org/