Victor Hugo, les Châtiments extrait de Ultima Verba :
Si l’on est plus de mille, eh bien, j’en suis ! Si même
Ils ne sont plus que cent, je brave encore Sylla ;
S’il en demeure dix, je serai le dixième ;
Et s’il n’en reste qu’un, je serai celui-là !
Victor Hugo, les Châtiments extrait de Ultima Verba :
Si l’on est plus de mille, eh bien, j’en suis ! Si même
Ils ne sont plus que cent, je brave encore Sylla ;
S’il en demeure dix, je serai le dixième ;
Et s’il n’en reste qu’un, je serai celui-là !
Après le serveur XMPP et le client XMPP, nous allons nous intéresser d’avantage au côté client en codant quelques bribes de Java pour faire du XMPP. Pour cela, il existe encore une liste de librairies XMPP proposée par XMPP.org, et, comme précédemment, j’ai choisi celle qui m’a été conseillée et qui est développée par Jive Software : Smack !
Pour faire mes tests, j’ai lancé en local un serveur Openfire, sur lequel j’ai créé deux utilisateurs : « Fylhan » et « Test ». J’ai lancé Fylhan sur le client XMPP Spark et je vais utilisé « Test » pour mes tests. (quand je dis que j’ai « lancé Fylhan », je ne parlais pas de moi hein !)
Politique de développement chez IBM, à l’époque en tout cas…
Si après avoir lu uniquement les commentaires d’un programme vous n’en comprenez pas le fonctionnement : jetez le tout !
Joyeux premier décembre !
Scénario habituel nécessitant l’utilisation d’un svn revert : vous avez modifié un fichier (géré par SVN) sans le vouloir (ou vous avez changé d’avis !) et vous voulez retourner à la version actuellement géré par SVN. Un appel svn revert <nom du fichier> écrasera ce fichier avec la dernière version commitée sur SVN.
On peut faire la même chose avec le gestionnaire de version Git, sauf que cette fois-ci la commande à utiliser est git revert HEAD~<nombre de commit à effacer>, sans oublier de faire un push par la suite. Sam & Max explique ceci très bien dans un billet git revert pour annuler proprement le dernier commit.
Auparavant, j’utilisais git reset --hard <nom du fichier> ! Ou sur Eclipse avec le plugin EGit : clic droit > team > Reset et sélectionner l’option « hard ». C’est un petit peu différent vu que cette fois-ci on revient à la version d’une autre branche (par exemple : la branche sur le répertoire « origin ») alors qu’avec « revert », on reste en local. Mais avec « reset », il est possible de ne toucher qu’un seul fichier !
En fait, il est possible d’aller un peu plus sur ce sujet avec Git, mais un article l’explique déjà très sur Git Community Book : Undoing in Git – Reset, Checkout and Revert.
Savez-vous vous quel vient l’origine du mot « b.a.-ba » (que l’on prononce « béaba ») ? Cette petite expression provient de la méthode syllabique d’apprentissage de la lecture (on entend aussi parler de « synthétique » ou « alphabétique »), où l’on apprend à comprendre les lettres et les sons, puis à les assembler en syllabes, qui formeront enfin des mots ! Ainsi les lettres « b » et « a » donne « ba » d’où : « b.a.-ba » que l’on prononce « béaba ».

Pour information, il existe d’autres méthodes d’apprentissage de la lecture, comme la méthode globale, et le choix de la meilleure méthode porte toujours à polémique !
Après le serveur XMPP avec Openfire, place au client XMPP avec Spark !
Un client XMPP est le logiciel ou l’outil à la disposition de l’utilisateur pour lui permettre de communiquer avec son serveur XMPP, et donc par cet intermédiaire avec ses contacts. Il en existe plusieurs. Certains sont confinés à un seul serveur (GTalk pour le serveur Google Talk par exemple), d’autres permettent de se connecter à n’importe quel serveur comme Pidgin, Emphaty ou encore Spark ! Et c’est ce dernier que nous allons étudier aujourd’hui. Ce n’est pas très très compliqué à prendre en main, mais l’idée ici est surtout d’en profiter pour mieux comprendre quelques notions d’XMPP.
XMPP.org fournit une liste de clients XMPP : liste de clients XMPP.
Virgo se présente comme le nouveau et futur module OSGi pour Eclipse performant et facile à utiliser. En très gros, il offre les fonctionnalités du framework Spring (puisqu’il s’appuie dessus) permettant de gérer convenablement des projets OSGi, et fournit un serveur OSGi (appelé Virgo, anciennement Spring dm Server) utilisant Equinox. N’hésitez pas à visiter le site Web de Virgo pour en savoir plus. Ah oui, et OSGi, c’est un « framework » Java pour gérer des projets Java en s’occupant des dépendances, des cycles de vies, et de tout un tas de choses… Il existe deux implémentations phares de Virgo : Felix et Equinox. Hum, bref, je vous renvoie la page Wikipédia d’OSGi !
Car ce dont je souhaite bloguer aujourd’hui (du verbe « bloguer » : je blogue, tu bolgues, il/elle/on bluoge, nous bogluons, vous bugolez, ils bolugent), c’est de l’installation d’un environnement Virgo (sur Eclipse, forcément, pas vraiment le choix) !
Continuer la lecture
Le Web et le développement de sites Web est toujours un de mes passes-temps (le tout reste d’avoir du temps), voici donc quelques sujets que j’aimerai aborder sur ce blog dans un futur proche. On verra ce qu’on peut faire 🙂
Dans un précédent billet où j’ai expliqué les principes d’XMPP, on a vu que dans l’architecture XMPP, pour que deux utilisateurs communiquent entre eux, ils doivent chacun dialoguer avec leur serveur XMPP et ce sont ces serveurs XMPP qui vont s’échanger des messages pour les rediriger ensuite vers leur utilisateur.
Imaginez que vous avez créé une branche sur votre reposiroty Git nommée « MaBrancheAMoi ». Et que lorsque vous désirez faire un « pull », Git vous renvoit le message d’erreur suivant :
You asked me to pull without telling me which branch you
want to merge with, and ‘branch.MaBrancheAMoi.merge’ in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. ‘git pull ‘).
Ce qui le plugin EGit d’Eclipse nous traduit généralement par le message d’erreur suivant :
no values for key « branch.MaBrancheAMoi.merge » found in configuration
Cela est dû au fait que vous avez une branche locale, mais Git ne peut pas savoir avec quelle branche en ligne (remote) la lier.