SlideShare ist ein Scribd-Unternehmen logo
1 von 139
Downloaden Sie, um offline zu lesen
Architecture web
           Cours




mercredi 3 avril 13
mercredi 3 avril 13
Visiblement Koh-Lanta 2014, n aura
                   pas lieu, non plus...




mercredi 3 avril 13
Lindsay Lohan a annoncé sur
                      Twitter qu elle était enceinte...




mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
Battle Plan pour
                        aujourd hui




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation     Moteurs de recherche




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation         Moteurs de recherche




                        Test de performance




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation         Moteurs de recherche




                        Test de performance              Sizing




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation         Moteurs de recherche




                        Test de performance              Sizing




                       Déploiements




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation         Moteurs de recherche




                        Test de performance              Sizing




                       Déploiements                   Tests




mercredi 3 avril 13
Battle Plan pour
                                    aujourd hui


                      Geolocalisation         Moteurs de recherche




                        Test de performance              Sizing




                       Déploiements                   Tests




                                        Exemple

mercredi 3 avril 13
Moteur de recherche




mercredi 3 avril 13
Comment
                      fonctionne un
                       moteur de
                      recherche ?
mercredi 3 avril 13
1. Normalisation




mercredi 3 avril 13
mercredi 3 avril 13
J ai mangé du chocolat




     [je], [manger], [chocolat]
mercredi 3 avril 13
2. Poids des mots


mercredi 3 avril 13
Extraordinaire loi Zipf




mercredi 3 avril 13
la fréquence d'occurrence f(n) d'un mot
                             est liée à son rang n dans l'ordre des
                             fréquences par une loi de la forme


                                f(n) = K / n




                Mandelbrot             Pareto             Shannon
mercredi 3 avril 13
TF/IDF


mercredi 3 avril 13
QUI ?
                      Doc 1                     Doc 2                      Doc 3
           Son nom est célébré par      À peine distinguait-on     Ah ! le beau temps de
           le bocage qui frémit, et     deux buts à l’extrémité    mes travaux poétiques !
           par le ruisseau qui          de la carrière : des       les beaux jours que j’ai
           murmure, les vents           chênes ombrageaient        passés près de toi ! Les
           l’emportent jusqu’à l’arc    l’un, autour de l’autre    premiers, inépuisables
           céleste, l’arc de grâce et   des palmiers se            de joie, de paix et de
           de consolation que sa        dessinaient dans l’éclat   liberté ; les derniers,
           main tendit dans les         du soir.                   empreints d’une
           nuages.                                                 mélancolie qui eut bien
                                                                   aussi ses charmes.




mercredi 3 avril 13
TF     1   = 2 / (3 + 7x2 + 21)
                          = 2/38



mercredi 3 avril 13
IDF = log (3 / 2)
                         1




mercredi 3 avril 13
tfidf1 = 2/38 x log (3/2) = 0,0092



                      tfidf2 = 0 x log (3/2) = 0



                      tfidf3 = 1/40 x log (3/2) = 0,0044




mercredi 3 avril 13
3. Indexation




mercredi 3 avril 13
mercredi 3 avril 13
Poids




mercredi 3 avril 13
Poids
                      Localisation




mercredi 3 avril 13
Poids
                      Localisation
                         Sémantique


mercredi 3 avril 13
Poids
                      Localisation
                         Sémantique
                      Popularité

mercredi 3 avril 13
Poids
                      Localisation
                         Sémantique
                      Popularité
                           Date
mercredi 3 avril 13
4. Recherche




mercredi 3 avril 13
5. Facettes

mercredi 3 avril 13
mercredi 3 avril 13
1990


               Alam Emtage


               Montréal


               Archie




mercredi 3 avril 13
Quels moteurs
                      de recherche
                      connaissez-
                         vous ?
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
Geolocalisation


mercredi 3 avril 13
mercredi 3 avril 13
Cylindrique




      Conique




                      Polaire


mercredi 3 avril 13
Distance de
        surface




