1. Soutenance du projet : Gestion des flux d’information
AYADI MohammedConçu par : ARIOUA AbdalahSous la direction de :
LP Assistant de projet informatique Développement d’application e-Business
5. 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
6. 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
7. 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.
8. 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
3
Utiliser un logiciel spécialisé dans
l'agrégation de fils d'informations RSS
4 Profiter de ces flux sur votre Smartphone
9. 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
11. 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.
12. 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.4
Rechercher dans les articles écrits par un auteur.5
13. 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
18. 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.
19. 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.
20. Diagramme de classes de conception3.1 Architecture du projet
RSS Analyse Conception Résultat Conclusion 19
21. Ajouter un flux3.1 Rapport technique
RSS Analyse Conception Résultat Conclusion 20
GUI : Ajouter un flux RSS
22. 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 :
23. 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 XMLA : valider le lien
24. 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.
25. 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;
……….
26. 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;
}
27. 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;}
31. 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
32. Difficultés5.Résultat
RSS Analyse Conception Résultat Conclusion 32
Traitement des liens .1
Lecture des fichiers XML .2
Synchronalisation entre mode hors-ligne /
enligne.3
Gestion des différents formes de XML.4
33. Merci de votre attention
1
AYADI MohammedConçu par : ARIOUA AbdalahSous la direction de :