La panoplie de l’internaute

Suite à l’ajout de Twitter à ce blog, outil que je commence seulement à utiliser, je me suis dit qu’il pourrait être intéressant de vous dévoiler les outils que j’utilise vraiment pour surfer.

Côté PC (en attendant un mac ;)) – Tout est gratuit:

  • Navigateur : Firefox. Je donne déjà assez d’info à Google comme ça pour pas utiliser Chrome, IE8 est vraiment trop à la ramasse sur le nouveau contenu (CSS3) et Opera process les pages web sur ses serveurs (y compris les authentifications…).
  • Gestionnaire de flux RSS : Google Reader. C’est malheureusement le meilleur et le mieux intégré dans l’écosystème RSS. Il nécessite un compte GMail.
    • Quand je vois un site qui me plaît, je cherche le petit logo orange RSS, je vais dans Google Reader et je l’ajoute. Dès que de nouveaux articles sont publiés sur le site, ils arrivent directement dans Google Reader. Plus besoin de garder une liste de site et de tout visiter régulièrement.
  • Favoris en ligne : Instapaper. J’adore cette appli! On s’inscrit, on ajoute un « bookmarklet » à sa barre de favoris, dès qu’on voit une page qui nous plait, on appuie dessus, et hop, elle est sauvegardée dans Instapaper! Magique!
    • Quand je vois un article qui me plaît, mais qui est trop long pour être lu immédiatement, je le marque dans Instapaper.
    • Dans Google Reader, si un article me plaît, je lui donne une étoile. S’il est trop long, je le transfère dans Instapaper. Dans Instapaper, s’il me plaît, je lui donne une étoile, sinon je le dégage.

Côté iPhone – Quelques euros :

  • Lecteur RSS : Reeder. Il s’interface magiquement avec Google Reader ET Instapaper. Facile!
    • Je précise que puisqu’il faut donner son mot de passe Google Reader à Reeder sur l’iPhone, j’ai créé une adresse GMail qui ne sert qu’à ça. Mieux vaut prévenir que se faire taper son adresse email principale 😉
  • Favoris en ligne : Instapaper pour Iphone. En plus sur l’iPhone il permet de télécharger une copie des articles sauvegardés et de pouvoir ensuite les lire offline. Juste énorme 🙂

On remarque le grand absent pour le moment: Twitter, qu’il va falloir que j’intègre une fois que j’aurai compris comment ça marche vraiment.

Avec tout ça je gère le court et le moyen terme. La seule chose qui me manque, c’est un stockage du contenu web à long terme. Si vous avez quelque chose, je suis preneur!

4 liens rapides pour la semaine (2010-38)

Et hop:

<< Semaine PrécédenteSemaine Suivante >>

La BI ça vous gagne, directement par Twitter!

Pour ceux qui utilisent Twitter plutôt que les flux RSS, je me suis créée un compte: Fleid_Bi (Fleid_bi), parce qu’évidemment Fleid tout court était déjà pris…

Vu que WordPress.com fait bien les choses, les articles devraient automatiquement être re-linkés sur Twitter.

C’est tout 🙂

Utilisation des attributs d’un cube dans SSRS

L’utilisation des attributs de membres d’un cube SSAS dans un rapport SSRS ne se fait pas de manière transparente.

En effet, alors que les attributs sont visibles dans l’éditeur graphique de source de données SSAS de Reporting Services, ils ne sont pas sélectionnables.

Pour y avoir accès dans un rapport, il est nécessaire de basculer en mode Requête MDX, et de modifier sa requête de la manière suivante:

SELECT

 NON EMPTY { [Measures].[...]} ON COLUMNS,
 NON EMPTY { ([Dimension].[Hierarchy].[Level].ALLMEMBERS * [Dimension].[Hierarhcy].[Level].ALLMEMBERS * ... ) }
 DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME, [Dimension].[Hierarchy].[Level].[Attribute]
 ON ROWS

FROM    [Cube]
WHERE  ...

Les mots clefs DIMENSION PROPERTIES permettent de passer les valeurs des attributs directement dans le résultat de la requête MDX, les rendant accessibles dans l’onglet mise en page de SSRS.

Ainsi, dans le rapport, la syntaxe à utiliser sera :

Fields!######("Nom de l'attribut")

Sources: Braulio Malaga (Avanade) / MSDN

Besoin d’amour

Voici deux nouveaux articles intéressants de Jamie Thomson (SSIS Junkie) qui valent largement d’être relayés ici.

