Tue, Feb 20, 2007
Je me pose la question depuis que je suis censé exercer ce métier. Je
dis “censé” parce que c’est ma fonction officielle, mais que je ne
saurais pas encore précisément la décrire en quelques phrases simples.
De plus, j’ai conscience de ma relative faible expérience dans le
domaine. Idéalement, je me qualifierais donc plutôt architecte
junior^[1]^, pour montrer un peu d’humilité, chose dont
j’ai souvent besoin, mais je me soigne.
Ce qui me rassure, c’est qu’il semble que je ne sois pas le
seul
à me poser la question, quant à la définition de mon métier…
Pour moi, pour faire court, un architecte, c’est un gars qui sait
programmer. Quelqu’un qui adore ça. Curieux et ouvert, ce quelqu’un se
doit de concevoir un système non pas pour se faire plaisir, mais pour
qu’il soit à la fois propre, évolutif sans être non plus sur-conçu
^[2]^ et le plus simple possible à utiliser.
Je pense donc qu’un architecte (informatique) doit savoir programmer. En
fait, je pense même plus précisément qu’un architecte n’est finalement
qu’un bon programmeur. Et il doit continuer à coder, toujours, sinon il
ne peut plus prétendre être architecte, c’est aussi simple que ça :
comment une personne peut-elle oser (pro)poser des règles si ce ne sont
pas celles qu’il utilise tous les jours et dont il est convaincu du bien
fondé ?
Plusieurs articles vont dans ce sens. D’abord, le célèbre
anti-pattern
ArchitectsDontCode,
demandant notamment :
How can someone who never writes a line of code be responsible for how
that code will be written?
ou en français :
Comment quelqu’un qui n’écrit jamais une ligne de code peut-il être
responsable de comment ce code sera écrit ?
En fait, il y a une différence importante entre un architecte du
bâtiment et celui de l’informatique. C’est d’ailleurs le sujet d’un
article de Martin
Fowler :
A software architect is seen as a chief designer, someone who pulls
together everything on the project. But this is not what a building
architect does. A building architect concentrates on the interaction
with client who wants the building. […] Given the focus on client
interaction I think the closest equivalent in software development is
a user-interface designer.
Le travail d’un architecte logiciel
- Via
a19s,
les erreurs les plus courantes des “architectes”. Everybody Hates
Architects.
Écrit sur un ton humoristique qui le rend très agréable à lire, ce
billet donne néanmoins des points très intéressants. Un qui me
touche particulièrement :-)
Do You Talk A Lot? Then Just Shut Up - Have a nominated day where you
don’t try to take over a conversation with either Technology, Patterns
or some hair-brained new idea you’ve had that involves something you
read in the new MSDN magazine regarding vector graphics on a device
implanted inside the human skull using web services. Find the person
on your team that you talk to the least, and spend some time listening
to what they do and how they do it. Really try to just shut up and
listen. If you don’t want to be the software world’s equivalent of a
corridor bogey man, then practice some humility as often as you can.
An occupational hazard of all that zippy confidence and rapid mouth
action is that you’ll be blind-sided when the day comes that you
didn’t listen enough.
This kind of architect must be very aware of what’s going on in the
project, looking out for important issues and tackling them before
they become a serious problem.
Ce billet n’est évidemment en rien exhaustif, mais il a le mérite de
m’avoir permis de vous donner les quelques liens que je trouvais
intéressants ci-dessus :).
Notes
[1] Même si je n’aime pas trop ce suffixe. En
informatique, ce suffixe junior se rencontre parfois sur les CV, le plus
souvent pour le pompeux “Chef de projet junior”. Toutefois, je me
demande si l’informatique serait le seul métier où on n’est généralement
pas X, mais X junior, lorsqu’on est jeune. Est-ce que les architectes du
bâtiment sont au début de leur carrière affublés de ce type de suffixe ?
À mon avis, ce suffixe est superflu. C’est au recruteur de regarder le
CV pour calculer l’expérience du candidat. Selon le projet en question,
il pourra ainsi juger de l’importance de la longueur de cette
expérience.
[2] j’aurais bien écrit overdesigné, mais ça fait
un peu pédant. J’entends pas là quelque chose d*‘usineàgazesque* :-)
Mon, Feb 19, 2007
Je me suis acheté il y a
maintenant quelques semaines ce lecteur
MP3.
J’y ai adjoint des écouteurs
Koss
pour un son de grande qualité. Ces écouteurs intra-auriculaires sont
tellement “isolants” que je suis obligé de mettre le son au minimum
lorsque je marche dans la rue, afin d’entendre un peu l’environnement
(voitures, vélos…).
Je suis globalement très satisfait du lecteur et des écouteurs. La radio
marche très bien, elle possède un mode recherche automatique bien
pratique. Le seul point noir que j’ai trouvé au lecteur est une
traduction française absolument catastrophique. Celle-ci m’énervait
tellement que j’ai repassé le lecteur en anglais. Deux petits exemple
rapides : Shuffle All, qui permet une lecture aléatoire de tous les
morceaux, a été traduit Brouillez Tous, ou Language laissé
Language… N’importe quoi ! Y a aucun français qui bosse chez
Samsung qui pourrait se sortir les doigts du cul pour nettoyer cet
immondice de traduction ? Ou alors au moins un responsable des ventes en
France qui pourrait au moins s’intéresser à ce qu’il vend ?
Grâce à Seb, j’ai trouvé le site Z5
Lounge grâce auquel, à peine déballé, j’ai
upgradé mon lecteur au dernier firmware 2.47. Soit dit en passant, c’est
bluffant de simplicité à faire. Un autre avantage est son autonomie,
effectivement impressionnante. Je n’ai pas compté pour vérifier, mais la
trentaine d’heures annoncée ne me semble pas être démentie à
l’utilisation. Toujours à propos de ses points forts, il est l’un des
rares lecteurs du moment à supporter autant de format, et notamment le
ogg, format ouvert alternatif au mp3 (mieux, donc).
Si j’étais sûr de pouvoir réparer mes éventuelles conneries,
j’essaierais bien d’éditer le binaire de ce firmware pour corriger cette
traduction ni faite ni à faire, mais je ne vais pas risquer de devoir
renvoyer mon lecteur chez le fabriquant, voire de devoir le jeter, pour
ça…
Note : Si quelqu’un de chez Samsung lit ce billet, je suis même prêt à
aider pour la traduction si besoin. Franchement, vu les qualités
techniques du matériel, c’est affligeant une qualité pareille sur la
version française ! batmat chez batmat point net :-).
Ressources intéressantes sur le YP-Z5 :
Sun, Feb 18, 2007
Génial.
L’API standard de Java manque encore aujourd’hui cruellement d’une API
de traitement des dates, de calcul des durées entre deux dates et tout
ce qui peut avoir un rapport avec le traitement du temps dans un
programme. L’une des bibliothèques les plus connues qui comble cette
lacune est Joda-Time.
Une JSR est donc
en marche pour répondre à ce besoin de façon standard. Ceux qui ont déjà
utilisé les classes Calendar et Date savent à quel point elles sont
incomplètes et parfois même bugguées. Vivement que ce groupe de travail
produise la base de ce javax.time.*, base sur laquelle nous pourrons
jeter un oeil afin de commenter. Ça va sûrement être très intéressant.
Nous découvrirons alors notamment s’il est entrevu un chemin de
migration entre la classe Date actuelle et celle qui sera conçue. A
priori, les deux classes devraient en effet être rendues obsolètes :
It is intended that this JSR will produce classes that effectively
replace the need for the existing Date and Calendar APIs. Over time we
look forward to other specifications being updated to us the new date
and time API.
Mais le groupe de travail tentera évidemment si possible de réintégrer
ces classes dans le nouveau modèle :
In terms of design, it is intended that immutable classes will form
the core. It is also intended to use interfaces, if possible, to bring
the old Date and Calendar classes into the new model. The expert group
will also examine if Calendar can be reimplemented internally using
the new date and time classes.
Vu la base de code dans la nature qui dépend de Date/Calendar, j’espère
qu’on trouvera un moyen de fusionner l’ancien et le nouveau modèle…
Fri, Feb 2, 2007
Ceux qui consultent le site directement de temps en temps sans passer
par le fil RSS remarqueront certainement des changements sur son rendu.
Pour ceux que ça intéresse, j’ai utilisé comme base le thème Aorakit 3F
de
Kozlika.
Maintenant que la structure qui me convient est posée, je récupère bout
par bout les parties de la CSS que ce blog avait lorsqu’il tournait avec
dotclear 1. J’essaie à cette occasion de supprimer les trucs un peu
tordus qui s’étaient accumulés avec le temps dans la CSS :-).
J’ai gagné un temps précieux grâce au travail de Kozlika pour poser la
structure que je voulais. Merci beaucoup.
Tue, Jan 30, 2007
Attention, fonctionnalité en test :-). Merci
GeShi
C’est pas mal du tout, mais il faut encore améliorer le rendu. Notamment
les espaces inter-lignes. Il faut aussi que je passe en mode “class” et
que j’écrive le code CSS associé au rendu que je veux donner à mon code.
package fr.mipih.foundation.spring;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.config.AbstractFactoryBean;
/**
* Classe Spring permettant de fusionner plusieurs tableaux ou listes en une seule.
*
* @author Baptiste Mathus
*/
public class ListMergerFactoryBean extends AbstractFactoryBean
{
List<String> mergedSourceList;
public Class getObjectType()
{
return List.class;
}
public void setSourceLists(List[] sourceLists)
{
mergedSourceList = new ArrayList<String>();
for(List<String> l : sourceLists)
{
mergedSourceList.addAll(l);
}
}
@Override
protected Object createInstance() throws Exception
{
logger.debug(mergedSourceList);
return mergedSourceList;
}
}
Mon, Jan 29, 2007
J’ai eu enfin l’idée que j’aurais dû avoir il y a longtemps tout à
l’heure. J’ai eu un mal fou à essayer de faire tourner la vidéo de la
soirée de remise de diplôme d’ingénieurs de mon école : Ingénieurs
2000.
Je me suis donc créé mon compte YouTube tout à l’heure et j’ai uploadé
la vidéo. La qualité est assez basse, à cause du fait que la caméra
numérique utilisée n’était qu’une très bas de gamme. Mais c’est toujours
beaucoup mieux que rien, et ça m’a quand même presque mis la larme à
l’œil de revoir cet évènement et toutes ces têtes d’un coup…
Aspect particulièrement énorme de la remise : Dominique
Revuz nous a tous appelé chacun
notre tour par nos prénoms, noms ET surnoms. La vidéo se termine par
quelques plans pris lors du restaurant après la remise, où DR était
d’ailleurs aussi présent. Ça donne ça :
9o960aO-mJQ
Ça a été trois années géniales. On en a bavé, ça c’est clair, mais je le
referais dix fois s’il le fallait.
Sat, Jan 27, 2007
L’autre jour, dans le bus, une dame dans les 60 ans, pas BCBG mais
presque, parlant à une dame de 70 ans passés :
Et vous avez entendu parler de la maison à 100000 euros ? Non mais
dites donc ! Vraiment, les gens (petit rire narquois). Non, mais c’est
encore un coup médiatique, rien de plus ma bonne dame.
l’autre
Oh oui, hein !
la première
Non, mais si les gens se renseignaient un peu au lieu d’écouter ce
genre d’information, ils se rendraient compte de la réalité. Une
maison, ça se trouve à partir de 70000€ sans problème. Non, mais
vraiment, hihi. C’est affligeant.
l’autre
Oooh ben oui, hein !
Et moi, entendant ces anneries, je me disais : “tais toi, Baptiste, tais
toi, ne t’énerve pas !”.
Truffasses !
Le marché immobilier est en telle explosion que les prix augmentent sans
arrêt. Vous voulez un exemple de prix réel d’aujourd’hui, en 2007, et
pas celui d’une vieille neuneute qui se réfère certainement aux prix de
1980 ? Eh bien, ça me désole, mais en gros, pour une petite maison
d’environ 90m² de surface habitable et 3 ou 400m² de jardin, ce à une
dizaine de km de Toulouse au minimum (et je suis gentil) vous pouvez
compter 200000€… Oui, deux cents mille euros, vous avez bien lu.
Autre exemple : T3 de 60m² dans Toulouse, pas dans le centre, dans un
quartier agréable comme St Michel, comptez 130000€ au bas mot (et plutôt
140 à 150000 minimum en étant plus réaliste).
Le plus triste dans tout ça, c’est que je ne comprends pas comment il
est encore envisageable pour les bas salaires d’acheter une maison à
moins de 50km d’une ville comme Toulouse. Au taux d’emprunt actuel, il
faut en gros en effet s’endetter aujourd’hui 25 ans, en payant
1200€ par mois, pour rembourser 200000€ “seulement”…
Fri, Jan 26, 2007
Via
404BNF,
notre star des neurones gravés sur CD a proféré :
Je ne sais pas si vous avez une voiture, mais si vous avez une
voiture, elle roule soit à l’essence, soit au gazole, eh bien votre
moteur n’est pas interopérable. Vous pouvez pas mettre du gazole dans
un moteur à essence.
ou
Le mec qui achète une PlayStation ne va pas acheter des jeux Nintendo.
C’est la même chose pour la musique.
Donc, si vous voulez payer vos musiques une fois pour votre chaîne HiFi,
une fois pour l’autoradio, une fois pour votre lecteur mp3 et une fois
pour votre grille pain, votez pour Pascal
Nègre et les DRM…
Sun, Jan 14, 2007
Récemment, nous avons commandé une centaine de photos chez
myPIXmania. Je viens de finir
de noter au dos de chacune :
- la date
- les personnes présentes
- le lieu
Vous imaginez le temps que j’ai passé à faire ça. Ça se compte
clairement en heures. Et encore, j’utilise fort heureusement
KPhotoAlbum (anciennement KimDaBa) qui me
permet de retrouver une photo en tapant quelques noms et trois clics. Ça
me désespère d’autant plus que la date, au moins, aurait pu être
automatiquement inscrite au dos de la photo.
Si vous ne saviez pas que votre appareil photo numérique stockait des
informations très intéressantes en plus de la photo elle-même, c’est le
moment de le découvrir. On appelle ces informations des méta-données,
c’est à dire des données sur les données (ici, la photo). Le standard
informatique permettant de décrire une photo s’appelle
EXIF.
Exemple de ce que je peux voir dans ma fenêtre propriété :

