Upload
lolautruche
View
223
Download
0
Embed Size (px)
Citation preview
8/8/2019 Industrializing eZ Publish Project Development
1/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++Industrializing eZ PublishProject development
2010-06-25, by Jrme Vieilledent
+
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
2/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++Summary
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
3/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++Summary
Development environmentOS
Coding environment
Synchronicity
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
4/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++Summary
Development environmentOS
Coding environment
Synchronicity
Industrializing Tests and DeliveryAutomating delivery
Unit tests in eZ Publish
Continuous integration platform
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
5/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
Development environment
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
6/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environmentSeveral issues to solve when working on a project as a team
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
7/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environmentDevelopers OS
Can be VERY heterogene
IT Departments may impose an OS (Windows in most cases)
BUT you need to work in an environment as close as possible from the targetenvironment
VMs are a suitable solution (Virtual Box, VMWare...)
Several issues to solve when working on a project as a team
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
8/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environmentDevelopers OS
Can be VERY heterogene
IT Departments may impose an OS (Windows in most cases)
BUT you need to work in an environment as close as possible from the targetenvironment
VMs are a suitable solution (Virtual Box, VMWare...)
Several issues to solve when working on a project as a team
Developers coding environmentEach developer has its preferred IDE
Unicity rimes with productivity => Choose only one IDE (I chose Eclipse)
Easier for developer support or when welcoming a new developer in the team
A good IDE provides all needed tools all-in-one
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
9/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environmentDevelopers OS
Can be VERY heterogene
IT Departments may impose an OS (Windows in most cases)
BUT you need to work in an environment as close as possible from the targetenvironment
VMs are a suitable solution (Virtual Box, VMWare...)
Several issues to solve when working on a project as a team
Developers coding environmentEach developer has its preferred IDE
Unicity rimes with productivity => Choose only one IDE (I chose Eclipse)
Easier for developer support or when welcoming a new developer in the team
A good IDE provides all needed tools all-in-one
Developers synchronicitySharing the same sources (SCM like Subversion or Git)
Sharing the same database
Sharing the same media files
Even when working with developers who are far from each other
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
10/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environment : a solutionEclipse PDT with useful plugins
Smile eZ Publish plugin (TPL syntax highlight, code completion & content class view)
eZClipse (TPL & INI syntax highlight)
Subversive
Mylyn (Bug tracker integration : Mantis, Trac, Bugzilla, Jira...)
FileSync(see below)
Virtual BoxWith an image close to target environment (lets say Ubuntu Server)
Can be run from a dedicated headless server with VBoxHeadless
FileSync Eclipse pluginSync your workspace with a remote server
Your remote server has to be accessible from your local/host computer
Samba or SSHFS are good solutions
Common dedicated MySQL server
eZ Publish (Database cluster mode enabled) + useful extensions
Subversion
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
11/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environment : a solutionForeign developers case
Different geographical centers working together on the same project
Freelances
Everyone needs to share the same database (Data & Cluster files)
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
12/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environment : a solutionForeign developers case
Different geographical centers working together on the same project
Freelances
Everyone needs to share the same database (Data & Cluster files)
IssuesToo much potential traffic with the database over the internet
Slow
Insecure
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
13/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Development environment : a solutionForeign developers case
Different geographical centers working together on the same project
Freelances
Everyone needs to share the same database (Data & Cluster files)
IssuesToo much potential traffic with the database over the internet
Slow
Insecure
SolutionDedicated Virtual Box Headless server, located in the Project Headquarter
Each foreign developer has its dedicated remote VBox
Sources are sent through SSHFS or Samba (with VPN) via FileSync automatically
Each VBox is local to the database serverDeveloper accesses to its own development server through HTTP and/or SSH
Fast and secure :-)
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
14/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
Developer computer Developersandboxvirtual server
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
15/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
16/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
MainDatabase
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
17/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
MainDatabase
ClusterDatabase
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
18/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
Industrializing tests anddelivery
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
19/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryUse scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
20/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
21/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
22/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
23/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
24/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
25/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI Update
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
+
8/8/2019 Industrializing eZ Publish Project Development
26/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
+
8/8/2019 Industrializing eZ Publish Project Development
27/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
+
8/8/2019 Industrializing eZ Publish Project Development
28/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
+
8/8/2019 Industrializing eZ Publish Project Development
29/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
http://projects.ez.no/noveniniupdate
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
+
http://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdate8/8/2019 Industrializing eZ Publish Project Development
30/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
http://projects.ez.no/noveniniupdate
Apache ANT or similar tool...
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
http://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdate8/8/2019 Industrializing eZ Publish Project Development
31/42
+
8/8/2019 Industrializing eZ Publish Project Development
32/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
http://projects.ez.no/noveniniupdate
Apache ANT or similar tool...... to push your sources/config files into staging/production platform
Connected to your SCM
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
+
http://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdate8/8/2019 Industrializing eZ Publish Project Development
33/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
http://projects.ez.no/noveniniupdate
Apache ANT or similar tool...... to push your sources/config files into staging/production platform
Connected to your SCM
Make an differential export between tags
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
++
http://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdate8/8/2019 Industrializing eZ Publish Project Development
34/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
http://projects.ez.no/noveniniupdate
Apache ANT or similar tool...... to push your sources/config files into staging/production platform
Connected to your SCM
Make an differential export between tags
Think about Rollbacks
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
++
http://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdate8/8/2019 Industrializing eZ Publish Project Development
35/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Automating deliveryeZ XML Installer
Create / Update content classes, objects and roles
Trigger your modifications from CLI (no more timeouts)
Create your own handler
http://projects.ez.no/ezxmlinstaller
Noven INI UpdateSwitch from one environment to another regarding configuration
Safely handles your INI files, config.php and cluster mode
All settings centralized in a XML file
http://projects.ez.no/noveniniupdate
Apache ANT or similar tool...... to push your sources/config files into staging/production platform
Connected to your SCM
Make an differential export between tags
Think about Rollbacks
Soon on projects.ez.no ;-)
Use scripts to deploy your developments & project configuration
mardi 21 dcembre 2010
++
http://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdatehttp://projects.ez.no/noveniniupdate8/8/2019 Industrializing eZ Publish Project Development
36/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Unit tests in eZ PublishUnit tests development are NEVER a waste of time
You spend 15-25% more time developing tests
You spend 10-20% less time debugging in the clients test phase
Unit tests then become non-regression tests
mardi 21 dcembre 2010
8/8/2019 Industrializing eZ Publish Project Development
37/42
++
8/8/2019 Industrializing eZ Publish Project Development
38/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Continuous Integration PlatformAutomatically builds your applicationUpdates from your SCM
Runs your unit and functional tests
Tests your code against your coding standards (PHPCodeSniffer)
Detects messy code (PHPMessDetector)
Makes reports and graphs about these builds
mardi 21 dcembre 2010
++
8/8/2019 Industrializing eZ Publish Project Development
39/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Continuous Integration PlatformAutomatically builds your applicationUpdates from your SCM
Runs your unit and functional tests
Tests your code against your coding standards (PHPCodeSniffer)
Detects messy code (PHPMessDetector)
Makes reports and graphs about these builds
Very useful on big projects, with extensible team of developers
=> Control
=> Stability
mardi 21 dcembre 2010
++
8/8/2019 Industrializing eZ Publish Project Development
40/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
++ Continuous Integration PlatformAutomatically builds your applicationUpdates from your SCM
Runs your unit and functional tests
Tests your code against your coding standards (PHPCodeSniffer)
Detects messy code (PHPMessDetector)
Makes reports and graphs about these builds
Very useful on big projects, with extensible team of developers
=> Control
=> Stability
2 main platforms to remember
=> PHPUnderControl (http://www.phpundercontrol.org)
=> Hudson (http://hudson-ci.org/)
mardi 21 dcembre 2010
++
http://hudson-ci.org/http://hudson-ci.org/http://hudson-ci.org/8/8/2019 Industrializing eZ Publish Project Development
41/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
+ Continuous Integration Platform
mardi 21 dcembre 2010
Questions ?
8/8/2019 Industrializing eZ Publish Project Development
42/42
SQLI, fournisseur d'innovation - Industrializing eZ Publish project development#
Questions ?
My Blog : http://www.lolart.net (french, soon in english)
My Company : http://www.sqli.com
FinanceIndustry
Services 21%
Telecom RealEstate
Public sector
mardi 21 dcembre 2010
http://images.google.fr/imgres?imgurl=http://www.surdicite.fr/uploads/uploads/Marie-Pascale/logo_la_poste.jpg&imgrefurl=http://surdicite.fr/newsletter.php%253Fidlnl%253D214&h=148&w=174&sz=28&tbnid=bdlRjlBCcy4eOM:&tbnh=85&tbnw=100&prev=/images%253Fq%253Dlogo%252Bla%252Bposte%2526um%253D1&start=1&sa=X&oi=images&ct=image&cd=1http://images.google.fr/imgres?imgurl=http://www.surdicite.fr/uploads/uploads/Marie-Pascale/logo_la_poste.jpg&imgrefurl=http://surdicite.fr/newsletter.php%253Fidlnl%253D214&h=148&w=174&sz=28&tbnid=bdlRjlBCcy4eOM:&tbnh=85&tbnw=100&prev=/images%253Fq%253Dlogo%252Bla%252Bposte%2526um%253D1&start=1&sa=X&oi=images&ct=image&cd=1http://images.google.fr/imgres?imgurl=http://www.surdicite.fr/uploads/uploads/Marie-Pascale/logo_la_poste.jpg&imgrefurl=http://surdicite.fr/newsletter.php%253Fidlnl%253D214&h=148&w=174&sz=28&tbnid=bdlRjlBCcy4eOM:&tbnh=85&tbnw=100&prev=/images%253Fq%253Dlogo%252Bla%252Bposte%2526um%253D1&start=1&sa=X&oi=images&ct=image&cd=1http://images.google.fr/imgres?imgurl=http://www.surdicite.fr/uploads/uploads/Marie-Pascale/logo_la_poste.jpg&imgrefurl=http://surdicite.fr/newsletter.php%253Fidlnl%253D214&h=148&w=174&sz=28&tbnid=bdlRjlBCcy4eOM:&tbnh=85&tbnw=100&prev=/images%253Fq%253Dlogo%252Bla%252Bposte%2526um%253D1&start=1&sa=X&oi=images&ct=image&cd=1http://images.google.fr/imgres?imgurl=http://www.surdicite.fr/uploads/uploads/Marie-Pascale/logo_la_poste.jpg&imgrefurl=http://surdicite.fr/newsletter.php%253Fidlnl%253D214&h=148&w=174&sz=28&tbnid=bdlRjlBCcy4eOM:&tbnh=85&tbnw=100&prev=/images%253Fq%253Dlogo%252Bla%252Bposte%2526um%253D1&start=1&sa=X&oi=images&ct=image&cd=1http://images.google.fr/imgres?imgurl=http://www.surdicite.fr/uploads/uploads/Marie-Pascale/logo_la_poste.jpg&imgrefurl=http://surdicite.fr/newsletter.php%253Fidlnl%253D214&h=148&w=174&sz=28&tbnid=bdlRjlBCcy4eOM:&tbnh=85&tbnw=100&prev=/images%253Fq%253Dlogo%252Bla%252Bposte%2526um%253D1&start=1&sa=X&oi=images&ct=image&cd=1http://www.sitedesmarques.com/home/goToSite.php?idmarque=1181&type=ecom&url=http%253A%252F%252Fwww.kiloutou.fr%252Fhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1181&type=ecom&url=http%253A%252F%252Fwww.kiloutou.fr%252Fhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1181&type=ecom&url=http%253A%252F%252Fwww.kiloutou.fr%252Fhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1181&type=ecom&url=http%253A%252F%252Fwww.kiloutou.fr%252Fhttp://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.suez.fr/fr/suez/http://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.caisse-epargne.fr/asp/modele1.aspxhttp://www.caisse-epargne.fr/asp/modele1.aspxhttp://www.caisse-epargne.fr/asp/modele1.aspxhttp://www.caisse-epargne.fr/asp/modele1.aspxhttp://fr.wikipedia.org/wiki/Image:Logo_natixis.gifhttp://fr.wikipedia.org/wiki/Image:Logo_natixis.gifhttp://fr.wikipedia.org/wiki/Image:Logo_natixis.gifhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1679&type=ecom&url=http%253A%252F%252Fwww.credit-agricole.fr%252Fhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1679&type=ecom&url=http%253A%252F%252Fwww.credit-agricole.fr%252Fhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1679&type=ecom&url=http%253A%252F%252Fwww.credit-agricole.fr%252Fhttp://www.sitedesmarques.com/home/goToSite.php?idmarque=1679&type=ecom&url=http%253A%252F%252Fwww.credit-agricole.fr%252Fhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://brandsoftheworld.com/download/brand/66649.htmlhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.renault.com/renault_com/fr/main/index.aspxhttp://www.sqli.com/http://www.sqli.com/http://www.lolart.net/http://www.lolart.net/