Archives de catĂ©gorie : Licence

Edition collaborative de documents

Ensemble d’outils pour faire de l’Ă©dition collaborative de documents. Ce genre d’outils est parfait pour rĂ©aliser des documentations techniques oĂč il faut parfois intervenir Ă  plusieurs :

  • Etherpad, en licence Apache V2. Outil vraiment orientĂ© vers l’Ă©dition Ă  plusieurs : il est possible d’Ă©crire Ă  plusieurs sur le mĂȘme document et il y a une zone de discussion
  • Substance, en GPLv3. Outil pour faire plus un travail de rĂ©vision sur des documents : il est possible de commenter chaque paragraphe. Il permet d’avoir plusieurs sorties pour chaque document (ebook, page web, etc…). Se concentre plus sur la sĂ©mantique que sur l’apparence.
  • booktype, en AGPLv3. PrĂ©sentĂ© sur LinuxFR. OrientĂ© sur l’Ă©dition de livres. Permet de gĂ©nĂ©rer des formats e-book ou pour Ă©dition papier

Projet découverte IP, v1.a

Petites nouvelles sur l’avancement.

J’ai rapidement mis en ligne ce que j’appelle la version 1.a. Il est donc maintenant possible de trouver et d’afficher son adresse IP via ipso.me.

J’ai mis Ă  disposition le code source du projet sur Kenai.com (en). Leur service est vraiment clair et pratique. J’ai ouvert un dĂ©pĂŽt Mercurial : http://kenai.com/projects/ipsome/sources/hg/show (en). Je dĂ©couvre l’utilisation d’un gestionnaire de code dĂ©centralisĂ©, je ne suis pas encore 100% Ă  l’aise avec car cela change de SVN, mais c’est assez pratique. Il faudra qu’un jour je prenne le temps de lire Subversion Re-education (en).

Pour l’instant le code est vraiment minimaliste, il y a juste un contrĂŽleur qui rĂ©cupĂšre l’IP du client et la passe Ă  une vue. Mes premiĂšres impressions sur l’utilisation de Play! Framework (en) sont trĂšs bonnes. C’est vraiment trĂšs simple Ă  mettre en place, trĂšs simple pour commencer, le tutoriel de dĂ©part est bon. J’ai d’ailleurs fait cette version 1.a directement en suivant le tutoriel “PremiĂšre application (en)” .

Pour le style, j’ai rĂ©cupĂ©rĂ© un template que j’ai dĂ©jĂ  utilisĂ© par ailleurs, il a l’avantage d’utiliser le framework CSS 1140 CSS Grid (en) qui permet de s’adapter Ă  la largeur de l’Ă©cran. Le rendu s’adapte jusqu’aux rĂ©solutions des smartphones.

Ce qu’il me reste Ă  faire pour avoir une vrai version 1 :

  • IntĂ©grer la licence Apache au projet,
  • Faire une petite doc pour l’installation :
    • en texte dans un fichier install.txt,
    • en html intĂ©grĂ© dans une page du projet
  • Nettoyer le code et le template utilisĂ©

Projet découverte IP

Version 0

Le nom

J’ai trouvĂ© un nom qui va avec un domaine disponible : ipso.me. Bon, maintenant, bien entendu le domaine n’est plus disponible. Pourquoi ipso ? Car c’est court, le domaine en .me est libre. Il contient IP qui fait bien rĂ©fĂ©rence Ă  l’adresse IP qu’on veut arriver Ă  dĂ©terminer. Le so peut faire rĂ©fĂ©rence Ă  « solve » ou « solution ».

IP + SOlve = ipso. Le “.me” indiquant qu’il s’agit de rĂ©soudre mon adresse ip.

Ça me parait bien. Le projet sera donc nommĂ© « ipso.me » et ce sera Ă  la fois le nom du projet et du domaine.

La forge

Pour la forge, j’ai envie de tester le systĂšme de gestion de version Mercurial. Je m’oriente donc vers la plateforme Kenai qui est trĂšs bien intĂ©grĂ©e Ă  Netbeans, l’IDE que j’utilise couramment. Depuis le rachat de Sun par Oracle, il Ă©tait question que Kenai disparaisse pour laisser la place Ă  java.net qui utilise maintenant la plateforme Kenai. Mais il semble que les deux sont actifs en simultanĂ©s. Donc on verra, il sera toujours temps de changer. Les autres choix possibles pour Mercurial sont :

Projet découverte IP

But du projet

Construire une application web permettant d’afficher l’adresse IP des visiteurs. Afficher le maximum d’informations sur :

  • utilisation d’un proxy,
  • localisation,
  • IP dynamique ou statique

Ce projet sera développé de façon itérative et doit me permettre de tester diverses technologies. Le code sera en Java et open-source sous licence Apache 2.0.

Prévision de versions

  • Version 0 :
    • Trouver un nom au projet,
    • Trouver un nom de domaine pour l’installation publique,
    • Trouver une forge oĂč publier l’application
  • Version 1 :
    • Afficher l’adresse IP du visiteur,
    • Mettre en ligne l’application,
    • Publier le code sur la forge choisie
  • Version 1.1 :
    • Afficher les informations sur l’utilisation de proxy
  • Version 1.2 :
    • Afficher les informations de localisation de l’IP via une base de localisation
  • Version 1.3 :
    • Permettre Ă  l’utilisateur de tracer ses changements d’adresse via un cookie, ainsi depuis un mĂȘme poste, il pourra dĂ©terminer si il a une adresse IP dynamique.
  • Version 1.4 :
    • Si l’utilisateur le permet et si son navigateur le supporte, demander la localisation de l’utilisateur.
  • Version 2.0 :
    • Permettre Ă  l’utilisateur d’avoir un compte sur l’application, proposer plusieurs systĂšmes d’authentification :
      • SystĂšme interne au site,
      • OpenID
      • Facebook
      • Google
    • Avoir un compte permet de :
      • Avoir un historique de ses IP, localisations
      • Supprimer son compte et ainsi effacer toutes les donnĂ©es
    • La collecte d’information va nĂ©cessiter une dĂ©claration Ă  la CNIL

Outils utilisés

Bien entendu, aucune garantie de résultat, juste du best effort


Tester l’expĂ©dition d’emails en Java

Lorsqu’on dĂ©veloppe un programme qui expĂ©die des emails, plutĂŽt que d’utiliser un vrai serveur de mails, il peut ĂȘtre avantageux d’utiliser un faux serveur. L’avantage c’est que cela est intĂ©grable Ă  des tests unitaires et qu’on Ă©vite l’erreur de manipulation qui envoie un email Ă  tous les contacts de la base de donnĂ©es.

Il existe plusieurs bibliothÚque pour réaliser cela :

  • devnull smtp : faire un “java -jar DevNullSmtp.jar” pour lancer une interface graphique simple qui permet de lancer un fake serveur sur le port dĂ©sirĂ©. Il ne peut pas ĂȘtre intĂ©grĂ© Ă  des tests unitaires, mais on peut visualiser en direct les messages reçus dans l’interface. Gratuit mais non libre.
  • Wiser : BibliothĂšque Java qui peut ĂȘtre intĂ©grĂ©e Ă  des tests unitaires. Licence Apache 2.0
  • Dumbster : BibliothĂšque Java qui peut ĂȘtre intĂ©grĂ©e Ă  des tests unitaires. Licence Apache 2.0. Projet sans mise-Ă -jour depuis 2005.