Interface de contrôle et de commande MSG
Upcoming SlideShare
Loading in...5
×
 

Interface de contrôle et de commande MSG

on

  • 1,458 views

Présentation de projet XL, création d'une interface d'accès aux images satelittes de l'archive ATIS (plus de 2To).

Présentation de projet XL, création d'une interface d'accès aux images satelittes de l'archive ATIS (plus de 2To).

Statistics

Views

Total Views
1,458
Views on SlideShare
1,454
Embed Views
4

Actions

Likes
0
Downloads
4
Comments
0

2 Embeds 4

http://www.slideshare.net 3
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Interface de contrôle et de commande MSG Interface de contrôle et de commande MSG Presentation Transcript

  • 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