SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Motivation          Interface MSG            API, Maintenance, Perspectives     Conclusion




             Interface de contrôle et de commande MSG

                                    Benoît Larroque1

                                         1 Pôle ATIS

              École Supérieure d’Electronique d’Informatique et d’Automatique


                                       Projet XL
Motivation          Interface MSG      API, Maintenance, Perspectives   Conclusion




                                    Sommaire
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation   Interface MSG      API, Maintenance, Perspectives   Conclusion




                             En image
Motivation          Interface MSG          API, Maintenance, Perspectives   Conclusion




                                    Plus précisément



      On souhaite une interface avec les capacités :
         • Accéder aux images à distance
         • Faire des requêtes (temporelles, géographiques)
         • Surveiller les machines
Motivation          Interface MSG          API, Maintenance, Perspectives   Conclusion




                                    Plus précisément



      On souhaite une interface avec les capacités :
         • Accéder aux images à distance
         • Faire des requêtes (temporelles, géographiques)
         • Surveiller les machines
Motivation          Interface MSG          API, Maintenance, Perspectives   Conclusion




                                    Plus précisément



      On souhaite une interface avec les capacités :
         • Accéder aux images à distance
         • Faire des requêtes (temporelles, géographiques)
         • Surveiller les machines
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation   Interface MSG      API, Maintenance, Perspectives   Conclusion




                             Station
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation   Interface MSG         API, Maintenance, Perspectives   Conclusion




                             Ruby on Rails




                       • Open source
                       • Framework MVC
                       • Fournit une abstraction de la base de données
Motivation   Interface MSG         API, Maintenance, Perspectives   Conclusion




                             Ruby on Rails




                       • Open source
                       • Framework MVC
                       • Fournit une abstraction de la base de données
Motivation   Interface MSG         API, Maintenance, Perspectives   Conclusion




                             Ruby on Rails




                       • Open source
                       • Framework MVC
                       • Fournit une abstraction de la base de données
Motivation         Interface MSG         API, Maintenance, Perspectives   Conclusion




                           PostgreSQL et PostGIS


    • Open source
    • Robuste et performant (+ de 377760
        images en bases)
    • Extensible, ajout des primitives
        géographiques
Motivation         Interface MSG         API, Maintenance, Perspectives   Conclusion




                           PostgreSQL et PostGIS


    • Open source
    • Robuste et performant (+ de 377760
        images en bases)
    • Extensible, ajout des primitives
        géographiques
Motivation         Interface MSG         API, Maintenance, Perspectives   Conclusion




                           PostgreSQL et PostGIS


    • Open source
    • Robuste et performant (+ de 377760
        images en bases)
    • Extensible, ajout des primitives
        géographiques
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation   Interface MSG     API, Maintenance, Perspectives   Conclusion




                             Schéma
Motivation          Interface MSG         API, Maintenance, Perspectives   Conclusion




                                     Schéma
      Deux types d’utilisateurs→utilisateurs et possesseurs de jetons

         • ont tous des droits (admin, lecteur, analyste. . . )
         • un possesseur de jetons ne peut pas être admin
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation   Interface MSG     API, Maintenance, Perspectives   Conclusion




                             Design
Motivation         Interface MSG       API, Maintenance, Perspectives   Conclusion




         • xHTML léger pour un téléchargement plus rapide
         • Facilement modifiable par conception
         • Multi-résolution (conçu pour 1024 × 768)
Motivation         Interface MSG       API, Maintenance, Perspectives   Conclusion




         • xHTML léger pour un téléchargement plus rapide
         • Facilement modifiable par conception
         • Multi-résolution (conçu pour 1024 × 768)
Motivation         Interface MSG       API, Maintenance, Perspectives   Conclusion




         • xHTML léger pour un téléchargement plus rapide
         • Facilement modifiable par conception
         • Multi-résolution (conçu pour 1024 × 768)
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation         Interface MSG        API, Maintenance, Perspectives   Conclusion




                                   Recherche




         • Formulaire permettant de chercher par :
             • Date (début et fin)
             • Canal (ex : VIS008, VIS006, IR_039. . . )
             • Coordonnées Géographiques (latitude, longitude)

         • Les résultats sont affichés dans un tableau réordonnable
