Pour ce premier post concernant mon projet personnel de développement d’un lecteur de flux RSS interfacé avec Google Reader et Readability, je reviens sur les raisons qui m’ont poussé à remettre les pieds dans le cambouis du développement de logiciel qui nécessite beaucoup de temps et de concentration.
Il existe pléthore de logiciels particulièrement sous Windows, le système d’exploitation le plus utilisé au monde (de XP à 7). Il n’était donc pas question de créer un logiciel pour le simple plaisir de concevoir en recopiant ce qui se fait déjà par ailleurs, d’autant que mon expérience assez limitée en terme de programmation et plus encore en terme d’interface utilisateur font que si je me lance dans un développement, ca prendra forcément du temps, et pour garder la motivation nécessaire tout au long du projet il faut avoir le plaisir de créer quelque chose qui n’existe pas, du moins pas au niveau de fonctionnalités escompté dans la version finale.
Mais avant d’aller plus loin, pour bien comprendre de quoi on parle, il faut déjà présenter les services utilisés par le logiciel.
Google Reader : c’est un lecteur de flux d’information sur Internet, permettant la lecture des flux RSS. On désigne par « flux RSS » un fichier dont le contenu est produit automatiquement (sauf cas exceptionnels) en fonction des mises à jour d’un site Web. Les flux RSS sont souvent utilisés par les sites d’actualité ou les blogs pour présenter les titres des dernières informations consultables en ligne.
Ainsi un logiciel de lecture de flux RSS est nommé un agrégateur, puisqu’il permet de réunir en un même endroit des actualités issus de différents sites web. A l’image de Facebook ou de Twitter qui sont des agrégateurs de news sociales. L’intérêt est le même dans les 2 cas : avoir en un point centralisé toutes les informations qui nous intéressent.
Google Reader est l’un d’eux, et présente plusieurs avantages sur les lecteurs classiques indépendants. D’une part étant accessible depuis un site web, il peut être consulté depuis n’importe quel PC ou périphérique mobile, en plus de logiciels spécialisés sur ces plate-formes. D’autre part étant centralisées en un point unique, les informations sur l’état de lecture des articles sont tout le temps à jour quel que soit le logiciel ou le site web compatible utilisé pour y accéder.
Vous trouverez sur cette page plus d’infos sur Google Reader : http://www.memoclic.com/1319-flux-rss/6720-google-reader-rss.html
Readability : C’est un service complètement indépendant et différent Google Reader, accessible par le web à cette adresse : http://www.readability.com. Celui-ci permet d’afficher les articles issus des blogs ou des sites d’information sous une forme épurée débarrassée de tous les éléments qui entourent les articles sur les sites d’origine : publicité, extraits d’autres articles, commentaires,… Cette présentation très agréable est particulièrement appréciable en situation de mobilité sur des téléphones mobiles où à la fois la résolution d’affichage et le débit de téléchargement en 3G, voire en Edge, sont bien moindres qu’avec un ordinateur utilisant une connexion ADSL ou câble. Ce service peut convertir des articles à la volée pour une lecture instantanée mais aussi sauvegarder les articles consultés dans une liste de lecture similaire à celle des éléments suivis de Google Reader. Dans mon futur logiciel ces 2 aspects seront pris en charge.
Il a fallu ensuite répondre à plusieurs questions avant de commencer le développement lui-même :
– Quelle plate-forme ?
Comme indiqué en préambule, je n’ai pas l’intention de réinventer quelque chose qui existe déjà et qui offre toutes les fonctionnalités importantes à mes yeux. Et de toute façon n’étant pas – loin s’en faut – un développeur professionnel, le choix s’est limité à la seule plate-forme accessible à mon niveau : Windows. Car Mac et iOS, sur lesquels j’aurai eu moyen de faire du développement, nécessitent de bonnes connaissances en langage C que je n’ais pas. Et ça tombe bien car le logiciel que je veux développer a déjà un équivalent sur ces plate-formes qui du reste inspire mon projet : Reeder (http://reederapp.com).
– Quel langage de programmation ?
Le C et ses dérivés étant out, il me restait 2 environnements accessibles : Delphi ou VB.Net. J’ai choisi VB.Net pour la simple et bonne raison que l’environnement de développement, VB Express, est gratuit et certes limité par rapport à l’environnement professionnel équivalent (Visual Studio) mais amplement suffisant pour mes besoins.
– Quel nom donner au logiciel ?
Là encore une question essentielle… et il n’est pas évident de trouver quelque chose qui ne soit pas un copier/coller d’un nom déjà existant ! J’ai donc choisi GRD Reader, on comprend aisément l’intérêt du terme Reader, les initiales GRD ont pour elles l’avantage d’avoir une double signification en phase avec le programme : Google Reader et ReaDability. Que ça plaise ou non, à ce stade ce n’est pas ma principale préoccupation !
– Quelle interface ?
Difficile avec mon niveau de connaissance des interfaces et de créativité en ce domaine de faire dans l’originalité. Ainsi sans vouloir là encore faire un copier/coller de l’existant, je me suis inspiré de deux logiciels, d’une part le « modèle » applicatif Reeder pour l’agencement des différentes parties graphiques, d’autre part une référence sous Windows qui se nomme FeedDemon (http://www.feeddemon.com) pour l’adaptation de cette interface au monde Windows qui est bien différente de celle du mac et plus encore d’iOS. Ceci dit l’interface restera assez grossière dans les premiers développements, le but étant d’abord d’avoir un produit fonctionnel avant de le rendre esthétique. Car sans fonctionnalités, aussi attirant graphiquement soit-il un logiciel n’a que peu de valeur…
– Payant ou gratuit ?
Si dans le cadre d’un développement à but commercial, que ce soit dans un environnement professionnel avec un investissement d’une société ou dans le cadre d’une activité libérale la question ne se pose que pour définir le prix de vente, il s’agit ici d’une démarche personnelle réalisée en plus avec des moyens limités en terme de professionnalisme dans la finition de l’application. Donc point de deniers nécessaires pour utiliser ce logiciel, tout au plus une incitation aux dons pour soutenir la démarche du développeur en herbe que je suis mais rien d’obligatoire.
Voilà pour cette introduction, dans la suite je reviendrai plus en détail sur les premières étapes du développement à proprement parler !