Comme cette information est présente, il est à mon avis très dommage que
des entreprises comme PIXmania sur le marché de la photo numérique ne
l’exploite pas. J’ai cherché à leur faire la remarque sur le site, mais
les critères pour poster une question sont tellement restrictifs que
c’est impossible sans choisir un problème au hasard et sans indiquer de
numéro de commande…
Si quelqu’un connaît d’ailleurs un autre site d’impression de photos
numériques capable d’imprimer au moins la date de la photo au dos, je
suis très intéressé.
Sun, Jan 14, 2007
Bon, c’est mieux. Maintenant, normalement les flux RSS sont correctement
redirigés. Il me reste à supporter les anciennes URL, ce que je
m’escrime à faire depuis plusieurs heures sans succès.
Je suis principalement reparti du billet de kozlika sur
dcTips.
Pour les flux des billets et des commentaires d’ici, ça marche sans
problème et ça donne ça :
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^dotclear/rss.php /blog/feed/rss2 [R=301]
RewriteCond %{QUERY_STRING} ^type=co$
RewriteRule ^dotclear/rss.php /blog/feed/rss2/comments? [R=301]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^dotclear/atom.php /blog/feed/atom [R=301]
RewriteCond %{QUERY_STRING} ^type=co$
RewriteRule ^dotclear/atom.php /blog/feed/atom/comments? [R=301]
Par contre, pour la redirection des anciens billets, je patauge. Exemple
http://batmat.net/blog/2005/05/02/1…
ne fonctionne pas de base. La nouvelle inclut en fait simplement “post”
entre “blog/” et la date, ce qui donne
http://batmat.net/blog/post/2005/05….
J’ai donc fait comme ça :
RewriteRule ^blog/(\d{4})/(\d{2})/(\d{2})/(\d+.+)$ /blog/post/$1/$2/$3/$4 [R=301]
Mais visiblement, cela ne fonctionne pas (cliquez sur le premier lien
pour en être convaincu :-)). Je ne comprends pas trop pourquoi. Ceci est
très certainement dû au fait que je ne connaissais de mod_rewrite que
le nom il y a encore quelques heures. J’ai l’impression que le fait que
le fichier blog.php existe prend le pas et n’exécute pas la règle de
réécriture.
Si quelqu’un a une idée de comment résoudre le problème, et par la même
occasion pourquoi je mange une Internal Server Error dès que j’essaie
d’activer l’option
RewriteLog
pour comprendre ce qui se passe, je suis ouvert à toute proposition…
D’avance merci