Motivation         Interface MSG        API, Maintenance, Perspectives   Conclusion




                                   Recherche




         • Formulaire permettant de chercher par :
             • Date (début et fin)
             • Canal (ex : VIS008, VIS006, IR_039. . . )
             • Coordonnées Géographiques (latitude, longitude)

         • Les résultats sont affichés dans un tableau réordonnable
Motivation   Interface MSG        API, Maintenance, Perspectives   Conclusion




                             Monitoring
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation           Interface MSG         API, Maintenance, Perspectives   Conclusion




                                     Généralités


         • Certaines informations sont disponibles pour les
             programmeurs :
               • Accès REST (Support code d’erreurs HTTP et
                 authentification, stateless)
               • Réponses en xHTML, XML, JSON, YAML et bien sûr PNG,
                 JPEG, PGM.BZ2

      Fact
      Bibliothèque d’accès Ruby déjà disponible
Motivation           Interface MSG         API, Maintenance, Perspectives   Conclusion




                                     Généralités


         • Certaines informations sont disponibles pour les
             programmeurs :
               • Accès REST (Support code d’erreurs HTTP et
                 authentification, stateless)
               • Réponses en xHTML, XML, JSON, YAML et bien sûr PNG,
                 JPEG, PGM.BZ2

      Fact
      Bibliothèque d’accès Ruby déjà disponible
Motivation          Interface MSG        API, Maintenance, Perspectives   Conclusion




                                    Endpoints
         • Images :
             • /images/index. :format → liste d’image (params. : pagination,
               ordre)
             • /images/search. :format→recherche d’image (params. :
               précédent et recherche )
             • /image/ :id. :format→Infos sur une image ou binaire de l’image
             • images/coverage. :format→Couverture géographique et
               spatiale
         • Composition : composite/compose. :format (params. : canaux)
         • Monitoring : monitor/inst_info/ :machine. :format
         • Analyses
             • analysis/images_to_process/ :id. :format (params :
               pagination)
             • analysis/set_result/ :id. :format (params. analyse, image,
               résultat)
             • analysis/results/ :id. :format
Motivation          Interface MSG        API, Maintenance, Perspectives   Conclusion




                                    Endpoints
         • Images :
             • /images/index. :format → liste d’image (params. : pagination,
               ordre)
             • /images/search. :format→recherche d’image (params. :
               précédent et recherche )
             • /image/ :id. :format→Infos sur une image ou binaire de l’image
             • images/coverage. :format→Couverture géographique et
               spatiale
         • Composition : composite/compose. :format (params. : canaux)
         • Monitoring : monitor/inst_info/ :machine. :format
         • Analyses
             • analysis/images_to_process/ :id. :format (params :
               pagination)
             • analysis/set_result/ :id. :format (params. analyse, image,
               résultat)
             • analysis/results/ :id. :format
Motivation          Interface MSG        API, Maintenance, Perspectives   Conclusion




                                    Endpoints
         • Images :
             • /images/index. :format → liste d’image (params. : pagination,
               ordre)
             • /images/search. :format→recherche d’image (params. :
               précédent et recherche )
             • /image/ :id. :format→Infos sur une image ou binaire de l’image
             • images/coverage. :format→Couverture géographique et
               spatiale
         • Composition : composite/compose. :format (params. : canaux)
         • Monitoring : monitor/inst_info/ :machine. :format
         • Analyses
             • analysis/images_to_process/ :id. :format (params :
               pagination)
             • analysis/set_result/ :id. :format (params. analyse, image,
               résultat)
             • analysis/results/ :id. :format
Motivation          Interface MSG        API, Maintenance, Perspectives   Conclusion




                                    Endpoints
         • Images :
             • /images/index. :format → liste d’image (params. : pagination,
               ordre)
             • /images/search. :format→recherche d’image (params. :
               précédent et recherche )
             • /image/ :id. :format→Infos sur une image ou binaire de l’image
             • images/coverage. :format→Couverture géographique et
               spatiale
         • Composition : composite/compose. :format (params. : canaux)
         • Monitoring : monitor/inst_info/ :machine. :format
         • Analyses
             • analysis/images_to_process/ :id. :format (params :
               pagination)
             • analysis/set_result/ :id. :format (params. analyse, image,
               résultat)
             • analysis/results/ :id. :format
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation         Interface MSG      API, Maintenance, Perspectives   Conclusion




                                    Fait




      Fact
      L’interface est conçue pour nécessiter peu de maintenance
