lecteur flux d'information rss (feed reader )

33
Soutenance du projet : Gestion des flux d’information AYADI Mohammed Conçu par : ARIOUA Abdalah Sous la direction de : LP Assistant de projet informatique Développement d’application e-Business

Upload: ayadi-mohamed

Post on 29-Jul-2015

224 views

Category:

Software


1 download

TRANSCRIPT

Soutenance du projet : Gestion des flux d’information

AYADI MohammedConçu par : ARIOUA Abdalah Sous la direction de :

LP Assistant de projet informatique Développement d’application e-Business

Plan

RSS

2

5

Fin

Analyse

Conception

RésultatConclusio

n1

34

1

Buts

Application agrège les flux d’information utilisant RSS

Accessible : internet ou sans internet

Compréhensible et personnaliser

2

1 . RSS

RSS Analyse Conception Résultat Conclusion 3

1.1 Pourquoi gérer les flux d’information?

RSS Analyse Conception Résultat Conclusion

o multiplicité des sources d'information dans le web.

4

1.2 Comment peut-on récupérer les flux d’information?

RSS Analyse Conception Résultat Conclusion

o Newsletter , RSS , réseau social

5

1.3 qu'est-ce que c'est RSS?

RSS Analyse Conception Résultat Conclusion 6

Les flux RSS (Really Simple Syndication, publication vraiment simple) est une famille de formats de données dont le contenu est produit automatiquement en fonction des mises à jour d'un site Web.

1

1.4 Comment accéder aux flux RSS?

RSS Analyse Conception Résultat Conclusion 7

Utiliser le navigateur web pour afficher les flux

2 Utiliser logiciel de messagerie

3Utiliser un logiciel spécialisé dans l'agrégation de fils d'informations RSS

4Profiter de ces flux sur votre Smartphone

Techniquement c’est quoi un flux RSS ?

RSS Analyse Conception Résultat Conclusion

o XML : Méta-information , contenus(titre , date, lien, image, auteur)

8

2 . ANALYSE

RSS Analyse Conception Résultat Conclusion 9

2.1 Cahier des charges

RSS Analyse Conception Résultat Conclusion 10

Mode enligne: l’application permet aux utilisateurs de récupérer ou télécharger les flux d’information diffusés par un site via l’internet.

Mode hors-ligne: l’application permet aux utilisateurs de récupérer les articles qui sont déjà téléchargés en mode enligne, aussi l’utilisateur à le choix de gérer les flux selon des catégories.

A : Mode hors-ligne2.2 Besoins fonctionnels

RSS Analyse Conception Résultat Conclusion 11

Récupérer ou Supprimer les articles stockés.1

Ajouter des nouvelles catégories.2

Accéder aux flux apprécies par l’utilisateur. 3

Afficher les flux selon les catégories.4Rechercher dans les articles écrits par un auteur.5

B : Mode enligne2.3 besoins Fonctionnels

RSS Analyse Conception Résultat Conclusion 12

Ajouter un flux RSS.1

Télécharger les articles liés à un flux RSS.2

Lire directement les flux dans l’application. 3

Lancer l’article dans le navigateur.4

Diagramme de use cases

RSS Analyse Conception Résultat Conclusion 13

Diagramme de séquence de système

RSS Analyse Conception Résultat Conclusion 14

Cas de lecture et stockage (téléchargement) des articles d’un flux.

Diagramme de classes persistantes :

RSS Analyse Conception Résultat Conclusion 15

3 . Conception

RSS Analyse Conception Résultat Conclusion 16

A : MVC3.1 Architecture du projet

RSS Analyse Conception Résultat Conclusion 17

Rendre le code plus structuré et plus claire.

Faciliter le maintenance de l’application.

B : DAO3.1 Architecture du projet

RSS Analyse Conception Résultat Conclusion 18

Souvent la couche Contrôleur dépend aussi de la couche DAO (DATA ACCES OBJECT) qui permet d’accéder à la base de données. Cette couche gérer les différents accès à la base de données.

Diagramme de classes de conception3.1 Architecture du projet

RSS Analyse Conception Résultat Conclusion 19

Ajouter un flux3.1 Rapport technique

RSS Analyse Conception Résultat Conclusion 20

GUI : Ajouter un flux RSS

Validation de lien3.2 Rapport technique

RSS Analyse Conception Résultat Conclusion 21

http://rss.cnn.com/rss/edition_americas.rss

http://www.france24.com/fr/europe/rss/

http://www.aljazeera.net/aljazeerarss/3c66e3fb-a5e0-8-880c58cd67......

Les liens des formats utilisés :

Read()codeValider et récupérer XML3.1 Rapport technique

RSS Analyse Conception Résultat Conclusion 22

try { this.url = new URL(fluxURL); } catch (MalformedURLException e) { throw new RuntimeException(e); }

try { return url.openStream(); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); }

B : récupérer le fichier XML A : valider le lien

STAXTraiter XML3.2 Rapport technique

RSS Analyse Conception Résultat Conclusion 23

Permet de traiter un document XML de façon simple en consommant peu de mémoire.

STAX complète l’API DOM et SAX .

STAX garde le contrôle sur les opérations d'analyse ou d'écriture.

codeSTAXLire un fichier XML3.1 Rapport technique

RSS Analyse Conception Résultat Conclusion 24

XMLInputFactory inputFactory = MLInputFactory.newInstance();InputStream in = read();XMLEventReader eventReader = inputFactory.createXMLEventReader(in);while (eventReader.hasNext()) { XMLEvent event = eventReader.nextEvent();if (event.isStartElement()) {String localPart = event.asStartElement().getName().getLocalPart();switch (localPart) { case ‘TITLE’: title = getCharacterData(event, eventReader); event = eventReader.nextEvent(); break;

……….

codeSTAXLire un fichier XML3.1 Rapport technique

RSS Analyse Conception Résultat Conclusion 25

private String getCharacterData(XMLEvent event, XMLEventReader eventReader) throws XMLStreamException { String result = ""; event = eventReader.nextEvent(); if (event instanceof Characters) { result = event.asCharacters().getData(); } return result;}

codeSTAXLire un fichier XML3.1 Rapport technique

RSS Analyse Conception Résultat Conclusion 26

if(localPart.equals("thumbnail")){ Iterator<Attribute> listAttributes = event.asStartElement().getAttributes(); thumbnail = this.getAttributeValue(listAttributes, "url"); }

public String getAttributeValue(Iterator<Attribute> listAttributes,String myAttributeTarget){ String value =""; while(listAttributes.hasNext()){

Attribute myAttribute = listAttributes.next(); if(myAttribute.getName().toString().equals(myAttributeTarget)){ value = myAttribute.getValue(); } }

return value;}

4 . Résultat

RSS Analyse Conception Résultat Conclusion 27

Démonstration vidéoRésultat

RSS Analyse Conception Résultat Conclusion 29

5 . Conclusion

RSS Analyse Conception Résultat Conclusion 30

Compétences5.Résultat

RSS Analyse Conception Résultat Conclusion 31

Traiter avec les fichier XML.1

Travailler à l’aide de l’architecture MVC.2

Implémentation des design patterns. 3

Réutilisable avec le temps.4

Difficultés5.Résultat

RSS Analyse Conception Résultat Conclusion 32

Traitement des liens .1

Lecture des fichiers XML .2Synchronalisation entre mode hors-ligne / enligne. 3

Gestion des différents formes de XML.4

Merci de votre attention

1

AYADI MohammedConçu par : ARIOUA AbdalahSous la direction de :