Tout d’abord une requête SQL qui génère la liste des index sur une base. Pratique pour optimiser une requête quand on développe sur une base inconnue.

Ensuite, plus qu’un simple article, c’est une réflexion sur l’amour, ou le manque d’amour, que porte Microsoft aux développeurs BI comparés aux développeurs .NET. Je ne peux qu’être complétement d’accord avec lui sur ce point, surtout en ce moment où je suis noyé dans SSRS et son comportement mystique.

Dernièrement, le seul effort de guerre manifeste de Microsoft en BI c’est de faire du neuf avec PowerPivot et le DAX.

D’une part c’est pénible pour l’existant, alors que nous sommes encore bloqués par des bugs repérés il y a 5 ans (voir les dates des articles techniques que je link dans ce blog). C’est à se demander s’il y a encore des gens qui bossent sur les expression languages et le MDX à Redmond! Certainement pas Mosha en tout cas…

D’autre part quand on a vécu la débâcle de PerformancePoint il y a 2 ans, ça peut faire peur de ré-investir dans une nouvelle techno sortie de nulle part comme PowerPivot. Heureusement pour elle qu’elle est vachement plus sexy que PPS!

Il ne reste qu’à croiser les doigts en espérant que des efforts seront faits pour la prochaine version de SQL Server. Et quand je parle d’efforts, j’espère un peu plus que des bords ronds pour les tâches de SSIS.

Comment bien choisir son équipe de développement

Un très bon article de Juin 2010 de l’excellent Derek Sivers: comment recruter un programmeur pour être sûr de terminer son projet, via 37 Signals (Rework bla bla).

Traduit à l’arrache et transposé à notre domaine ça donne:

  1. Réduire sa grande idée à une version 1.0, une version réduite au strict minimum des fonctionnalités. On met le reste de côté pour plus tard.
  2. Écrire un résumé de ce que cette version 1.0 est censée faire. Essayer de faire le plus court et précis possible, utiliser des scénarios d’usage écrit en vrai français et/ou des maquettes visuelles
  3. Préciser les actions et chemins de navigation jusqu’au moindre clic (ne pas oublier que c’est uniquement pour la version 1.0!). Cela devrait ressembler à une longue liste simple et claire d’actions.
  4. Regrouper les fonctionnalités et actions en une série de jalons. Il peut être difficile de définir un ordre, mais c’est comme pour construire une maison, d’abord les murs, ensuite le papier peint.
  5. Faire de son premier jalon un projet à part entière. C’est à dire préparer une feuille de mission qui comporte les activités de ce premier jalon, et n’en mentionner aucune autre. Rien des autres jalons, rien de la version 1.0, rien de la version complète.
  6. Faire un appel d’offres sur ce mini projet, et strictement sur ce mini-projet (étape 5). Envoyer l’AO à une dizaine d’acteurs du marché, de types différents  (petite société de conseil spécialisée, grande SSII internationale, freelances, réalisation web…), des boîtes dont vous connaissez la réputation de précédentes missions si possible.
  7. Ne visez pas le prix le plus bas, en tout cas si le but c’est de finir le projet avec succès, l’objectif ici est de recruter au minimum 2 équipes et les mettre en concurrence. Il vaut mieux ne pas prévenir les équipes qu’elles ne sont pas les seules à être retenues, donc ne pas les staffer en interne dans la même pièce…
  8. A ce point de l’aventure, il suffit d’attendre le résultat et de choisir celui que l’on a préféré pour réaliser le reste de la version 1.0, puis de l’application complète, si tout va bien.

Excellent non? Avec ça finis les concours de beauté, que le plus efficace gagne! D’autre part le surcoût financier est minime, le mini-projet devrait se résumer à 5 jours de travail, et il est largement compensé par le gain en terme de risque prestataire.

J’en profite pour copier l’équipe de 37 Signals et mettre l’emphase sur la méthode de Derek Sivers pour optimiser le filtrage des réponses à l’appel d’offre lors de l’étape 6. Au milieu de l’appel d’offre, insérer une note qui indique que pour que la réponse soit prise en compte, il est nécessaire d’inscrire « Je suis réel » en gros et gras sur sa première page. Évidemment, au moment du dépouillage, éviter consciencieusement toutes les réponses qui ne comporteraient pas cette mention 😉

NB : Concernant le blog de Derek, soyez sûr de repasser la langue du traducteur automatique à anglais si vous voulez profiter correctement du contenu. Je ne sais pas ce qu’il donne dans les autres langues, mais en français c’est pitoyable.