Motivation           Interface MSG          API, Maintenance, Perspectives   Conclusion




                         Opérations de maintenance




         • Surveiller la tailles des logs
              • tail log/production.log > log/production.log

         • Surveiller la bonne marche de PostgreSQL
              • VACCUM FULL ANALYZE
Motivation           Interface MSG          API, Maintenance, Perspectives   Conclusion




                         Opérations de maintenance




         • Surveiller la tailles des logs
              • tail log/production.log > log/production.log

         • Surveiller la bonne marche de PostgreSQL
              • VACCUM FULL ANALYZE
Motivation         Interface MSG          API, Maintenance, Perspectives   Conclusion




                              En cas de problème




         • Regarder les logs du serveur
         • redémarrer lighttpd
Motivation          Interface MSG           API, Maintenance, Perspectives   Conclusion




                                    Lignes directrices
      Motivation
        Pourquoi une nouvelle interface ?
      Interface MSG
          Station
          Technologies utilisées
          Modélisation
          Interface utilisateur
          Utilisation
      API, Maintenance, Perspectives
         API
         Maintenance
         Perspectives d’avenir
Motivation         Interface MSG          API, Maintenance, Perspectives   Conclusion




                                   Idées de projet




      Nombreuses !
         • Analyses déportées
         • Client lourd, interfaçage Google Earth
         • Aide à la destruction des images inintéressantes
Motivation         Interface MSG          API, Maintenance, Perspectives   Conclusion




                                   Idées de projet




      Nombreuses !
         • Analyses déportées
         • Client lourd, interfaçage Google Earth
         • Aide à la destruction des images inintéressantes
Motivation         Interface MSG          API, Maintenance, Perspectives   Conclusion




                                   Idées de projet




      Nombreuses !
         • Analyses déportées
         • Client lourd, interfaçage Google Earth
         • Aide à la destruction des images inintéressantes
Motivation          Interface MSG       API, Maintenance, Perspectives   Conclusion




                                    Conclusion




         • Enfin une interface simple et accessible à tous.
         • Facile à maintenir.
         • Un projet intéressant.
Appendices




             One more thing...




     Film
