lecteur flux d'information rss (feed reader )
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
Buts
Application agrège les flux d’information utilisant RSS
Accessible : internet ou sans internet
Compréhensible et personnaliser
2
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.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 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.
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;}
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