mercredi 3 avril 13
Récupération de POI classé par la
                  distance par rapport à un point
                            sur la terre

             SELECT
               poi_id
             FROM poi AS p
             WHERE 6371 * 2 * ATAN2 ( SQRT ( ( SIN( ( RADIANS(p.latitude
             - @lat) / 2 ) * SIN( RADIANS(p.latitude - @lat) / 2 ) + COS
             ( RADIANS (@lat )) * COS ( RADIANS ( p.latitude ) ) * SIN
             (   RADIANS(p.longitude    -   @long)   /   2   )    *   SIN
             ( RADIANS(p.longitude - @long) / 2 ) ) ) ,       SQRT ( 1 -
             (SIN(    RADIANS(p.latitude    -    @lat)   /     2    )   *
             SIN( RADIANS(p.latitude - @lat) / 2 ) + COS ( RADIANS
             (@lat)   )  *   COS   (  RADIANS   (p.latitude)   )   *  SIN
             (   RADIANS(p.longitude    -   @long)   /   2   )    *   SIN
             ( RADIANS(p.longitude - @long) / 2 ) ) ) ) < @radius;




mercredi 3 avril 13
mercredi 3 avril 13
{ loc : { type : "Point" ,
                           coordinates : [ 40, 5 ]
                 } }




                           db.collection.ensureIndex( { loc : "2dsphere" } )




        db.places.find( { loc : { $near :
                                   { $geometry :
                                       { type : "Point" ,
                                          coordinates: [ 40 , 5 ] } ,
                                     $maxDistance : 100
                        } } } )



mercredi 3 avril 13
db.places.find( { loc :
                                        { $geoWithin :
                                          { $centerSphere :
                                              [ [ 88 , 30 ] , 10 / 3959 ]
                                      } } } )




     db.places.find( { loc :
                       { $geoIntersects :
                         { $geometry :
                           { type : "Polygon" ,
                             coordinates: [ [ [ 0 , 0 ] , [ 3 , 6 ] ,
     [ 6 , 1 ] , [ 0 , 0 ] ] ]
                     } } } } )



mercredi 3 avril 13
<field name="store">45.17614,-93.87341</field>
                <field name="store">40.7143,-74.006</field>
                <field name="store">37.7752,-122.4232</field>

                         <fieldType name="location" class="solr.LatLonType"
                         subFieldSuffix="_coordinate"/>

       &q=*:*&fq={!geofilt pt=45.15,-93.85 sfield=store d=5}


           "response":{"numFound":8,"start":0,"docs":[
                 {
                   "name":"Samsung SpinPoint P120 SP2514N - hard drive -
           250 GB - ATA-133",
                   "store":"45.17614,-93.87341"},
                 {
                   "name":"Maxtor DiamondMax 11 - hard drive - 500 GB -
           SATA-300",
                   "store":"45.17614,-93.87341"},
mercredi 3 avril 13
Déploiements

mercredi 3 avril 13
Sources



mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
CODE



               DEV    TEST          PRE-PROD   PROD




                             BASE



mercredi 3 avril 13
mercredi 3 avril 13
Checkout du code




mercredi 3 avril 13
Checkout du code
         Sauvegarder la base




mercredi 3 avril 13
Checkout du code
         Sauvegarder la base
                      Scripts de mise à jour




mercredi 3 avril 13
Checkout du code
         Sauvegarder la base
                      Scripts de mise à jour
    Copier les fichiers




mercredi 3 avril 13
Checkout du code
         Sauvegarder la base
                      Scripts de mise à jour
    Copier les fichiers
                       Mettre à jour la conf



mercredi 3 avril 13
Checkout du code
         Sauvegarder la base
                      Scripts de mise à jour
    Copier les fichiers
                       Mettre à jour la conf
         Lancer la revue du code

mercredi 3 avril 13
Checkout du code
         Sauvegarder la base
                      Scripts de mise à jour
    Copier les fichiers
                       Mettre à jour la conf
         Lancer la revue du code
                       Tests automatiques
mercredi 3 avril 13
Capistrano & Webistrano




mercredi 3 avril 13
Intégration
                       Continue

mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
Tests
                      automatiques




mercredi 3 avril 13
mercredi 3 avril 13
Selenium




mercredi 3 avril 13
mercredi 3 avril 13
Couverture




mercredi 3 avril 13
Tests de
                      performance




mercredi 3 avril 13
Quels types de
                      test de perf.
                         vous
                      connaissez ?
mercredi 3 avril 13
mercredi 3 avril 13
Test de charge




mercredi 3 avril 13
Test de charge
     Test des transactions




mercredi 3 avril 13
Test de charge
     Test des transactions
                       Test de stress




mercredi 3 avril 13
Test de charge
     Test des transactions
                       Test de stress
   Test de montée en charge



mercredi 3 avril 13
Test de charge
     Test des transactions
                         Test de stress
   Test de montée en charge
                      Test aux limites

mercredi 3 avril 13
Test de charge
     Test des transactions
                         Test de stress
   Test de montée en charge
                      Test aux limites
          Tests d endurance
mercredi 3 avril 13
Pondeuses




mercredi 3 avril 13
Scénario


mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
Log Apache




mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
1 pixel IFRAME trick




mercredi 3 avril 13
Sizing

mercredi 3 avril 13
RAM


mercredi 3 avril 13
Charge Nominale




mercredi 3 avril 13
Charge Nominale



                Front 1




mercredi 3 avril 13
Charge Nominale



                Front 1    Front 2




mercredi 3 avril 13
Charge Nominale



                Front 1    Front 2




mercredi 3 avril 13
Charge Nominale



                Front 1    Front 2




mercredi 3 avril 13
Charge Nominale



                Front 1    Front 2   50%




mercredi 3 avril 13
Charge Nominale



                Front 1    Front 2   50%


                Front 1



mercredi 3 avril 13
Charge Nominale



                Front 1         Front 2   50%


                Front 1   ...



mercredi 3 avril 13
Charge Nominale



                Front 1         Front 2             50%


                Front 1   ...             Front 5



mercredi 3 avril 13
Charge Nominale



                Front 1         Front 2             50%


                Front 1   ...             Front 5



mercredi 3 avril 13
Charge Nominale



                Front 1         Front 2             50%


                Front 1   ...             Front 5



mercredi 3 avril 13
Charge Nominale



                Front 1         Front 2             50%


                Front 1   ...             Front 5    80%

mercredi 3 avril 13
mercredi 3 avril 13
20 000




mercredi 3 avril 13
20 000
                       90%




mercredi 3 avril 13
20 000
                       90%


                      1000


mercredi 3 avril 13
20 000
                       90%


                      1000
                       10%
mercredi 3 avril 13
Combien de
                      trafic je peux
                       accepter ?

mercredi 3 avril 13
Un peu de maths :

                 Cmax = charge maximale
                 Ca = Charge d’un utilisateur anonyme
                 Cc = Charge d’un utilisateur connecté
                 Xa = nombre max d’utilisateurs anonymes
                 Xc = nombre max d’utilisateurs connecté




mercredi 3 avril 13
Un peu de maths :
                 Cmax = 20000*Ca*0,5 = 1000*Cc*0,5 (50% nominal)
                 XaCa + XcCc = Cmax
                 Xa = 9Xc (90%)
                 9Xc*Cmax/10000 + Xc*Cmax/500 = Cmax
                 Xc = 1/(9/10000 + 1/500) = 344
                 Xa = 9 * 344 = 3103



mercredi 3 avril 13
HA
mercredi 3 avril 13
SPOF
mercredi 3 avril 13
mercredi 3 avril 13
Load Balancer




                      Front1   Front2     Front3   Front4




                               Back1      Back2



mercredi 3 avril 13
S
                                   P
                                    O
                                 Load Balancer
                                         F
                      Front1   Front2     Front3   Front4




                               Back1      Back2



mercredi 3 avril 13
Super Load
                                   Balancer ?



                      Load Balancer 1       Load Balancer 2




mercredi 3 avril 13
S
                                    P
                                     O
                                   Super Load

                                          F
                                   Balancer ?



                      Load Balancer 1         Load Balancer 2




mercredi 3 avril 13
IP Flotante




mercredi 3 avril 13
Ip Flotante : 192.168.1.1

                      Load Balancer Actif   Load Balancer Passif
                         192.168.0.1           192.168.0.2




mercredi 3 avril 13
Ip Flotante

                               LB1                  LB2




                      Front1    Front2         Front3     Front4




                                      Replication
                          MySQL1                     MySQL2
                           Actif                      Passif


mercredi 3 avril 13
Ip Flotante

                               LB1                   LB2




                      Front1    Front2          Front3     Front4


                                   S
                                     P
                          MySQL1
                                      OReplication
                                                      MySQL2
                           Actif
                                               F       Passif


mercredi 3 avril 13
heart beat

mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
mercredi 3 avril 13
@mtopolov


        mtopolov@adyax.com
mercredi 3 avril 13

Weitere ähnliche Inhalte

Andere mochten auch

Aquaculture- Opportunities for the 21st century
Aquaculture- Opportunities for the 21st centuryAquaculture- Opportunities for the 21st century
Aquaculture- Opportunities for the 21st centuryJimmy Lim
 
Benchmarking
BenchmarkingBenchmarking
Benchmarkingslayerxor
 
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and IgniteJCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and IgniteJoseph Kuo
 
Step 7 v5_2_e share by voip.com.vn
Step 7 v5_2_e share by voip.com.vnStep 7 v5_2_e share by voip.com.vn
Step 7 v5_2_e share by voip.com.vnTran Thanh
 
Plongée sous marine cours de physique niveau 2
Plongée sous marine cours de physique niveau 2Plongée sous marine cours de physique niveau 2
Plongée sous marine cours de physique niveau 2Apj Plongée
 
An introduction to Bayesian Statistics using Python
An introduction to Bayesian Statistics using PythonAn introduction to Bayesian Statistics using Python
An introduction to Bayesian Statistics using Pythonfreshdatabos
 
Gpao 3 La planification de la production MRP2
Gpao 3 La planification de la production MRP2Gpao 3 La planification de la production MRP2
Gpao 3 La planification de la production MRP2ibtissam el hassani
 
An introduction to bayesian statistics
An introduction to bayesian statisticsAn introduction to bayesian statistics
An introduction to bayesian statisticsJohn Tyndall
 
E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4Qamar Farooq
 

Andere mochten auch (16)

Aquaculture- Opportunities for the 21st century
Aquaculture- Opportunities for the 21st centuryAquaculture- Opportunities for the 21st century
Aquaculture- Opportunities for the 21st century
 
Chapitre 1 Des molécules pour comprendre
Chapitre 1 Des molécules pour comprendreChapitre 1 Des molécules pour comprendre
Chapitre 1 Des molécules pour comprendre
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Benchmarking
BenchmarkingBenchmarking
Benchmarking
 
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and IgniteJCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
JCConf 2016 - Cloud Computing Applications - Hazelcast, Spark and Ignite
 
Research Centre in Physics of Matter and Radiation - Laboratoire Interdiscipl...
Research Centre in Physics of Matter and Radiation - Laboratoire Interdiscipl...Research Centre in Physics of Matter and Radiation - Laboratoire Interdiscipl...
Research Centre in Physics of Matter and Radiation - Laboratoire Interdiscipl...
 
Poissons
PoissonsPoissons
Poissons
 
Step 7 v5_2_e share by voip.com.vn
Step 7 v5_2_e share by voip.com.vnStep 7 v5_2_e share by voip.com.vn
Step 7 v5_2_e share by voip.com.vn
 
Server Festa 2013 Autumn
Server Festa 2013 AutumnServer Festa 2013 Autumn
Server Festa 2013 Autumn
 
La décompression
La décompressionLa décompression
La décompression
 
Plongée sous marine cours de physique niveau 2
Plongée sous marine cours de physique niveau 2Plongée sous marine cours de physique niveau 2
Plongée sous marine cours de physique niveau 2
 
An introduction to Bayesian Statistics using Python
An introduction to Bayesian Statistics using PythonAn introduction to Bayesian Statistics using Python
An introduction to Bayesian Statistics using Python
 
Gpao 3 La planification de la production MRP2
Gpao 3 La planification de la production MRP2Gpao 3 La planification de la production MRP2
Gpao 3 La planification de la production MRP2
 
An introduction to bayesian statistics
An introduction to bayesian statisticsAn introduction to bayesian statistics
An introduction to bayesian statistics
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4
 

Mehr von Adyax

Applications métier avec Drupal
Applications métier avec DrupalApplications métier avec Drupal
Applications métier avec DrupalAdyax
 
Using Drupal to publish Web, Print and Mobile from same CMS
Using Drupal to publish Web, Print and Mobile from same CMSUsing Drupal to publish Web, Print and Mobile from same CMS
Using Drupal to publish Web, Print and Mobile from same CMSAdyax
 
Multiple countries & multilingual e-commerce platforms using Drupal
Multiple countries & multilingual e-commerce platforms using DrupalMultiple countries & multilingual e-commerce platforms using Drupal
Multiple countries & multilingual e-commerce platforms using DrupalAdyax
 
Estimation de projets Drupal
Estimation de projets DrupalEstimation de projets Drupal
Estimation de projets DrupalAdyax
 
Drupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMSDrupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMSAdyax
 
Drupal fixed budget projets : the art of estimates
Drupal fixed budget projets : the art of estimatesDrupal fixed budget projets : the art of estimates
Drupal fixed budget projets : the art of estimatesAdyax
 
Réaliser un site e-commerce multi-pays et multilingue connecté à SAP
Réaliser un site e-commerce multi-pays et multilingue connecté à SAPRéaliser un site e-commerce multi-pays et multilingue connecté à SAP
Réaliser un site e-commerce multi-pays et multilingue connecté à SAPAdyax
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de DrupalAdyax
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalAdyax
 
Gestion des médias dans Drupal
Gestion des médias dans DrupalGestion des médias dans Drupal
Gestion des médias dans DrupalAdyax
 
Varnish
VarnishVarnish
VarnishAdyax
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
Drupal + Magento pour la plus puissante plateforme e-Commerce
Drupal + Magento pour la plus puissante plateforme e-CommerceDrupal + Magento pour la plus puissante plateforme e-Commerce
Drupal + Magento pour la plus puissante plateforme e-CommerceAdyax
 
eCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactileseCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactilesAdyax
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalAdyax
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet DrupalAdyax
 
Drupal usage by example : World Food Programme
Drupal usage by example : World Food ProgrammeDrupal usage by example : World Food Programme
Drupal usage by example : World Food ProgrammeAdyax
 
Learn How and Why Drupal was used for www.gouvernement.fr
Learn How and Why Drupal was used for www.gouvernement.frLearn How and Why Drupal was used for www.gouvernement.fr
Learn How and Why Drupal was used for www.gouvernement.frAdyax
 
Présentation de Drupal & Magento
Présentation de Drupal & MagentoPrésentation de Drupal & Magento
Présentation de Drupal & MagentoAdyax
 
Utilisation de MongoDB dans un site Drupal
Utilisation de MongoDB dans un site DrupalUtilisation de MongoDB dans un site Drupal
Utilisation de MongoDB dans un site DrupalAdyax
 

Mehr von Adyax (20)

Applications métier avec Drupal
Applications métier avec DrupalApplications métier avec Drupal
Applications métier avec Drupal
 
Using Drupal to publish Web, Print and Mobile from same CMS
Using Drupal to publish Web, Print and Mobile from same CMSUsing Drupal to publish Web, Print and Mobile from same CMS
Using Drupal to publish Web, Print and Mobile from same CMS
 
Multiple countries & multilingual e-commerce platforms using Drupal
Multiple countries & multilingual e-commerce platforms using DrupalMultiple countries & multilingual e-commerce platforms using Drupal
Multiple countries & multilingual e-commerce platforms using Drupal
 
Estimation de projets Drupal
Estimation de projets DrupalEstimation de projets Drupal
Estimation de projets Drupal
 
Drupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMSDrupal n'est pas seulement un CMS
Drupal n'est pas seulement un CMS
 
Drupal fixed budget projets : the art of estimates
Drupal fixed budget projets : the art of estimatesDrupal fixed budget projets : the art of estimates
Drupal fixed budget projets : the art of estimates
 
Réaliser un site e-commerce multi-pays et multilingue connecté à SAP
Réaliser un site e-commerce multi-pays et multilingue connecté à SAPRéaliser un site e-commerce multi-pays et multilingue connecté à SAP
Réaliser un site e-commerce multi-pays et multilingue connecté à SAP
 
Présentation de Drupal
Présentation de DrupalPrésentation de Drupal
Présentation de Drupal
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
 
Gestion des médias dans Drupal
Gestion des médias dans DrupalGestion des médias dans Drupal
Gestion des médias dans Drupal
 
Varnish
VarnishVarnish
Varnish
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
Drupal + Magento pour la plus puissante plateforme e-Commerce
Drupal + Magento pour la plus puissante plateforme e-CommerceDrupal + Magento pour la plus puissante plateforme e-Commerce
Drupal + Magento pour la plus puissante plateforme e-Commerce
 
eCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactileseCommerce sur Ipad et autres tablettes tactiles
eCommerce sur Ipad et autres tablettes tactiles
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
 
Réussir son projet Drupal
Réussir son projet DrupalRéussir son projet Drupal
Réussir son projet Drupal
 
Drupal usage by example : World Food Programme
Drupal usage by example : World Food ProgrammeDrupal usage by example : World Food Programme
Drupal usage by example : World Food Programme
 
Learn How and Why Drupal was used for www.gouvernement.fr
Learn How and Why Drupal was used for www.gouvernement.frLearn How and Why Drupal was used for www.gouvernement.fr
Learn How and Why Drupal was used for www.gouvernement.fr
 
Présentation de Drupal & Magento
Présentation de Drupal & MagentoPrésentation de Drupal & Magento
Présentation de Drupal & Magento
 
Utilisation de MongoDB dans un site Drupal
Utilisation de MongoDB dans un site DrupalUtilisation de MongoDB dans un site Drupal
Utilisation de MongoDB dans un site Drupal
 

Cours 3/3 - Architecture Web