Appendices




                                                                     Code
     require ’ atis ’
     r e q u i r e ’ RMagick ’
     i n c l u d e Magick
     TOKEN= ’ 1∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗TOKEN∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ e ’
     def composite ( tab )
                      t a b . map { | f | f . s a v e ( ’ / v e r s a t i l e / ’+f . f i l e n a m e ) }
                      t=t a b . c o l l e c t { | f | p u t s f . f i l e n a m e ; ( Image . r e a d ( ’ / v e r s a t i l e / ’+f .
                               filename ) ) [0];}
                      Image . c o m b i n e ( t [ 0 ] , t [ 1 ] , t [ 2 ] ) . t h u m b n a i l ( 1 0 8 0 , 1 0 8 0 ) . w r i t e ( quot; . / o u t /
                               c o m p o s i t e −#{t a b . f i r s t . d a t e . s t r f t i m e ( ’%Y% %d%H% ’ ) } . png quot; )
                                                                                                          m            M
                      p u t s quot; c o m p o s i t e −#{t a b . f i r s t . d a t e . s t r f t i m e ( ’%Y% %d%H% ’ ) } . png quot;
                                                                                                             m          M
                      t a b . map { | f | F i l e . u n l i n k ( ’ / v e r s a t i l e / ’+f . f i l e n a m e ) }
     end
     p u t s quot;START SCRIPTquot;
     c o n=A t i s C o n n e c t i o n . new ( : t o k e n = TOKEN)
                                                                 >
     s=A t i s S e a r c h . new co n
     r e t ={}
     c a c h e=D i r . new ( ’ . / o u t / ’ ) . r e j e c t { | t | t [0]== ’ . ’ [ 0 ] } . c o l l e c t { | t | Time . r e a d (
               F i l e . basename ( t , ’ . png ’ ) . s p l i t ( ’− ’ ) . l a s t ) }
     s . s e a r c h ( : c h a n n e l = [ ’ VIS006 ’ , ’ VIS008 ’ , ’ IR_016 ’ ] , : e n d =
                                           >                                                                         >Time . r e a d ( quot;
               2 0 0 9 0 1 1 1 1 2 0 0 quot; ) , : b e g i n = Time . u t c ( 2 0 0 9 ) ) do | im |
                                                               >
                      r e t [ im . d a t e ]= Hash . new i f r e t [ im . d a t e ] . n i l ?
                      r e t [ im . d a t e ] [ im . c h a n n e l ]= im u n l e s s c a c h e . i n c l u d e ? im . d a t e
                      i f r e t [ im . d a t e ] . s i z e > 2
                                      p u t s quot; compose #{im . d a t e } quot;
                                      c o m p o s i t e ( [ r e t [ im . d a t e ] [ ’ IR_016 ’ ] , r e t [ im . d a t e ] [ ’ VIS008
                                                ’ ] , r e t [ im . d a t e ] [ ’ VIS006 ’ ] ] )
                      end
                      : more
     end
Appendices




                    One other thing




     Deuxième film
Appendices




                                                                   Code
     require ’ atis ’
     r e q u i r e ’ RMagick ’
     i n c l u d e Magick
     TOKEN= ’ 1∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗TOKEN∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ e ’
     p u t s quot;START SCRIPTquot;
     c o n=A t i s C o n n e c t i o n . new ( : t o k e n = TOKEN) ; s=A t i s S e a r c h . new con ; r e t ={}
                                                                  >
     c a c h e=D i r . new ( ’ . / o u t / ’ ) . r e j e c t { | t | t [0]== ’ . ’ [ 0 ] } . c o l l e c t { | t | Time . r e a d (
               F i l e . basename ( t , ’ . png ’ ) . s p l i t ( ’− ’ ) . l a s t ) }
     c a c h e 2=D i r . new ( ’ . / o u t 2 / ’ ) . r e j e c t { | t | t [0]== ’ . ’ [ 0 ] } . c o l l e c t { | t | Time . r e a d
               ( F i l e . basename ( t , ’ . png ’ ) . s p l i t ( ’− ’ ) . l a s t ) }
     b l a c k = Magick : : Image . new ( 1 0 8 0 , 1 0 8 0 ) { s e l f . b a c k g r o u n d _ c o l o r = ’ b l a c k ’ }
     s . s e a r c h ( : c h a n n e l = [ ’ IR_039 ’ ] , : e n d =
                                           >                                      >Time . r e a d ( quot; 2 0 0 9 0 1 1 1 1 2 0 0 quot; ) , :
               b e g i n = Time . u t c ( 2 0 0 9 ) ) do | im |
                            >
                      i f ( c a c h e . i n c l u d e ? ( im . d a t e ) && ! c a c h e 2 . i n c l u d e ? ( im . d a t e ) )
                                    p u t s quot; compose #{im . d a t e } quot;
                                     i =Image . r e a d ( quot; . / o u t / c o m p o s i t e −#{im . d a t e . s t r f t i m e ( ’%Y% %d       m
                                              % M ’ ) } . png quot; ) [ 0 ]
                                                H%
                                     i . f u z z=quot; 5.1% quot; ;                          t r a n s= i . t r a n s p a r e n t ( ’ b l a c k ’ )
                                    im . s a v e ( ’ / v e r s a t i l e / ’+im . f i l e n a m e )
                                    n _ i g h t =( Image . r e a d ( ’ / v e r s a t i l e / ’+im . f i l e n a m e ) [ 0 ] ) .
                                               thumbnail (1080 ,1080)
                                    n i g h t=Magick : : Image . c o m b i n e ( b l a c k . copy , n _ i g h t , b l a c k . c o p y
                                              )
                                    p=n i g h t . c o m p o s i t e ( t r a n s , 0 , 0 , Magick : : O verC ompo site Op )
                                    p . w r i t e ( quot; . / o u t 2 / c o m p o s i t e 2 −#{im . d a t e . s t r f t i m e ( ’%Y% %d%H% m
                                              M ’ ) } . png quot; ) { s e l f . d e p t h =8}
                                     F i l e . u n l i n k ( ’ / v e r s a t i l e / ’+im . f i l e n a m e )
                      end
                      : more
     end

