Your SlideShare is downloading. ×

Présentation de stage

1,073

Published on

Published in: Health & Medicine, Sports
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,073
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Réalisation d'un service de partage de tâches et de souhaits, exploitant le réseau social de l'utilisateur Quentin MOURARET Tuteurs : Sébastien BERTRAND Yann MATHET
  • 2. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 3. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 4. Contexte
    • France Télécom R&D
      • Division Recherche & Développement de France Télécom
      • 6 centres de R&D (les CRD)
      • Direction des laboratoires internationaux
      • Fonctions de support de pilotage
    • URD SWING : Social Web Innovation New Generation
      • Investigation sur les nouvelles technologies de communication et d'accès au contenus
    • SNI : Social Networking Innovation
      • Projet d'anticipation qui propose des services mettant en avant les réseaux sociaux
  • 5. Contexte
    • Sharezone
      • Réalisation d'un moteur de lien sociaux
      • Gestion des relations entres utilisateurs
    • Place du projet
      • Nouveau service (Web 2.0)
      • Utilisation de Sharezone
  • 6. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 7. Le Web 2.0
    • Une transition importante du Web
    • Un regroupement des concepts et technologies déjà en place
    • 3 points
      • Les réseaux sociaux
      • Les technologies (HTML, XML, CSS, etc.)
      • Les services
  • 8. Le Web 2.0
    • Les réseaux sociaux
      • Liens entres amis
      • Partage de points communs
      • Apparition de communautés
      • Distribution de contenu
      • Exemple : Myspace
  • 9. Le Web 2.0
    • Les technologies
      • HTML
      • CSS 2.0
      • Javascript
      • XML
      • Le protocole HTTP
      • REST (architecture de services Web )
      •  Nouvelle ergonomie des sites Web
  • 10. Le Web 2.0
    • Les services
      • Intègre la notion de réseaux sociaux
      • Partage et collaboration
      • API ouverte
      • Exemple : Flickr
  • 11. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 12. AJAX
    • Asynchronous JavaScript And XML
    • Mise à jour d'une portion de page uniquement
    Web classique Modèle AJAX
  • 13. AJAX : exemples de site Web
    • http://www.flickr.com/
      • Modification à la volée
        • (titre, description, tags des photos)
    • http://maps.google.com/
      • Pré-chargement des portions
      • de carte à afficher.
  • 14. Ruby on rails
    • Un Framework pour les applications Web.
    • Extrait de Basecamp (outil de gestion de projet), développé par David Heinemeier Hansson (Danois).
    • La première version de Ruby on Rails date de 2004 et la première version stable juillet 2005 (Ruby 1995).
    • Ecrit avec et grâce à Ruby.
  • 15. Ruby on rails
    • Ruby
      • Langage de programmation interprété entièrement orienté objet.
      • Crée par Yukihiro "Matz" Matsumoto (Japonais).
      • Ruby n'est pas un acronyme, mais un jeu de mot sur Perl.
      • Première version sortie en 1995.
      • La syntaxe de Ruby est inspirée par Eiffel et Ada.
  • 16. Ruby on rails
    • (Ruby) on rails :
      • Un framework pour les applications Web.
      • Les principes principaux sous-jacents au framework sont :
        • "Ne pas se répéter"
        • "Convention plutôt que Configuration".
      • Modèles de conception (design pattern) :
        • Mappage Objet-Relationnel ( Object-Relational mapping , ORM).
        • MVC (Modèle Vue contrôleur)
  • 17. Ruby on rails
    • Utilisation du modèle MVC
      • Modèle: Représente les données de l'application.
      • Vue: Permet d'élaborer des modèles de pages.
      • Contrôleur: Gère la logique de la navigation.
  • 18. Ruby on rails
    • Mappage objet-relationnel
      • Faire étroitement correspondre les tables de la base de données avec les classes utilisées au sein de Ruby.
  • 19. Ruby on rails
    • Outils 1/2
      • Scripts de génération de structure
        • Structure du projet
        • Contrôleur + vue
        • Modèle
        • Scaffold (modèle, contrôleur, vue)
  • 20. Exemple d'arborescence des fichiers d'une application Web permettant de gérer une bibliothèque. Partie généré par RoR lors de la création de l'application Fichiers crées au cours de l'évolution de l'application
  • 21. Ruby on rails
    • Outils 2/2
      • Helpers : méthodes aidant à générer les vues
    <%= img_link (&quot;www.daruma-project.com&quot;, { :class => &quot;link&quot; }, &quot;/images/daruma.jpg&quot;, { :class => &quot;image&quot;} ) %> <a href=&quot;www.daruma-projet.com&quot; class=&quot;link&quot;> <img src=&quot;/images/daruma.jpg&quot; class=&quot;image&quot; /> </a> HTML Génération Ruby
  • 22. Ruby on rails
    • Serveur
      • En développement : WEBrick
      • En production : Apache ou Lighttpd avec FastCGI.
  • 23. Ruby on rails : exemple
    • http://www.37signals.com
      • Management de projet
      • Gestion des taches
    • http://www.43things.com
      • Partager les 43 choses
      • les plus importantes pour vous.
  • 24. AJAX et Ruby on Rails
    • Conclusion
      • Interface plus interactive (AJAX)
      • Développement simple et rapide (RoR)
      •  Outils adaptés aux besoins pour le développement de l’application Daruma
  • 25. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 26. Le projet Daruma
    • Définition
    • Sources d'inspirations
    • Les objets
    • Les cas d'utilisations
    • Le schéma de la BDD
  • 27.
    • Daruma : un service de partage de taches, de souhait( Wish list ) exploitant le réseau social de l'utilisateur.
    • Daruma : désigne dans la culture Japonaise une figurine à vœux.
    • Utilisation des technologies émergentes : AJAX et Ruby on rails
    Le projet : définition
  • 28. Le projet : définition
    • Quentin souhaite apprendre le Japonais
  • 29. Les sources d'inspirations
    • http://36trucs.com/
    • http://www.millemercis.com/
    • http://www.backpackit.com/
    • http://www.tadalist.com/
    • http://www.flickr.com
    •  Diffusion et Partage d'informations
    •  Communauté virtuelle
  • 30. Les objets
    • Les utilisateurs
    • Les fiches
    • Les tags
    • Les commentaires
    • Les suivis et aides
  • 31. Les cas d'utilisations 1/3
    • Visuel d'un blog
    • Voir les fiches
    • Effectuer des recherches
    • Poster des fiches
  • 32. Les cas d'utilisations 2/3
    • Actions possibles au sein d'une
    • fiche:
    • Ecrire des commentaires
    • Suivre la fiche
    • Proposer son aide
    • Flux Rss
    • Pour ses propres fiches
      • Modifier le contenu
      • ajouter/supprimer des tags
      • ajouter/supprimer des
      • commentaires
  • 33. Les cas d'utilisations 3/3
    • Actions sur le compte d’une
    • personne ou sur son compte:
    • Voir les fiches
    • Voir les amis
    • Voir le profil
    • Voir l’activité récente
    • Voir les fiches suivies
    • Voir les fiches aidées
  • 34. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 35. Développement
    • Outils utilisés
    • La structure du projet Daruma
    • Les effets et objets AJAX
    • L'aspect social
    • Les flux RSS
    • Interconnexion avec les moteurs sociaux
  • 36. Développement
    • Outils utilisés
    • La structure du projet Daruma
    • Les effets et objets AJAX
    • L'aspect social
    • Les flux RSS
    • Interconnexion avec les moteurs sociaux
  • 37. Développement
    • Outils utilisés
      • Développement sous RadRails (environnement basé sur Eclipse)
      • BDD: Mysql
      • Serveur WEBrick (développement)
  • 38. Développement
    • La structure du projet Daruma
      • Modèles
        • Définir les objets (tag, card, user, etc.)
        • Définir les relations
          • Has_many
          • Has_one
          • Belongs_to
  • 39. Développement
    • Diagramme :
  • 40. Développement
    • La structure du projet Daruma
      • Contrôleurs (1/2)
    http://daruma-project.com/card/show/ 9 1. La première partie de l'URL identifie l'application 2. La suivant sélectionne le contrôleur 3. La dernière identifie l'action à invoquer (Optionnel) on peut rajouter des variables qui passeront directement dans l'url
  • 41. Développement
    • La structure du projet Daruma
      • Contrôleurs (2/2)
        • User_controller
          • profile
          • cards
        • Card_controller
          • cards
        • Tag_controller
        • Rss_controller
  • 42. Développement
    • Les effets et objets AJAX
      • Les nuages de mots (tags)
      • Les recherches
      • Ajout/suppression de tag
      • Edition à la volée
  • 43. Développement
    • Ajout/suppression de tags
    Serveur Réception des tags Mise à jour de la liste des tags Renvoie de la nouvelle liste
  • 44. Développement
    • Edition à la volée
    Mise a jour du champ dans la BDD Renvoi de la réponse Réception des données Serveur
  • 45. Développement
    • L'aspect social
      • Utilisation du réseau social Flickr, Sharezone
      • Chargement de la liste d’amis
      • Possibilité de voir qui est mon ami directement à différent endroit de l'application.
    Indique que c'est un ami
  • 46. Développement
    • Les flux Rss
      • Contenu sous la forme d'un flux de données normalisées et diffusé sur le Web.
      • Proposer des flux par fiche, par utilisateur, par tag, etc.
  • 47. Développement
    • Interconnexion avec les moteurs sociaux
      • Principe
    Brique Web utilisateur Navigation sur Le site Daruma Authentification et profil Application Daruma
  • 48. Développement
    • Interconnexion avec les moteurs sociaux
      • Flickr
        • Présent depuis 2 ans sur Internet (mature)
        • API fonctionnelle (documentée)
        • Clé publique et clé secrète
        • Exemple de méthodes utilisées :
          • flickr.contacts.getList
          • flickr.people.getInfo
  • 49. Développement
    • Interconnexion avec les moteurs sociaux
      • Sharezone
        • Tester les fonctionnalités
        • Proposer des améliorations
        • Identifiant de session (http)
        • Exemple de méthodes utilisées :
          • SNEGetProfile
          • SNELogin
  • 50. Développement
    • Interconnexion avec les moteurs sociaux
      • Intégration dans l’application
    Flickr flickr.people.getInfo Etc. Méthode : getProfile Service : flickr Plus paramètres contrôleur Requête Transmission des paramètres Sharezone SNEGetProfile Etc.
  • 51. Développement
    • Interconnexion avec les moteurs sociaux
      • Synthèse
        • Utilisation de Flickr facile et bien documenté.
        • Utilisation de Sharezone mal documenté et plus contraignante.
        • Les résultat obtenus sont les mêmes sur les deux API
  • 52. Sommaire
    • Présentation du contexte
    • Le Web 2.0
    • AJAX et Ruby on Rails
    • Le projet Daruma
    • Développement d'un prototype
    • Conclusion
  • 53. Conclusion
    • Mon travail consistait à analyser les technologies existantes et à développer un prototype de service de gestion de souhaits utilisant le réseau social de l'utilisateur.
    • Ruby on Rails offre d'excellents avantage en terme de productivité, mais souffre de sa jeunesse.
    • Le prototype est développé correctement et montre la possibilité de s'interconnecter avec différentes API.
    • Potentiel des APIs ouverte
    • Sharezone doit être amélioré pour être vraiment considéré comme une API ouverte.
  • 54. Démonstration Daruma

×