Más contenido relacionado

Similar a Interface de contrôle et de commande MSG

Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKISamir Arezki ☁
 
Introduction a IBM API Management
Introduction a IBM API ManagementIntroduction a IBM API Management
Introduction a IBM API ManagementMagali Boulet
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesENSET, Université Hassan II Casablanca
 
Gestion des performances applicatives en environnement Cloud et Virtualisation
Gestion des performances applicatives en environnement Cloud et VirtualisationGestion des performances applicatives en environnement Cloud et Virtualisation
Gestion des performances applicatives en environnement Cloud et VirtualisationPerformanceVision (previously SecurActive)
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGCh'ti JUG
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les ProfessionnelsFabien Potencier
 
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
S21   les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...S21   les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...Gautier DUMAS
 
Google Cloud Endpoints - DevFest - Nantes 2012
Google Cloud Endpoints -  DevFest - Nantes 2012Google Cloud Endpoints -  DevFest - Nantes 2012
Google Cloud Endpoints - DevFest - Nantes 2012Maxime Gréau
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-endClément Dubois
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endFrançois Petitit
 
04 jus 20101123_para_vis
04 jus 20101123_para_vis04 jus 20101123_para_vis
04 jus 20101123_para_visOpenCascade
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013rbschange
 

Similar a Interface de contrôle et de commande MSG (20)

Gestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKIGestion des APIs avec Azure API Management - Samir AREZKI
Gestion des APIs avec Azure API Management - Samir AREZKI
 
Introduction a IBM API Management
Introduction a IBM API ManagementIntroduction a IBM API Management
Introduction a IBM API Management
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
[FR] Papier Cetsis 2014 - PLC Checker
[FR] Papier Cetsis 2014 - PLC Checker[FR] Papier Cetsis 2014 - PLC Checker
[FR] Papier Cetsis 2014 - PLC Checker
 
[FR] Poster Cetsis 2014 - PLC Checker
[FR] Poster Cetsis 2014 - PLC Checker[FR] Poster Cetsis 2014 - PLC Checker
[FR] Poster Cetsis 2014 - PLC Checker
 
Formation gwt
Formation gwtFormation gwt
Formation gwt
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Gestion des performances applicatives en environnement Cloud et Virtualisation
Gestion des performances applicatives en environnement Cloud et VirtualisationGestion des performances applicatives en environnement Cloud et Virtualisation
Gestion des performances applicatives en environnement Cloud et Virtualisation
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
sfPot aop
sfPot aopsfPot aop
sfPot aop
 
GlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUGGlassFish ESB Ch'ti JUG
GlassFish ESB Ch'ti JUG
 
La plateforme JEE
La plateforme JEELa plateforme JEE
La plateforme JEE
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnels
 
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
S21   les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...S21   les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
S21 les dernières nouveautés php sous ibm i (zend server 8.5 et zend studio...
 
Google Cloud Endpoints - DevFest - Nantes 2012
Google Cloud Endpoints -  DevFest - Nantes 2012Google Cloud Endpoints -  DevFest - Nantes 2012
Google Cloud Endpoints - DevFest - Nantes 2012
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
 
04 jus 20101123_para_vis
04 jus 20101123_para_vis04 jus 20101123_para_vis
04 jus 20101123_para_vis
 
Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013
 
#2 Architecture OSGi
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGi
 

Interface de contrôle et de commande MSG

  • 1. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Interface de contrôle et de commande MSG Benoît Larroque1 1 Pôle ATIS École Supérieure d’Electronique d’Informatique et d’Automatique Projet XL
  • 2. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Sommaire Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 3. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 4. Motivation Interface MSG API, Maintenance, Perspectives Conclusion En image
  • 5. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Plus précisément On souhaite une interface avec les capacités : • Accéder aux images à distance • Faire des requêtes (temporelles, géographiques) • Surveiller les machines
  • 6. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Plus précisément On souhaite une interface avec les capacités : • Accéder aux images à distance • Faire des requêtes (temporelles, géographiques) • Surveiller les machines
  • 7. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Plus précisément On souhaite une interface avec les capacités : • Accéder aux images à distance • Faire des requêtes (temporelles, géographiques) • Surveiller les machines
  • 8. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 9. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Station
  • 10. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 11. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Ruby on Rails • Open source • Framework MVC • Fournit une abstraction de la base de données
  • 12. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Ruby on Rails • Open source • Framework MVC • Fournit une abstraction de la base de données
  • 13. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Ruby on Rails • Open source • Framework MVC • Fournit une abstraction de la base de données
  • 14. Motivation Interface MSG API, Maintenance, Perspectives Conclusion PostgreSQL et PostGIS • Open source • Robuste et performant (+ de 377760 images en bases) • Extensible, ajout des primitives géographiques
  • 15. Motivation Interface MSG API, Maintenance, Perspectives Conclusion PostgreSQL et PostGIS • Open source • Robuste et performant (+ de 377760 images en bases) • Extensible, ajout des primitives géographiques
  • 16. Motivation Interface MSG API, Maintenance, Perspectives Conclusion PostgreSQL et PostGIS • Open source • Robuste et performant (+ de 377760 images en bases) • Extensible, ajout des primitives géographiques
  • 17. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 18. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Schéma
  • 19. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Schéma Deux types d’utilisateurs→utilisateurs et possesseurs de jetons • ont tous des droits (admin, lecteur, analyste. . . ) • un possesseur de jetons ne peut pas être admin
  • 20. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 21. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Design
  • 22. Motivation Interface MSG API, Maintenance, Perspectives Conclusion • xHTML léger pour un téléchargement plus rapide • Facilement modifiable par conception • Multi-résolution (conçu pour 1024 × 768)
  • 23. Motivation Interface MSG API, Maintenance, Perspectives Conclusion • xHTML léger pour un téléchargement plus rapide • Facilement modifiable par conception • Multi-résolution (conçu pour 1024 × 768)
  • 24. Motivation Interface MSG API, Maintenance, Perspectives Conclusion • xHTML léger pour un téléchargement plus rapide • Facilement modifiable par conception • Multi-résolution (conçu pour 1024 × 768)
  • 25. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 26. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Recherche • Formulaire permettant de chercher par : • Date (début et fin) • Canal (ex : VIS008, VIS006, IR_039. . . ) • Coordonnées Géographiques (latitude, longitude) • Les résultats sont affichés dans un tableau réordonnable
  • 27. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Recherche • Formulaire permettant de chercher par : • Date (début et fin) • Canal (ex : VIS008, VIS006, IR_039. . . ) • Coordonnées Géographiques (latitude, longitude) • Les résultats sont affichés dans un tableau réordonnable
  • 28. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Monitoring
  • 29. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 30. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Généralités • Certaines informations sont disponibles pour les programmeurs : • Accès REST (Support code d’erreurs HTTP et authentification, stateless) • Réponses en xHTML, XML, JSON, YAML et bien sûr PNG, JPEG, PGM.BZ2 Fact Bibliothèque d’accès Ruby déjà disponible
  • 31. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Généralités • Certaines informations sont disponibles pour les programmeurs : • Accès REST (Support code d’erreurs HTTP et authentification, stateless) • Réponses en xHTML, XML, JSON, YAML et bien sûr PNG, JPEG, PGM.BZ2 Fact Bibliothèque d’accès Ruby déjà disponible
  • 32. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Endpoints • Images : • /images/index. :format → liste d’image (params. : pagination, ordre) • /images/search. :format→recherche d’image (params. : précédent et recherche ) • /image/ :id. :format→Infos sur une image ou binaire de l’image • images/coverage. :format→Couverture géographique et spatiale • Composition : composite/compose. :format (params. : canaux) • Monitoring : monitor/inst_info/ :machine. :format • Analyses • analysis/images_to_process/ :id. :format (params : pagination) • analysis/set_result/ :id. :format (params. analyse, image, résultat) • analysis/results/ :id. :format
  • 33. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Endpoints • Images : • /images/index. :format → liste d’image (params. : pagination, ordre) • /images/search. :format→recherche d’image (params. : précédent et recherche ) • /image/ :id. :format→Infos sur une image ou binaire de l’image • images/coverage. :format→Couverture géographique et spatiale • Composition : composite/compose. :format (params. : canaux) • Monitoring : monitor/inst_info/ :machine. :format • Analyses • analysis/images_to_process/ :id. :format (params : pagination) • analysis/set_result/ :id. :format (params. analyse, image, résultat) • analysis/results/ :id. :format
  • 34. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Endpoints • Images : • /images/index. :format → liste d’image (params. : pagination, ordre) • /images/search. :format→recherche d’image (params. : précédent et recherche ) • /image/ :id. :format→Infos sur une image ou binaire de l’image • images/coverage. :format→Couverture géographique et spatiale • Composition : composite/compose. :format (params. : canaux) • Monitoring : monitor/inst_info/ :machine. :format • Analyses • analysis/images_to_process/ :id. :format (params : pagination) • analysis/set_result/ :id. :format (params. analyse, image, résultat) • analysis/results/ :id. :format
  • 35. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Endpoints • Images : • /images/index. :format → liste d’image (params. : pagination, ordre) • /images/search. :format→recherche d’image (params. : précédent et recherche ) • /image/ :id. :format→Infos sur une image ou binaire de l’image • images/coverage. :format→Couverture géographique et spatiale • Composition : composite/compose. :format (params. : canaux) • Monitoring : monitor/inst_info/ :machine. :format • Analyses • analysis/images_to_process/ :id. :format (params : pagination) • analysis/set_result/ :id. :format (params. analyse, image, résultat) • analysis/results/ :id. :format
  • 36. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 37. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Fait Fact L’interface est conçue pour nécessiter peu de maintenance
  • 38. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Opérations de maintenance • Surveiller la tailles des logs • tail log/production.log > log/production.log • Surveiller la bonne marche de PostgreSQL • VACCUM FULL ANALYZE
  • 39. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Opérations de maintenance • Surveiller la tailles des logs • tail log/production.log > log/production.log • Surveiller la bonne marche de PostgreSQL • VACCUM FULL ANALYZE
  • 40. Motivation Interface MSG API, Maintenance, Perspectives Conclusion En cas de problème • Regarder les logs du serveur • redémarrer lighttpd
  • 41. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Lignes directrices Motivation Pourquoi une nouvelle interface ? Interface MSG Station Technologies utilisées Modélisation Interface utilisateur Utilisation API, Maintenance, Perspectives API Maintenance Perspectives d’avenir
  • 42. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Idées de projet Nombreuses ! • Analyses déportées • Client lourd, interfaçage Google Earth • Aide à la destruction des images inintéressantes
  • 43. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Idées de projet Nombreuses ! • Analyses déportées • Client lourd, interfaçage Google Earth • Aide à la destruction des images inintéressantes
  • 44. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Idées de projet Nombreuses ! • Analyses déportées • Client lourd, interfaçage Google Earth • Aide à la destruction des images inintéressantes
  • 45. Motivation Interface MSG API, Maintenance, Perspectives Conclusion Conclusion • Enfin une interface simple et accessible à tous. • Facile à maintenir. • Un projet intéressant.
  • 46. Appendices One more thing... Film
  • 47. Appendices Code require ’ atis ’ r e q u i r e ’ RMagick ’ i n c l u d e Magick TOKEN= ’ 1∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗TOKEN∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ e ’ def composite ( tab ) t a b . map { | f | f . s a v e ( ’ / v e r s a t i l e / ’+f . f i l e n a m e ) } t=t a b . c o l l e c t { | f | p u t s f . f i l e n a m e ; ( Image . r e a d ( ’ / v e r s a t i l e / ’+f . filename ) ) [0];} Image . c o m b i n e ( t [ 0 ] , t [ 1 ] , t [ 2 ] ) . t h u m b n a i l ( 1 0 8 0 , 1 0 8 0 ) . w r i t e ( quot; . / o u t / c o m p o s i t e −#{t a b . f i r s t . d a t e . s t r f t i m e ( ’%Y% %d%H% ’ ) } . png quot; ) m M p u t s quot; c o m p o s i t e −#{t a b . f i r s t . d a t e . s t r f t i m e ( ’%Y% %d%H% ’ ) } . png quot; m M t a b . map { | f | F i l e . u n l i n k ( ’ / v e r s a t i l e / ’+f . f i l e n a m e ) } end p u t s quot;START SCRIPTquot; c o n=A t i s C o n n e c t i o n . new ( : t o k e n = TOKEN) > s=A t i s S e a r c h . new co n r e t ={} c a c h e=D i r . new ( ’ . / o u t / ’ ) . r e j e c t { | t | t [0]== ’ . ’ [ 0 ] } . c o l l e c t { | t | Time . r e a d ( F i l e . basename ( t , ’ . png ’ ) . s p l i t ( ’− ’ ) . l a s t ) } s . s e a r c h ( : c h a n n e l = [ ’ VIS006 ’ , ’ VIS008 ’ , ’ IR_016 ’ ] , : e n d = > >Time . r e a d ( quot; 2 0 0 9 0 1 1 1 1 2 0 0 quot; ) , : b e g i n = Time . u t c ( 2 0 0 9 ) ) do | im | > r e t [ im . d a t e ]= Hash . new i f r e t [ im . d a t e ] . n i l ? r e t [ im . d a t e ] [ im . c h a n n e l ]= im u n l e s s c a c h e . i n c l u d e ? im . d a t e i f r e t [ im . d a t e ] . s i z e > 2 p u t s quot; compose #{im . d a t e } quot; c o m p o s i t e ( [ r e t [ im . d a t e ] [ ’ IR_016 ’ ] , r e t [ im . d a t e ] [ ’ VIS008 ’ ] , r e t [ im . d a t e ] [ ’ VIS006 ’ ] ] ) end : more end
  • 48. Appendices One other thing Deuxième film
  • 49. Appendices Code require ’ atis ’ r e q u i r e ’ RMagick ’ i n c l u d e Magick TOKEN= ’ 1∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗TOKEN∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ e ’ p u t s quot;START SCRIPTquot; c o n=A t i s C o n n e c t i o n . new ( : t o k e n = TOKEN) ; s=A t i s S e a r c h . new con ; r e t ={} > c a c h e=D i r . new ( ’ . / o u t / ’ ) . r e j e c t { | t | t [0]== ’ . ’ [ 0 ] } . c o l l e c t { | t | Time . r e a d ( F i l e . basename ( t , ’ . png ’ ) . s p l i t ( ’− ’ ) . l a s t ) } c a c h e 2=D i r . new ( ’ . / o u t 2 / ’ ) . r e j e c t { | t | t [0]== ’ . ’ [ 0 ] } . c o l l e c t { | t | Time . r e a d ( F i l e . basename ( t , ’ . png ’ ) . s p l i t ( ’− ’ ) . l a s t ) } b l a c k = Magick : : Image . new ( 1 0 8 0 , 1 0 8 0 ) { s e l f . b a c k g r o u n d _ c o l o r = ’ b l a c k ’ } s . s e a r c h ( : c h a n n e l = [ ’ IR_039 ’ ] , : e n d = > >Time . r e a d ( quot; 2 0 0 9 0 1 1 1 1 2 0 0 quot; ) , : b e g i n = Time . u t c ( 2 0 0 9 ) ) do | im | > i f ( c a c h e . i n c l u d e ? ( im . d a t e ) && ! c a c h e 2 . i n c l u d e ? ( im . d a t e ) ) p u t s quot; compose #{im . d a t e } quot; i =Image . r e a d ( quot; . / o u t / c o m p o s i t e −#{im . d a t e . s t r f t i m e ( ’%Y% %d m % M ’ ) } . png quot; ) [ 0 ] H% i . f u z z=quot; 5.1% quot; ; t r a n s= i . t r a n s p a r e n t ( ’ b l a c k ’ ) im . s a v e ( ’ / v e r s a t i l e / ’+im . f i l e n a m e ) n _ i g h t =( Image . r e a d ( ’ / v e r s a t i l e / ’+im . f i l e n a m e ) [ 0 ] ) . thumbnail (1080 ,1080) n i g h t=Magick : : Image . c o m b i n e ( b l a c k . copy , n _ i g h t , b l a c k . c o p y ) p=n i g h t . c o m p o s i t e ( t r a n s , 0 , 0 , Magick : : O verC ompo site Op ) p . w r i t e ( quot; . / o u t 2 / c o m p o s i t e 2 −#{im . d a t e . s t r f t i m e ( ’%Y% %d%H% m M ’ ) } . png quot; ) { s e l f . d e p t h =8} F i l e . u n l i n k ( ’ / v e r s a t i l e / ’+im . f i l e n a m e ) end : more end